Amazon 的身分型政策範例 GuardDuty - Amazon GuardDuty

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon 的身分型政策範例 GuardDuty

根據預設,使用者和角色不具備建立或修改 GuardDuty 資源的權限。他們也無法使用 AWS Management Console、 AWS Command Line Interface (AWS CLI) 或 來執行任務 AWS API。若要授予使用者對所需資源執行動作的許可,IAM管理員可以建立IAM政策。然後,管理員可以將IAM政策新增至角色,使用者可以擔任角色。

若要了解如何使用這些範例政策文件來建立以IAM身分為基礎的JSON政策,請參閱 IAM 使用者指南中的建立IAM政策 (主控台)

如需 定義的動作和資源類型的詳細資訊 GuardDuty,包括ARNs每個資源類型的 格式,請參閱服務授權參考中的 Amazon 的動作、資源和條件索引鍵 GuardDuty

政策最佳實務

以身分為基礎的政策會判斷是否有人可以建立、存取或刪除您帳戶中 GuardDuty 的資源。這些動作可能會讓您的 AWS 帳戶產生費用。當您建立或編輯身分型政策時,請遵循下列準則及建議事項:

  • 開始使用 AWS 受管政策並邁向最低權限許可 – 若要開始將許可授予您的使用者和工作負載,請使用 AWS 受管政策,將許可授予許多常見使用案例。它們可在您的 中使用 AWS 帳戶。我們建議您定義特定於使用案例 AWS 的客戶受管政策,以進一步減少許可。如需詳細資訊,請參閱IAM《 使用者指南》中的 AWS 受管政策AWS 任務功能的受管政策

  • 套用最低權限許可 – 當您使用 IAM 政策設定許可時, 只會授予執行任務所需的許可。為實現此目的,您可以定義在特定條件下可以對特定資源採取的動作,這也稱為最低權限許可。如需使用 IAM 套用許可的詳細資訊,請參閱IAM《 使用者指南中的政策和許可IAM

  • 使用IAM政策中的條件來進一步限制存取:您可以將條件新增至政策,以限制對動作和資源的存取。例如,您可以撰寫政策條件來指定所有請求都必須使用 傳送SSL。如果透過特定 使用服務動作,您也可以使用條件來授予存取服務動作的權限 AWS 服務,例如 AWS CloudFormation。如需詳細資訊,請參閱IAM《 使用者指南》中的IAMJSON政策元素:條件

  • 使用 IAM Access Analyzer 驗證您的IAM政策,以確保安全且功能許可 – IAM Access Analyzer 會驗證新的和現有的政策,使政策符合IAM政策語言 (JSON) 和IAM最佳實務。 IAMAccess Analyzer 提供超過 100 個政策檢查和可行的建議,以協助您撰寫安全且實用的政策。如需詳細資訊,請參閱IAM《 使用者指南》中的使用 IAM Access Analyzer 驗證政策

  • 需要多重要素驗證 (MFA) – 如果您有需要IAM使用者或 中根使用者的案例 AWS 帳戶,請開啟 MFA 以獲得額外的安全性。若要在呼叫API操作MFA時要求 ,請將MFA條件新增至您的政策。如需詳細資訊,請參閱IAM《 使用者指南》中的使用 安全API存取MFA

如需 中最佳實務的詳細資訊IAM,請參閱IAM《 使用者指南中的安全最佳實務IAM

使用 GuardDuty 主控台

若要存取 Amazon GuardDuty 主控台,您必須擁有一組最低許可。這些許可必須允許您列出和檢視 中 GuardDuty 資源的詳細資訊 AWS 帳戶。如果您建立比最基本必要許可更嚴格的身分型政策,則對於具有該政策的實體 (使用者或角色) 而言,主控台就無法如預期運作。

對於僅對 AWS CLI 或 進行呼叫的使用者,您不需要允許最低主控台許可 AWS API。相反地,只允許存取與其嘗試執行API的操作相符的動作。

為了確保使用者和角色仍然可以使用 GuardDuty 主控台,請將 GuardDuty ConsoleAccessReadOnly AWS 受管政策連接到實體。如需詳細資訊,請參閱IAM《 使用者指南》中的新增許可給使用者

啟用 GuardDuty 的必要許可

若要授予各種身分 IAM (使用者、群組和角色) 必須擁有的許可,請連接必要的AWS 受管政策:AmazonGuardDutyFullAccess政策以啟用 GuardDuty。

允許使用者檢視他們自己的許可

此範例會示範如何建立政策,允許 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": "*" } ] }

自訂IAM政策以授予 的唯讀存取權 GuardDuty

若要授予唯讀存取權 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", "guardduty:DescribeMalwareScans", "guardduty:UpdateMalwareScanSettings", "guardduty:GetMalwareScanSettings" ], "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:AcceptAdministratorInvitation", "guardduty:ListInvitations", "guardduty:GetInvitationsCount", "guardduty:DeclineInvitations", "guardduty:DeleteInvitations" ], "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::123456789012:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty" } ] }

使用自訂IAM政策限制對 GuardDuty 資源的存取

若要 GuardDuty 根據偵測器 ID 定義使用者對 的存取,您可以使用自訂IAM政策中的所有GuardDutyAPI動作,但下列操作除外

  • 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:UpdateDetector 操作,並在 us-east-1 區域中使用偵測器 ID 1234567:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:UpdateDetector", ], "Resource": "arn:aws:guardduty:us-east-1:123456789012:detector/1234567" } ] }
  • 此政策允許使用者執行guardduty:UpdateIPSet操作,使用 us-east-1 區域中的偵測器 ID 為 1234567 和 IPSet ID 為 000000:

    注意

    確定使用者具有存取信任 IP 清單和威脅清單所需的許可 GuardDuty。如需詳細資訊,請參閱上傳信任 IP 清單和威脅清單所需的許可

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:UpdateIPSet", ], "Resource": "arn:aws:guardduty:us-east-1:123456789012:detector/1234567/ipset/000000" } ] }
  • 此政策允許使用者在 us-east-1 區域中使用任何偵測器 ID 和 000000 的 IPSet ID 來執行guardduty:UpdateIPSet操作:

    注意

    確定使用者具有存取信任 IP 清單和威脅清單所需的許可 GuardDuty。如需詳細資訊,請參閱上傳信任 IP 清單和威脅清單所需的許可

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:UpdateIPSet", ], "Resource": "arn:aws:guardduty:us-east-1:123456789012:detector/*/ipset/000000" } ] }
  • 此政策允許使用者使用其偵測器 ID 和 us-east-1 區域中的任何 IPSet ID 來執行guardduty:UpdateIPSet操作:

    注意

    確定使用者具有存取信任 IP 清單和威脅清單所需的許可 GuardDuty。如需詳細資訊,請參閱上傳信任 IP 清單和威脅清單所需的許可

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