のアイデンティティベースのポリシーの例AWSGuardDuty - Amazon GuardDuty

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

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

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

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

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

ID ベースのポリシーは非常に強力です。アカウント内で GuardDuty リソースを作成、アクセス、または削除できるかどうかを決定します。これらのアクションを実行すると、 AWS アカウント に追加料金が発生する可能性があります。アイデンティティベースのポリシーを作成または編集するときは、以下のガイドラインと推奨事項に従います。

  • の使用を開始します。AWSマネージドポリシー— GuardDuty の使用をすぐに開始するには、AWS管理ポリシーを使用して、従業員に必要なアクセス許可を付与します。これらのポリシーはアカウントですでに有効になっており、 によって管理および更新されていますAWS 詳細については、IAM ユーザーガイドの「AWS 管理ポリシーを使用したアクセス許可の使用開始」を参照してください。

  • 最小権限を付与する – カスタムポリシーを作成するときは、タスクの実行に必要な許可のみを付与します。最小限のアクセス許可から開始し、必要に応じて追加のアクセス許可を付与します。この方法は、寛容なアクセス許可で始め、後でそれらを強化しようとするよりも安全です。詳細については、IAM ユーザーガイドの「最小限の特権を認める」を参照してください。

  • 機密性の高い操作に MFA を有効にする – 追加セキュリティとして、機密性の高いリソースまたは API 操作にアクセスするために IAM ユーザーに対して、多要素認証 (MFA) の使用を要求します。詳細については、IAM ユーザーガイドの「AWS での多要素認証 (MFA) の使用」を参照してください。

  • 追加のセキュリティとしてポリシー条件を使用する – 実行可能な範囲内で、ID ベースのポリシーでリソースへのアクセスを許可する条件を定義します。例えば、要求が発生しなければならない許容 IP アドレスの範囲を指定するための条件を記述できます。指定された日付または時間範囲内でのみリクエストを許可する条件を書くことも、SSL や MFA の使用を要求することもできます。詳細については、「」を参照してください。IAM JSON ポリシー要素: 条件IAM ユーザーガイド

GuardDuty コンソールの使用

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

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

ユーザーとロールが引き続き GuardDuty コンソールを使用できるようにするには、ConsoleAccessまたはReadOnly AWS管理ポリシーをエンティティに適用します。詳細については、IAM ユーザーガイドの「ユーザーへの許可の追加」を参照してください。

GuardDuty の有効化に必要なアクセス許可

このセクションでは、コンソールまたはプログラム (GuardDuty API または、プログラム) から GuardDuty を最初に有効にするために必要な IAM アイデンティティ (ユーザー、グループ、ロール) 別のアクセス権限について説明します。AWSCLI)。

GuardDuty を有効にするために必要なアクセス権限を付与するには、次のポリシーを IAM ユーザー、グループ、またはロールにアタッチします。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::123456789012:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty", "Condition": { "StringLike": { "iam:AWSServiceName": "guardduty.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PutRolePolicy", "iam:DeleteRolePolicy" ], "Resource": "arn:aws:iam::1234567890123:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty" } ] }

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

この例では、ユーザー ID にアタッチされたインラインおよび管理ポリシーの表示を 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": "*" } ] }

GuardDuty への読み取り専用アクセス権限を付与するカスタム IAM ポリシー

GuardDuty への読み取り専用アクセス権限を付与するには、AmazonGuardDutyReadOnlyAccess管理ポリシー。

IAM ユーザー、ロール、またはグループに GuardDuty への読み取り専用アクセス権を付与するカスタムポリシーを作成するには、次のステートメントを使用します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:ListMembers", "guardduty:GetMembers", "guardduty:ListInvitations", "guardduty:ListDetectors", "guardduty:GetDetector", "guardduty:ListFindings", "guardduty:GetFindings", "guardduty:ListIPSets", "guardduty:GetIPSet", "guardduty:ListThreatIntelSets", "guardduty:GetThreatIntelSet", "guardduty:GetMasterAccount", "guardduty:GetInvitationsCount", "guardduty:GetFindingsStatistics" ], "Resource": "*" } ] }

GuardDuty 結果へのアクセスを拒否する

