本文档仅适用于 AWS CLI 版本 1。有关 AWS CLI 版本 2 的相关文档,请参阅版本 2 用户指南。
以下代码示例演示了如何通过将 AWS Command Line Interface与 GuardDuty 结合使用,来执行操作和实现常见场景。
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示如何使用 accept-invitation
。
- AWS CLI
-
接受成为当前区域中 GuardDuty 成员账户的邀请
以下
accept-invitation
示例演示如何接受成为当前区域中 GuardDuty 成员账户的邀请。aws guardduty accept-invitation \ --detector-id
12abc34d567e8fa901bc2d34eexample
\ --master-id123456789111
\ --invitation-idd6b94fb03a66ff665f7db8764example
此命令不生成任何输出。
有关更多信息,请参阅《GuardDuty 用户指南》中的通过邀请管理 GuardDuty 账户。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 AcceptInvitation
。
-
以下代码示例演示如何使用 archive-findings
。
- AWS CLI
-
将调查结果存档到当前区域中
此
archive-findings
示例演示如何将调查发现存档到当前区域中。aws guardduty archive-findings \ --detector-id
12abc34d567e8fa901bc2d34eexample
\ --finding-idsd6b94fb03a66ff665f7db8764example
3eb970e0de00c16ec14e6910fexample
此命令不生成任何输出。
有关更多信息,请参阅《GuardDuty User Guide》中的 Creating suppression rules。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ArchiveFindings
。
-
以下代码示例演示如何使用 create-detector
。
- AWS CLI
-
在当前区域中启用 GuardDuty
此示例演示如何在当前区域中创建一个启用 GuardDuty 的新检测器。
aws guardduty create-detector \ --enable
输出:
{ "DetectorId": "b6b992d6d2f48e64bc59180bfexample" }
有关更多信息,请参阅《GuardDuty 用户指南》中的启用 Amazon GuardDuty。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateDetector
。
-
以下代码示例演示如何使用 create-filter
。
- AWS CLI
-
示例 1:在当前区域中创建新筛选条件
以下
create-filter
示例创建一个筛选条件,该筛选条件与从特定映像中创建的实例的所有 Portscan 调查发现相匹配。这不会隐藏这些调查发现。aws guardduty create-filter \ --detector-id
b6b992d6d2f48e64bc59180bfexample
\ --namemyFilterExample
\ --finding-criteria '{"Criterion": {"type": {"Eq": ["Recon:EC2/Portscan"]},"resource.instanceDetails.imageId": {"Eq": ["ami-0a7a207083example"]}}}
'输出:
{ "Name": "myFilterExample" }
有关更多信息,请参阅《GuardDuty User Guide》中的 Filtering GuardDuty findings。
示例 2:在当前区域中创建新筛选条件并隐藏调查发现
以下
create-filter
示例创建一个筛选条件,该筛选条件与从特定映像中创建的实例的所有 Portscan 调查发现相匹配。此筛选条件归档这些调查发现,这样它们就不会出现在当前的调查发现中。aws guardduty create-filter \ --detector-id
b6b992d6d2f48e64bc59180bfexample
\ --actionARCHIVE
\ --namemyFilterSecondExample
\ --finding-criteria '{"Criterion": {"type": {"Eq": ["Recon:EC2/Portscan"]},"resource.instanceDetails.imageId": {"Eq": ["ami-0a7a207083example"]}}}
'输出:
{ "Name": "myFilterSecondExample" }
有关更多信息,请参阅《GuardDuty User Guide》中的 Filtering GuardDuty findings。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateFilter
。
-
以下代码示例演示如何使用 create-ip-set
。
- AWS CLI
-
创建并激活可信 IP 集
以下
create-ip-set
示例在当前区域中创建并激活可信 IP 集。aws guardduty create-ip-set \ --detector-id
12abc34d567e8fa901bc2d34eexample
\ --namenew-ip-set-example
\ --formatTXT
\ --locations3://amzn-s3-demo-bucket/customtrustlist.csv
\ --activate输出:
{ "IpSetId": "d4b94fc952d6912b8f3060768example" }
有关更多信息,请参阅《GuardDuty User Guide》中的 Working with Trusted IP Lists and Threat Lists。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateIpSet
。
-
以下代码示例演示如何使用 create-members
。
- AWS CLI
-
将新成员与您在当前区域中的 GuardDuty 主账户相关联
此示例演示如何关联成员账户,使其由当前账户作为 GuardDuty 主账户进行托管。
aws guardduty create-members --detector-id
b6b992d6d2f48e64bc59180bfexample
\ --account-detailsAccountId=111122223333,Email=first+member@example.com
AccountId=111111111111
,Email=another+member@example.com
输出:
{ "UnprocessedAccounts": [] }
有关更多信息,请参阅《GuardDuty 用户指南》中的管理多个账户。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateMembers
。
-
以下代码示例演示如何使用 create-publishing-destination
。
- AWS CLI
-
创建发布目标以将当前区域中的 GuardDuty 调查结果导出到其中
以下
create-publishing-destination
示例演示如何设置发布目标以导出当前(未归档)的 GuardDuty 调查发现,从而跟踪历史调查发现数据。aws guardduty create-publishing-destination \ --detector-id
b6b992d6d2f48e64bc59180bfexample
\ --destination-typeS3
\ --destination-properties 'DestinationArn=arn:aws:s3:::amzn-s3-demo-bucket,KmsKeyArn=arn:aws:kms:us-west-1:111122223333:key/84cee9c5-dea1-401a-ab6d-e1de7example
'输出:
{ "DestinationId": "46b99823849e1bbc242dfbe3cexample" }
有关更多信息,请参阅《GuardDuty User Guide》中的 Exporting generated GuardDuty findings to Amazon S3 buckets。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreatePublishingDestination
。
-
以下代码示例演示如何使用 create-sample-findings
。
- AWS CLI
-
在当前区域中创建示例 GuardDuty 调查结果
此示例演示如何创建所提供类型的示例调查结果。
aws guardduty create-sample-findings \ --detector-id
b6b992d6d2f48e64bc59180bfexample
\ --finding-typesUnauthorizedAccess:EC2/TorClient
UnauthorizedAccess:EC2/TorRelay
此命令不生成任何输出。
有关更多信息,请参阅《GuardDuty 用户指南》中的示例调查结果。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateSampleFindings
。
-
以下代码示例演示如何使用 create-threat-intel-set
。
- AWS CLI
-
创建并激活新的威胁情报集
以下
create-threat-intel-set
示例在当前区域中创建并激活威胁情报集。aws guardduty create-threat-intel-set \ --detector-id
b6b992d6d2f48e64bc59180bfexample
\ --namemyThreatSet-example
\ --formatTXT
\ --locations3://amzn-s3-demo-bucket/threatlist.csv
\ --activate输出:
{ "ThreatIntelSetId": "20b9a4691aeb33506b808878cexample" }
有关更多信息,请参阅《GuardDuty User Guide》中的 Working with Trusted IP Lists and Threat Lists。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateThreatIntelSet
。
-
以下代码示例演示如何使用 decline-invitations
。
- AWS CLI
-
拒绝由当前区域中的另一账户托管 GuardDuty 的邀请
此示例演示如何拒绝成员资格邀请。
aws guardduty decline-invitations \ --account-ids
111122223333
输出:
{ "UnprocessedAccounts": [] }
有关更多信息,请参阅《GuardDuty 用户指南》中的通过邀请管理 GuardDuty 账户。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeclineInvitations
。
-
以下代码示例演示如何使用 delete-detector
。
- AWS CLI
-
删除当前区域中的检测器并禁用 GuardDuty
此示例演示如何删除检测器,如果成功,则将在与该检测器关联的区域中禁用 GuardDuty。
aws guardduty delete-detector \ --detector-id
b6b992d6d2f48e64bc59180bfexample
此命令不生成任何输出。
有关更多信息,请参阅《GuardDuty 用户指南》中的暂停或禁用 GuardDuty。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteDetector
。
-
以下代码示例演示如何使用 delete-filter
。
- AWS CLI
-
删除当前区域中的现有筛选条件
此示例演示如何删除筛选条件。
aws guardduty delete-filter \ --detector-id
b6b992d6d2f48e64bc59180bfexample
\ --filter-namebyebyeFilter
此命令不生成任何输出。
有关更多信息,请参阅《GuardDuty 用户指南》中的筛选调查结果。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteFilter
。
-
以下代码示例演示如何使用 disable-organization-admin-account
。
- AWS CLI
-
删除组织内作为 GuardDuty 委派管理员的账户
此示例演示如何删除作为 GuardDuty 委派管理员的账户。
aws guardduty disable-organization-admin-account \ --admin-account-id
111122223333
此命令不生成任何输出。
有关更多信息,请参阅《GuardDuty 用户指南》中的使用 AWS Organizations 管理账户。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DisableOrganizationAdminAccount
。
-
以下代码示例演示如何使用 disassociate-from-master-account
。
- AWS CLI
-
取消与当前区域中的当前管理员账户的关联
以下
disassociate-from-master-account
示例取消您的账户与当前 AWS 区域中的当前 GuardDuty 管理员账户的关联。aws guardduty disassociate-from-master-account \ --detector-id
d4b040365221be2b54a6264dcexample
此命令不生成任何输出。
有关更多信息,请参阅《GuardDuty User Guide》中的 Understanding the relationship between GuardDuty administrator account and member accounts。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DisassociateFromMasterAccount
。
-
以下代码示例演示如何使用 get-detector
。
- AWS CLI
-
检索特定检测器的详细信息
以下
get-detector
示例显示指定检测器的配置详细信息。aws guardduty get-detector \ --detector-id
12abc34d567e8fa901bc2d34eexample
输出:
{ "Status": "ENABLED", "ServiceRole": "arn:aws:iam::111122223333:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty", "Tags": {}, "FindingPublishingFrequency": "SIX_HOURS", "UpdatedAt": "2018-11-07T03:24:22.938Z", "CreatedAt": "2017-12-22T22:51:31.940Z" }
有关更多信息,请参阅《GuardDuty 用户指南》中的概念和术语。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetDetector
。
-
以下代码示例演示如何使用 get-findings
。
- AWS CLI
-
示例 1:检索特定调查结果的详细信息
以下
get-findings
示例检索指定调查结果的完整 JSON 调查结果详细信息。aws guardduty get-findings \ --detector-id
12abc34d567e8fa901bc2d34eexample
\ --finding-id1ab92989eaf0e742df4a014d5example
输出:
{ "Findings": [ { "Resource": { "ResourceType": "AccessKey", "AccessKeyDetails": { "UserName": "testuser", "UserType": "IAMUser", "PrincipalId": "AIDACKCEVSQ6C2EXAMPLE", "AccessKeyId": "ASIASZ4SI7REEEXAMPLE" } }, "Description": "APIs commonly used to discover the users, groups, policies and permissions in an account, was invoked by IAM principal testuser under unusual circumstances. Such activity is not typically seen from this principal.", "Service": { "Count": 5, "Archived": false, "ServiceName": "guardduty", "EventFirstSeen": "2020-05-26T22:02:24Z", "ResourceRole": "TARGET", "EventLastSeen": "2020-05-26T22:33:55Z", "DetectorId": "d4b040365221be2b54a6264dcexample", "Action": { "ActionType": "AWS_API_CALL", "AwsApiCallAction": { "RemoteIpDetails": { "GeoLocation": { "Lat": 51.5164, "Lon": -0.093 }, "City": { "CityName": "London" }, "IpAddressV4": "52.94.36.7", "Organization": { "Org": "Amazon.com", "Isp": "Amazon.com", "Asn": "16509", "AsnOrg": "AMAZON-02" }, "Country": { "CountryName": "United Kingdom" } }, "Api": "ListPolicyVersions", "ServiceName": "iam.amazonaws.com", "CallerType": "Remote IP" } } }, "Title": "Unusual user permission reconnaissance activity by testuser.", "Type": "Recon:IAMUser/UserPermissions", "Region": "us-east-1", "Partition": "aws", "Arn": "arn:aws:guardduty:us-east-1:111122223333:detector/d4b040365221be2b54a6264dcexample/finding/1ab92989eaf0e742df4a014d5example", "UpdatedAt": "2020-05-26T22:55:21.703Z", "SchemaVersion": "2.0", "Severity": 5, "Id": "1ab92989eaf0e742df4a014d5example", "CreatedAt": "2020-05-26T22:21:48.385Z", "AccountId": "111122223333" } ] }
有关更多信息,请参阅《GuardDuty 用户指南》中的调查结果。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetFindings
。
-
以下代码示例演示如何使用 get-ip-set
。
- AWS CLI
-
列出指定可信 IP 集的详细信息
以下
get-ip-set
示例显示指定可信 IP 集的状态和详细信息。aws guardduty get-ip-set \ --detector-id
12abc34d567e8fa901bc2d34eexample
\ --ip-set-idd4b94fc952d6912b8f3060768example
输出:
{ "Status": "ACTIVE", "Location": "s3://amzn-s3-demo-bucket.s3-us-west-2.amazonaws.com/customlist.csv", "Tags": {}, "Format": "TXT", "Name": "test-ip-set-example" }
有关更多信息,请参阅《GuardDuty User Guide》中的 Working with Trusted IP Lists and Threat Lists。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetIpSet
。
-
以下代码示例演示如何使用 get-master-account
。
- AWS CLI
-
检索有关当前区域中主账户的详细信息
以下
get-master-account
示例显示与当前区域中您的检测器关联的主账户的状态和详细信息。aws guardduty get-master-account \ --detector-id
12abc34d567e8fa901bc2d34eexample
输出:
{ "Master": { "InvitationId": "04b94d9704854a73f94e061e8example", "InvitedAt": "2020-06-09T22:23:04.970Z", "RelationshipStatus": "Enabled", "AccountId": "111122223333" } }
有关更多信息,请参阅《GuardDuty User Guide》中的 Understanding the relationship between GuardDuty administrator account and member account。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetMasterAccount
。
-
以下代码示例演示如何使用 list-detectors
。
- AWS CLI
-
列出当前区域中的可用检测器
以下
list-detectors
示例列出了您当前 AWS 区域中的可用检测器。aws guardduty list-detectors
输出:
{ "DetectorIds": [ "12abc34d567e8fa901bc2d34eexample" ] }
有关更多信息,请参阅《GuardDuty 用户指南》中的概念和术语。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListDetectors
。
-
以下代码示例演示如何使用 list-findings
。
- AWS CLI
-
示例 1:列出当前区域的所有调查结果
以下
list-findings
示例显示了当前区域按严重性从最高到最低排序的所有 findingIds 的列表。aws guardduty list-findings \ --detector-id
12abc34d567e8fa901bc2d34eexample
\ --sort-criteria '{"AttributeName": "severity","OrderBy":"DESC"}
'输出:
{ "FindingIds": [ "04b8ab50fd29c64fc771b232dexample", "5ab8ab50fd21373735c826d3aexample", "90b93de7aba69107f05bbe60bexample", ... ] }
有关更多信息,请参阅《GuardDuty 用户指南》中的调查结果。
示例 2:列出与当前区域特定调查结果标准相匹配的调查结果
以下
list-findings
示例显示了与指定调查结果类型相匹配的所有 findingIds 的列表。aws guardduty list-findings \ --detector-id
12abc34d567e8fa901bc2d34eexample
\ --finding-criteria '{"Criterion":{"type": {"Eq":["UnauthorizedAccess:EC2/SSHBruteForce"]}}}
'输出:
{ "FindingIds": [ "90b93de7aba69107f05bbe60bexample", "6eb9430d7023d30774d6f05e3example", "2eb91a2d060ac9a21963a5848example", "44b8ab50fd2b0039a9e48f570example", "9eb8ab4cd2b7e5b66ba4f5e96example", "e0b8ab3a38e9b0312cc390ceeexample" ] }
有关更多信息,请参阅《GuardDuty 用户指南》中的调查结果。
示例 3:列出与 JSON 文件中定义的一组特定调查结果标准相匹配的当前区域的调查结果
以下
list-findings
示例显示了未存档的所有 findingIds 的列表,其中涉及 JSON 文件中指定的名为“testuser”的 IAM 用户。aws guardduty list-findings \ --detector-id
12abc34d567e8fa901bc2d34eexample
\ --finding-criteriafile://myfile.json
myfile.json
的内容:{"Criterion": { "resource.accessKeyDetails.userName":{ "Eq":[ "testuser" ] }, "service.archived": { "Eq": [ "false" ] } } }
输出:
{ "FindingIds": [ "1ab92989eaf0e742df4a014d5example" ] }
有关更多信息,请参阅《GuardDuty 用户指南》中的调查结果。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListFindings
。
-
以下代码示例演示如何使用 list-invitations
。
- AWS CLI
-
列出有关您成为当前区域中的成员账户的邀请的详细信息
以下
list-invitations
示例列出了有关您成为当前区域中 GuardDuty 成员账户的邀请的详细信息和状态。aws guardduty list-invitations
输出:
{ "Invitations": [ { "InvitationId": "d6b94fb03a66ff665f7db8764example", "InvitedAt": "2020-06-10T17:56:38.221Z", "RelationshipStatus": "Invited", "AccountId": "123456789111" } ] }
有关更多信息,请参阅《GuardDuty 用户指南》中的通过邀请管理 GuardDuty 账户。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListInvitations
。
-
以下代码示例演示如何使用 list-ip-sets
。
- AWS CLI
-
列出当前区域中的可信 IP 集
以下
list-ip-sets
示例列出了您当前 AWS 区域中的可信 IP 集。aws guardduty list-ip-sets \ --detector-id
12abc34d567e8fa901bc2d34eexample
输出:
{ "IpSetIds": [ "d4b94fc952d6912b8f3060768example" ] }
有关更多信息,请参阅《GuardDuty User Guide》中的 Working with Trusted IP Lists and Threat Lists。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListIpSets
。
-
以下代码示例演示如何使用 list-members
。
- AWS CLI
-
示例 1:仅列出当前区域中的当前成员
以下
list-members
示例仅列出当前区域中与 GuardDuty 管理员账户关联的当前成员账户并提供其详细信息。aws guardduty list-members \ --detector-id
12abc34d567e8fa901bc2d34eexample
\ --only-associated="true"输出:
{ "Members": [ { "RelationshipStatus": "Enabled", "InvitedAt": "2020-06-09T22:49:00.910Z", "MasterId": "111122223333", "DetectorId": "7ab8b2f61b256c87f793f6a86example", "UpdatedAt": "2020-06-09T23:08:22.512Z", "Email": "your+member@example.com", "AccountId": "123456789012" } ] }
有关更多信息,请参阅《GuardDuty User Guide》中的 Understanding the relationship between GuardDuty administrator account and member accounts。
示例 2:列出当前区域中的所有成员
以下
list-members
示例列出当前区域中的所有成员账户(包括那些已取消关联或尚未接受来自 GuardDuty 管理员的邀请的成员账户)并提供其详细信息。aws guardduty list-members \ --detector-id
12abc34d567e8fa901bc2d34eexample
\ --only-associated="false"输出:
{ "Members": [ { "RelationshipStatus": "Enabled", "InvitedAt": "2020-06-09T22:49:00.910Z", "MasterId": "111122223333", "DetectorId": "7ab8b2f61b256c87f793f6a86example", "UpdatedAt": "2020-06-09T23:08:22.512Z", "Email": "your+other+member@example.com", "AccountId": "555555555555" } ] }
有关更多信息,请参阅《GuardDuty User Guide》中的 Understanding the relationship between GuardDuty administrator account and member accounts。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListMembers
。
-
以下代码示例演示如何使用 update-ip-set
。
- AWS CLI
-
更新可信 IP 集
以下
update-ip-set
示例演示如何更新可信 IP 集的详细信息。aws guardduty update-ip-set \ --detector-id
12abc34d567e8fa901bc2d34eexample
\ --ip-set-idd4b94fc952d6912b8f3060768example
\ --locationhttps://amzn-s3-demo-bucket.s3-us-west-2.amazonaws.com/customtrustlist2.csv
此命令不生成任何输出。
有关更多信息,请参阅《GuardDuty User Guide》中的 Working with Trusted IP Lists and Threat Lists。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateIpSet
。
-