CodeBuildのDocker上でAWSクロスアカウントロールする方法

CodeBuild上にてクロスアカウントを利用した別アカウントのAWSサービスを利用する方法について書きたいと思います。

前提

  • クロスアカウントしたいアカウントからAssumeRoleによってアクセス許可されていること

クレデンシャル

以下のファイルを~/.aws/credentialsに保存します。ただCodeBuildに対してのリモートログインはできないので、
Dockerビルドしておく、パラメーターストアに保管しておき、buildspec.yamlの中で取得する処理を書くといった方法で対応することになるかと思います。
ポイントはcredential_sourceEcsContainerとすることです。

[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

以上

スポンサーリンク
スポンサーリンク
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク