(こちらは OpenID Connect Support added to AWS CLI Orb - v3.1 の参考訳です)
いつも CircleCI をご利用いただき、ありがとうございます。
2022 年 4 月 21 日に、AWS CLI
Orb のバージョン 3.1 がリリースされました。 この最新バージョンでは、デフォルトで CircleCI の OIDC トークンを各ジョブのあらゆるコンテキストでご利用いただけます。 このトークンにより、デフォルトでは 60 分間だけ有効な短命のAWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
、AWS_SESSION_TOKEN
を生成することができます。 これらのキーは、role-arn
に関連付けられた IAM
ポリシーで定義されている他の AWS サービスへのアクセスに使用するプロファイルを設定する aws-cli/setup
コマンドで使用されます。 これにより、ユーザーが環境変数として静的な AWS
キーを格納する必要性がなくなるため、AWS を使用した CircleCI パイプラインをより安全に実行できるようになります。
仕組み:
-
IAM
で、OpenID Connect Identity Provider を作成し、Web Identity を使ってrole-arn
を生成する必要があります。 詳しい手順については、こちらのブログ(日本語版近日公開予定) でご確認いただけます。 - 先ほど生成した
role-arn
を、aws-cli/setup
コマンドのパラメーターとして使用します。 また、profile-name
を定義する必要があります。aws-cli/setup
コマンドの実行後は、定義したプロファイルを使用して他のAWS CLI
コマンドを実行することができます。 以下の例では、WEB-IDENTITY-PROFILE
という Web Identity でプロファイルを作成し、このプロファイルを使用してAWS ECR
にログインします。
version: 2.1
orbs:
aws-cli: circleci/aws-cli@3.1
jobs:
aws-cli-example:
executor: cimg/base:current
steps:
- checkout
- aws-cli/setup:
profile-name: WEB-IDENTITY-PROFILE
role-arn: arn:aws:iam::123456789012:role/WEB-IDENTITY-ROLE
role-session-name: example-session
- run:
name: Log into ECR
command: aws ecr get-login-password --region us-west-2 --profile WEB-IDENTITY-PROFILE
workflows:
aws-cli:
jobs:
- aws-cli-example:
context: AWS-CONTEXT
詳細については、Orb Registry でご確認ください。