AWS Health ID ベースのポリシーの例 - AWS Health

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

AWS Health ID ベースのポリシーの例

デフォルトでは、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 ユーザーまたは root ユーザーを必要とするシナリオがある場合は AWS アカウント、セキュリティを強化するために MFA をオンにしてください。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、『IAM ユーザーガイド』の「MFA 保護 API アクセスの設定」を参照してください。

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

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

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

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

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

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

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

  • 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 ユーザーに許可するポリシーの作成方法を示します。このポリシーには、コンソールで、またはまたは API を使用してこのアクションをプログラムで実行するための権限が含まれています。 AWS CLI AWS

{ "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 と API へのアクセス AWS Health

AWS はすべてのアカウントで使用できます。 AWS Health Dashboard AWS Health このAPIは、ビジネス、エンタープライズオンランプ、またはエンタープライズSupport プランのアカウントでのみ利用できます。詳細については、「AWS Support」を参照してください。

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

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

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

注記

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

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

には 2 つのグループの API を使用できます。 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 AWS Management Console 内のにアクセスして AWS Health DescribeEvents API オペレーションを呼び出すことができます。

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

アクセスを拒否する

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

例 : アクセスを拒否する
{ "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

各 API に必要な正確な権限を理解するには、IAM ユーザーガイドのAWS Health API と通知によって定義されるアクション」を参照してください。

注記

の AWS Health API にアクセスするには、組織の管理アカウントの認証情報を使用する必要があります。 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-specific ポリシーステートメントを追加できます。

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

AWS Health DescribeAffectedEntitiesおよび DescribeEventDetailsAPI オペレーションの IAM 条件をサポートします。リソースベースおよびアクションベースの条件を使用して、 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 オペレーションへのアクセスを許可しますが、 AWS Health eventTypeCodeAWS_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_*" } } } ] }
重要

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