AWS IAM: 信頼ポリシー付きロールの作成
aws iam create-roleを信頼ポリシードキュメント付きで使用してIAMロールを作成します。Lambda実行ロール、EC2インスタンスプロファイル、クロスアカウントロールを解説します。
IAM Operations
詳細な説明
CLIからIAMロールを作成
IAMロールは、誰がロールを引き受けられるか(信頼ポリシー)とロールが何をできるか(権限ポリシー)を定義します。create-roleコマンドは信頼ポリシーでロールを確立します。
Lambda実行ロール
aws iam create-role \
--role-name lambda-exec-role \
--assume-role-policy-document '{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {"Service": "lambda.amazonaws.com"},
"Action": "sts:AssumeRole"
}]
}' \
--description "Execution role for Lambda functions"
ファイルからの信頼ポリシー
aws iam create-role \
--role-name my-role \
--assume-role-policy-document file://trust-policy.json
複雑な信頼ポリシーの場合、file://を使用するとインラインJSONよりクリーンです。
完全なワークフロー
ロール作成後、権限ポリシーをアタッチします:
# 1. ロールを作成
aws iam create-role --role-name my-role --assume-role-policy-document file://trust.json
# 2. マネージドポリシーをアタッチ
aws iam attach-role-policy --role-name my-role --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
# 3. (オプション)インラインポリシーを追加
aws iam put-role-policy --role-name my-role --policy-name custom-policy --policy-document file://policy.json
ユースケース
Lambda関数の実行ロールのセットアップ、EC2やECS用サービスリンクロールの作成、クロスアカウントアクセスパターンの確立、CI/CDサービスプリンシパル用ロールの設定。