

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 服務主體是透過 `aws:SourceArn`條件金鑰獲得存取權，其中包含 CodeCatalyst 空間 ID 的 Amazon Resource Name (ARN)。ARN 使用以下格式：

```
arn:aws:codecatalyst:::space/spaceId/project/*
```

**重要**  
僅在條件索引鍵中使用空格 ID，例如 `aws:SourceArn`。請勿在 IAM 政策陳述式中使用空格 ID 做為資源 ARN。

最佳實務是盡可能縮小政策中許可的範圍。
+ 您可以在`aws:SourceArn`條件索引鍵中使用萬用字元 (\$1)，以使用 指定空間中的所有專案`project/*`。
+ 您可以使用 為空間中的特定專案在`aws:SourceArn`條件索引鍵中指定資源層級許可`project/projectId`。

## CodeCatalyst 的服務主體
<a name="service-principals"></a>

您可以在資源型 JSON 政策中使用 `Principal`元素來指定允許或拒絕存取資源的委託人。您在信任政策中可指定的主體包含使用者、角色、帳戶和服務。您無法在以身分為基礎的政策中使用 `Principal`元素；同樣地，您無法將使用者群組識別為政策中的委託人 （例如以資源為基礎的政策），因為群組與許可相關，而非身分驗證，且委託人是經過身分驗證的 IAM 實體。

在信任政策 AWS 服務 中，您可以在資源型政策的 `Principal`元素或支援主體的條件金鑰中指定 。服務主體由服務定義。以下是為 CodeCatalyst 定義的服務主體：
+ **codecatalyst.amazonaws.com** - 此服務主體用於將 CodeCatalyst 存取權授予 的角色 AWS。
+ **codecatalyst-runner.amazonaws.com** - 此服務主體用於將 CodeCatalyst 存取權授予 CodeCatalyst 工作流程部署中 AWS 資源的角色。

如需詳細資訊，請參閱《*IAM 使用者指南*》中的 [AWS JSON 政策元素：主體](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)。