メメメモモ

プログラミング、筋トレ、ゲーム、etc

AWS CLIでクロスアカウント用のロールを作成

概要

いくつかの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ポリシーをロールにアタッチする

参考

docs.aws.amazon.com

docs.aws.amazon.com

aws.amazon.com