CodeBuildベースのプロビジョニングにロールを使用する - AWS Proton

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CodeBuildベースのプロビジョニングにロールを使用する

AWS Proton は AWS Identity and Access Management (IAM) サービスにリンクされたロール を使用します。サービスにリンクされたロールは、 に直接リンクされた一意のタイプのIAMロールです AWS Proton。サービスにリンクされたロールは によって事前定義 AWS Proton されており、 AWS ユーザーに代わって他の サービスを呼び出すために必要なすべてのアクセス許可が含まれています。

サービスにリンクされたロールを使用すると、必要なアクセス許可を手動で追加する必要がないため、設定 AWS Proton が簡単になります。 は、サービスにリンクされたロールのアクセス許可 AWS Proton を定義し、特に定義されていない限り、 AWS Proton はロールのみを引き受けることができます。定義されたアクセス許可には、信頼ポリシーとアクセス許可ポリシーが含まれ、そのアクセス許可ポリシーを他のIAMエンティティにアタッチすることはできません。

サービスリンクロールは、まずその関連リソースを削除しなければ削除できません。これにより AWS Proton 、リソースへのアクセス許可を誤って削除できないため、リソースが保護されます。

サービスにリンクされたロールをサポートする他のサービスの詳細については、AWS 「 と連携するIAMサービス」を参照してください。また、「サービスにリンクされたロール」列で「はい」があるサービスを探します。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、[Yes] (はい) リンクを選択します。

のサービスにリンクされたロールのアクセス許可 AWS Proton

AWS Proton は、 AWSServiceRoleForProtonCodeBuildProvisioning という名前のサービスにリンクされたロール – AWS Proton CodeBuild プロビジョニング用のサービスリンクされたロールを使用します。

AWSServiceRoleForProtonCodeBuildProvisioning サービスにリンクされたロールは、次のサービスを信頼してロールを引き受けます。

  • codebuild.proton.amazonaws.com

という名前のロールアクセス許可ポリシー AWSProtonCodeBuildProvisioningServiceRolePolicy は AWS Proton 、 が指定されたリソースに対して次のアクションを実行できるようにします。

  • アクション: AWS CloudFormation スタックとトランスフォーム作成、管理、読み取り

  • アクション: プロジェクトとビルドで作成、管理、読み取り CodeBuild

このポリシーには、以下の権限が含まれています。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:CreateChangeSet", "cloudformation:DeleteChangeSet", "cloudformation:DeleteStack", "cloudformation:UpdateStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:ListStackResources" ], "Resource": [ "arn:aws:cloudformation:*:*:stack/AWSProton-CodeBuild-*" ] }, { "Effect": "Allow", "Action": [ "codebuild:CreateProject", "codebuild:DeleteProject", "codebuild:UpdateProject", "codebuild:StartBuild", "codebuild:StopBuild", "codebuild:RetryBuild", "codebuild:BatchGetBuilds", "codebuild:BatchGetProjects" ], "Resource": "arn:aws:codebuild:*:*:project/AWSProton*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEqualsIfExists": { "iam:PassedToService": "codebuild.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "servicequotas:GetServiceQuota" ], "Resource": "*" } ] }

IAM エンティティ (ユーザー、グループ、ロールなど) がサービスにリンクされたロールを作成、編集、または削除できるようにするアクセス許可を設定する必要があります。詳細については、「 ユーザーガイド」の「サービスにリンクされたロールのアクセス許可」を参照してください。 IAM

AWS Protonのサービスリンクロールの作成

サービスリンクロールを手動で作成する必要はありません。 AWS Management Console、、または AWS Proton で CodeBuildベースのプロビジョニングを使用する環境を作成すると AWS CLI、 AWS API AWS Proton はサービスにリンクされたロールを作成します。

このサービスリンクロールを削除した後で再度作成する必要が生じた場合は、同じ方法でアカウントにロールを再作成できます。で CodeBuildベースのプロビジョニングを使用する環境を作成すると AWS Proton、 はサービスにリンクされたロールを再度 AWS Proton 作成します。

AWS Protonのサービスにリンクされたロールの編集

AWS Proton では、 AWSServiceRoleForProtonCodeBuildProvisioning サービスにリンクされたロールを編集することはできません。サービスリンクロールを作成した後は、多くのエンティティによってロールが参照される可能性があるため、ロール名を変更することはできません。ただし、 を使用してロールの説明を編集できますIAM。詳細については、IAM「 ユーザーガイド」の「サービスにリンクされたロールの編集」を参照してください。

AWS Protonのサービスリンクロールの削除

サービスリンクロールが必要な機能またはサービスが不要になった場合には、そのロールを削除することをお勧めします。そうすることで、モニタリングや保守が積極的に行われていない未使用のエンティティを排除できます。ただし、 CodeBuildベースのプロビジョニングを使用するすべての環境とサービス (インスタンスとパイプライン) を手動で削除 AWS Proton する前に、削除する必要があります。

サービスリンクロールの手動による削除

IAM コンソール、 AWS CLI、または AWS API を使用して、サービスにリンクされたロールを削除します AWSServiceRoleForProtonCodeBuildProvisioning。詳細については、IAM「 ユーザーガイド」の「サービスにリンクされたロールの削除」を参照してください。

AWS Proton のサービスリンクロールをサポートするリージョン

AWS Proton は、サービス AWS リージョン が利用可能なすべての でサービスにリンクされたロールの使用をサポートします。詳細については、「AWS 全般のリファレンス」の「AWS Proton エンドポイントとクォータ」を参照してください。