Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

mairuでつくるクレデンシャルレス開発環境 / Credential-less develo...

Avatar for Issei Naruta Issei Naruta
December 16, 2025

mairuでつくるクレデンシャルレス開発環境 / Credential-less development environment using Mailru

2025/12/16 IVRyエンジニア大忘年会LT

Avatar for Issei Naruta

Issei Naruta

December 16, 2025
Tweet

More Decks by Issei Naruta

Other Decks in Technology

Transcript

  1. Issei Naruta (mirakui) IVRy Inc. 2024/2- Principal Engineer Platform Engineering:

    SRE, Data ex: Cookpad Inc. 2010-2023 CTO (2016-2022) 趣味 パン作り ルービックキューブ 深夜アニメ
  2. Embedded SRE が Admin 権限で開発に参画すること の問題点 他の開発者にも Allow すべき権限を見逃しがち 自分は何でもできて困らないため

    普段の開発 (ローカル開発環境の起動) に Admin 権限はそもそも必要無いはず 他プロジェクトのリソースすら破壊できてしまう
  3. 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 で実行
  4. 開発者間で 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 で実行
  5. mairu で達成できたこと 開発に参画するメンバーは (たとえAdminを持っていても) プロジェクトの開発に必 要な Role に絞って開発できるようになった 環境変数にも ~/.aws/credentials

    にもクレデンシャルを保存する必要が無い mairu agent プロセスが認証セッションを維持する 公式 AWS_PROFILE でも Role 切り替えはできるが? あくまで個人設定なので開発者間での統一が面倒、用途別の切り替えも面倒
  6. 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" }
  7. 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 ...
  8. 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 できるためローカルにクレデンシャル必要無し
  9. まとめ sorah/mairu 指定した Role に絞って AWS を使えるやつ Agentic Coding 向けのガードレールとしても◎

    仕組みについては端折ったけど結構面白い設計なので見てみてほしい (宣伝) RDS IAM 認証 WiTH PASSWORD してない PostgreSQL ユーザに SSO 由来の認証でログインで きるの、新鮮な感覚 これが気持ちよかったので LT したいと思った流れ Twingate SSO できる VPN みたいなやつ 最高便利、導入不可避