

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

# クロス 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. IAM コンソール (`https://console.aws.amazon.com/iam/`) を開きます。

1. ナビゲーションペインから **[ロール]** を選択し、**[ロールの作成]** を選択します。

1. **[カスタム信頼ポリシー]** を選択し、**[カスタム信頼ポリシー]** ウィンドウに次のポリシーをコピーして、**[次へ]** を選択します。
**注記**  
リソースが異なるアカウントにある場合は、それらのアカウントごとにロールを作成し、他のアカウントにはセカンダリアカウントの信頼ポリシーを使用する必要があります。

1. **[権限の追加]** ページの **[権限ポリシー]** セクションで、**[プロパティまたはポリシー名でポリシーを絞り込み、エンターキーを押す]** ボックスに `AWSResilienceHubAsssessmentExecutionPolicy` を入力します。

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 文字列で引用符 (`' '`) をエスケープするための要件は、シェルのバージョンに応じて異なる場合があります。

** サンプル`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`.