翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CodeCatalyst 信頼モデルを理解する
Amazon CodeCatalyst 信頼モデルにより CodeCatalyst 、 は接続された でサービスロールを引き受けることができます AWS アカウント。このモデルは、IAM ロール、 CodeCatalyst サービスプリンシパル、および CodeCatalyst スペースを接続します。信頼ポリシーは、 aws:SourceArn
条件キーを使用して、 条件キーで指定された CodeCatalyst スペースにアクセス許可を付与します。この条件キーの詳細については、「IAM ユーザーガイド」の「aws:SourceArn」を参照してください。
信頼ポリシーは JSON ポリシードキュメントです。ここに、ロールを委任できる、信頼するプリンシパルを定義します。ロール信頼ポリシーは、IAMのロールに関連付けられている必須のリソースベースのポリシーです。詳細については、「IAM ユーザーガイド」の「用語と概念」を参照してください。 のサービスプリンシパルの詳細については、 CodeCatalyst「」を参照してくださいのサービスプリンシパル CodeCatalyst。
次の信頼ポリシーでは、 Principal
要素にリストされているサービスプリンシパルにリソースベースのポリシーからのアクセス許可が付与され、 Condition
ブロックを使用してスコープダウンされたリソースへのアクセスを制限します。
"Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:codecatalyst:::space/
spaceId
/project/*" } } } ]
信頼ポリシーでは、 CodeCatalyst サービスプリンシパルには、 CodeCatalyst スペース ID の Amazon リソースネーム (ARN) を含む aws:SourceArn
条件キーを通じてアクセス許可が付与されます。ARN は次の形式を使用します。
arn:aws:codecatalyst:::space/
spaceId
/project/*
重要
スペース ID は、 などの条件キーでのみ使用しますaws:SourceArn
。IAM ポリシーステートメントのスペース ID をリソース ARN として使用しないでください。
ベストプラクティスとして、ポリシーで可能な限りアクセス許可の範囲を絞り込みます。
-
aws:SourceArn
条件キーでワイルドカード (*) を使用して、 でスペース内のすべてのプロジェクトを指定できますproject/*
。 -
を使用して、スペース内の特定のプロジェクトの
aws:SourceArn
条件キーでリソースレベルのアクセス許可を指定できますproject/
。projectId
のサービスプリンシパル CodeCatalyst
リソースベースの JSON ポリシーの Principal
要素を使用して、リソースへのアクセスを許可または拒否するプリンシパルを指定します。信頼ポリシーで指定できるプリンシパルには、ユーザー、ロール、アカウント、およびサービスが含まれます。アイデンティティベースのポリシーでは Principal
要素を使用できません。同様に、グループが認証ではなくアクセス許可と関連し、プリンシパルが認証された IAM エンティティであるため、ポリシー (リソースベースのポリシーなど) でユーザーグループをプリンシパルとして識別することはできません。
信頼ポリシーでは、リソースベースのポリシーの AWS のサービス Principal
要素またはプリンシパルをサポートする条件キーで を指定できます。サービスプリンシパルは、サービスによって定義されます。に定義されているサービスプリンシパルを次に示します CodeCatalyst。
-
codecatalyst.amazonaws.com - このサービスプリンシパルは、 CodeCatalyst へのアクセスを許可するロールに使用されます AWS。
-
codecatalyst-runner.amazonaws.com - このサービスプリンシパルは、 CodeCatalyst ワークフローのデプロイの AWS リソース CodeCatalyst へのアクセスを許可するロールに使用されます。
詳細については、「IAM ユーザーガイド」の「AWS JSON ポリシーの要素: プリンシパル」を参照してください。