

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

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

デフォルトでは、IAM ユーザーおよびロールには、 AWS Health リソースを作成または変更するアクセス許可はありません。また、 AWS マネジメントコンソール、 AWS CLI、または AWS API を使用してタスクを実行することはできません。IAM 管理者は、ユーザーとロールに必要な、指定されたリソースで特定の API オペレーションを実行する権限をユーザーとロールに付与する IAM ポリシーを作成する必要があります。続いて、管理者はそれらの権限が必要な IAM ユーザーまたはグループにそのポリシーをアタッチする必要があります。

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

**Topics**
+ [ポリシーに関するベストプラクティス](#security_iam_service-with-iam-policy-best-practices)
+ [AWS Health コンソールの使用](#security_iam_id-based-policy-examples-console)
+ [自分の権限の表示をユーザーに許可する](#security_iam_id-based-policy-examples-view-own-permissions)
+ [AWS Health ダッシュボードと AWS Health API へのアクセス](#security_iam_id-based-policy-examples-access-dashboard)
+ [リソースおよびアクションに基づく条件](#resource-action-based-conditions)

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

ID ベースのポリシーは、誰かがアカウント内の AWS Health リソースを作成、アクセス、または削除できるかどうかを決定します。これらのアクションでは、 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 Health コンソールの使用
<a name="security_iam_id-based-policy-examples-console"></a>

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

これらのエンティティが引き続き AWS Health コンソールを使用できるようにするには、次の AWS 管理ポリシー をアタッチします[https://console.aws.amazon.com//iam/home?#/policies/arn:aws:iam::aws:policy/AWSHealthFullAccess](https://console.aws.amazon.com//iam/home?#/policies/arn:aws:iam::aws:policy/AWSHealthFullAccess)。

`AWSHealthFullAccess` ポリシーでは、エンティティは次のものへのフルアクセスが付与されます。
+  AWS Health 組織内のすべてのアカウントの AWS 組織ビュー機能を有効または無効にする
+  AWS Health コンソールの AWS Health ダッシュボード
+ AWS Health API オペレーションと通知
+  AWS 組織の一部であるアカウントに関する情報を表示する
+ 管理アカウントの組織単位 (OU) の表示

**Example : AWSHealthFullAccess**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "organizations:EnableAWSServiceAccess",
                "organizations:DisableAWSServiceAccess"         
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "organizations:ServicePrincipal": "health.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "health:*",
                "organizations:DescribeAccount",    
                "organizations:ListAccounts",
                "organizations:ListDelegatedAdministrators",
                "organizations:ListParents"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:AWSServiceName": "health.amazonaws.com"
                }
            }
        }
    ]
}
```

**注記**  
`Health_OrganizationsServiceRolePolicy` AWS マネージドポリシーを使用して、 が組織内の他のアカウントのイベントを表示 AWS Health できるようにすることもできます。詳細については、「[のサービスにリンクされたロールの使用 AWS Health](using-service-linked-roles.md)」を参照してください。

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

詳細については、「IAM ユーザーガイド」の「[ユーザーへのアクセス許可の追加](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)」を参照してください。

## 自分の権限の表示をユーザーに許可する
<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 Health ダッシュボードと AWS Health API へのアクセス
<a name="security_iam_id-based-policy-examples-access-dashboard"></a>

 AWS Health ダッシュボードはすべての AWS アカウントで使用できます。 AWS Health API は、 AWS Business Support\+、 AWS Enterprise Support、または AWS Unified Operations プランのアカウントでのみ使用できます。詳細については、「[サポート](https://aws.amazon.com/premiumsupport/)」を参照してください。

IAM を使用してエンティティ (ユーザー、グループ、またはロール) を作成し、それらのエンティティに AWS Health Dashboard と AWS Health API へのアクセス許可を付与できます。

デフォルトでは、IAM ユーザーは AWS Health Dashboard または AWS Health API にアクセスできません。IAM ポリシーを単一のユーザー、ユーザーのグループ、またはロールにアタッチすることで、ユーザーにアカウントの AWS Health 情報へのアクセスを許可します。詳細については、「[ID (ユーザー、グループ、ロール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)」と「[IAM ポリシーの概要](https://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html)」を参照してください。

IAM ユーザーを作成したら、これらのユーザーに個別のパスワードを付与できます。その後、アカウント固有のサインインページを使用して、アカウントにサインインし、 AWS Health 情報を表示できます。詳細については、「[ユーザーがアカウントにサインインする方法](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_how-users-sign-in.html)」を参照してください。

**注記**  
 AWS Health Dashboard を表示する権限を持つ IAM ユーザーは、アカウント上のすべての AWS サービスでヘルス情報に読み取り専用でアクセスできます。これには、Amazon EC2 インスタンス IDs、EC2 インスタンス IP アドレス、一般的なセキュリティ通知などの AWS リソース IDsが含まれますが、これらに限定されません。  
たとえば、IAM ポリシーが AWS Health Dashboard と AWS Health API へのアクセスのみを許可する場合、ポリシーが適用されるユーザーまたはロールは、他の IAM ポリシーがそのアクセスを許可していない場合でも、 AWS のサービスおよび関連リソースに関して投稿されたすべての情報にアクセスできます。

API の 2 つのグループを使用できます APIs AWS Health。
+ 個々のアカウント – [DescribeEvents](https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEvents.html) や [DescribeEventDetails](https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventDetails.html) などのオペレーションを使用して、アカウントの AWS Health イベントに関する情報を取得できます。
+ 組織アカウント – [DescribeEventsForOrganization](https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventsForOrganization.html) および [DescribeEventDetailsForOrganization](https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventDetailsForOrganization.html) などのオペレーションを使用して、組織の一部であるアカウントの AWS Health イベントに関する情報を取得できます。

使用可能な API オペレーションの詳細については、[AWS Health API リファレンス](https://docs.aws.amazon.com/health/latest/APIReference/)を参照してください。

### 個々のアクション
<a name="individual-account-health-api-actions"></a>

IAM ポリシーの `Action` エレメントを `health:Describe*` に設定できます。これにより、 AWS Health Dashboard および へのアクセスが許可されます AWS Health。 は、 `eventTypeCode`および サービスに基づくイベントへのアクセスコントロール AWS Health をサポートします。

#### アクセスの説明
<a name="allow-describe-access-example"></a>

このポリシーステートメントは、 AWS Health Dashboard および任意の `Describe*` AWS Health API オペレーションへのアクセスを許可します。たとえば、このポリシーを持つ IAM ユーザーは、 の AWS Health Dashboard にアクセスして `DescribeEvents` API AWS マネジメントコンソール オペレーションを AWS Health 呼び出すことができます。

**Example : アクセスの説明**    
****  

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

#### アクセスを拒否する
<a name="deny-access-example"></a>

このポリシーステートメントは、 AWS Health Dashboard と AWS Health API へのアクセスを拒否します。このポリシーを持つ IAM ユーザーは、 で AWS Health ダッシュボードを表示できず AWS マネジメントコンソール 、 AWS Health API オペレーションを呼び出すこともできません。

**Example : アクセスを拒否する**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
  {
    "Effect": "Deny",
    "Action": [
      "health:*"
    ],
    "Resource": "*"
  }]
}
```

### 組織ビュー
<a name="organizational-view"></a>

 の組織ビューを有効にする場合は AWS Health、 AWS Health および AWS Organizations アクションへのアクセスを許可する必要があります。

IAM ポリシーの `Action` 要素には、次のアクセス許可を含める必要があります。
+ `iam:CreateServiceLinkedRole`
+ `organizations:EnableAWSServiceAccess`
+ `organizations:DescribeAccount`
+ `organizations:DisableAWSServiceAccess`
+ `organizations:ListAccounts`
+ `organizations:ListDelegatedAdministrators`
+ `organizations:ListParents`

各 APIs、*IAM ユーザーガイド*の[AWS Health APIs で定義されるアクションと通知](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awshealthapisandnotifications.html#awshealthapisandnotifications-actions-as-permissions)」を参照してください。

**注記**  
API にアクセスするには、組織の管理アカウントの認証情報を使用する必要があります AWS Health APIs AWS Organizations。詳細については、「[アカウント間の AWS Health イベントの集約](aggregate-events.md)」を参照してください。

#### AWS Health 組織ビューへのアクセスを許可する
<a name="allow-organizational-api-access"></a>

このポリシーステートメントは、組織ビュー機能に必要なすべての AWS Health および AWS Organizations アクションへのアクセスを許可します。

**Example : AWS Health 組織ビューへのアクセスを許可する**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "organizations:EnableAWSServiceAccess",
                "organizations:DisableAWSServiceAccess"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "organizations:ServicePrincipal": "health.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "health:*",
                "organizations:DescribeAccount",
                "organizations:ListAccounts",
                "organizations:ListDelegatedAdministrators",  
                "organizations:ListParents"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::*:role/aws-service-role/health.amazonaws.com/AWSServiceRoleForHealth*"
        }
    ]
}
```

#### AWS Health 組織ビューへのアクセスを拒否する
<a name="deny-organizational-api-access"></a>

このポリシーステートメントは、 AWS Organizations アクションへのアクセスを拒否しますが、個々のアカウントの AWS Health アクションへのアクセスを許可します。

**Example : AWS Health 組織ビューへのアクセスを拒否する**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "health:*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "organizations:EnableAWSServiceAccess",
                "organizations:DisableAWSServiceAccess"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "organizations:ServicePrincipal": "health.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Deny",
            "Action": [
                "organizations:DescribeAccount",
                "organizations:ListAccounts",
                "organizations:ListDelegatedAdministrators",
                "organizations:ListParents"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::*:role/aws-service-role/health.amazonaws.com/AWSServiceRoleForHealth*"
        }
    ]
}
```

