View a markdown version of this page

マルチアカウント設定 ( AWS Organizations なし) - AWS レジリエンスハブ

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

マルチアカウント設定 ( AWS Organizations なし)

サービスのリソースが複数の AWS アカウントにまたがっており、Organizations を使用して AWS いない場合は、呼び出しロールに加えてクロスアカウントロールが必要です。

ステップ 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 を設定できます。