AWS CLI Orb v3.1 への OpenID Connect サポートの追加

(こちらは 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_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN を生成することができます。 これらのキーは、role-arn に関連付けられた IAM ポリシーで定義されている他の AWS サービスへのアクセスに使用するプロファイルを設定する aws-cli/setup コマンドで使用されます。 これにより、ユーザーが環境変数として静的な AWS キーを格納する必要性がなくなるため、AWS を使用した CircleCI パイプラインをより安全に実行できるようになります。

仕組み:

  1. IAM で、OpenID Connect Identity Provider を作成し、Web Identity を使って role-arn を生成する必要があります。 詳しい手順については、こちらのブログ(日本語版近日公開予定) でご確認いただけます。
  2. 先ほど生成した 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 でご確認ください。

1 Like