

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 角色信任關係的選用條件
<a name="conditions-for-role-trust"></a>

若要為 AWS Control Tower 環境新增額外的安全層，您可以在角色信任政策中強加條件，以限制與 AWS Control Tower 中特定角色互動的帳戶和資源。例如，您可以進一步限制對`AWSControlTowerAdmin`角色的存取，因為它允許廣泛的存取許可。

為了協助防止威脅行為者存取您的資源，請手動編輯您的 AWS Control Tower 信任政策，將至少一個 `aws:SourceArn`或`aws:SourceAccount`條件式新增至政策陳述式。作為額外的安全最佳實務，您可以新增 `aws:SourceArn`條件，因為它比 更具體`aws:SourceAccount`，限制對特定帳戶和特定資源的存取。

如果您不知道資源的完整 ARN，或如果您指定多個資源，則可以針對 ARN 的未知部分使用具有萬用字元 (\$1) `aws:SourceArn`的條件。例如，如果您不想指定區域， `arn:aws:controltower:*:123456789012:*`就會運作。

下列範例示範搭配 IAM `aws:SourceArn` 角色信任政策使用 IAM 條件。在 **AWSControlTowerAdmin** 角色的信任關係中新增條件，因為 AWS Control Tower 服務主體會與其互動。

如範例所示，來源 ARN 格式如下： `arn:aws:controltower:${HOME_REGION}:${CUSTOMER_AWSACCOUNT_id}:*`

將字串 `${HOME_REGION}`和 取代`${CUSTOMER_AWSACCOUNT_id}`為您自己的主區域和呼叫帳戶的帳戶 ID。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "controltower.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": "arn:aws:controltower:us-west-2:012345678901:*"
        }
      }
    }
  ]
}
```

------

在此範例中，指定為 的來源 ARN `arn:aws:controltower:us-west-2:012345678901:*` 是唯一允許執行`sts:AssumeRole`動作的 ARN。換句話說，只有可在 `012345678901``us-west-2`區域中登入帳戶 ID 的使用者，才能執行需要此特定角色的動作，以及指定為 的 AWS Control Tower 服務的信任關係`controltower.amazonaws.com`。

下一個範例顯示套用至角色信任政策的 `aws:SourceAccount`和 `aws:SourceArn`條件。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "controltower.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "012345678901"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:controltower:us-west-2:012345678901:*"
        }
      }
    }
  ]
}
```

------

此範例說明 `aws:SourceArn`條件陳述式，以及新增`aws:SourceAccount`的條件陳述式。如需詳細資訊，請參閱[防止跨服務模擬](prevent-confused-deputy.md)。

 如需 AWS Control Tower 中許可政策的一般資訊，請參閱 [管理對 資源的存取](access-control-manage-access-intro.md)。

**建議：**

我們建議您將條件新增至 AWS Control Tower 建立的角色，因為這些角色直接由其他 AWS 服務擔任。如需詳細資訊，請參閱本節先前所示的 **AWSControlTowerAdmin** 範例。對於 AWS Config 記錄器角色，我們建議新增 `aws:SourceArn`條件，將 Config 記錄器 ARN 指定為允許的來源 ARN。

對於 **AWSControlTowerExecution** 等角色或所有受管帳戶中 AWS Control Tower Audit 帳戶[可擔任的其他程式設計角色](https://docs.aws.amazon.com/controltower/latest/userguide/roles-how.html)，建議您將 `aws:PrincipalOrgID`條件新增至這些角色的信任政策，以驗證存取資源的主體是否屬於正確 AWS 組織中的帳戶。請勿新增`aws:SourceArn`條件陳述式，因為它無法如預期般運作。

**注意**  
如果發生偏離，在某些情況下可能會重設 AWS Control Tower 角色。如果您已自訂角色，建議您定期重新檢查角色。