翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SAM パイプラインを使用した OIDC 認証の使用方法
AWS Serverless Application Model (AWS SAM) は、Bitbucket、GitHub Actions、および GitLab の継続的インテグレーションおよび継続的デリバリー (CI/CD) のプラットフォームに対して OpenID Connect (OIDC) ユーザー認証をサポートしています。このサポートにより、これらのプラットフォームのいずれかから認証された CI/CD ユーザーアカウントを使用して、サーバーレスアプリケーションパイプラインを管理できます。このサポートがないと、複数のAWS Identity and Access Management (IAM) ユーザーを作成して管理し、AWS SAM パイプラインへのアクセスを制御する必要が生じます。
AWS SAM パイプラインでの OIDC の設定
sam pipeline bootstrap
設定プロセス中に、以下を実行して AWS SAM パイプラインで OIDC を設定します。
-
ID プロバイダーの選択を求められたら、OIDC を選択します。
-
次に、サポートされている OIDC プロバイダーを選択します。
-
OIDC プロバイダーの URL を入力します (
https://
から入力します)。注記
AWS SAM は、
AWS::IAM::OIDCProvider
リソースタイプを生成するときにこの URL を参照します。 -
次に、プロンプトに従い、選択したプラットフォームへのアクセスに必要な CI/CD プラットフォーム情報を入力します。これらの詳細はプラットフォームによって異なり、次のものが含まれる場合があります。
-
OIDC クライアント ID。
-
コードリポジトリ名または一意の識別子 (UUID)。
-
リポジトリに関連付けられたグループまたは組織名。
-
コードリポジトリが属する GitHub 組織。
-
GitHub リポジトリ名。
-
デプロイ元のブランチ。
-
-
AWS SAM は、入力した OIDC 設定の概要を表示します。設定の番号を入力して編集するか、Enter を押して続行します。
-
入力した OIDC 接続をサポートするために必要なリソースの作成を確認するメッセージが表示されたら、Y を押して続行します。
AWS SAM は、パイプライン実行ロールを引き受ける指定された設定で AWS::IAM::OIDCProvider
AWS CloudFormation リソースを生成します。この AWS CloudFormation リソースタイプの詳細については、AWS CloudFormation ユーザーガイドの「AWS::IAM::OIDCProvider」を参照してください。
注記
ID プロバイダー (IdP) リソースが AWS アカウント に既に存在する場合は、AWS SAM は、新しいリソースを作成する代わりにそのリソースを参照します。
例
以下は、AWS SAM パイプラインで OIDC を設定する例です。
Select a permissions provider: 1 - IAM (default) 2 - OpenID Connect (OIDC) Choice (1, 2): 2 Select an OIDC provider: 1 - GitHub Actions 2 - GitLab 3 - Bitbucket Choice (1, 2, 3): 1 Enter the URL of the OIDC provider [https://token.actions.githubusercontent.com]: Enter the OIDC client ID (sometimes called audience) [sts.amazonaws.com]: Enter the GitHub organization that the code repository belongs to. If there is no organization enter your username instead: my-org Enter GitHub repository name: testing Enter the name of the branch that deployments will occur from [main]: [3] Reference application build resources Enter the pipeline execution role ARN if you have previously created one, or we will create one for you []: Enter the CloudFormation execution role ARN if you have previously created one, or we will create one for you []: Please enter the artifact bucket ARN for your Lambda function. If you do not have a bucket, we will create one for you []: Does your application contain any IMAGE type Lambda functions? [y/N]: [4] Summary Below is the summary of the answers: 1 - Account: 123456 2 - Stage configuration name: dev 3 - Region: us-east-1 4 - OIDC identity provider URL: https://token.actions.githubusercontent.com 5 - OIDC client ID: sts.amazonaws.com 6 - GitHub organization: my-org 7 - GitHub repository: testing 8 - Deployment branch: main 9 - Pipeline execution role: [to be created] 10 - CloudFormation execution role: [to be created] 11 - Artifacts bucket: [to be created] 12 - ECR image repository: [skipped] Press enter to confirm the values above, or select an item to edit the value: This will create the following required resources for the 'dev' configuration: - IAM OIDC Identity Provider - Pipeline execution role - CloudFormation execution role - Artifact bucket Should we proceed with the creation? [y/N]:
詳細はこちら
AWS SAM パイプラインで OIDC を使用する方法の詳細については、「sam pipeline bootstrap」を参照してください。