AI エージェントに資格情報を渡す 4 パターンと使い分け
①直読み → ②env 注入 → ③Secret Store から都度取得 → ④IAM Role / OIDC、の順に安全。個人は②〜③、組織は③〜④が現実解。
4 パターン(@dkfj の整理)
| # | 方式 | 例 | リスク |
|---|---|---|---|
| ① | 直読み型 | .env をエージェントが直接読む | 平文がコンテキストに入る |
| ② | env 注入型 | 隔離ファイルから起動時に注入 | 子プロセスの env から読める |
| ③ | Secret Store 型 | 1Password / aws-vault 等から都度取得 | ストアの認可設計次第 |
| ④ | Role 統合型 | IAM Role / STS / OIDC で SDK が裏で認証 | 長期鍵がない。権限設計が肝 |
実践例
- 短命化+MFA: Devin に渡すキーは日次ローテーション。ローカルでは TOTP 後に開発用ロールを assume role し、
sorah/mairuで開発用ロールを付けてからエージェントを起動する(@sora_h)。 - 個人用の分離: 余っている Mac に新しい OS ユーザーを作り、エージェント専用の Gmail だけを与えて個人の認証情報は一切渡さない(@hiragram)。
- gh CLI の長期トークンに注意:
ghはマシンに長期有効な GitHub トークンを保存し、悪性スクリプトに盗まれうる(Nx Console 侵害で実際に悪用)。fine-grained PAT や短命トークンを使い、エージェント環境には必要最小限のスコープだけ。
注意点
- どの方式でも「エージェントが使える権限=漏れたときの被害範囲」。権限を最小化し、読み取り専用ロールなどを用意する。