概要
いくつかのAWSアカウント内で、クロスアカウント用のロールを作成する必要があったので、スクリプトを作成しました。
以下、作成したスクリプト。
PROFILE= ROLE_NAME= ACCOUNT_ID= Principal=$(cat<< EOS { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::${ACCOUNT_ID}:root" }, "Action": "sts:AssumeRole" } } EOS ) aws iam create-role --assume-role-policy-document "${Principal}" --role-name $ROLE_NAME --profile $PROFILE aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess --role-name $ROLE_NAME --profile $PROFILE
スクリプトの内容としては、
- profile / ロール名 / 信頼するAWSアカウントID を設定する
- CLI実行時にはprofileを指定するようにしている
- Principalで信頼するAWSアカウントIDを指定している
- ReadOnlyAccessポリシーをロールにアタッチする