cdk bootstrap の実行に必要なアクセス権限

AWS CDK で cdk bootstrap --profile for_cdk_bootstrap(※任意のプロファイル名) を実行すると、様々な not authorized エラーが出た。

Bootstrapping - AWS Cloud Development Kit (AWS CDK) v2 によると、cdk bootstrap により

  • Amazon S3 bucket
  • AWS KMS key
  • IAM roles
  • Amazon ECR repository
  • SSM parameter for versioning

のリソースに変更を加える(作成?)ようなので、これらのアクセス権限を持つ IAM (のprofile) が必要(と判断した)。

ということで、プロファイル:for_cdk_bootstrap が示す IAM の権限を以下のように設定した。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "cloudformation:*",
                "s3:*",
                "iam:*",
                "ecr:*",
                "ssm:*"
            ],
            "Resource": "*"
        }
    ]
}

cdk boostrap に必要な最低限の権限ではなくやや過剰だけれど、とりあえずこれで cdk bootstrap --profile for_cdk_bootstrap は実行できるようになった。

おまけ

ここに辿りつくまでに、cdk bootstrap がエラーになった後、ROLLBACK も失敗してどうしようとなったが、以下を行うことで解決できた。

  • AWS マネジメントコンソール(Web画面) の CloudFormation でスタック CDKToolkit を手動で削除
    • 関連するリソースがある場合、削除前に「こいつらどうする?」と聞いてくるので、個別に(十分に注意して)削除する
  • S3 で cdk-xxxxxxxx-assets-837465748382-ap-northeast-1 バケットを手動削除(バケット名はエラーログに出てる)

参照