Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
mairuでつくるクレデンシャルレス開発環境 / Credential-less develo...
Search
Issei Naruta
December 16, 2025
Technology
800
5
Share
mairuでつくるクレデンシャルレス開発環境 / Credential-less development environment using Mailru
2025/12/16 IVRyエンジニア大忘年会LT
Issei Naruta
December 16, 2025
More Decks by Issei Naruta
See All by Issei Naruta
インフラからSREへ
mirakui
32
14k
データパイプラインをなんとかした話 / Improving the Data Pipeline in IVRy
mirakui
2
650
Cookpad TechConf 2022 Keynote
mirakui
0
4.1k
ドライイーストを使わずにパンを焼けるか? 〜天然酵母のパン作りを支える技術〜
mirakui
0
3.7k
関東積みについて/How to build Kanto-stacking
mirakui
0
790
先折りGTRについて/How to build left-GTR transitions
mirakui
3
1.1k
サービス開発速度に着目したソフトウェアアーキテクチャ/Software architecture for effective service development at Cookpad
mirakui
5
7.3k
Beyond the Boundaries
mirakui
1
1.4k
Cookpad Under a Microscope
mirakui
6
8.7k
Other Decks in Technology
See All in Technology
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.8k
AI活用を推進するために ファインディが下した、一つの小さな決断
starfish719
0
120
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
2
200
BigQuery の Cross-cloud Lakehouse への歩み
phaya72
2
330
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
320
実装は速くなった、レビューはどうする? ― 自身のレビューをAIで再現させるサーヴァントエンジニアリングのすゝめ / Implementation got faster. So what about reviews? — An invitation to Servant Engineering: Recreating your own code reviews with AI
nrslib
2
880
コードレビューを制するチームがソフトウェアデリバリーのフローを制す / Beyond Code Review: Distributing Its Responsibilities Across the SDLC
mtx2s
3
590
さきさん文庫の書籍ができるまで
sakiengineer
0
330
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
1k
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
200
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
460
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Scaling GitHub
holman
464
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
440
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Exploring anti-patterns in Rails
aemeredith
3
380
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
Transcript
mairuでつくるクレデンシャルレス開発環境 Issei Naruta (mirakui) Principal Engineer / IVRy Inc. 2025/12/16
IVRyエンジニア大忘年会LT
Issei Naruta (mirakui) IVRy Inc. 2024/2- Principal Engineer Platform Engineering:
SRE, Data ex: Cookpad Inc. 2010-2023 CTO (2016-2022) 趣味 パン作り ルービックキューブ 深夜アニメ
最近作っているもの
最近作っているもの
mairuでつくるクレデンシャルレス開発環境 ローカル環境から AWS 上の開発環境へのアクセスの話
IVRy における AWS SSO 構成
開発者間の権限の差異問題
SRE にはできて他の開発者にはできないほうがいいことがある (破壊など)
Embedded SRE が Admin 権限で開発に参画すること の問題点 他の開発者にも Allow すべき権限を見逃しがち 自分は何でもできて困らないため
普段の開発 (ローカル開発環境の起動) に Admin 権限はそもそも必要無いはず 他プロジェクトのリソースすら破壊できてしまう
sorah/mairu https://github.com/sorah/mairu AWS SSO と連携し、指定した Role でスクリプト等を実行できるコマンドラインツー ル
mairuを使わない場合 Identity Center で Admin ロールが assume role されているユーザで AWS
CLI を使う例 $ aws sso login --session ... (ブラウザでログイン) $ aws ... # => Admin Role で実行 mairuを使う場合 mairu exec で指定した Role になれる (Identity Center で許可されたもののみ) $ mairu exec 123456/Developer aws ... (セッションがなければブラウザでログイン) # => Developer Role で実行
開発者間で Role を統一する Foo プロジェクトの開発者は FooDeveloper を使って開発をする # ~/projects/foo/.mairu.json {
"server": "ivry", "role": "123456/FooDeveloper" } .mairu.json をプロジェクトで共有しておくと mairu exec auto で参照される $ cd ~/projects/foo/ $ mairu exec auto aws ... # => FooDeveloper で実行
before mairu
after mairu
mairu で達成できたこと 開発に参画するメンバーは (たとえAdminを持っていても) プロジェクトの開発に必 要な Role に絞って開発できるようになった 環境変数にも ~/.aws/credentials
にもクレデンシャルを保存する必要が無い mairu agent プロセスが認証セッションを維持する 公式 AWS_PROFILE でも Role 切り替えはできるが? あくまで個人設定なので開発者間での統一が面倒、用途別の切り替えも面倒
まって
mairuでつくる クレデンシャルレス 開発環境
データベースへの接続にパスワードいるのでは? 開発用のパスワードをどうやって保存・共有するか? 1Password Environments? AWS Secrets Manager / Parameter Store?
RDS には IAM 認証がある! (1/2) PostgreSQL の場合 CREATE ROLE developer
WITH LOGIN; -- PASSWORD不要! GRANT ROLE rds_iam TO developer; Developer IAM Role の Policy に以下を追加 { "Action": "rds-db:connect", "Effect": "Allow", "Resource": "arn:aws:rds-db:<region>:<account>:dbuser:<cluster_name>/developer" }
RDS には IAM 認証がある! (2/2) rds generate-db-auth-token で15分間有効な one time
password が生成されるので それを使ってログイン $ PGPASSWORD=$(mairu exec auto rds generate-db-auth-token --username developer ...) \ psql -U developer ...
まって
DB は VPC 内にあるよね? どうやって到達するの? ssh 踏み台のためのクレデンシャル要るんじゃないの?
Twingate https://www.twingate.com/ L7 で動作する、名前解決ベースの VPN Alternative VPC 内に置いた Connector (EC2等)
経由でリソースにアクセスする "SSO 認証したユーザに VPC 内の特定リソースへ疎通させる" ができる 要は自宅や外出先からでもこれができる (要 Twingate アプリ) $ psql \ -h my-aurora.cluster-XXXXX.ap-northeast-1.rds.amazonaws.com \ ... これも Entra ID の認証で SSO できるためローカルにクレデンシャル必要無し
まとめ 1回の SSO 認証だけで VPC 内の DB アクセスまでできるのは 開発者体験としてもセキュリティとしても気持ちいい トークンや秘密鍵をファイルや環境変数に保持する必要がない
クレデンシャルを開発者に共有する手間もないので開発環境の展開が楽ちん
まとめ sorah/mairu 指定した Role に絞って AWS を使えるやつ Agentic Coding 向けのガードレールとしても◎
仕組みについては端折ったけど結構面白い設計なので見てみてほしい (宣伝) RDS IAM 認証 WiTH PASSWORD してない PostgreSQL ユーザに SSO 由来の認証でログインで きるの、新鮮な感覚 これが気持ちよかったので LT したいと思った流れ Twingate SSO できる VPN みたいなやつ 最高便利、導入不可避