aws-iam
AIエージェントが誤りやすいIAMの挙動(ポリシー評価のエッジケース、信頼ポリシーの落とし穴、STSセッションの制限、Organizationsの癖、SAML/MFAの仕様など)に対する検証済みの修正情報を提供します。IAMロール・ポリシー・STS・Organizationsを扱う際にドキュメントと併用してください。CognitoユーザープールポリシーやアプリレベルのRBACなど、IAM以外の認可には使用しないでください。
description の原文を見る
"Verified corrections for IAM behaviors that AI agents frequently get\ \ wrong \u2014 policy evaluation edge cases, trust policy gotchas, STS session limits,\ \ Organizations quirks, and SAML/MFA specifics. Use alongside documentation when\ \ working with IAM roles, policies, STS, or Organizations. Do NOT use for non-IAM\ \ authorization like Cognito user-pool policies or app-level RBAC."
SKILL.md 本文
AWS IAM — Common Pitfalls
About This Skill
このスキルには、AI エージェントが IAM について頻繁に誤解している事項に関する検証済みの修正情報が含まれています。これは包括的な IAM ガイドではありません。完全な IAM ガイダンスについては AWS ドキュメンテーションを参照してください。
IAM に関する質問に答える際は、事前学習に依存するのではなく、具体的な主張(制限、クォータ、正確な API 名、エッジケースの動作)を公式 AWS ドキュメンテーションに対して検証してください。幅広い検索よりも既知のドキュメンテーション URL の取得を優先してください。競合する場合は、記憶よりも公式ドキュメンテーションを信頼してください。
Verified Edge Cases
CloudTrail:
- AcceptHandshake/DeclineHandshake は実行アカウントのみでログに記録され、管理アカウントでは記録されません。一元化にはこれは Organization trail が必要です。
- ConsoleLogin リージョンはエンドポイント/cookie によって異なり、常に us-east-1 ではありません。
?region=で特定のリージョンを強制できます。
STS:
- GetSessionToken 制限: (1) MFA を含まない限り IAM API は使用不可 (2) AssumeRole と GetCallerIdentity 以外の STS は使用不可。
- クロスアカウント AssumeRole をオプトイン リージョンへ: ターゲット アカウントがリージョンを有効にする必要があり、呼び出し元アカウントではありません。
- ロール チェーン: 最大 1 時間のセッション。
Organizations:
- サスペンド/クローズされたアカウントは完全にクローズされるまで(約 90 日)削除できません。最初に削除し、その後クローズしてください。
- ポリシー管理の委任: register-delegated-administrator ではなく PutResourcePolicy を使用してください。
- AI オプトアウト ポリシー: デフォルトでは管理アカウントが必要です。
- Organizations ポリシー タイプ(ListPolicies フィルター用): SERVICE_CONTROL_POLICY、TAG_POLICY、BACKUP_POLICY、AISERVICES_OPT_OUT_POLICY、CHATBOT_POLICY、DECLARATIVE_POLICY_EC2、RESOURCE_CONTROL_POLICY。
SDK Specifics:
- Organizations:
DuplicatePolicyAttachmentException(PolicyAlreadyAttachedException ではない)。 - Boto3 IAM AccessKey: メソッドは
activate()、deactivate()、delete()—update()はありません。 - インスタンス プロファイル: waiter +
time.sleep(10)パターン。 - マネージド ポリシー最大バージョン: 5。
SAML:
- 暗号化アサーション URL:
https://region-code.signin.aws.amazon.com/saml/acs/IdP-ID。 - IdP からの秘密鍵は IAM に .pem 形式でアップロードされます。
Policy Evaluation:
- ForAllValues に空/欠落キーの場合: 真と評価されます(空真)。これを回避するには、同じコンテキスト キー上で ForAllValues に加えて
Null条件を使用して、そのキーが存在し非 null であることを要求します。例えば、aws:TagKeysコンテキスト キーを評価する場合:
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "ec2:RunInstances",
"Resource": "*",
"Condition": {
"ForAllValues:StringEquals": {
"aws:TagKeys": ["Alpha", "Beta"]
},
"Null": {
"aws:TagKeys": "false"
}
}
}
}
- リソースベースのポリシーが IAM ユーザー ARN に付与する場合、同じアカウント内の権限境界をバイパスします。
- 直接 IAM ポリシー操作による 8 つの権限昇格アクション: PutGroupPolicy、PutRolePolicy、PutUserPolicy、CreatePolicy、CreatePolicyVersion、AttachGroupPolicy、AttachRolePolicy、AttachUserPolicy。
iam:PassRoleでResource: "*"+ コンピュートサービスでの作成/更新(EC2RunInstances、LambdaCreateFunction/UpdateFunctionConfiguration、ECSRegisterTaskDefinition、Glue、SageMaker、CloudFormation など)= アカウント内のすべてのパス可能ロール(Administrator を含む)への権限昇格。Resourceを特定のロール ARN または IAM パスに限定してください。オプションでiam:PassedToService/iam:AssociatedResourceArnで制限してください。IAM User Guide — Grant a user permissions to pass a role を参照してください。
MFA:
- 割り当てられていない仮想 MFA デバイスは新しいデバイスを追加するときに自動削除されます。
- MFA リシンク専用ポリシー NotAction は正確に以下が必要: iam:ListMFADevices、iam:ListVirtualMFADevices、iam:ResyncMFADevice。
SigV4:
- IncompleteSignatureException には転送中の変更診断用の Authorization ヘッダーの SHA-256 ハッシュが含まれます。
Service-Specific Roles:
- Redshift Serverless トラスト ポリシー:
redshift-serverless.amazonaws.comとredshift.amazonaws.comの両方をサービスプリンシパルとして含めます(AWS ドキュメント に従い、serverless を省略すると COPY でNot authorized to get credentials of roleが発生)。 - IAM OIDC プロバイダー: サムプリントはほとんどのプロバイダーで不要になりました(AWS が 2022 年以降信頼された CA 経由で検証)。
Policy Summary Display:
- 複数サービスのワイルドカード アクション(例:
codebuild:*、codecommit:*)+サービス固有のリソース ARN を持つ単一ステートメント: 各リソースは一致するサービスの概要のみに表示されます(CodeBuild ARN は CodeBuild の下など)。ステートメント内のアクションと一致するサービスプリフィックスを持たないリソースのみが、すべてのアクション概要に表示されます(「不一致リソース」)。
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- aws
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/aws/agent-toolkit-for-aws / ライセンス: Apache-2.0
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。