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サービスプリンシパル用ロールの設定。

試してみる — AWS CLI Command Builder

フルツールを開く