

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[CodeCatalyst から移行する方法](migration.md)」を参照してください。

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

# CodeCatalyst 信頼モデルについて
<a name="trust-model"></a>

Amazon CodeCatalyst 信頼モデルにより、CodeCatalyst は接続された AWS アカウントアカウントでサービスロールを引き受けることができます。このモデルは、IAM ロール、CodeCatalyst サービスプリンシパル、および CodeCatalyst スペースを接続します。信頼ポリシーは、`aws:SourceArn` 条件キーを使用して、条件キーで指定された CodeCatalyst スペースにアクセス許可を付与します。この条件キーの使用の詳細については、「*IAM ユーザーガイド*」の「[aws:SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)」を参照してください。

信頼ポリシーは JSON ポリシードキュメントです。ここに、ロールを委任できる、信頼するプリンシパルを定義します。ロール信頼ポリシーは、IAM のロールに関連付けられている必須のリソースベースのポリシーです。詳細については、「*IAM ユーザーガイド*」 の「[ロールに関する用語と概念](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html)」を参照してください。CodeCatalyst のサービスプリンシパルの詳細については、「[CodeCatalyst のサービスプリンシパル](#service-principals)」を参照してください。

次の信頼ポリシーでは、`Principal` 要素に一覧表示されているサービスプリンシパルにリソースベースのポリシーからのアクセス許可が付与され、`Condition` ブロックを使用してスコープが絞り込まれたリソースへのアクセスが制限されます。

------
#### [ JSON ]

****  

```
{
    "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 として使用しないでください。

ベストプラクティスとして、ポリシーではアクセス許可の範囲をできる限り絞ってください。
+ `project/*` を使用してスペース内のすべてのプロジェクトを指定するために、`aws:SourceArn` 条件キーでワイルドカード (\$1) を使用できます。
+ `project/projectId` を使用してスペース内の特定のプロジェクトに対し、`aws:SourceArn` 条件キーでリソースレベルのアクセス許可を指定できます。

## CodeCatalyst のサービスプリンシパル
<a name="service-principals"></a>

リソースベースの JSON ポリシーの `Principal` 要素を使用して、リソースへのアクセスを許可または拒否するプリンシパルを指定します。信頼ポリシーで指定できるプリンシパルには、ユーザー、ロール、アカウント、およびサービスが含まれます。ID ベースのポリシーでは `Principal` 要素を使用できません。同様に、グループは認証ではなくアクセス許可に関連しており、プリンシパルは認証された IAM エンティティであるため、ポリシー (リソースベースのポリシーなど) ではユーザーグループをプリンシパルとして識別することはできません。

信頼ポリシーでは、リソースベースのポリシーの AWS のサービス `Principal`要素またはプリンシパルをサポートする条件キーで を指定できます。サービスプリンシパルはサービスによって定義されます。CodeCatalyst で定義されているサービスプリンシパルを次に示します。
+ **codecatalyst.amazonaws.com** - このサービスプリンシパルは、CodeCatalyst にアクセス権を付与するロールに使用されます AWS。
+ **codecatalyst-runner.amazonaws.com** - このサービスプリンシパルは、CodeCatalyst ワークフローのデプロイ内の AWS リソースへのアクセスを CodeCatalyst に付与するロールに使用されます。

詳細については、「*IAM ユーザーガイド*」の「[AWS JSON ポリシー要素: プリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)」を参照してください。