

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

# 多帳戶設定 （不含 AWS Organizations)
<a name="next-gen-multi-account-setup"></a>

如果您服務的資源跨越多個 AWS 帳戶，而且您未使用 AWS Organizations，則除了叫用者角色之外，您還需要跨帳戶角色。

**步驟 1：建立跨帳戶角色**

在包含服務資源的每個帳戶中，建立具有下列項目的角色：
+ `ReadOnlyAccess` 政策已連接。
+ 允許調用者角色擔任的信任政策，使用 `ExternalId` 來防止混淆代理人攻擊。每個服務和帳戶組合使用唯一的`ExternalId`值：

  ```
  {
    "Version": "2012-10-17",		 	 	 
    "Statement": [{
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:role/AWSResilienceHubAssessmentRole"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "ngrh-my-service-111122223333"
        }
      }
    }]
  }
  ```

**步驟 2：授予叫用者角色許可，以擔任跨帳戶角色**

將內嵌政策新增至您的呼叫者角色，以允許它擔任跨帳戶角色：

```
{
  "Effect": "Allow",
  "Action": "sts:AssumeRole",
  "Resource": [
    "arn:aws:iam::111122223333:role/NGRHResourceRole",
    "arn:aws:iam::444455556666:role/NGRHResourceRole"
  ]
}
```

**步驟 3：在您的服務上設定跨帳戶角色**

建立服務時指定跨帳戶角色 ARNs 和外部 IDs：

```
aws resiliencehubv2 create-service \
  --name "my-service" \
  --regions '["us-east-1"]' \
  --permission-model '{
    "invokerRoleName": "AWSResilienceHubAssessmentRole",
    "crossAccountRoles": [
      {
        "crossAccountRoleArn": "arn:aws:iam::111122223333:role/NGRHResourceRole",
        "externalId": "ngrh-my-service-111122223333"
      },
      {
        "crossAccountRoleArn": "arn:aws:iam::444455556666:role/NGRHResourceRole",
        "externalId": "ngrh-my-service-444455556666"
      }
    ]
  }'
```

每個服務最多可設定 5 個跨帳戶角色 ARNs。