Security-JAWS #41(10周年記念 Day1) #8
Claude Code / Codex / Kiro にAWS権限を渡すとき、何を設計すべきか
コーディングエージェントにAWS権限を委譲する際の設計指針。認証・MCP管理・ログ記録・停止方法の4軸で比較・整理
🎤 ITサービス企業 若手エンジニア(Security-JAWSジュニアチャンピオン 2025)
キーテイクアウェイ
コーディングエージェントへの権限設計は『誰に(WHO)・何を(WHAT)・記録と停止(HOW)』の3軸。AI専用ロール分離+30日スパンでの権限棚卸しが基本
登壇者の背景
- ITサービス企業(AIインテグレーターを標榜)
- 2025年度Security-JAWSジュニアチャンピオン(若手3年目までの選抜)
- AWS Community Builder認定
- Security-JAWS配信部所属
- 業務: PMO的立場、顧客の要件ヒアリング
対象コーディングエージェント3種
Claude Code(Anthropic)
| 観点 | 詳細 |
|---|---|
| 組織管理 | Managed Settingsで組織全体のPermission/Hook/MCPを制御 |
| 認証 | Bedrock Agent API経由で利用可能 |
| MCP管理 | レジストリで一元管理 |
| ログ | OpenTelemetry標準フォーマットでトレース記録 |
| AWS統合 | Claude Platform for AWS発表済み |
Codex CLI(OpenAI → AWS提供)
| 観点 | 詳細 |
|---|---|
| 認証 | IAM Identity Centerでログイン可能 |
| MCP管理 | MCP Registryで組織単位管理 |
| ログ | CloudTrailにカタログ出力 |
| ストレージ | AWS S3へのログ書き出し対応 |
Kiro(AWS)
高度なサービス。詳細は省略(セッション内での扱いが限定的)。
権限設計の3つの決定要素
1. 誰に?(WHO)
AI専用のIAMロールを設計する。
人間用ロールをAIに渡してはいけない理由:
- CloudTrailで「AIがやったのに人間がやったように記録される」
- 権限棚卸しの際にAI利用分と人間利用分が区別できない
- インシデント時にAIだけを停止できない
2. 何を許可?(WHAT)
最小権限の原則をAIにはより厳格に適用。
- AIは24時間365日動作する
- 人間の数十〜数百倍のAPI呼び出し速度
- プロンプトインジェクションで意図しない操作を実行させられる
3. 記録・停止・巻き戻し(HOW)
| 観点 | 実装 |
|---|---|
| 記録 | CloudTrail + OpenTelemetry |
| 停止 | IAM権限剥奪 / セッション無効化 / MCP停止 |
| 巻き戻し | Git revert / インフラのIaC再適用 |
AWS操作の多様な経路
コーディングエージェントがAWSを操作する経路:
- ローカルCLI
- SDK/APIコール
- Cloud IDE(Lambda Web等)
- IDE拡張機能
全ての経路でログが記録される設計が必要。
推奨ロール管理基準
| 対象 | 棚卸しスパン |
|---|---|
| 人間用ロール | 90日間アクセスなし → 削除候補 |
| AI/マネージドアイデンティティ | 30日スパンで確認 |
AIは使い始めると高頻度で利用するため、「使っていないロール」は早期に検知・削除すべき。
MCP(Model Context Protocol)の管理
MCPはAIエージェントが外部システムにアクセスするための標準プロトコル。
セキュリティ上の管理ポイント:
- 許可するMCPサーバーのホワイトリスト管理
- MCPレジストリで組織単位の制御
- MCPゲートウェイ経由でのアクセス制御
- 各MCPサーバーのアクセススコープ限定
初心者向け補足
コーディングエージェントとは
AIが自律的にコードを読み書きし、テストを実行し、デプロイまで行うツール。Claude Code、GitHub Copilot Agent、Codex等。従来のコード補完(Copilot等)とは異なり、自律的にタスクを実行する点が特徴。
なぜAIに「専用ロール」が必要か
人間: 勤務時間のみ、判断しながら操作、ミスは限定的 AI: 24時間稼働、高速大量操作、プロンプトインジェクションで暴走リスク
同じロールを共有すると、インシデント時に「AIだけ止める」ことができない。
MCPとは
Model Context Protocolの略。AIエージェントが外部ツール(DB、API、ファイルシステム等)にアクセスするための標準化されたインターフェース。AIエージェントの「手と目」に相当する。