View a markdown version of this page

Multi-account 设置(没有 AWS 组织) - AWS Resilience Hub

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

Multi-account 设置(没有 AWS 组织)

如果您的服务资源跨越多个 AWS 账户,并且您没有使用 AWS 组织,则除了调用者角色外,您还需要跨账户角色。

第 1 步:创建跨账户角色

在包含服务资源的每个账户中,使用以下命令创建一个角色:

  • ReadOnlyAccess政策已附上。

  • 一种信任策略,允许调用者角色代入该策略,使用ExternalId来防止混乱的副手攻击。为每种服务和账户组合使用唯一的ExternalId价值:

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "resiliencehub.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "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。