

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

# AWS Resilience Hub の Identity and Access Management
<a name="security-iam"></a>





AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に制御 AWS のサービス するのに役立つ です。IAM 管理者は、誰を*認証* (サインイン) し、誰に AWS Resilience Hub リソースの使用*を許可する* (アクセス許可を付与する) かを制御します。IAM は、追加料金なしで使用できる AWS のサービス です。

**Topics**
+ [オーディエンス](#security_iam_audience)
+ [アイデンティティを使用した認証](#security_iam_authentication)
+ [ポリシーを使用したアクセスの管理](#security_iam_access-manage)
+ [AWS Resilience Hub と IAM の連携方法](security_iam_service-with-iam.md)
+ [IAM ロールおよび権限の設定](setting-up-permissions.md)
+ [AWS Resilience Hub のアイデンティティとアクセスのトラブルシューティング](security_iam_troubleshoot.md)
+ [AWS Resilience Hub アクセス許可リファレンス](security-iam-resilience-hub-permissions.md)
+ [AWS の 管理ポリシー AWS Resilience Hub](security-iam-awsmanpol.md)
+ [AWS Resilience Hub ペルソナと IAM アクセス許可リファレンス](security-iam-resilience-hub-personas.md)
+ [Terraform 状態ファイルの へのインポート AWS Resilience Hub](security-iam-resilience-hub-terraform-secondary.md)
+ [Amazon Elastic Kubernetes Service クラスター AWS Resilience Hub へのアクセスの有効化](enabling-eks-in-arh.md)
+ [AWS Resilience Hub を有効にして Amazon Simple Notification Service トピックに発行する](enabling-sns-in-arh.md)
+ [AWS Resilience Hub レコメンデーションを含めるか除外するアクセス許可を制限する](include-exclude-limit-permissions.md)

## オーディエンス
<a name="security_iam_audience"></a>

 AWS Identity and Access Management (IAM) の使用方法は、ロールによって異なります。
+ **サービスユーザー** - 機能にアクセスできない場合は、管理者にアクセス許可をリクエストします (「[AWS Resilience Hub のアイデンティティとアクセスのトラブルシューティング](security_iam_troubleshoot.md)」を参照)。
+ **サービス管理者** - ユーザーアクセスを決定し、アクセス許可リクエストを送信します (「[AWS Resilience Hub と IAM の連携方法](security_iam_service-with-iam.md)」を参照)
+ **IAM 管理者** - アクセスを管理するためのポリシーを作成します (「[AWS Resilience Hub のアイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)」を参照)

## アイデンティティを使用した認証
<a name="security_iam_authentication"></a>

認証は、ID 認証情報 AWS を使用して にサインインする方法です。、IAM ユーザー AWS アカウントのルートユーザー、または IAM ロールを引き受けることで認証される必要があります。

 AWS IAM アイデンティティセンター (IAM Identity Center)、シングルサインオン認証、Google/Facebook 認証情報などの ID ソースからの認証情報を使用して、フェデレーティッド ID としてサインインできます。サインインの詳細については、「*AWS サインイン ユーザーガイド*」の「[AWS アカウントにサインインする方法](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html)」を参照してください。

プログラムによるアクセスの場合、 は SDK と CLI AWS を提供してリクエストを暗号化して署名します。詳細については、「*IAM ユーザーガイド*」の「[API リクエストに対するAWS 署名バージョン 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)」を参照してください。

### AWS アカウント ルートユーザー
<a name="security_iam_authentication-rootuser"></a>

 を作成するときは AWS アカウント、まず、すべての AWS のサービス および リソースへの完全なアクセス権を持つ AWS アカウント *ルートユーザー*と呼ばれる 1 つのサインインアイデンティティから始めます。日常的なタスクには、ルートユーザーを使用しないことを強くお勧めします。ルートユーザー認証情報を必要とするタスクについては、「*IAM ユーザーガイド*」の「[ルートユーザー認証情報が必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)」を参照してください。

### フェデレーテッドアイデンティティ
<a name="security_iam_authentication-federated"></a>

ベストプラクティスとして、人間のユーザーが一時的な認証情報 AWS のサービス を使用して にアクセスするには、ID プロバイダーとのフェデレーションを使用する必要があります。

*フェデレーティッド ID* は、エンタープライズディレクトリ、ウェブ ID プロバイダー、または ID Directory Service ソースの認証情報 AWS のサービス を使用して にアクセスするユーザーです。フェデレーテッドアイデンティティは、一時的な認証情報を提供するロールを引き受けます。

アクセスを一元管理する場合は、 AWS IAM アイデンティティセンターをお勧めします。詳細については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[IAM アイデンティティセンターとは](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)」を参照してください。

### IAM ユーザーとグループ
<a name="security_iam_authentication-iamuser"></a>

*[IAM ユーザー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)*は、特定の個人やアプリケーションに対する特定のアクセス許可を持つアイデンティティです。長期認証情報を持つ IAM ユーザーの代わりに一時的な認証情報を使用することをお勧めします。詳細については、*IAM ユーザーガイド*の[「ID プロバイダーとのフェデレーションを使用して にアクセスすることを人間 AWS のユーザーに要求する](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp)」を参照してください。

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)は、IAM ユーザーの集合を指定し、大量のユーザーに対するアクセス許可の管理を容易にします。詳細については、「*IAM ユーザーガイド*」の「[IAM ユーザーに関するユースケース](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html)」を参照してください。

### IAM ロール
<a name="security_iam_authentication-iamrole"></a>

*[IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)*は、特定のアクセス許可を持つアイデンティであり、一時的な認証情報を提供します。ユーザー[から IAM ロール (コンソール) に切り替えるか、 または API オペレーションを呼び出すことで、ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)を引き受けることができます。 AWS CLI AWS 詳細については、「*IAM ユーザーガイド*」の「[ロールを引き受けるための各種方法](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html)」を参照してください。

IAM ロールは、フェデレーションユーザーアクセス、一時的な IAM ユーザーのアクセス許可、クロスアカウントアクセス、クロスサービスアクセス、および Amazon EC2 で実行するアプリケーションに役立ちます。詳細については、*IAM ユーザーガイド* の [IAM でのクロスアカウントリソースアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) を参照してください。

## ポリシーを使用したアクセスの管理
<a name="security_iam_access-manage"></a>

でアクセスを制御する AWS には、ポリシーを作成し、ID AWS またはリソースにアタッチします。ポリシーは、ID またはリソースに関連付けられたときにアクセス許可を定義します。 は、プリンシパルがリクエストを行うときにこれらのポリシー AWS を評価します。ほとんどのポリシーは JSON ドキュメント AWS として に保存されます。JSON ポリシードキュメントの詳細については、「*IAM ユーザーガイド*」の「[JSON ポリシー概要](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)」を参照してください。

管理者は、ポリシーを使用して、どの**プリンシパル**がどの**リソース**に対して、どのような**条件**で**アクション**を実行できるかを定義することで、誰が何にアクセスできるかを指定します。

デフォルトでは、ユーザーやロールにアクセス許可はありません。IAM 管理者は IAM ポリシーを作成してロールに追加し、このロールをユーザーが引き受けられるようにします。IAM ポリシーは、オペレーションの実行方法を問わず、アクセス許可を定義します。

### アイデンティティベースのポリシー
<a name="security_iam_access-manage-id-based-policies"></a>

アイデンティティベースのポリシーは、アイデンティティ (ユーザー、グループ、またはロール) にアタッチできる JSON アクセス許可ポリシードキュメントです。これらのポリシーは、アイデンティティがどのリソースに対してどのような条件下でどのようなアクションを実行できるかを制御します。アイデンティティベースポリシーの作成方法については、*IAM ユーザーガイド* の [カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) を参照してください。

アイデンティティベースのポリシーは、*インラインポリシー* (単一の ID に直接埋め込む) または*管理ポリシー* (複数の ID にアタッチされたスタンドアロンポリシー) にすることができます。管理ポリシーとインラインポリシーのいずれかを選択する方法については、「*IAM ユーザーガイド*」の「[管理ポリシーとインラインポリシーのいずれかを選択する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html)」を参照してください。

### リソースベースのポリシー
<a name="security_iam_access-manage-resource-based-policies"></a>

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。例としては、IAM *ロール信頼ポリシー*や Amazon S3 *バケットポリシー*などがあります。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスを制御できます。リソースベースのポリシーでは、[プリンシパルを指定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)必要があります。

リソースベースのポリシーは、そのサービス内にあるインラインポリシーです。リソースベースのポリシーでは、IAM の AWS マネージドポリシーを使用できません。

### その他のポリシータイプ
<a name="security_iam_access-manage-other-policies"></a>

AWS は、より一般的なポリシータイプによって付与されるアクセス許可の上限を設定できる追加のポリシータイプをサポートしています。
+ **アクセス許可の境界** – アイデンティティベースのポリシーで IAM エンティティに付与することのできるアクセス許可の数の上限を設定します。詳細については、「*IAM ユーザーガイド*」の「[IAM エンティティのアクセス許可境界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)」を参照してください。
+ **サービスコントロールポリシー (SCP)** - AWS Organizations内の組織または組織単位の最大のアクセス許可を指定します。詳細については、「*AWS Organizations ユーザーガイド*」の「[サービスコントロールポリシー](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)」を参照してください。
+ **リソースコントロールポリシー (RCP)** – は、アカウント内のリソースで利用できる最大数のアクセス許可を定義します。詳細については、「*AWS Organizations ユーザーガイド*」の「[リソースコントロールポリシー (RCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html)」を参照してください。
+ **セッションポリシー** – ロールまたはフェデレーションユーザーの一時セッションを作成する際にパラメータとして渡される高度なポリシーです。詳細については、「*IAM ユーザーガイド*」の「[セッションポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)」を参照してください。

### 複数のポリシータイプ
<a name="security_iam_access-manage-multiple-policies"></a>

1 つのリクエストに複数のタイプのポリシーが適用されると、結果として作成されるアクセス許可を理解するのがさらに難しくなります。が複数のポリシータイプが関与する場合にリクエストを許可するかどうか AWS を決定する方法については、*「IAM ユーザーガイド*」の[「ポリシー評価ロジック](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)」を参照してください。

# AWS Resilience Hub と IAM の連携方法
<a name="security_iam_service-with-iam"></a>

IAM を使用して AWS Resilience Hub へのアクセスを管理する前に、 AWS Resilience Hub で使用できる IAM 機能を確認してください。






**AWS Resilience Hub で使用できる IAM 機能**  

| IAM 機能 | AWS Resilience Hub のサポート | 
| --- | --- | 
|  [アイデンティティベースのポリシー](#security_iam_service-with-iam-id-based-policies)  |   あり  | 
|  [リソースベースのポリシー](#security_iam_service-with-iam-resource-based-policies)  |   なし   | 
|  [ポリシーアクション](#security_iam_service-with-iam-id-based-policies-actions)  |   あり  | 
|  [ポリシーリソース](#security_iam_service-with-iam-id-based-policies-resources)  |   はい  | 
|  [ポリシー条件キー (サービス固有)](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   はい  | 
|  [ACL](#security_iam_service-with-iam-acls)  |   なし   | 
|  [ABAC (ポリシー内のタグ)](#security_iam_service-with-iam-tags)  |   部分的  | 
|  [一時認証情報](#security_iam_service-with-iam-roles-tempcreds)  |   あり  | 
|  [転送アクセスセッション (FAS)](#security_iam_service-with-iam-principal-permissions)  |   あり  | 
|  [サービスロール](#security_iam_service-with-iam-roles-service)  |   はい  | 

 AWS Resilience Hub およびその他の AWS のサービスがほとんどの IAM 機能と連携する方法の概要については、IAM *ユーザーガイド*の[AWS 「IAM と連携する のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## AWS Resilience Hub のアイデンティティベースのポリシー
<a name="security_iam_service-with-iam-id-based-policies"></a>

**アイデンティティベースのポリシーのサポート:** あり

アイデンティティベースポリシーは、IAM ユーザー、ユーザーグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースポリシーの作成方法については、「*IAM ユーザーガイド*」の「[カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。

IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。JSON ポリシーで使用できるすべての要素について学ぶには、「*IAM ユーザーガイド*」の「[IAM JSON ポリシーの要素のリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)」を参照してください。

### AWS Resilience Hub のアイデンティティベースのポリシーの例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



 AWS Resilience Hub のアイデンティティベースのポリシーの例を表示するには、「」を参照してください[AWS Resilience Hub のアイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)。

## AWS Resilience Hub 内のリソースベースのポリシー
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**リソースベースのポリシーのサポート:** なし 

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM *ロールの信頼ポリシー*や Amazon S3 *バケットポリシー*があげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスをコントロールできます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーで、[プリンシパルを指定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーティッドユーザー、または を含めることができます AWS のサービス。

クロスアカウントアクセスを有効にするには、全体のアカウント、または別のアカウントの IAM エンティティを、リソースベースのポリシーのプリンシパルとして指定します。詳細については、IAM ユーザーガイド**の[IAM でのクロスアカウントリソースアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)を参照してください。

## AWS Resilience Hub のポリシーアクション
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**ポリシーアクションのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

JSON ポリシーの `Action` 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。



 AWS Resilience Hub アクションのリストを確認するには、*「サービス認可リファレンス*」の[AWS 「Resilience Hub で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_your_service.html#your_service-actions-as-permissions)」を参照してください。

 AWS Resilience Hub のポリシーアクションは、アクションの前に次のプレフィックスを使用します。

```
resiliencehub
```

単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。

```
"Action": [
      "resiliencehub:action1",
      "resiliencehub:action2"
         ]
```





 AWS Resilience Hub のアイデンティティベースのポリシーの例を表示するには、「」を参照してください[AWS Resilience Hub のアイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)。

## AWS Resilience Hub のポリシーリソース
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**ポリシーリソースのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件**下で**アクション**を実行できるかということです。

`Resource` JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (\$1) を使用します。

```
"Resource": "*"
```

 AWS Resilience Hub リソースタイプとその ARNs[AWS 「Resilience Hub で定義されるリソース](https://docs.aws.amazon.com/service-authorization/latest/reference/list_your_service.html#your_service-resources-for-iam-policies)」を参照してください。 **各リソースの ARN を指定できるアクションについては、[AWS 「Resilience Hub で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_your_service.html#your_service-actions-as-permissions)」を参照してください。





 AWS Resilience Hub のアイデンティティベースのポリシーの例を表示するには、「」を参照してください[AWS Resilience Hub のアイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)。

## AWS Resilience Hub のポリシー条件キー
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**サービス固有のポリシー条件キーのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

`Condition` 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。イコールや未満などの[条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、*「IAM ユーザーガイド*」の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

 AWS Resilience Hub の条件キーのリストを確認するには、*「サービス認可リファレンス*」の[AWS 「Resilience Hub の条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_your_service.html#your_service-policy-keys)」を参照してください。条件キーを使用できるアクションとリソースについては、[AWS 「Resilience Hub で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_your_service.html#your_service-actions-as-permissions)」を参照してください。

 AWS Resilience Hub のアイデンティティベースのポリシーの例を表示するには、「」を参照してください[AWS Resilience Hub のアイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)。

## AWS Resilience Hub ACLs
<a name="security_iam_service-with-iam-acls"></a>

**ACL のサポート:** なし 

アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするためのアクセス許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。

## AWS Resilience Hub を使用した ABAC
<a name="security_iam_service-with-iam-tags"></a>

**ABAC (ポリシー内のタグ) のサポート:** 一部

属性ベースのアクセスコントロール (ABAC) は、タグと呼ばれる属性に基づいてアクセス許可を定義する認可戦略です。IAM エンティティと AWS リソースにタグをアタッチし、プリンシパルのタグがリソースのタグと一致するときにオペレーションを許可する ABAC ポリシーを設計できます。

タグに基づいてアクセスを管理するには、`aws:ResourceTag/key-name`、`aws:RequestTag/key-name`、または `aws:TagKeys` の条件キーを使用して、ポリシーの[条件要素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)でタグ情報を提供します。

サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値は**あり**です。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「**部分的**」になります。

ABAC の詳細については、「*IAM ユーザーガイド*」の「[ABAC 認可でアクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「*IAM ユーザーガイド*」の「[属性ベースのアクセスコントロール (ABAC) を使用する](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)」を参照してください。

## AWS Resilience Hub での一時的な認証情報の使用
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**一時的な認証情報のサポート:** あり

一時的な認証情報は、 AWS リソースへの短期的なアクセスを提供し、フェデレーションまたはスイッチロールの使用時に自動的に作成されます。長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成 AWS することをお勧めします。詳細については、「*IAM ユーザーガイド*」の「[IAM の一時的な認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)」および「[AWS のサービス と IAM との連携](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## AWS Resilience Hub の転送アクセスセッション
<a name="security_iam_service-with-iam-principal-permissions"></a>

**転送アクセスセッション (FAS) のサポート:** あり

 転送アクセスセッション (FAS) は、 を呼び出すプリンシパルのアクセス許可と AWS のサービス、ダウンストリームサービス AWS のサービス へのリクエストをリクエストする を使用します。FAS リクエストを行う際のポリシーの詳細については、「[転送アクセスセッション](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)」を参照してください。

## AWS Resilience Hub のサービスロール
<a name="security_iam_service-with-iam-roles-service"></a>

**サービスロールのサポート:** あり

 サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける [IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)です。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、IAM ユーザーガイド**の [AWS のサービスに許可を委任するロールを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)を参照してください。

**警告**  
サービスロールのアクセス許可を変更すると、 AWS Resilience Hub の機能が破損する可能性があります。 AWS Resilience Hub が指示する場合にのみ、サービスロールを編集します。

# AWS Resilience Hub のアイデンティティベースのポリシーの例
<a name="security_iam_id-based-policy-examples"></a>

デフォルトでは、ユーザーとロールには AWS Resilience Hub リソースを作成または変更するアクセス許可はありません。IAM 管理者は、リソースで必要なアクションを実行するための権限をユーザーに付与する IAM ポリシーを作成できます。

これらのサンプルの JSON ポリシードキュメントを使用して IAM アイデンティティベースのポリシーを作成する方法については、「*IAM ユーザーガイド*」の「[IAM ポリシーを作成する (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)」を参照してください。

各リソースタイプの ARN の形式など、 AWS Resilience Hub で定義されるアクションとリソースタイプの詳細については、*「サービス認可リファレンス*」の[AWS 「Resilience Hub のアクション、リソース、および条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_your_service.html)」を参照してください。 ARNs 

**Topics**
+ [ポリシーに関するベストプラクティス](#security_iam_service-with-iam-policy-best-practices)
+ [AWS Resilience Hub コンソールの使用](#security_iam_id-based-policy-examples-console)
+ [自分の権限の表示をユーザーに許可する](#security_iam_id-based-policy-examples-view-own-permissions)
+ [使用可能な AWS Resilience Hub アプリケーションの一覧表示](#security-iam-policy-examples-list-apps)
+ [アプリケーション評価の開始](#security-iam-policy-examples-start-app-assessment)
+ [アプリケーション評価の削除](#security-iam-policy-examples-delete-app-assessment)
+ [特定のアプリケーションのレコメンデーションテンプレートの作成](#security-iam-policy-examples-create-app-reco-template)
+ [特定のアプリケーションのレコメンデーションテンプレートの削除](#security-iam-policy-examples-delete-app-reco-template)
+ [特定の障害耐性ポリシーを使用してアプリケーションを更新する](#security-iam-policy-examples-update-app-resiliency-policy)

## ポリシーに関するベストプラクティス
<a name="security_iam_service-with-iam-policy-best-practices"></a>

ID ベースのポリシーは、アカウント内の AWS Resilience Hub リソースを作成、アクセス、または削除できるかどうかを決定します。これらのアクションでは、 AWS アカウントに費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
+ ** AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行する** – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与する*AWS 管理ポリシー*を使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、*IAM ユーザーガイド* の [AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) または [ジョブ機能のAWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) を参照してください。
+ **最小特権を適用する** – IAM ポリシーでアクセス許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、*IAM ユーザーガイド* の [IAM でのポリシーとアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) を参照してください。
+ **IAM ポリシーで条件を使用してアクセスをさらに制限する** - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。たとえば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合に AWS のサービス、サービスアクションへのアクセスを許可することもできます CloudFormation。詳細については、*IAM ユーザーガイド* の [IAM JSON ポリシー要素:条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) を参照してください。
+ **IAM アクセスアナライザー を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する** - IAM アクセスアナライザー は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、*IAM ユーザーガイド* の [IAM Access Analyzer でポリシーを検証する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) を参照してください。
+ **多要素認証 (MFA) を要求する** – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、MFA をオンにしてセキュリティを強化します。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、*IAM ユーザーガイド* の [MFA を使用した安全な API アクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) を参照してください。

IAM でのベストプラクティスの詳細については、*IAM ユーザーガイド* の [IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) を参照してください。

## AWS Resilience Hub コンソールの使用
<a name="security_iam_id-based-policy-examples-console"></a>

 AWS Resilience Hub コンソールにアクセスするには、最小限のアクセス許可が必要です。これらのアクセス許可により、 の AWS Resilience Hub リソースの詳細を一覧表示および表示できます AWS アカウント。最小限必要な許可よりも制限が厳しいアイデンティティベースのポリシーを作成すると、そのポリシーを持つエンティティ (ユーザーまたはロール) に対してコンソールが意図したとおりに機能しません。

 AWS CLI または AWS API のみを呼び出すユーザーには、最小限のコンソールアクセス許可を付与する必要はありません。代わりに、実行しようとしている API オペレーションに一致するアクションのみへのアクセスが許可されます。

ユーザーとロールが引き続き AWS Resilience Hub コンソールを使用できるようにするには、エンティティに AWS Resilience Hub `ConsoleAccess`または `ReadOnly` AWS 管理ポリシーもアタッチします。詳細については、「*IAM ユーザーガイド*」の「[ユーザーへのアクセス許可の追加](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)」を参照してください。

次のポリシーは、 AWS Resilience Hub コンソール内のすべてのリソースを一覧表示および表示するアクセス許可をユーザーに付与しますが、作成、更新、削除することはできません。

------
#### [ JSON ]

****  

```
{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                 "resiliencehub:List*",
                 "resiliencehub:Describe*"
             ],
             "Resource": "*"
         }
     ]
 }
```

------

## 自分の権限の表示をユーザーに許可する
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を IAM ユーザーに許可するポリシーの作成方法を示します。このポリシーには、コンソールで、または AWS CLI または AWS API を使用してプログラムでこのアクションを実行するアクセス許可が含まれています。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## 使用可能な AWS Resilience Hub アプリケーションの一覧表示
<a name="security-iam-policy-examples-list-apps"></a>

次のポリシーでは、利用可能な AWS Resilience Hub アプリケーションを一覧表示するアクセス許可をユーザーに付与します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "PolicyExample",
      "Effect": "Allow",
      "Action": [
          "resiliencehub:ListApps"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

## アプリケーション評価の開始
<a name="security-iam-policy-examples-start-app-assessment"></a>

次のポリシーは、特定の AWS Resilience Hub アプリケーションの評価を開始するアクセス許可をユーザーに付与します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "PolicyExample",
      "Effect": "Allow",
      "Action": [
          "resiliencehub:StartAppAssessment"
      ],
      "Resource": [
        "arn:aws:resiliencehub:*:*:app/appId"
      ]
    }
  ]
}
```

------

## アプリケーション評価の削除
<a name="security-iam-policy-examples-delete-app-assessment"></a>

次のポリシーは、特定の AWS Resilience Hub アプリケーションの評価を削除するアクセス許可をユーザーに付与します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "PolicyExample",
      "Effect": "Allow",
      "Action": [
          "resiliencehub:DeleteAppAssessment"
      ],
      "Resource": [
        "arn:aws:resiliencehub:*:*:app/appId"
      ]
    }
  ]
}
```

------

## 特定のアプリケーションのレコメンデーションテンプレートの作成
<a name="security-iam-policy-examples-create-app-reco-template"></a>

次のポリシーは、特定の AWS Resilience Hub アプリケーションのレコメンデーションテンプレートを作成するアクセス許可をユーザーに付与します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "PolicyExample",
      "Effect": "Allow",
      "Action": [
          "resiliencehub:CreateRecommendationTemplate"
      ],
      "Resource": [
        "arn:aws:resiliencehub:*:*:app/appId"
      ]
    }
  ]
}
```

------

## 特定のアプリケーションのレコメンデーションテンプレートの削除
<a name="security-iam-policy-examples-delete-app-reco-template"></a>

次のポリシーは、特定の AWS Resilience Hub アプリケーションのレコメンデーションテンプレートを削除するアクセス許可をユーザーに付与します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "PolicyExample",
      "Effect": "Allow",
      "Action": [
          "resiliencehub:DeleteRecommendationTemplate"
      ],
      "Resource": [
        "arn:aws:resiliencehub:*:*:app/appId"
      ]
    }
  ]
}
```

------

## 特定の障害耐性ポリシーを使用してアプリケーションを更新する
<a name="security-iam-policy-examples-update-app-resiliency-policy"></a>

次のポリシーは、特定の障害耐性ポリシーを使用して AWS Resilience Hub アプリケーションを更新する権限をユーザーに付与します。

# IAM ロールおよび権限の設定
<a name="setting-up-permissions"></a>

AWS Resilience Hub では、アプリケーションの評価の実行時に使用する IAM ロールを設定できます。アプリケーションリソースへの読み取り専用アクセス権を取得するように AWS Resilience Hub を設定する方法は複数あります。ただし、 AWS Resilience Hub は以下の方法を推奨しています。
+ **ロールベースのアクセス** – このロールは現在のアカウントで定義され、使用されます。 AWS Resilience Hub は、アプリケーションのリソースにアクセスするためにこのロールを引き受けます。

  ロールベースのアクセスを提供するには、ロールに次のものが含まれている必要があります。
  + リソースを読み取るための読み取り専用アクセス許可 ( `AWSResilienceHubAsssessmentExecutionPolicy`マネージドポリシーを使用するAWS Resilience Hub ことをお勧めします）。
  + このロールを引き受けるための信頼ポリシー。これにより、 AWS Resilience Hub サービスプリンシパルはこのロールを引き受けることができます。このようなロールがアカウントに設定されていない場合、 AWS Resilience Hub はそのロールを作成する手順を表示します。詳細については、「[セットアップアクセス許可](setup-permissions.md)」を参照してください。
**注記**  
呼び出しロール名のみを指定し、リソースが別のアカウントにある場合、 AWS Resilience Hub は他のアカウントのこのロール名を使用してクロスアカウントリソースにアクセスします。オプションで、呼び出しロール名の代わりに使用される他のアカウントのロール ARN を設定できます。
+ **現在の IAM ユーザーアクセス** — AWS Resilience Hub は、現在の IAM ユーザーを使用してアプリケーションリソースにアクセスします。リソースが別のアカウントにある場合、 AWS Resilience Hub はリソースにアクセスするために次の IAM ロールを引き受けます。
  + 現在のアカウントでの `AwsResilienceHubAdminAccountRole`
  + 他のアカウントでの `AwsResilienceHubExecutorAccountRole`

  さらに、スケジュールされた評価を設定すると、 AWS Resilience Hub が`AwsResilienceHubPeriodicAssessmentRole`ロールを引き受けます。ただし、ロールとアクセス許可を手動で設定する必要があり、一部の機能 (**ドリフト通知**など) `AwsResilienceHubPeriodicAssessmentRole`が期待どおりに動作しない可能性があるため、 の使用はお勧めしません。

# AWS Resilience Hub のアイデンティティとアクセスのトラブルシューティング
<a name="security_iam_troubleshoot"></a>

以下の情報は、 AWS Resilience Hub と IAM を使用する際に発生する可能性がある一般的な問題の診断と修正に役立ちます。

**Topics**
+ [AWS Resilience Hub でアクションを実行する権限がない](#security_iam_troubleshoot-no-permissions)
+ [iam:PassRole を実行する権限がありません](#security_iam_troubleshoot-passrole)
+ [自分の 以外のユーザーに AWS Resilience Hub リソース AWS アカウント へのアクセスを許可したい](#security_iam_troubleshoot-cross-account-access)

## AWS Resilience Hub でアクションを実行する権限がない
<a name="security_iam_troubleshoot-no-permissions"></a>

アクションを実行する権限がないというエラーが表示された場合は、そのアクションを実行できるようにポリシーを更新する必要があります。

次のエラー例は、`mateojackson` IAM ユーザーがコンソールを使用して、ある `my-example-widget` リソースに関する詳細情報を表示しようとしたことを想定して、その際に必要な `resiliencehub:GetWidget` アクセス許可を持っていない場合に発生するものです。

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: resiliencehub:GetWidget on resource: my-example-widget
```

この場合、`resiliencehub:GetWidget` アクションを使用して `my-example-widget` リソースへのアクセスを許可するように、`mateojackson` ユーザーのポリシーを更新する必要があります。

サポートが必要な場合は、 AWS 管理者にお問い合わせください。サインイン認証情報を提供した担当者が管理者です。

## iam:PassRole を実行する権限がありません
<a name="security_iam_troubleshoot-passrole"></a>

`iam:PassRole` アクションを実行する権限がないというエラーが表示された場合は、ポリシーを更新して AWS Resilience Hub にロールを渡すことができるようにする必要があります。

一部の AWS のサービス では、新しいサービスロールまたはサービスにリンクされたロールを作成する代わりに、既存のロールをそのサービスに渡すことができます。そのためには、サービスにロールを渡すアクセス許可が必要です。

次の例のエラーは、 という IAM ユーザーがコンソールを使用して AWS Resilience `marymajor` Hub でアクションを実行しようとすると発生します。ただし、このアクションをサービスが実行するには、サービスロールから付与されたアクセス許可が必要です。Mary には、ロールをサービスに渡すアクセス許可がありません。

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

この場合、Mary のポリシーを更新してメアリーに `iam:PassRole` アクションの実行を許可する必要があります。

サポートが必要な場合は、 AWS 管理者にお問い合わせください。サインイン資格情報を提供した担当者が管理者です。

## 自分の 以外のユーザーに AWS Resilience Hub リソース AWS アカウント へのアクセスを許可したい
<a name="security_iam_troubleshoot-cross-account-access"></a>

他のアカウントのユーザーや組織外の人が、リソースにアクセスするために使用できるロールを作成できます。ロールの引き受けを委託するユーザーを指定できます。リソースベースのポリシーまたはアクセスコントロールリスト (ACL) をサポートするサービスの場合、それらのポリシーを使用して、リソースへのアクセスを付与できます。

詳細については、以下を参照してください:
+  AWS Resilience Hub がこれらの機能をサポートしているかどうかを確認するには、「」を参照してください[AWS Resilience Hub と IAM の連携方法](security_iam_service-with-iam.md)。
+ 所有 AWS アカウント している のリソースへのアクセスを提供する方法については、IAM ユーザーガイドの[「所有 AWS アカウント している別の の IAM ユーザーへのアクセスを提供する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)」を参照してください。 **
+ リソースへのアクセスをサードパーティーに提供する方法については AWS アカウント、*IAM ユーザーガイド*の[「サードパーティー AWS アカウント が所有する へのアクセスを提供する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)」を参照してください。
+ ID フェデレーションを介してアクセスを提供する方法については、*IAM ユーザーガイド* の [外部で認証されたユーザー (ID フェデレーション) へのアクセスの許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) を参照してください。
+ クロスアカウントアクセスにおけるロールとリソースベースのポリシーの使用方法の違いについては、*IAM ユーザーガイド* の [IAM でのクロスアカウントのリソースへのアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) を参照してください。

# AWS Resilience Hub アクセス許可リファレンス
<a name="security-iam-resilience-hub-permissions"></a>

 AWS Identity and Access Management (IAM) を使用してアプリケーションリソースへのアクセスを管理し、ユーザー、グループ、またはロールに適用される IAM ポリシーを作成できます。

すべての AWS Resilience Hub アプリケーションは、 [呼び出しロール](security-iam-resilience-hub-invoker-role.md) (IAM ロール) を使用するか、現在の IAM ユーザーのアクセス許可 (クロスアカウントおよびスケジュールされた評価用の事前定義されたロールのセット) を使用するように設定できます。このロールでは、 が他のリソースまたはアプリケーション AWS リソースにアクセス AWS Resilience Hub するために必要なアクセス許可を定義するポリシーをアタッチできます。呼び出しロールには、 AWS Resilience Hub サービスプリンシパルに追加された信頼ポリシーが必要です。

アプリケーションの権限を管理するには、[AWS の 管理ポリシー AWS Resilience Hub](security-iam-awsmanpol.md)を使用することをお勧めします。これらの管理ポリシーは、何も変更せずに使用することができます。また、これらを基にして独自の制限ポリシーを作成することもできます。ポリシーでは、任意の追加条件を使用して、さまざまなアクションに対するユーザーのアクセス許可をリソースレベルで制限できます。

アプリケーションリソースが異なるアカウント (セカンダリアカウントとリソースアカウント) にある場合は、アプリケーションリソースを含む各アカウントに新しいロールを設定する必要があります。

**注記**  
ワークロードリソースの VPC エンドポイントを定義する場合は、VPC エンドポイントポリシーがリソースにアクセス AWS Resilience Hub するための読み取り専用アクセスを に提供していることを確認します。詳細については、「[エンドポイントポリシーを使用して VPC エンドポイントへのアクセスを制御する](https://docs.aws.amazon.com//vpc/latest/privatelink/vpc-endpoints-access.html)」を参照してください。

**トピック**
+ [IAM ロールを使用する](security-iam-resilience-hub-using-iam-role.md)
+ [現在の IAM ユーザーア権限を使用する](security-iam-resilience-hub-current-user-permissions.md)

# IAM ロールを使用する
<a name="security-iam-resilience-hub-using-iam-role"></a>

AWS Resilience Hub は、事前定義された既存の IAM ロールを使用して、プライマリアカウントまたはセカンダリ/リソースアカウントのリソースにアクセスします。これはリソースにアクセスするための推奨権限オプションです。

**トピック**
+ [呼び出しロール](security-iam-resilience-hub-invoker-role.md)
+ [クロス AWS アカウントアクセス用の異なるアカウントのロール - オプション](security-iam-resilience-cross-account-roles.md)

# 呼び出しロール
<a name="security-iam-resilience-hub-invoker-role"></a>

 AWS Resilience Hub 呼び出しロールは、 が AWS サービスとリソースにアクセスするために引き受ける AWS Identity and Access Management AWS Resilience Hub (IAM) ロールです。例えば、CFN テンプレートとそれによって作成されるリソースにアクセス許可を持つ呼び出しロールを作成することができます。このページでは、アプリケーション呼び出しロールを作成、表示、および管理する方法について説明します。

アプリケーションを作成するときは、呼び出しロールを指定します。 AWS Resilience Hub は、リソースをインポートしたり評価を開始したりするときに、このロールを引き受けてリソースにアクセスします。が呼び出しロールを適切に引き受け AWS Resilience Hub るには、ロールの信頼ポリシーで AWS Resilience Hub サービスプリンシパル (**resiliencehub.amazonaws.com**) を信頼されたサービスとして指定する必要があります。

アプリケーションの呼び出しロールを表示するには、ナビゲーションペインから **[アプリケーション]** を選択し、**[アプリケーション]** ページの **[アクション]** メニューから **[権限の更新]** を選択します。

権限は、アプリケーション呼び出しロールからいつでも追加または削除できます。別のロールを使用してアプリケーションリソースにアクセスすることもできます。

**トピック**
+ [IAM コンソールで呼び出しロールを作成する](#security-iam-resilience-hub-create-invoker-role)
+ [IAM API によるロールの管理](#security-iam-resilience-hub-manage-roles-with-IAM-API)
+ [JSON ファイルを使用した信頼ポリシーの定義](#security-iam-resilience-define-policy)

## IAM コンソールで呼び出しロールを作成する
<a name="security-iam-resilience-hub-create-invoker-role"></a>

 AWS Resilience Hub が AWS サービスとリソースにアクセスできるようにするには、IAM コンソールを使用してプライマリアカウントに呼び出しロールを作成する必要があります。IAM コンソールを使用したロールの作成の詳細については、[「 AWS サービスのロールの作成 (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console)」を参照してください。

**IAM コンソールを使用してプライマリアカウントに呼び出しロールを作成するには**

1. IAM コンソール (`https://console.aws.amazon.com/iam/`) を開きます。

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

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

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "resiliencehub.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

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

1. ポリシーを選択し、**[次へ]** を選択します。

1. **[ロールの詳細]** セクションの **[ロール名]** ボックスに、一意のロール名 (`AWSResilienceHubAssessmentRole` など) を入力します。

   このフィールドには英数字と '`+=,.@-_/`' 文字のみを入力できます。

1. (オプション) **[説明]** ボックスにリポジトリの説明を入力します。

1. **[ロールの作成]** を選択します。

   ユースケースと権限を編集するには、ステップ 6 で、**[ステップ 1: 信頼済みエンティティの選択]** セクションまたは **[ステップ 2: 権限の追加]** セクションの右側にある **[編集]** ボタンを選択します。

呼び出しロールとリソースロール (該当する場合) を作成したら、これらのロールを使用するようにアプリケーションを設定できます。

**注記**  
アプリケーションを作成または更新するときは、現在の IAM ユーザー/ロールに呼び出しロールに対する `iam:passRole` 権限が必要です。ただし、評価を実行するのにこの権限は必要ありません。

## IAM API によるロールの管理
<a name="security-iam-resilience-hub-manage-roles-with-IAM-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": {"Service": "resiliencehub.amazonaws.com"},
      "Action": "sts:AssumeRole"
    }
  ]
}'
```

## JSON ファイルを使用した信頼ポリシーの定義
<a name="security-iam-resilience-define-policy"></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`**

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Principal": {
            "Service": "resiliencehub.amazonaws.com"
        },
        "Action": "sts:AssumeRole"
    }]
}
```

------

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

# クロス 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`.

# 現在の IAM ユーザーア権限を使用する
<a name="security-iam-resilience-hub-current-user-permissions"></a>

現在の IAM ユーザー権限を使用して評価を作成および実行する場合は、この方法を使用してください。IAM ユーザーまたはユーザーに関連付けられるロールに、`AWSResilienceHubAsssessmentExecutionPolicy` 管理ポリシーをアタッチできます。

## 単一アカウントの設定
<a name="w2aac21c23c41c19b5"></a>

IAM ユーザーと同じアカウントで管理されているアプリケーションで評価を実行するには、上記の管理ポリシーを使用するだけで十分です。

## スケジュールされた評価の設定
<a name="w2aac21c23c41c19b7"></a>

 AWS Resilience Hub がスケジュールされた評価の関連タスクを実行できるようにするには、新しいロール `AwsResilienceHubPeriodicAssessmentRole` を作成する必要があります。

**注記**  
ロールベースのアクセス (前述の呼び出しロールを使用) を使用する場合、このステップは不要です。
ロールタイプは、`AwsResilienceHubPeriodicAssessmentRole` である必要があります。

**AWS Resilience Hub がスケジュールされた評価関連タスクを実行できるようにするには**

1. `AWSResilienceHubAsssessmentExecutionPolicy` 管理ポリシーをロールにアタッチします。

1. 次のポリシーを追加します。ここで、 はアプリケーションが定義されている`primary_account_id` AWS アカウントであり、評価を実行します。さらに、スケジュールされた評価のロールに関連付けられた信頼ポリシー (`AwsResilienceHubPeriodicAssessmentRole`) を追加する必要があります。これにより、 AWS Resilience Hub サービスがスケジュールされた評価のロールを引き受けるアクセス許可が付与されます。

   **スケジュールされたのロールに関する信頼ポリシー (`AwsResilienceHubPeriodicAssessmentRole`)**

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "resiliencehub.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

## クロスアカウントの設定
<a name="w2aac21c23c41c19b9"></a>

複数のアカウントで AWS Resilience Hub を使用している場合は、次の IAM 権限ポリシーが必要です。アカウントごとに、ユースケースに応じて異なるアクセス許可が必要になる AWS 場合があります。クロスアカウントアクセス用に AWS Resilience Hub を設定する際、以下のアカウントとロールが考慮されます。
+ **プライマリアカウント** — AWS アプリケーションを作成して評価を実行するアカウント。
+ **セカンダリ/リソースアカウント (複数可)** – リソースが配置されている AWS アカウント (複数可）。

**注記**  
ロールベースのアクセス (前述の呼び出しロールを使用) を使用する場合、このステップは不要です。
Amazon Elastic Kubernetes Service にアクセスするためのアクセス権限の設定の詳細については、[Amazon Elastic Kubernetes Service クラスター AWS Resilience Hub へのアクセスの有効化](enabling-eks-in-arh.md)を参照してください。

### プライマリアカウントの設定
<a name="w2aac21c23c41c19b9b9"></a>

`AwsResilienceHubAdminAccountRole` プライマリアカウントに新しいロールを作成し、それを引き受けるための AWS Resilience Hub アクセスを有効にする必要があります。このロールは、 リソースを含む AWS アカウントの別のロールにアクセスするために使用されます。リソースを読み取る権限があってはなりません。

**注記**  
ロールタイプは、`AwsResilienceHubAdminAccountRole` である必要があります。
プライマリアカウントで作成する必要があります。
現在の IAM ユーザー/ロールには、このロールを引き受ける`iam:assumeRole`権限が必要です。
`secondary_account_id_1/2/...` を関連するセカンダリアカウント識別子に置き換えます。

次のポリシーは、 AWS アカウントの別のロールのリソースにアクセスするためのエグゼキュターアクセス許可をロールに提供します。

管理者ロール (`AwsResilienceHubAdminAccountRole`) の信頼ポリシーは次のとおりです。

### セカンダリ/リソースアカウントの設定
<a name="w2aac21c23c41c19b9c11"></a>

このロールを引き受けるには、各セカンダリアカウントで `AwsResilienceHubExecutorAccountRole` を新規作成し、上記で作成した管理者ロールを有効にする必要があります。このロールは によってアプリケーションリソースのスキャンと評価 AWS Resilience Hub に使用されるため、適切なアクセス許可も必要です。

ただし、`AWSResilienceHubAsssessmentExecutionPolicy` 管理ポリシーをロールにアタッチし、執行者ロールポリシーをアタッチする必要があります。

執行者ロールの信頼ポリシーは次のとおりです。

# AWS の 管理ポリシー AWS Resilience Hub
<a name="security-iam-awsmanpol"></a>





 AWS 管理ポリシーは、 によって作成および管理されるスタンドアロンポリシーです AWS。 AWS 管理ポリシーは、ユーザー、グループ、ロールにアクセス許可の割り当てを開始できるように、多くの一般的なユースケースにアクセス許可を付与するように設計されています。

 AWS 管理ポリシーは、すべての AWS お客様が使用できるため、特定のユースケースに対して最小特権のアクセス許可を付与しない場合があることに注意してください。ユースケースに固有の[カスタマー管理ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)を定義して、アクセス許可を絞り込むことをお勧めします。

 AWS 管理ポリシーで定義されているアクセス許可は変更できません。が AWS マネージドポリシーで定義されたアクセス許可 AWS を更新すると、ポリシーがアタッチされているすべてのプリンシパル ID (ユーザー、グループ、ロール) に影響します。 AWS は、新しい が起動されるか、新しい API オペレーション AWS のサービス が既存のサービスで使用できるようになったときに、 AWS マネージドポリシーを更新する可能性が最も高くなります。

詳細については、「**IAM ユーザーガイド」の「[AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)」を参照してください。













## AWSResilienceHubAsssessmentExecutionPolicy
<a name="security_iam_aws-assessment-policy"></a>

 `AWSResilienceHubAsssessmentExecutionPolicy` は IAM ID にアタッチできます。このポリシーは、評価の実行中に、評価を実行するためのアクセス許可を他の AWS サービスに付与します。

### アクセス許可の詳細
<a name="w2aac21c23c44c47b5"></a>

このポリシーは、Amazon Simple Storage Service (Amazon S3) バケットにアラーム AWS FIS と SOP テンプレートを発行するための適切なアクセス許可を提供します。Amazon S3 バケット名の先頭は`aws-resilience-hub-artifacts-`にする必要があります。別の Amazon S3 バケットに公開したい場合は、`CreateRecommendationTemplate` API を呼び出している間に発行できます。詳細については、[CreateRecommendationTemplate](https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_CreateRecommendationTemplate.html) を参照してください。

このポリシーには、以下のアクセス許可が含まれています。
+ Amazon CloudWatch (CloudWatch) — アプリケーションを監視するために Amazon CloudWatch で設定したすべての実装済みアラームを取得します。さらに、`cloudwatch:PutMetricData` を使用して、アプリケーションの障害耐性スコアの CloudWatch メトリクスを `ResilienceHub` 名前空間に発行します。
+ Amazon Data Lifecycle Manager – AWS アカウントに関連付けられている Amazon Data Lifecycle Manager リソースの`Describe`アクセス許可を取得して提供します。
+ Amazon DevOps Guru – AWS アカウントに関連付けられている Amazon DevOps Guru リソースの`Describe`アクセス許可を一覧表示して提供します。
+ Amazon DocumentDB – アカウントに関連付けられている Amazon DocumentDB リソースの`Describe`アクセス許可を AWS 一覧表示して提供します。
+ Amazon DynamoDB (DynamoDB) — AWS アカウントに関連付けられている Amazon DynamoDB リソースの`Describe`権限を一覧表示して提供します。
+ Amazon ElastiCache (ElastiCache) – AWS アカウントに関連付けられている ElastiCache リソースの`Describe`アクセス許可を提供します。
+ Amazon ElastiCache (Redis OSS) Serverless (ElastiCache (Redis OSS) Serverless) – アカウントに関連付けられている ElastiCache (Redis OSS) Serverless 設定の`Describe`アクセス許可を提供します AWS 。
+ Amazon Elastic Compute Cloud (Amazon EC2) — AWS アカウントに関連付けられている Amazon EC2 リソースの`Describe`権限を一覧表示して提供します。
+ Amazon Elastic Container Registry (Amazon ECR) – AWS アカウントに関連付けられている Amazon ECR リソースの`Describe`アクセス許可を提供します。
+ Amazon Elastic Container Service (Amazon ECS) – AWS アカウントに関連付けられている Amazon ECS リソースの`Describe`アクセス許可を提供します。
+ Amazon Elastic File System (Amazon EFS) – AWS アカウントに関連付けられている Amazon EFS リソースの`Describe`アクセス許可を提供します。
+ Amazon Elastic Kubernetes Service (Amazon EKS) — AWS アカウントに関連付けられている Amazon EKS リソースの`Describe`権限を一覧表示して提供します。
+ Amazon EC2 Auto Scaling – AWS アカウントに関連付けられている Amazon EC2 Auto Scaling リソースの`Describe`アクセス許可を一覧表示して提供します。
+ Amazon EC2 Systems Manager (SSM) – AWS アカウントに関連付けられている SSM リソースの`Describe`アクセス許可を提供します。
+ AWS Fault Injection Service (AWS FIS) – AWS アカウントに関連付けられている AWS FIS 実験と実験テンプレートを一覧表示し、アクセス`Describe`許可を提供します。
+ Amazon FSx for Windows File Server (Amazon FSx) – アカウントに関連付けられている Amazon FSx リソースの`Describe`アクセス許可を AWS 一覧表示して提供します。
+ Amazon RDS – AWS アカウントに関連付けられている Amazon RDS リソースの`Describe`アクセス許可を一覧表示して提供します。
+ Amazon Route 53 (Route 53) — AWS アカウントに関連付けられている Route 53 リソースの `Describe` 権限を一覧表示して提供します。
+ Amazon Route 53 Resolver – AWS アカウントに関連付けられている Amazon Route 53 Resolver リソースの`Describe`アクセス許可を一覧表示して提供します。
+ Amazon Simple Notiﬁcation Service (Amazon SNS) — AWS アカウントに関連付けられている Amazon SNS リソースの`Describe`権限を一覧表示して提供します。
+ Amazon Simple Queue Service (Amazon SQS) — AWS アカウントに関連付けられている Amazon SQS リソースの`Describe`権限を一覧表示して提供します。
+ Amazon Simple Storage Service (Amazon S3) – アカウントに関連付けられている Amazon S3 リソースの`Describe`アクセス許可を AWS 一覧表示して提供します。
**注記**  
評価の実行中に、管理ポリシーから更新する必要があるアクセス許可が欠落している場合、 AWS Resilience Hub は s3:GetBucketLogging アクセス許可を使用して評価を正常に完了します。ただし、 AWS Resilience Hub は、不足しているアクセス許可を一覧表示する警告メッセージを表示し、それを追加する猶予期間を提供します。指定された猶予期間内に欠落しているアクセス許可を追加しないと、評価は失敗します。
+ AWS Backup – AWS アカウントに関連付けられている Amazon EC2 Auto Scaling リソースの`Describe`アクセス許可を一覧表示して取得します。
+ AWS CloudFormation – アカウントに関連付けられている AWS CloudFormation スタック上のリソースの`Describe`アクセス許可を一覧表示して取得します AWS 。
+ AWS DataSync – AWS アカウントに関連付けられている AWS DataSync リソースの`Describe`アクセス許可を一覧表示して提供します。
+ Directory Service – AWS アカウントに関連付けられている Directory Service リソースの`Describe`アクセス許可を一覧表示して提供します。
+ AWS Elastic Disaster Recovery (Elastic Disaster Recovery) – AWS アカウントに関連付けられている Elastic Disaster Recovery リソースの`Describe`アクセス許可を提供します。
+ AWS Lambda (Lambda) – アカウントに関連付けられている Lambda リソースの`Describe`アクセス許可を AWS 一覧表示して提供します。
+ AWS Resource Groups (リソースグループ) – アカウントに関連付けられている Resource Groups リソースの`Describe`アクセス許可を AWS 一覧表示して提供します。
+ AWS Service Catalog (Service Catalog) – アカウントに関連付けられている Service Catalog リソースの`Describe`アクセス許可を AWS 一覧表示して提供します。
+ AWS Step Functions – AWS アカウントに関連付けられている AWS Step Functions リソースの`Describe`アクセス許可を一覧表示して提供します。
+ Elastic Load Balancing – AWS アカウントに関連付けられている Elastic Load Balancing リソースの`Describe`アクセス許可を一覧表示して提供します。
+ `ssm:GetParametersByPath`— この権限を使用して、アプリケーションに設定された CloudWatch アラーム、テスト、または SOP を管理します。

評価の実行中にチームが AWS サービスにアクセスするために必要なアクセス許可を付与するユーザー、ユーザーグループ、ロールにアクセス許可 AWS を追加するには、次の IAM ポリシーが必要です。

## AWS Resilience Hub AWS 管理ポリシーの更新
<a name="security-iam-awsmanpol-updates"></a>



このサービスがこれらの変更の追跡を開始 AWS Resilience Hub してからの の AWS マネージドポリシーの更新に関する詳細を表示します。このページの変更に関する自動アラートについては、 AWS Resilience Hub ドキュメント履歴ページの RSS フィードにサブスクライブしてください。




| 変更 | 説明 | 日付 | 
| --- | --- | --- | 
| [AWSResilienceHubAsssessmentExecutionPolicy](#security_iam_aws-assessment-policy) - 変更 | AWS Resilience Hub は を更新AWSResilienceHubAsssessmentExecutionPolicyし、評価の実行 AWS FIS 中に から実験にアクセスするためのアクセスGet許可Listと アクセス許可を付与しました。 | 2024 年 12 月 17 日 | 
| [AWSResilienceHubAsssessmentExecutionPolicy](#security_iam_aws-assessment-policy) - 変更 | AWS Resilience Hub は を更新AWSResilienceHubAsssessmentExecutionPolicyし、評価の実行中に Amazon ElastiCache (Redis OSS) Serverless のリソースと設定にアクセスするためのアクセスDescribe許可を付与しました。 | 2024 年 9 月 25 日 | 
| [AWSResilienceHubAsssessmentExecutionPolicy](#security_iam_aws-assessment-policy) - 変更 | AWS Resilience Hub は を更新AWSResilienceHubAsssessmentExecutionPolicyし、評価の実行 AWS Lambda 中に Amazon DocumentDB、Elastic Load Balancing、および のリソースと設定にアクセスするためのアクセスDescribe許可を付与しました。 | 2024 年 8 月 1 日 | 
| [AWSResilienceHubAsssessmentExecutionPolicy](#security_iam_aws-assessment-policy) - 変更 | AWS Resilience Hub は を更新AWSResilienceHubAsssessmentExecutionPolicyし、評価の実行中に Amazon FSx for Windows File Server の設定を読み取るためのDescribeアクセス許可を付与しました。 | 2024 年 3 月 26 日 | 
| [AWSResilienceHubAsssessmentExecutionPolicy](#security_iam_aws-assessment-policy) - 変更 | AWS Resilience Hub は を更新AWSResilienceHubAsssessmentExecutionPolicyし、評価の実行中に設定を読み AWS Step Functions 取るためのDescribeアクセス許可を付与しました。 | 2023 年 10 月 30 日 | 
| [AWSResilienceHubAsssessmentExecutionPolicy](#security_iam_aws-assessment-policy) - 変更 | AWS Resilience Hub は を更新AWSResilienceHubAsssessmentExecutionPolicyし、評価の実行中に Amazon RDS のリソースにアクセスするためのアクセスDescribe許可を付与しました。 | 2023 年 10 月 5 日 | 
|  [AWSResilienceHubAsssessmentExecutionPolicy](#security_iam_aws-assessment-policy) – 新規  |  この AWS Resilience Hub ポリシーは、評価を実行するための他の AWS サービスへのアクセスを提供します。  | 2023 年 6 月 26 日 | 
|  AWS Resilience Hub が変更の追跡を開始しました  |  AWS Resilience Hub は、 AWS 管理ポリシーの変更の追跡を開始しました。  | 2023 年 6 月 15 日 | 

# AWS Resilience Hub ペルソナと IAM アクセス許可リファレンス
<a name="security-iam-resilience-hub-personas"></a>

`AWSResilienceHubAsssessmentExecutionPolicy` AWS 管理ポリシーと次のいずれかのペルソナ固有のポリシー AWS Resilience Hub を使用して、 の操作に必要なペルソナに IAM アクセス許可を付与できます。 AWS 管理ポリシーの詳細については、「」を参照してください[AWSResilienceHubAsssessmentExecutionPolicy](security-iam-awsmanpol.md#security_iam_aws-assessment-policy)。

**Topics**
+ [インフラストラクチャアプリケーションマネージャーペルソナの IAM アクセス許可](#iam-infra-continuity-manager)
+ [ビジネス継続性マネージャーペルソナの IAM アクセス許可](#iam-business-continuity-manager)
+ [アプリケーション所有者ペルソナの IAM アクセス許可](#iam-application-owner)
+ [読み取り専用アクセスを付与するための IAM アクセス許可](#iam-read-only-access)

## インフラストラクチャアプリケーションマネージャーペルソナの IAM アクセス許可
<a name="iam-infra-continuity-manager"></a>

次のポリシーは、インフラストラクチャアプリケーションマネージャーペルソナに必要なアクセス許可を付与します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "InfrastructureApplicationManager",
      "Effect": "Allow",
      "Action": [
        "resiliencehub:AddDraftAppVersionResourceMappings",
        "resiliencehub:CreateAppVersionAppComponent",
        "resiliencehub:CreateAppVersionResource",
        "resiliencehub:CreateRecommendationTemplate",
        "resiliencehub:DeleteAppAssessment",
        "resiliencehub:DeleteAppInputSource",
        "resiliencehub:DeleteAppVersionAppComponent",
        "resiliencehub:DeleteAppVersionResource",
        "resiliencehub:DeleteRecommendationTemplate",
        "resiliencehub:Describe*",
        "resiliencehub:List*",
        "resiliencehub:PublishAppVersion",
        "resiliencehub:PutDraftAppVersionTemplate",
        "resiliencehub:RemoveDraftAppVersionResourceMappings",
        "resiliencehub:ResolveAppVersionResources",
        "resiliencehub:StartAppAssessment",
        "resiliencehub:TagResource",
        "resiliencehub:UntagResource",
        "resiliencehub:UpdateAppVersion",
        "resiliencehub:UpdateAppVersionAppComponent",
        "resiliencehub:UpdateAppVersionResource"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## ビジネス継続性マネージャーペルソナの IAM アクセス許可
<a name="iam-business-continuity-manager"></a>

次のポリシーは、ビジネス継続性マネージャーのペルソナに必要なアクセス許可を付与します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "BusinessContinuityManager",
      "Effect": "Allow",
      "Action": [
        "resiliencehub:CreateResiliencyPolicy",
        "resiliencehub:DeleteResiliencyPolicy",
        "resiliencehub:Describe*",
        "resiliencehub:List*",
        "resiliencehub:ResolveAppVersionResources",
        "resiliencehub:TagResource",
        "resiliencehub:UntagResource",
        "resiliencehub:UpdateAppVersion",
        "resiliencehub:UpdateAppVersionAppComponent",
        "resiliencehub:UpdateAppVersionResource",
        "resiliencehub:UpdateResiliencyPolicy"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## アプリケーション所有者ペルソナの IAM アクセス許可
<a name="iam-application-owner"></a>

次のポリシーは、アプリケーション所有者ペルソナに必要なアクセス許可を付与します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ApplicationOwner",
      "Effect": "Allow",
      "Action": [
        "resiliencehub:AddDraftAppVersionResourceMappings",
        "resiliencehub:BatchUpdateRecommendationStatus",
        "resiliencehub:CreateApp",
        "resiliencehub:CreateAppVersionAppComponent",
        "resiliencehub:CreateAppVersionResource",
        "resiliencehub:CreateRecommendationTemplate",
        "resiliencehub:CreateResiliencyPolicy",
        "resiliencehub:DeleteApp",
        "resiliencehub:DeleteAppAssessment",
        "resiliencehub:DeleteAppInputSource",
        "resiliencehub:DeleteAppVersionAppComponent",
        "resiliencehub:DeleteAppVersionResource",
        "resiliencehub:DeleteRecommendationTemplate",
        "resiliencehub:DeleteResiliencyPolicy",
        "resiliencehub:Describe*",
        "resiliencehub:ImportResourcesToDraftAppVersion",
        "resiliencehub:List*",
        "resiliencehub:PublishAppVersion",
        "resiliencehub:PutDraftAppVersionTemplate",
        "resiliencehub:RemoveDraftAppVersionResourceMappings",
        "resiliencehub:ResolveAppVersionResources",
        "resiliencehub:StartAppAssessment",
        "resiliencehub:TagResource",
        "resiliencehub:UntagResource",
        "resiliencehub:UpdateApp",
        "resiliencehub:UpdateAppVersion",
        "resiliencehub:UpdateAppVersionAppComponent",
        "resiliencehub:UpdateAppVersionResource",
        "resiliencehub:UpdateResiliencyPolicy"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## 読み取り専用アクセスを付与するための IAM アクセス許可
<a name="iam-read-only-access"></a>

次のポリシーは、読み取り専用アクセスに必要なアクセス許可を付与します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ReadOnly",
      "Effect": "Allow",
      "Action": [
        "resiliencehub:Describe*",
        "resiliencehub:List*",
        "resiliencehub:ResolveAppVersionResources"
      ],
      "Resource": "*"
    }
  ]
}
```

------

# Terraform 状態ファイルの へのインポート AWS Resilience Hub
<a name="security-iam-resilience-hub-terraform-secondary"></a>

AWS Resilience Hub は、Amazon Simple Storage Service マネージドキー (SSE-S3) または マネージドキー (SSE-KMS) を使用した AWS Key Management Service サーバー側の暗号化 (SSE) を使用して暗号化された Terraform 状態ファイルのインポートをサポートします。Terraform ステートファイルがお客様が用意した暗号化キー (SSE-C) を使用して暗号化されている場合、 AWS Resilience Hubを使用してインポートすることはできません。

Terraform 状態ファイルを にインポートするには、状態ファイルの場所に応じて、次の IAM ポリシー AWS Resilience Hub が必要です。

## プライマリアカウントにある Amazon S3 バケットから Terraform ステートファイルをインポートする
<a name="w2aac21c23c48b7"></a>

プライマリアカウントの Amazon S3 バケットにある Terraform ステータスファイルへの読み取りアクセスを AWS Resilience Hub に許可するには、以下の Amazon S3 バケットポリシーと IAM ポリシーが必要です。
+ バケットポリシー — プライマリアカウントにあるターゲット Amazon S3 バケットのバケットポリシー。詳細については、次の例を参照してください。
+ ID ポリシー – このアプリケーション用に定義された呼び出しロール、またはプライマリ AWS アカウントの AWS 現在の IAM ロール AWS Resilience Hub に関連付けられた ID ポリシー。詳細については、次の例を参照してください。

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::<s3-bucket-name>/<path-to-state-file>"
      },
      {
        "Effect": "Allow",
        "Action": "s3:ListBucket",
        "Resource": "arn:aws:s3:::<s3-bucket-name>"
      }
    ]
  }
  ```

------
**注記**  
`AWSResilienceHubAsssessmentExecutionPolicy`管理ポリシーを使用している場合、`ListBucket`権限は必要ありません。

**注記**  
Terraform ステートファイルが KMS を使用して暗号化されている場合は、次の`kms:Decrypt`権限を追加する必要があります。  

```
{
      "Effect": "Allow",
      "Action": [
              "kms:Decrypt",
      ],
      "Resource": "<arn_of_kms_key>"
}
```

## セカンダリアカウントにある Amazon S3 バケットから Terraform ステートファイルをインポートする
<a name="w2aac21c23c48b9"></a>
+ バケットポリシー — 1 つのセカンダリアカウントにあるターゲット Amazon S3 バケットのバケットポリシー。詳細については、次の例を参照してください。
+ ID ポリシー – プライマリアカウント AWS Resilience Hub で実行されている AWS アカウントロールに関連付けられた AWS ID ポリシー。詳細については、次の例を参照してください。
**注記**  
`AWSResilienceHubAsssessmentExecutionPolicy`管理ポリシーを使用している場合、`ListBucket`権限は必要ありません。

**注記**  
Terraform ステートファイルが KMS を使用して暗号化されている場合は、次の`kms:Decrypt`権限を追加する必要があります。  

```
{
      "Effect": "Allow",
      "Action": [
              "kms:Decrypt",
      ],
      "Resource": "<arn_of_kms_key>"
}
```







# Amazon Elastic Kubernetes Service クラスター AWS Resilience Hub へのアクセスの有効化
<a name="enabling-eks-in-arh"></a>

AWS Resilience Hub は、Amazon EKS クラスターのインフラストラクチャを分析して Amazon Elastic Kubernetes Service (Amazon EKS) クラスターの耐障害性を評価します。 は、Kubernetes ロールベースのアクセスコントロール (RBAC) 設定 AWS Resilience Hub を使用して、Amazon EKS クラスターの一部としてデプロイされる他の Kubernetes (K8) ワークロードを評価します。 AWS Resilience Hub がワークロードの分析と評価のために Amazon EKS クラスターをクエリするには、以下を完了する必要があります。
+ Amazon EKS クラスターと同じアカウントで既存の AWS Identity and Access Management (IAM) ロールを作成または使用します。
+ IAM ユーザーとロールが Amazon EKS クラスターにアクセスできるようにし、Amazon EKS クラスター内の K8s リソースに追加の読み取り専用アクセス権限を付与します。Amazon EKS クラスターへの IAM ユーザーとロールのアクセスを有効にする方法の詳細については、「[クラスターへの IAM ユーザーとロールのアクセスを有効にする - Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html)」を参照してください。

IAM エンティティを使用した Amazon EKS クラスターへのアクセスは、Amazon EKS コントロールプレーンで実行される[AWS IAM Authenticator for Kubernetes](https://github.com/kubernetes-sigs/aws-iam-authenticator#readme) によって有効になります。オーセンティケーターは、その設定情報を `aws-auth ConfigMap` から取得します。

**注記**  
すべての `aws-auth ConfigMap` 設定の詳細については、GitHub の「[Full Configuration Format](https://github.com/kubernetes-sigs/aws-iam-authenticator#full-configuration-format)」を参照してください。
さまざまな IAM アイデンティティの詳細については、IAM ユーザーガイドの「[アイデンティティ (ユーザー、グループ、ロール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)」を参照してください。
Kubernetes のロールベースアクセスコントロール (RBAC) 設定の詳細については、「[RBAC 認可の使用](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)」を参照してください。

AWS Resilience Hub は、アカウントの IAM ロールを使用して Amazon EKS クラスター内のリソースをクエリします。 AWS Resilience Hub が Amazon EKS クラスター内のリソースにアクセスするには、 が使用する IAM ロールを、Amazon EKS クラスター内のリソースへの十分な読み取り専用アクセス許可を持つ Kubernetes グループにマッピング AWS Resilience Hub する必要があります。

AWS Resilience Hub では、次のいずれかの IAM ロールオプションを使用して Amazon EKS クラスターリソースにアクセスできます。
+ リソースへのアクセスにロールベースのアクセスを使用するようにアプリケーションが設定されている場合、アプリケーションの作成中に AWS Resilience Hub に渡された呼び出しロールまたはセカンダリアカウントロールは、評価時に Amazon EKS クラスターにアクセスするために使用されます。

  次の概念図は、アプリケーションがロールベースのアプリケーションとして設定されている場合、 が Amazon EKS クラスター AWS Resilience Hub にアクセスする方法を示しています。  
![\[Diagram showing AWS Resilience Hub accessing EKS clusters in primary and secondary accounts.\]](http://docs.aws.amazon.com/ja_jp/resilience-hub/latest/userguide/images/EKS-accounts.png)
+ 現在の IAM ユーザーを使用してリソースにアクセスするようにアプリケーションが設定されている場合、Amazon EKS クラスターと同じアカウントに`AwsResilienceHubAssessmentEKSAccessRole`という名前の新しい IAM ロールを作成する必要があります。その後、この IAM ロールは Amazon EKS クラスターへのアクセスに使用されます。

  次の概念図は、アプリケーションが現在の IAM ユーザーアクセス許可を使用するように設定されている場合、 がプライマリアカウントにデプロイされた Amazon EKS クラスター AWS Resilience Hub にアクセスする方法を示しています。  
![\[Icons representing login, current IAM role, assume role, and AWS Resilience Hub options.\]](http://docs.aws.amazon.com/ja_jp/resilience-hub/latest/userguide/images/SingleAccountEKS.png)

  次の概念図は、アプリケーションが現在の IAM ユーザーアクセス許可を使用するように設定されている場合、 がセカンダリアカウントにデプロイされた Amazon EKS クラスター AWS Resilience Hub にアクセスする方法を示しています。  
![\[Icons representing AWS アカウント access roles and permissions for primary and secondary accounts.\]](http://docs.aws.amazon.com/ja_jp/resilience-hub/latest/userguide/images/MultiAccountEKS.png)

# Amazon EKS クラスター内のリソース AWS Resilience Hub へのアクセスの許可
<a name="grant-permissions-to-eks-in-arh"></a>

AWS Resilience Hub では、必要なアクセス許可を設定している限り、Amazon EKS クラスターにあるリソースにアクセスできます。

**Amazon EKS クラスター内のリソースを検出および評価 AWS Resilience Hub するために必要なアクセス許可を に付与するには**

1. Amazon EKS クラスターにアクセスするための IAM ロールを設定します。

   ロールベースのアクセスを使用してアプリケーションを設定した場合は、このステップをスキップしてステップ 2 に進み、アプリケーションの作成に使用したロールを使用できます。 AWS Resilience Hub でこの IAM ロールを使用する方法については、[AWS Resilience Hub と IAM の連携方法](security_iam_service-with-iam.md) を参照してください。

   現在の IAM ユーザー権限を使用してアプリケーションを設定した場合は、Amazon EKS クラスターと同じアカウントで `AwsResilienceHubAssessmentEKSAccessRole` IAM ロールを作成する必要があります。その後、この IAM ロールは Amazon EKS クラスターにアクセスする際に使用されます。

   アプリケーションのインポートと評価中に、 AWS Resilience Hub は IAM ロールを使用して Amazon EKS クラスター内のリソースにアクセスします。このロールは Amazon EKS クラスターと同じアカウントで作成する必要があり、Amazon EKS クラスター AWS Resilience Hub を評価するために が必要とするアクセス許可を含む Kubernetes グループにマッピングされます。

   Amazon EKS クラスターが AWS Resilience Hub 呼び出し元のアカウントと同じアカウントにある場合は、次の IAM 信頼ポリシーを使用してロールを作成する必要があります。この IAM 信頼ポリシーでは、 `caller_IAM_role`は現在のアカウントで APIs を呼び出すために使用されます AWS Resilience Hub。
**注記**  
`caller_IAM_role` は、 AWS ユーザーアカウントに関連付けられているロールです。

   Amazon EKS クラスターがクロスアカウント ( AWS Resilience Hub 呼び出し元のアカウントとは異なるアカウント) にある場合は、次の `AwsResilienceHubAssessmentEKSAccessRole` IAM 信頼ポリシーを使用して IAM ロールを作成する必要があります。
**注記**  
前提条件として、 AWS Resilience Hub ユーザーのアカウントとは異なるアカウントにデプロイされている Amazon EKS クラスターにアクセスするには、マルチアカウントアクセスを設定する必要があります。詳細については、以下を参照してください。

1.  AWS Resilience Hub アプリケーションの `ClusterRole`および `ClusterRoleBinding` (または `RoleBinding`) ロールを作成します。

   `ClusterRole` と を作成すると`ClusterRoleBinding`、 が Amazon EKS クラスター内の特定の名前空間の一部であるリソースを分析および評価 AWS Resilience Hub するために必要な読み取り専用アクセス許可が付与されます。

   AWS Resilience Hub では、次のいずれかを完了することで、障害耐性評価を生成するための名前空間へのアクセスを制限できます。

   1. すべての名前空間の読み取りアクセス権を AWS Resilience Hub アプリケーションに付与します。

       AWS Resilience Hub が Amazon EKS クラスター内のすべての名前空間にわたるリソースの耐障害性を評価するには、次の `ClusterRole`と を作成する必要があります`ClusterRoleBinding`。
      + `resilience-hub-eks-access-cluster-role` (`ClusterRole`) – Amazon EKS クラスターを評価するために AWS Resilience Hub が必要とするアクセス許可を定義します。
      +  `resilience-hub-eks-access-cluster-role-binding` (`ClusterRoleBinding`) — Amazon EKS クラスターに `resilience-hub-eks-access-group` という名前のグループを定義し、そのユーザーに AWS Resilience Hubで障害耐性評価を実行するために必要なアクセス権限を付与します。

      すべての名前空間の読み取りアクセスを AWS Resilience Hub アプリケーションに付与するテンプレートは次のとおりです。

      ```
      cat << EOF | kubectl apply -f -
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
        name: resilience-hub-eks-access-cluster-role
      rules:
      - apiGroups:
          - ""
        resources:
          - pods
          - replicationcontrollers
          - nodes
        verbs:
          - get
          - list
      - apiGroups:
          - apps
        resources:
          - deployments
          - replicasets
        verbs:
          - get
          - list
      - apiGroups:
          - policy
        resources:
          - poddisruptionbudgets
        verbs:
          - get
          - list
      - apiGroups:
          - autoscaling.k8s.io
        resources:
          - verticalpodautoscalers
        verbs:
          - get
          - list
      - apiGroups:
          - autoscaling
        resources:
          - horizontalpodautoscalers
        verbs:
          - get
          - list
      - apiGroups:
          - karpenter.sh
        resources:
          - provisioners
          - nodepools
        verbs:
          - get
          - list
      - apiGroups:
          - karpenter.k8s.aws
        resources:
          - awsnodetemplates
          - ec2nodeclasses
        verbs:
          - get
          - list
      ---
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        name: resilience-hub-eks-access-cluster-role-binding
      subjects:
        - kind: Group
          name: resilience-hub-eks-access-group
          apiGroup: rbac.authorization.k8s.io
      roleRef:
        kind: ClusterRole
        name: resilience-hub-eks-access-cluster-role
        apiGroup: rbac.authorization.k8s.io
      ---
      EOF
      ```

   1. 特定の名前空間を読み取るためのアクセス許可 AWS Resilience Hub を付与します。

      を使用して、特定の名前空間セット内のリソースへのアクセス AWS Resilience Hub を制限できます`RoleBinding`。これを実現するには、次のロールを作成する必要があります。
      + `ClusterRole` – AWS Resilience Hub が Amazon EKS クラスター内の特定の名前空間のリソースにアクセスし、その耐障害性を評価するには、次の`ClusterRole`ロールを作成する必要があります。
        + `resilience-hub-eks-access-cluster-role`— 特定の名前空間内のリソースを評価するために必要な権限を指定します。
        + `resilience-hub-eks-access-global-cluster-role` – Amazon EKS クラスター内の特定の名前空間に関連付けられていないクラスタースコープリソースを評価するために必要なアクセス許可を指定します。 は、Amazon EKS クラスターのクラスタースコープリソース (ノードなど) にアクセスしてアプリケーションの耐障害性を評価するためのアクセス許可 AWS Resilience Hub を必要とします。

        `ClusterRole`ロールを作成するためのテンプレートは次のとおりです。

        ```
        cat << EOF | kubectl apply -f -
        apiVersion: rbac.authorization.k8s.io/v1
        kind: ClusterRole
        metadata:
          name: resilience-hub-eks-access-cluster-role
        rules:
          - apiGroups:
              - ""
            resources:
              - pods
              - replicationcontrollers
            verbs:
              - get
              - list
          - apiGroups:
              - apps
            resources:
              - deployments
              - replicasets
            verbs:
              - get
              - list
          - apiGroups:
              - policy
            resources:
              - poddisruptionbudgets
            verbs:
              - get
              - list
          - apiGroups:
              - autoscaling.k8s.io
            resources:
              - verticalpodautoscalers
            verbs:
              - get
              - list
          - apiGroups:
              - autoscaling
            resources:
              - horizontalpodautoscalers
            verbs:
              - get
              - list
        
        ---
        apiVersion: rbac.authorization.k8s.io/v1
        kind: ClusterRole
        metadata:
          name: resilience-hub-eks-access-global-cluster-role
        rules:
          - apiGroups:
              - ""
            resources:
              - nodes
            verbs:
              - get
              - list
          - apiGroups:
              - karpenter.sh
            resources:
              - provisioners
              - nodepools
            verbs:
              - get
              - list
          - apiGroups:
              - karpenter.k8s.aws
            resources:
              - awsnodetemplates
              - ec2nodeclasses
            verbs:
              - get
              - list
        
        ---
        EOF
        ```
      + `RoleBinding` role – このロールは、 が特定の名前空間内のリソースにアクセス AWS Resilience Hub するために必要なアクセス許可を付与します。つまり、 が特定の名前空間内のリソースにアクセス AWS Resilience Hub できるようにするには、各名前空間に`RoleBinding`ロールを作成する必要があります。
**注記**  
`ClusterAutoscaler`を自動スケーリングに使用する場合は、`kube-system`に追加で`RoleBinding`を作成する必要があります。これは、`kube-system`名前空間の一部である`ClusterAutoscaler`を評価するために必要です。  
これにより、Amazon EKS クラスターの評価中に`kube-system`名前空間内のリソースを評価する AWS Resilience Hub ために必要なアクセス許可を付与します。

        `RoleBinding`ロールを作成するためのテンプレートは次のとおりです。

        ```
        cat << EOF | kubectl apply -f -
        apiVersion: rbac.authorization.k8s.io/v1
        kind: RoleBinding
        metadata:
          name: resilience-hub-eks-access-cluster-role-binding
          namespace: <namespace>
        subjects:
          - kind: Group
            name: resilience-hub-eks-access-group
            apiGroup: rbac.authorization.k8s.io
        roleRef:
          kind: ClusterRole
          name: resilience-hub-eks-access-cluster-role
          apiGroup: rbac.authorization.k8s.io
        
        ---
        EOF
        ```
      + `ClusterRoleBinding` role – このロールは、 がクラスタースコープのリソースにアクセス AWS Resilience Hub するために必要なアクセス許可を付与します。

        `ClusterRoleBinding`ロールを作成するためのテンプレートは次のとおりです。

        ```
        cat << EOF | kubectl apply -f - 
        ---
        apiVersion: rbac.authorization.k8s.io/v1
        kind: ClusterRoleBinding
        metadata:
          name: resilience-hub-eks-access-global-cluster-role-binding
        subjects:
          - kind: Group
            name: resilience-hub-eks-access-group
            apiGroup: rbac.authorization.k8s.io
        roleRef:
          kind: ClusterRole
          name: resilience-hub-eks-access-global-cluster-role
          apiGroup: rbac.authorization.k8s.io
        
        ---
        EOF
        ```

1. `aws-auth ConfigMap`を更新して、Amazon EKS クラスターへのアクセスに使用される IAM ロールで`resilience-hub-eks-access-group`をマップします。

   このステップでは、ステップ 1 で使用した IAM ロールとステップ 2 で作成した Kubernetes グループとのマッピングを作成します。このマッピングは、Amazon EKS クラスター内のリソースにアクセスするためのアクセス権限を IAM ロールに付与します。
**注記**  
`ROLE-NAME` はAmazon EKS クラスターへのアクセスに使用される IAM ロールを指します。  
アプリケーションがロールベースのアクセスを使用するように設定されている場合、ロールはアプリケーションの作成 AWS Resilience Hub 時に渡される呼び出しロールまたはセカンダリアカウントロールのいずれかである必要があります。
アプリケーションがリソースへのアクセスに、現在の IAM ユーザーを使用するように構成されている場合、それは`AwsResilienceHubAssessmentEKSAccessRole`である必要があります。
`ACCOUNT-ID` は Amazon EKS クラスターの AWS アカウント ID である必要があります。

   次のいずれかの方法で `aws-auth` `ConfigMap` を作成できます。
   + `eksctl`の使用

     次のコマンドを実行して `aws-auth` `ConfigMap` を更新します。

     ```
     eksctl create iamidentitymapping \
      --cluster <cluster-name> \
      --region=<region-code> \
      --arn arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME>\
      --group resilience-hub-eks-access-group \
      --username AwsResilienceHubAssessmentEKSAccessRole
     ```
   + データ下の `ConfigMap` の `mapRoles` セクションに IAM ロールの詳細を追加することで、`aws-auth` `ConfigMap` を手動で編集できます。次のコマンドを使用して、`aws-auth` `ConfigMap` を編集します。

     `kubectl edit -n kube-system configmap/aws-auth`

     `mapRoles` セクションは次のパラメータで構成されます。
     + `rolearn` - 追加される IAM ロールの [Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)。
       + ARN 構文 — `arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME>`。
     + `username` — IAM ロール `AwsResilienceHubAssessmentEKSAccessRole` にマップされる Kubernetes 内のユーザー名。
     + `groups`— グループ名は**ステップ 2** (`resilience-hub-eks-access-group`) で作成したグループ名と一致する必要があります。
**注記**  
`mapRoles`セクションが存在しない場合は、このセクションを手動で追加する必要があります。

     以下のテンプレートを使用して IAM ロールの詳細をデータ下の`ConfigMap`の `mapRoles` セクションに追加します。

     ```
         - groups:
           - resilience-hub-eks-access-group
           rolearn: arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME>
           username: AwsResilienceHubAssessmentEKSAccessRole
     ```

# AWS Resilience Hub を有効にして Amazon Simple Notification Service トピックに発行する
<a name="enabling-sns-in-arh"></a>

このセクションでは、 AWS Resilience Hub がアプリケーションに関する通知を Amazon Simple Notification Service (Amazon SNS) トピックに発行する方法について説明します。Amazon SNS トピックに通知をプッシュするには、次のものが揃っていることを確認します。
+ アクティブな AWS Resilience Hub アプリケーション。
+ が通知を送信 AWS Resilience Hub する必要がある既存の Amazon SNS トピック。Amazon SNS トピックの作成の詳細については、「[Amazon SNS トピックの作成](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html)」を参照してください。

 AWS Resilience Hub が Amazon SNS トピックに通知を発行できるようにするには、Amazon SNS トピックのアクセスポリシーを次のように更新する必要があります。

**注記**  
 AWS Resilience Hub を使用して、オプトインリージョンからデフォルトで有効になっているリージョンにあるトピックにメッセージを発行する場合は、Amazon SNS トピック用に作成されたリソースポリシーを変更する必要があります。プリンシパルの値を `resiliencehub.amazonaws.com` から `resiliencehub.<opt-in-region>.amazonaws.com` に変更します。

サーバー側暗号化 (SSE) の Amazon SNS トピックを使用している場合は、 AWS Resilience Hub がAmazon SNS 暗号化キーへの `Decrypt` および `GenerateDataKey`\$1 アクセス権を持っていることを確認する必要があります。

`Decrypt` と `GenerateDataKey*`へのアクセスを提供するには AWS Resilience Hub、 ポリシー AWS Key Management Service にアクセスするための以下のアクセス許可を含める必要があります。

# AWS Resilience Hub レコメンデーションを含めるか除外するアクセス許可を制限する
<a name="include-exclude-limit-permissions"></a>

AWS Resilience Hub を使用すると、アプリケーションごとにレコメンデーションを含めるか除外するアクセス許可を制限できます。次の IAM 信頼ポリシーを使用して、アプリケーションごとに推奨事項を含めたり除外したりする権限を制限できます。この IAM 信頼ポリシーでは、 `caller_IAM_role` ( AWS ユーザーアカウントに関連付けられている) が現在のアカウントで APIs を呼び出すために使用されます AWS Resilience Hub。