前提
- クロスアカウントしたいアカウントからAssumeRoleによってアクセス許可されていること
クレデンシャル
以下のファイルを~/.aws/credentials
に保存します。ただCodeBuildに対してのリモートログインはできないので、
Dockerビルドしておく、パラメーターストアに保管しておき、buildspec.yamlの中で取得する処理を書くといった方法で対応することになるかと思います。
ポイントはcredential_source
をEcsContainer
とすることです。
[cross-account]
role_arn = arn:aws:iam::xxxxxxxxxxxx:role/CrossAccountRole
credential_source = EcsContainer
エラー
Ec2InstanceMetadata
で設定してしまうと、以下のようなエラーが出力されます。
Error when retrieving credentials from Ec2InstanceMetadata: No credentials found in credential_source referenced in profile xxxxxxxxxxx
以上