20251222_IAMPolicyAutopilot

>100 Views

December 22, 25

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

IAM Policy Autopilot と Agent-centric な権限管理 2025/12/22 AWS re:Invent 2025 re:Cap with KAG 1

2.

繧上▲縺励g縺 a.k.a. はしもと(If you evolve.) @s3kzk JAWS-UG 島根支部コアメンバー (25/11〜) ʻ22~ AWS All Certs. 2

3.

ラスベガスで無人タクシーではなく 車椅子に乗ってきた話は懇親会で 3

4.

Agent-centric identity and access management (エージェント中心※のIDおよびアクセス管理) ※といいつつも、エージェントが組み込まれてるわけではなく、 AIエージェントの登場も踏まえた、ぐらいのものの理解 4

5.

AWS re:Invent 2025 で発表された AI を活用したセキュリティイノベーション https://aws.amazon.com/jp/blogs/news/aws-launches-ai-enhanced-security-innovations-at-reinvent-2025/ 5

6.

Agent-centric IAMとして紹介された機能 ポリシー生成を自動化し、ゼロトラストの成熟度レベルを向上 Login for AWS local development IAM Policy Autopilot → ポリシー生成の自動化 → 人間がアクセスする場面で 長期鍵を排除 なんか君 良さそうやん Outbound identity federation → マシン/ボットがAWS外への アクセスする場面で長期鍵を排除 Private access sign-in → コンソールアクセスを閉域化 利用アカウントを制限 https://aws.amazon.com/jp/blogs/news/aws-launches-ai-enhanced-security-innovations-at-reinvent-2025/ 6

7.

https://github.com/awslabs/iam-policy-autopilot 7

8.

名前から持ったイメージ IAMなんでもわかるエージェントがコードを理解 ↓ ベストプラクティスに沿った美しいポリシー定義が出力 ↓ 人とIAMポリシーとの長きに渡る争いの終結🤗 8

9.
[beta]
HOW TO INSTALL
CLIツール

MCPサーバー
(Kiro

{

① uv を使用(推奨)

uv/uvxの場合)

"mcpServers": {
"iam-policy-autopilot": {
"command": "uvx",
"args": ["iam-policy-autopilot", "mcp-server"],
"env": {
"AWS_PROFILE": "your-profile-name",
"AWS_REGION": "us-east-1"
},
"disabled": false,
"autoApprove": []
}
}

uvx iam-policy-autopilot で直接実行

② pip を使用
pip install iam-policy-autopilot でインストール

③ インストールスクリプトを利用
curl -sSL https://github.com/awslabs/
iam-policy-autopilot/raw/refs/heads/
main/install.sh | sudo sh を実行
}

https://github.com/awslabs/iam-policy-autopilot
9

10.
[beta]
CLI版の基本的な使い方

対象とするSDK呼び出しの範囲

解析対象ファイル
{
"Policies": [
{
"Policy": {
"Id": "IamPolicyAutopilot",
"Version": "2012-10-17",
"Statement": [
{ "Effect": "Allow",
"Action": ["sts:GetCallerIdentity"],
"Resource": ["*"] }
]
},
"PolicyType": "Identity"
}
]

uvx iam-policy-autopilot generate-policies
./src/get_caller_identity.py --pretty

}
10

11.

ちゃんとコードから IAMポリシーが作成できました 便利ツールが増えてよかったですね めでたしめでたし🙌 11

12.

待った! 12

13.
[beta]
これならどうか

{

・Obj取得

・テーブル作成
※未作成時
・アイテム作成

・VPC作成
※未作成時
※呼び出しなし

"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:GetObject",
“Resource”: “ <操作対象のS3バケットのARN>/*"
},
{
"Effect": "Allow",
"Action": [
"dynamodb:DescribeTable",
"dynamodb:CreateTable",
"dynamodb:PutItem"
],
“Resource”: ”<操作対象のDynamoDBテーブルのARN>"
}
]
}

(最小はこのような感じ)

パッと見でも多い
+
呼び出されない箇所も
解析対象となっている

😫
13

14.

ツール利用でも同様 実行時に必要なアカウントID とリージョンは指定済み 14

15.

IAM Policy Autopilot “決定論的なコード解析を用いて信頼性の高い有効なポリシーを作成” ① ローカルで コードをスキャン ② 依存関係を含む 権限へマッピング ③ ベースライン ポリシーを生成 AWS SDK 呼び出しを マシン上で解析 使用するSDK呼び出しに対応する IAMアクションに変換 構文的に正しい IAMポリシーの JSONを出力 エージェント(≒LLM)を呼び出しているわけではなく ルールベースの変換 15

16.

どのように使うか🤔 基本はMCP経由で、必要時に ポリシー定義を固めていく際の LLMのコンテキストとして利用 LLMにツールとして使わせる (直接コマンドで呼ぶメリット?) 最小権限でなくていいから 利用可能なIAMポリシー定義が欲しい Administrator/PowerUserAccessや xxxFullAccessは回避可能 IAM Access Analyzerのポリシー生成機能は CloudTrailログを使うため先に実行が必要 先にルールベースで作りそこから削らせる 存在しないAction名は出てこない、はず LLMが生成したポリシーの修正 ̀fix-access-denied̀で 権限不足系のエラーメッセージを渡すと 足りないポリシーを教えてくれる これが必要かは…? 16

17.

まとめ 17

18.

「検品」は人間の仕事、操縦桿から手を離すな! 生成されたポリシーはあくまでも “たたき台” 出力結果は不完全と理解したうえで、LLMなどのコンテキストに 最小権限の実現には、人間のレビューが引き続き求められる 18

19.

ありがとうございました! 19