(こちらは 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 でご確認ください。