Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[JAWS-UG 福岡] 20260124 IAM Policy Autopilot の使いどころ

[JAWS-UG 福岡] 20260124 IAM Policy Autopilot の使いどころ

2026/1/24 JAWS-UG 福岡 #23 にてLTした資料です。

Avatar for Kazufumi Yogo

Kazufumi Yogo

March 03, 2026

More Decks by Kazufumi Yogo

Other Decks in Technology

Transcript

  1. © 2026, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. IAM Policy Autopilot の使いどころ 與語 一史 アマゾン ウェブ サービス ジャパン 合同会社
  2. © 2026, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 自己紹介 與語 一史 アマゾン ウェブ サービス ジャパン合同会社 技術⽀援本部 クラウドサポートエンジニア 情報セキュリティに関するサービスの技術サポートを担当しています。 好きな AWS サービス AWS Identity and Access Management (IAM) AWS CloudTrail 2
  3. © 2026, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. IAM ポリシー難しくないですか? 3
  4. © 2026, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. IAM ポリシーの作成でお困りではありませんか? 4 IAM ポリシーがよくわからず、作る のに時間がかかる AWS 管理ポリシーを使えば楽だけど、 要件としてもっと権限を絞らないと いけない • 独自の形式をもつ IAM ポリシーは、AWS 初学者にとってハードルに • アクションの数が多く、何をどこまで制御できるかの全容を把握できない IAM Policy Autopilot で解決できる!(かも)
  5. © 2026, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. IAM Policy Autopilot とは 5
  6. © 2026, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. IAM Policy Autopilot とは 6 AWS Identity and Access Management (IAM) のアイデンティティベースポリシーの 生成を⽀援する、オープンソースの MCP サーバー IAM ポリシーを自動で生成してくれて、MCP サーバーとして生成 AI と連携できる = このリソース作るのに 必要な IAM ポリシーが 欲しい IAM ポリシーを生 成します IAM Policy Autopilot
  7. © 2026, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. IAM Policy Autopilot の導入方法 7 • uv を使う(推奨) • 追加インストール不要で、 uvx iam-policy-autopilot で実行 • pip を使う • pip install iam-policy-autopilot • curl を使う • curl -sSL https://github.com/awslabs/iam-policy- autopilot/raw/refs/heads/main/install.sh | sudo sh 導入方法・使用方法の詳細は以下の README を参照ください https://github.com/awslabs/iam-policy-autopilot
  8. © 2026, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. IAM Policy Autopilot の使い方 8 • コマンドとして直接実行することも、生成 AI に連携させて使うことも可能 • 主な用途は以下の 2 種類 • 新しく IAM ポリシーを生成する: iam-policy-autopilot generate-policies • 引数としてIaC用のソースコードが必要(1/20 時点では Python, Go, TypeScript に対応) • アクセス拒否エラーを修正する: iam-policy-autopilot fix-access-denied • 引数としてエラーメッセージが必要(”<IAM entity> is not authorized to perform…”) 生成 AI を利用したイメージ このソースコードを 読んで必要な IAM ポ リシー教えて 生成 AI (Kiro、Cloude Code等) ソースコード IAM ポリシー IAM Policy Autopilot (MCP サーバー)
  9. © 2026, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 使用例(EC2 インスタンスを起動するコード) 9 import boto3 import json def lambda_handler(event, context): ec2 = boto3.client('ec2') response = ec2.run_instances( ImageId=event.get('ImageId’, ‘ami-1234567890'), MinCount=1, MaxCount=1, InstanceType=event.get('InstanceType', 't2.micro'), IamInstanceProfile={ 'Arn': 'arn:aws:iam::xxxx:instance-profile/test-role’ }, KeyName=event.get('KeyName', 'my-key-pair'), TagSpecifications=[ { 'ResourceType': 'instance', 'Tags': [{'Key': 'Name', 'Value': 'test-1’}] } ] ) instance_id = response['Instances'][0]['InstanceId'] return { 'statusCode': 200, 'body': json.dumps({ 'instanceId': instance_id, 'message': 'EC2 instance created successfully' }) } このPythonコードを読んで 必要な IAM ポリシー教えて
  10. © 2026, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 使用例(EC2 インスタンスを起動するコード) 10 import boto3 import json def lambda_handler(event, context): ec2 = boto3.client('ec2') response = ec2.run_instances( ImageId=event.get('ImageId’, ‘ami-1234567890'), MinCount=1, MaxCount=1, InstanceType=event.get('InstanceType', 't2.micro'), IamInstanceProfile={ 'Arn': 'arn:aws:iam::xxxx:instance-profile/test-role’ }, KeyName=event.get('KeyName', 'my-key-pair'), TagSpecifications=[ { 'ResourceType': 'instance', 'Tags': [{'Key': 'Name', 'Value': 'test-1’}] } ] ) instance_id = response['Instances'][0]['InstanceId'] return { 'statusCode': 200, 'body': json.dumps({ 'instanceId': instance_id, 'message': 'EC2 instance created successfully' }) } このPythonコードを読んで 必要な IAM ポリシー教えて { "Id": "IamPolicyAutopilot", "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:RunInstances" ], "Resource": ["*"] }, { "Effect": "Allow", "Action": ["iam:PassRole"], "Resource": ["*"], "Condition": { "StringEquals": { "iam:PassedToService": ["ec2.amazonaws.com"] } } } ] }
  11. © 2026, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. IAM Policy Autopilot は「使える」のか? 11 よいと思う点 • IaC で AWS 環境を構築していて、ある程度権限を絞った IAM ポリシーを用意し たいときに便利 • 生成 AI を使って「動作する」IAM ポリシーが得られる • コード内には直接明記のない必要なアクションもちゃんと記載されている • 精度向上のために、使用サービスを指定するオプションあり(--service-hints) • エラーコードをコピペすれば修正してくれる機能も便利
  12. © 2026, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. IAM Policy Autopilot をどのように使うか 12 • 生成される IAM ポリシーは「出発点」 • 要件に合わせた修正や検証は必要だが、最初のベースを考える稼働を大きく削減できる • IPアドレスの制限といった条件や、 IAM ポリシー以外のポリシー(リソースベースのポ リシー、SCP、RCP、アクセス許可の境界)は利用者自身で検討が必要 • IAM ポリシーの検証・修正への活用 • IaC を使っていなくても、運用者用の IAM ポリシーであっても、ポリシー修正の機能を 活用できる 最小権限作成の流れ ソースコードを 用意 IAM Policy Autopilot で IAM ポリシー生成 要件に応じた 最小権限の検討 IAM Policy Autopilot を活用 しつつ修正 デプロイ
  13. © 2026, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. まとめ 13 • IAM Policy Autopilot は、IAM ポリシーを自動で生成/修正するオープンソースの MCP サーバー • IaC 前提だが、最初にそれなりに権限を絞った IAM ポリシーを生成してくれるの は、IAM ポリシー検討の作業コストや時間を大きく削減できる • 運用者観点でも、IAM ポリシー修正の機能は有用 ぜひ IAM Policy Autopilot をお試しください!