**注記**  
アクセス許可を付与するユーザーまたはグループに既に IAM ポリシーがある場合は、そのポリシーに AWS Health固有のポリシーステートメントを追加できます。

## リソースおよびアクションに基づく条件
<a name="resource-action-based-conditions"></a>

AWS Health は、[DescribeAffectedEntities](https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeAffectedEntities.html) および [DescribeEventDetails](https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventDetails.html) API オペレーションの [IAM 条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)をサポートします。リソースおよびアクションベースの条件を使用して、 AWS Health API がユーザー、グループ、またはロールに送信するイベントを制限できます。

これを行うには、IAM ポリシーの `Condition` ブロックを更新するか、`Resource` 要素を設定します。[文字列条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String)を使用して、特定の AWS Health イベントフィールドに基づいてアクセスを制限できます。

ポリシーで AWS Health イベントを指定するときは、次のフィールドを使用できます。
+ `eventTypeCode`
+ `service`

**注意事項**  
[ DescribeAffectedEntities](https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeAffectedEntities.html) および [DescribeEventDetails](https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventDetails.html) API オペレーションは、リソースレベルのアクセス許可をサポートしています。例えば、特定の AWS Health イベントを許可または拒否するポリシーを作成できます。
[ DescribeAffectedEntitiesForOrganization](https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeAffectedEntitiesForOrganization.html) および [DescribeEventDetailsForOrganization](https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventDetailsForOrganization.html) APIオペレーションは、リソースレベルのアクセス許可をサポートしていません。
詳細については、*「サービス認可リファレンス*」の[AWS Health APIs と通知のアクション、リソース、および条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthapisandnotifications.html)」を参照してください。