次のポリシーを使用し、IAM ユーザー、ロール、またはグループに対して、GuardDuty の結果へのアクセスを拒否できます。ユーザーは結果またはその詳細は表示できませんが、その他すべての GuardDuty のオペレーションにはアクセスできます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:CreateDetector", "guardduty:DeleteDetector", "guardduty:UpdateDetector", "guardduty:GetDetector", "guardduty:ListDetectors", "guardduty:CreateIPSet", "guardduty:DeleteIPSet", "guardduty:UpdateIPSet", "guardduty:GetIPSet", "guardduty:ListIPSets", "guardduty:CreateThreatIntelSet", "guardduty:DeleteThreatIntelSet", "guardduty:UpdateThreatIntelSet", "guardduty:GetThreatIntelSet", "guardduty:ListThreatIntelSets", "guardduty:ArchiveFindings", "guardduty:UnarchiveFindings", "guardduty:CreateSampleFindings", "guardduty:CreateMembers", "guardduty:InviteMembers", "guardduty:GetMembers", "guardduty:DeleteMembers", "guardduty:DisassociateMembers", "guardduty:StartMonitoringMembers", "guardduty:StopMonitoringMembers", "guardduty:ListMembers", "guardduty:GetMasterAccount", "guardduty:DisassociateFromMasterAccount", "guardduty:AcceptInvitation", "guardduty:ListInvitations", "guardduty:GetInvitationsCount", "guardduty:DeclineInvitations", "guardduty:DeleteInvitations" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::123456789123:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty", "Condition": { "StringLike": { "iam:AWSServiceName": "guardduty.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PutRolePolicy", "iam:DeleteRolePolicy" ], "Resource": "arn:aws:iam::123456789123:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty" } ] }

GuardDuty リソースへのアクセスを制限する

ディテクター ID に基づいて GuardDuty に対するユーザーのアクセス権を定義するには、すべてのGuardDuty API アクションカスタムの IAM ポリシーでを除く以下の操作:

  • guardduty:CreateDetector

  • guardduty:DeclineInvitations

  • guardduty:DeleteInvitations

  • guardduty:GetInvitationsCount

  • guardduty:ListDetectors

  • guardduty:ListInvitations

IAM ポリシーの以下のオペレーションを使用し、IPSet ID および ThreatIntelSet ID に基づいて、GuardDuty に対するユーザーのアクセス権を定義できます。

  • guardduty:DeleteIPSet

  • guardduty:DeleteThreatIntelSet

  • guardduty:GetIPSet

  • guardduty:GetThreatIntelSet

  • guardduty:UpdateIPSet

  • guardduty:UpdateThreatIntelSet

以下の例では、前述のオペレーションのいくつかを使用してポリシーを作成する方法を示します。

  • このポリシーでは、ユーザーはguardduty:UpdateDetectorus-east-1 リージョンでディテクター ID として 1234567 を使用し、オペレーションを実行します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:UpdateDetector", ], "Resource": "arn:aws:guardduty:us-east-1:012345678910:detector/1234567" } ] }
  • このポリシーでは、ユーザーはguardduty:UpdateIPSetオペレーションを実行し、us-east-1 リージョンでディテクター ID として 1234567、IPSet ID として 000000 を使用し、次のようになります。

    注記

    GuardDuty の信頼された IP のリストと脅威リストにアクセスするために必要なアクセス許可がそのユーザーにあることを確認します。詳細については、「信頼されている IP リストと脅威リストをアップロードするために必要なアクセス許可」を参照してください。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:UpdateIPSet", ], "Resource": "arn:aws:guardduty:us-east-1:012345678910:detector/1234567/ipset/000000" } ] }
  • このポリシーでは、ユーザーはguardduty:UpdateIPSetオペレーションを実行し、us-east-1 リージョンで任意のディテクター ID、および IPSet ID として 000000 を使用します。

    注記

    GuardDuty の信頼された IP のリストと脅威リストにアクセスするために必要なアクセス許可がそのユーザーにあることを確認します。詳細については、「信頼されている IP リストと脅威リストをアップロードするために必要なアクセス許可」を参照してください。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:UpdateIPSet", ], "Resource": "arn:aws:guardduty:us-east-1:012345678910:detector/*/ipset/000000" } ] }
  • このポリシーでは、ユーザーはguardduty:UpdateIPSetオペレーションを実行し、us-east-1 リージョンでディテクター ID として 1234567、および任意の IPSet ID を使用します。

    注記

    GuardDuty の信頼された IP のリストと脅威リストにアクセスするために必要なアクセス許可がそのユーザーにあることを確認します。詳細については、「信頼されている IP リストと脅威リストをアップロードするために必要なアクセス許可」を参照してください。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:UpdateIPSet", ], "Resource": "arn:aws:guardduty:us-east-1:012345678910:detector/1234567/ipset/*" } ] }