

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Multi-account 设置（没有 AWS 组织)
<a name="next-gen-multi-account-setup"></a>

如果您的服务资源跨多个 AWS 账户，并且您没有使用 Organizati AWS ons，那么除了调用者角色之外，您还需要跨账户角色。

**步骤 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：在服务上配置跨账户角色**

在创建服务时指定跨账户角色 ARN 和外部 ID：

```
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 个跨账户角色 ARN。