

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

# 不同 AWS 帳戶中跨帳戶存取的角色 - 選用
<a name="security-iam-resilience-cross-account-roles"></a>

當您的資源位於次要/資源帳戶中時，您必須在這些帳戶中建立角色，讓 AWS Resilience Hub 能夠成功評估您的應用程式。角色建立程序類似於叫用者角色建立程序，但信任政策組態除外。

**注意**  
您必須在資源所在的次要帳戶中建立角色。

**主題**
+ [在次要/資源帳戶的 IAM 主控台中建立角色](#security-iam-resilience-cross-create-roles-infra-account)
+ [使用 IAM API 管理角色](#security-iam-resilience-cross-create-roles-infra-account-api)
+ [使用 JSON 檔案定義信任政策](#security-iam-resilience-cross-define-trust-policy-infra-account)

## 在次要/資源帳戶的 IAM 主控台中建立角色
<a name="security-iam-resilience-cross-create-roles-infra-account"></a>

若要讓 AWS Resilience Hub 存取其他 AWS 帳戶中 AWS 的服務和資源，您必須在這些帳戶中建立角色。

**使用 IAM 主控台在 IAM 主控台中為次要/資源帳戶建立角色**

1. 在 `https://console.aws.amazon.com/iam/` 開啟 IAM 主控台。

1. 從導覽窗格中，選擇**角色**，然後選擇**建立角色**。

1. 選取**自訂信任政策**，在**自訂信任政策**視窗中複製下列政策，然後選擇**下一步**。
**注意**  
如果您的資源位於不同的帳戶中，則必須在每個帳戶中建立角色，並為其他帳戶使用次要帳戶信任政策。

1. 在**新增許可**頁面的**許可政策**區段`AWSResilienceHubAsssessmentExecutionPolicy`中，**輸入依屬性或政策名稱篩選政策，然後按 Enter** 方塊。

1. 選取政策，然後選擇**下一步**。

1. 在**角色詳細資訊**區段中，在角色名稱方塊中輸入唯一的**角色名稱** （例如 `AWSResilienceHubAssessmentRole`)。

1. （選用） 在描述方塊中輸入角色的**描述**。

1. 選擇**建立角色**。

   若要編輯使用案例和許可，請在步驟 6 中，選擇**步驟 1：選取信任的實體**或**步驟 2：新增許可**區段右側的**編輯**按鈕。

此外，您也需要將 `sts:assumeRole`許可新增至叫用者角色，讓它能夠擔任次要帳戶中的角色。

針對您建立的每個次要角色，將下列政策新增至您的呼叫者角色：

```
{
    "Effect": "Allow",
    "Resource": [
      "arn:aws:iam::secondary_account_id_1:role/RoleInSecondaryAccount_1",
      "arn:aws:iam::secondary_account_id_2:role/RoleInSecondaryAccount_2",
      ...
      ],
      "Action": [
        "sts:AssumeRole"
      ]
}
```

### 使用 IAM API 管理角色
<a name="security-iam-resilience-cross-create-roles-infra-account-api"></a>

角色的信任政策會提供指定主體擔任角色的許可。若要使用 AWS Command Line Interface (AWS CLI) 建立角色，請使用 `create-role`命令。使用此命令時，您可以指定內嵌信任政策。下列範例顯示如何授予 AWS Resilience Hub 服務委託人擔任您角色的許可。

**注意**  
JSON 字串中逸出引號 (`' '`) 的需求可能會根據您的 Shell 版本而有所不同。

**範例 `create-role`**

```
aws iam create-role --role-name AWSResilienceHubAssessmentRole --assume-role-policy-document '{"Version": "2012-10-17",		 	 	 "Statement": [{"Effect": "Allow","Principal": {"AWS": ["arn:aws:iam::primary_account_id:role/InvokerRoleName"]},"Action": "sts:AssumeRole"}]}'
```

您也可使用單獨的 JSON 檔案來定義角色的信任政策。在下列範例中，`trust-policy.json` 為當前目錄中的檔案。

### 使用 JSON 檔案定義信任政策
<a name="security-iam-resilience-cross-define-trust-policy-infra-account"></a>

您可以使用單獨的 JSON 檔案來定義角色的信任政策，然後執行 `create-role`命令。在下列範例中， **`trust-policy.json`** 是在目前目錄中包含信任政策的檔案。此政策透過執行 **`create-role`**命令連接到角色。`create-role` 命令的輸出會顯示在**範例輸出**中。若要將許可新增至角色，請使用 **attach-policy-to-role** 命令，您可以從新增 `AWSResilienceHubAsssessmentExecutionPolicy`受管政策開始。如需此受管政策的詳細資訊，請參閱 [AWSResilienceHubAsssessmentExecutionPolicy](security-iam-awsmanpol.md#security_iam_aws-assessment-policy)。

**範例 `trust-policy.json`**

**範例 `create-role`**

```
aws iam create-role --role-name AWSResilienceHubAssessmentRole --assume-role-policy-document file://trust-policy.json
```

**範例輸出**

**範例 `attach-policy-to-role`**

`aws iam attach-role-policy --role-name AWSResilienceHubAssessmentRole --policy-arn arn:aws:iam::aws:policy/AWSResilienceHubAsssessmentExecutionPolicy`.