AWS Health アイデンティティベースのポリシーの例 - AWS Health

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

AWS Health アイデンティティベースのポリシーの例

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

JSON ポリシードキュメントのこれらの例を使用して、IAM アイデンティティベースポリシーを作成する方法については、「IAM ユーザーガイド」の「JSON タブでのポリシーの作成」を参照してください。

ポリシーのベストプラクティス

ID ベースのポリシーは、ユーザーのアカウントで誰かが AWS Health リソースを作成、アクセス、または削除できるどうかを決定します。これらのアクションを実行すると、 AWS アカウントに料金が発生する可能性があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:

  • AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行する – ユーザーとワークロードにアクセス許可を付与するには、多くの一般的なユースケースにアクセス許可を付与する AWS 管理ポリシーを使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義して、アクセス許可をさらに減らすことをお勧めします。詳細については、IAM ユーザーガイドの「AWS マネージドポリシー」または「AWS ジョブ機能の管理ポリシー」を参照してください。

  • 最小特権を適用する – IAM ポリシーで権限を設定するときは、タスクの実行に必要な権限のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権権限とも呼ばれています。IAM を使用して権限を適用する方法の詳細については、『IAM ユーザーガイド』の「IAM でのポリシーと権限」を参照してください。

  • IAM ポリシーで条件を使用してアクセスをさらに制限する - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。例えば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、 などの特定の を介してサービスアクションが使用される場合に AWS のサービス、サービスアクションへのアクセスを許可することもできます AWS CloudFormation。詳細については、IAM ユーザーガイドの [IAM JSON policy elements: Condition] (IAM JSON ポリシー要素:条件) を参照してください。

  • IAM Access Analyzer を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する - IAM Access Analyzer は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、「IAM ユーザーガイド」の「IAM Access Analyzer ポリシーの検証」を参照してください。

  • 多要素認証 (MFA) を要求する – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、セキュリティを強化するために MFA を有効にします。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、「IAM ユーザーガイド」の「MFA 保護 API アクセスの設定」を参照してください。

IAM でのベストプラクティスの詳細については、「IAM ユーザーガイド」の「IAM でのセキュリティのベストプラクティス」を参照してください。

AWS Health コンソールを使用する

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

これらのエンティティが引き続き AWS Health コンソールを使用できるようにするには、次の AWS 管理ポリシー をアタッチしますAWSHealthFullAccess

AWSHealthFullAccess ポリシーでは、エンティティは次のものへのフルアクセスが付与されます。

  • AWS Health 組織内のすべてのアカウントの AWS 組織ビュー機能を有効または無効にする

  • AWS Health コンソール AWS Health Dashboard の

  • AWS Health API オペレーションと通知

  • AWS 組織の一部であるアカウントに関する情報を表示する

  • 管理アカウントの組織単位 (OU) の表示

例 : 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」を参照してください。

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

詳細については、「IAM ユーザーガイド」の「ユーザーへのアクセス許可の追加」を参照してください。

自分の権限の表示をユーザーに許可する

この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を 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 Dashboard および AWS Health API へのアクセス

AWS Health Dashboard はすべての AWS アカウントで使用できます。 AWS Health API は、Business、Enterprise On-Ramp、または Enterprise Support プランのアカウントでのみ使用できます。詳細については、「AWS Support」を参照してください。

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

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

IAM ユーザーを作成したら、これらのユーザーに個別のパスワードを付与できます。その後、アカウント固有のサインインページを使用して、アカウントにサインインし、 AWS Health 情報を表示できます。詳細については、「ユーザーがアカウントにサインインする方法」を参照してください。

注記

表示権限を持つ IAM ユーザーは、アカウント上のすべての AWS サービスでヘルス情報への読み取り専用アクセス権 AWS Health Dashboard を持ちます。これには、Amazon EC2 インスタンス IDs、EC2 IDs、一般的なセキュリティ通知などの AWS リソース ID が含まれますが、これらに限定されません。

例えば、IAM ポリシーが AWS Health Dashboard および AWS Health API へのアクセスのみを許可している場合、ポリシーが適用されるユーザーまたはロールは、他の IAM ポリシーがそのアクセスを許可していない場合でも、 AWS のサービスおよび関連リソースに関して投稿されたすべての情報にアクセスできます。

には 2 つの APIs グループを使用できます AWS Health。

使用可能な API オペレーションの詳細については、AWS Health API リファレンスを参照してください。

個々のアクション

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

アクセスの説明

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

例 : アクセスの説明
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "health:Describe*" ], "Resource": "*" }] }

アクセスを拒否する

このポリシーステートメントは、 AWS Health Dashboard および AWS Health API へのアクセスを拒否します。このポリシーを持つ IAM ユーザーは、 AWS Health Dashboard で を表示 AWS Management Console できず、 AWS Health API オペレーションを呼び出すこともできません。

例 : アクセスを拒否する
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "health:*" ], "Resource": "*" }] }

組織ビュー

の組織ビューを有効にする場合は 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 で定義されるアクションと通知」を参照してください。

注記

の AWS Health APIs にアクセスするには、組織の管理アカウントの認証情報を使用する必要があります AWS Organizations。詳細については、「組織ビューでのアカウント全体の AWS Health イベントの集計」を参照してください。

AWS Health 組織ビューへのアクセス許可

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

例 : 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 組織ビューへのアクセス拒否

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

例 : 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固有のポリシーステートメントを追加できます。

リソースおよびアクションに基づく条件

AWS Health は、 DescribeAffectedEntitiesおよび 詳細 API オペレーションの IAM 条件をサポートします。 DescribeEventリソースおよびアクションベースの条件を使用して、 AWS Health API がユーザー、グループ、またはロールに送信するイベントを制限できます。

これを行うには、IAM ポリシーの Condition ブロックを更新するか、Resource 要素を設定します。文字列条件を使用して、特定の AWS Health イベントフィールドに基づいてアクセスを制限できます。

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

  • eventTypeCode

  • service

メモ
例 : アクションベースの条件

このポリシーステートメントは、 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" } } } ] }
例 : リソースベースの条件

次のポリシーでも結果は同じですが、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/*/*" }] }
例 : eventTypeCode 条件

このポリシーステートメントは、 AWS Health Dashboard および AWS Health Describe* API オペレーションへのアクセスを許可しますが、 eventTypeCodeに一致する を持つ AWS Health イベントへのアクセスを拒否します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_*" } } } ] }
重要

DescribeAffectedエンティティおよびDescribeEvent詳細オペレーションを呼び出し、 AWS Health イベントにアクセスするアクセス許可がない場合、AccessDeniedExceptionエラーが表示されます。詳細については、「AWS Health ID とアクセスのトラブルシューティング」を参照してください。