AWS IAM: ロールとユーザーへのポリシーアタッチ

aws iam attach-role-policyとput-role-policyコマンドを使用して、マネージドおよびインラインIAMポリシーをロールとユーザーにアタッチします。

IAM Operations

詳細な説明

IAMポリシーのアタッチ

IAMロールまたはユーザーの作成後、権限を付与するポリシーをアタッチする必要があります。AWSは2種類をサポート:マネージドポリシー(再利用可能、バージョン管理)とインラインポリシー(ロールに直接埋め込み)。

ロールにマネージドポリシーをアタッチ

aws iam attach-role-policy \
  --role-name lambda-exec-role \
  --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess

よく使うAWSマネージドポリシー

ポリシーARN 付与する権限
arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess S3読み取り専用
arn:aws:iam::aws:policy/AmazonS3FullAccess S3フルアクセス
arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess DynamoDBフルアクセス
arn:aws:iam::aws:policy/AWSLambdaBasicExecutionRole Lambda用CloudWatch Logs

インラインポリシーの追加

aws iam put-role-policy \
  --role-name lambda-exec-role \
  --policy-name s3-write-specific-bucket \
  --policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Action": ["s3:PutObject", "s3:DeleteObject"],
      "Resource": "arn:aws:s3:::my-upload-bucket/*"
    }]
  }'

ベストプラクティス:最小権限

常に必要最小限の権限から始め、必要な場合にのみ追加します。特定の狭い権限にはインラインポリシーを、広範で再利用可能な権限セットにはマネージドポリシーを使用します。

ユースケース

Lambda関数へのS3やDynamoDBアクセスの付与、開発者IAMユーザーへの適切な権限の設定、ECSタスク用サービスロールの設定、最小権限アクセスパターンの実装。

試してみる — AWS CLI Command Builder

フルツールを開く