**Example : アクションベースの条件**  
このポリシーステートメントは、 AWS Health Dashboard および AWS Health `Describe*` API オペレーションへのアクセスを許可しますが、Amazon EC2 に関連する AWS Health イベントへのアクセスを拒否します。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "health:Describe*",
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "health:DescribeAffectedEntities",
                "health:DescribeEventDetails"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "health:service": "EC2"
                }
            }
        }
    ]
}
```

**Example : リソースベースの条件**  
次のポリシーでも結果は同じですが、`Resource` 要素を代わりに使用しています。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
  {
    "Effect": "Allow",
    "Action": [
      "health:Describe*"
    ],
    "Resource": "*"
  },
  {
    "Effect": "Deny",
    "Action": [
      "health:DescribeEventDetails",
      "health:DescribeAffectedEntities"
    ],
    "Resource": "arn:aws:health:*::event/EC2/*/*"
  }]
}
```

**Example : eventTypeCode の条件**  
このポリシーステートメントは、 AWS Health Dashboard および AWS Health `Describe*` API オペレーションへのアクセスを許可しますが、 に一致する を持つ AWS Health イベントへのアクセスを拒否`eventTypeCode`します`AWS_EC2_*`。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "health:Describe*",
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "health:DescribeAffectedEntities",
                "health:DescribeEventDetails"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "health:eventTypeCode": "AWS_EC2_*"
                }
            }
        }
    ]
}
```

**重要**  
[DescribeAffectedEntities](https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeAffectedEntities.html) および [DescribeEventDetails](https://docs.aws.amazon.com/health/latest/APIReference/API_DescribeEventDetails.html) オペレーションを呼び出して、 AWS Health イベントへのアクセス許可がない場合、`AccessDeniedException` エラーが表示されます。詳細については、「[AWS Health ID とアクセスのトラブルシューティング](security_iam_troubleshoot.md)」を参照してください。