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タスク用サービスロールの設定、最小権限アクセスパターンの実装。