View Source AWS.GuardDuty (aws-elixir v1.0.4)
Amazon GuardDuty is a continuous security monitoring service that analyzes and processes the following foundational data sources - VPC flow logs, Amazon Web Services CloudTrail management event logs, CloudTrail S3 data event logs, EKS audit logs, DNS logs, Amazon EBS volume data, runtime activity belonging to container workloads, such as Amazon EKS, Amazon ECS (including Amazon Web Services Fargate), and Amazon EC2 instances.
It uses threat intelligence feeds, such as lists of malicious IPs and domains, and machine learning to identify unexpected, potentially unauthorized, and malicious activity within your Amazon Web Services environment. This can include issues like escalations of privileges, uses of exposed credentials, or communication with malicious IPs, domains, or presence of malware on your Amazon EC2 instances and container workloads. For example, GuardDuty can detect compromised EC2 instances and container workloads serving malware, or mining bitcoin.
GuardDuty also monitors Amazon Web Services account access behavior for signs of compromise, such as unauthorized infrastructure deployments like EC2 instances deployed in a Region that has never been used, or unusual API calls like a password policy change to reduce password strength.
GuardDuty informs you about the status of your Amazon Web Services environment by producing security findings that you can view in the GuardDuty console or through Amazon EventBridge. For more information, see the Amazon GuardDuty User Guide .
Link to this section Summary
Functions
Accepts the invitation to be a member account and get monitored by a GuardDuty administrator account that sent the invitation.
Accepts the invitation to be monitored by a GuardDuty administrator account.
Archives GuardDuty findings that are specified by the list of finding IDs.
Creates a single GuardDuty detector.
Creates a filter using the specified finding criteria.
Creates a new IPSet, which is called a trusted IP list in the console user interface.
Creates a new Malware Protection plan for the protected resource.
Creates member accounts of the current Amazon Web Services account by specifying a list of Amazon Web Services account IDs.
Creates a publishing destination where you can export your GuardDuty findings.
Generates sample findings of types specified by the list of finding types.
Creates a new ThreatIntelSet.
Declines invitations sent to the current member account by Amazon Web Services accounts specified by their account IDs.
Deletes an Amazon GuardDuty detector that is specified by the detector ID.
Deletes the filter specified by the filter name.
Deletes invitations sent to the current member account by Amazon Web Services accounts specified by their account IDs.
Deletes the IPSet specified by the ipSetId
.
Deletes the Malware Protection plan ID associated with the Malware Protection plan resource.
Deletes GuardDuty member accounts (to the current GuardDuty administrator account) specified by the account IDs.
Deletes the publishing definition with the specified destinationId
.
Deletes the ThreatIntelSet specified by the ThreatIntelSet ID.
Returns a list of malware scans.
Returns information about the account selected as the delegated administrator for GuardDuty.
Returns information about the publishing destination specified by the provided
destinationId
.
Removes the existing GuardDuty delegated administrator of the organization.
Disassociates the current GuardDuty member account from its administrator account.
Disassociates the current GuardDuty member account from its administrator account.
Disassociates GuardDuty member accounts (from the current administrator account) specified by the account IDs.
Designates an Amazon Web Services account within the organization as your GuardDuty delegated administrator.
Provides the details of the GuardDuty administrator account associated with the current GuardDuty member account.
Retrieves aggregated statistics for your account.
Retrieves a GuardDuty detector specified by the detectorId.
Returns the details of the filter specified by the filter name.
Describes Amazon GuardDuty findings specified by finding IDs.
Lists GuardDuty findings statistics for the specified detector ID.
Returns the count of all GuardDuty membership invitations that were sent to the current member account except the currently accepted invitation.
Retrieves the IPSet specified by the ipSetId
.
Retrieves the Malware Protection plan details associated with a Malware Protection plan ID.
Returns the details of the malware scan settings.
Provides the details for the GuardDuty administrator account associated with the current GuardDuty member account.
Describes which data sources are enabled for the member account's detector.
Retrieves GuardDuty member accounts (of the current GuardDuty administrator account) specified by the account IDs.
Retrieves how many active member accounts have each feature enabled within GuardDuty.
Provides the number of days left for each data source used in the free trial period.
Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID.
Lists Amazon GuardDuty usage statistics over the last 30 days for the specified detector ID.
Invites Amazon Web Services accounts to become members of an organization administered by the Amazon Web Services account that invokes this API.
Lists coverage details for your GuardDuty account.
Lists detectorIds of all the existing Amazon GuardDuty detector resources.
Returns a paginated list of the current filters.
Lists GuardDuty findings for the specified detector ID.
Lists all GuardDuty membership invitations that were sent to the current Amazon Web Services account.
Lists the IPSets of the GuardDuty service specified by the detector ID.
Lists the Malware Protection plan IDs associated with the protected resources in your Amazon Web Services account.
Lists details about all member accounts for the current GuardDuty administrator account.
Lists the accounts designated as GuardDuty delegated administrators.
Returns a list of publishing destinations associated with the specified
detectorId
.
Lists tags for a resource.
Lists the ThreatIntelSets of the GuardDuty service specified by the detector ID.
Initiates the malware scan.
Turns on GuardDuty monitoring of the specified member accounts.
Stops GuardDuty monitoring for the specified member accounts.
Adds tags to a resource.
Unarchives GuardDuty findings specified by the findingIds
.
Removes tags from a resource.
Updates the GuardDuty detector specified by the detector ID.
Updates the filter specified by the filter name.
Marks the specified GuardDuty findings as useful or not useful.
Updates the IPSet specified by the IPSet ID.
Updates an existing Malware Protection plan resource.
Updates the malware scan settings.
Contains information on member accounts to be updated.
Configures the delegated administrator account with the provided values.
Updates information about the publishing destination specified by the
destinationId
.
Updates the ThreatIntelSet specified by the ThreatIntelSet ID.
Link to this section Functions
accept_administrator_invitation(client, detector_id, input, options \\ [])
View SourceAccepts the invitation to be a member account and get monitored by a GuardDuty administrator account that sent the invitation.
Accepts the invitation to be monitored by a GuardDuty administrator account.
Archives GuardDuty findings that are specified by the list of finding IDs.
Only the administrator account can archive findings. Member accounts don't have permission to archive findings from their accounts.
Creates a single GuardDuty detector.
A detector is a resource that represents the GuardDuty service. To start using GuardDuty, you must create a detector in each Region where you enable the service. You can have only one detector per account per Region. All data sources are enabled in a new detector by default.
*
When you don't specify any features
, with an
exception to RUNTIME_MONITORING
, all the optional features are
enabled by default.
*
When you specify some of the features
, any feature that is not specified in
the
API call gets enabled by default, with an exception to RUNTIME_MONITORING
.
Specifying both EKS Runtime Monitoring (EKS_RUNTIME_MONITORING
)
and Runtime Monitoring (RUNTIME_MONITORING
) will cause an error.
You can add only one of these two features because Runtime Monitoring already
includes the
threat detection for Amazon EKS resources. For more information, see
Runtime Monitoring.
There might be regional differences because some data sources might not be available in all the Amazon Web Services Regions where GuardDuty is presently supported. For more information, see Regions and endpoints.
Creates a filter using the specified finding criteria.
The maximum number of saved filters per Amazon Web Services account per Region is 100. For more information, see Quotas for GuardDuty.
Creates a new IPSet, which is called a trusted IP list in the console user interface.
An IPSet is a list of IP addresses that are trusted for secure communication with Amazon Web Services infrastructure and applications. GuardDuty doesn't generate findings for IP addresses that are included in IPSets. Only users from the administrator account can use this operation.
Creates a new Malware Protection plan for the protected resource.
When you create a Malware Protection plan, the Amazon Web Services service terms for GuardDuty Malware Protection apply. For more information, see Amazon Web Services service terms for GuardDuty Malware Protection.
Creates member accounts of the current Amazon Web Services account by specifying a list of Amazon Web Services account IDs.
This step is a prerequisite for managing the associated member accounts either by invitation or through an organization.
As a delegated administrator, using CreateMembers
will enable GuardDuty in
the added member accounts, with the exception of the
organization delegated administrator account. A delegated administrator must
enable GuardDuty
prior to being added as a member.
When you use CreateMembers as an Organizations delegated administrator, GuardDuty applies your organization's auto-enable settings to the member accounts in this request, irrespective of the accounts being new or existing members. For more information about the existing auto-enable settings for your organization, see DescribeOrganizationConfiguration. If you disassociate a member account that was added by invitation, the member account details obtained from this API, including the associated email addresses, will be retained. This is done so that the delegated administrator can invoke the InviteMembers API without the need to invoke the CreateMembers API again. To remove the details associated with a member account, the delegated administrator must invoke the DeleteMembers API.
When the member accounts added through Organizations are later disassociated, you (administrator) can't invite them by calling the InviteMembers API. You can create an association with these member accounts again only by calling the CreateMembers API.
create_publishing_destination(client, detector_id, input, options \\ [])
View SourceCreates a publishing destination where you can export your GuardDuty findings.
Before you start exporting the findings, the destination resource must exist.
Generates sample findings of types specified by the list of finding types.
If 'NULL' is
specified for findingTypes
, the API generates sample findings of all supported
finding types.
create_threat_intel_set(client, detector_id, input, options \\ [])
View SourceCreates a new ThreatIntelSet.
ThreatIntelSets consist of known malicious IP addresses. GuardDuty generates findings based on ThreatIntelSets. Only users of the administrator account can use this operation.
Declines invitations sent to the current member account by Amazon Web Services accounts specified by their account IDs.
Deletes an Amazon GuardDuty detector that is specified by the detector ID.
delete_filter(client, detector_id, filter_name, input, options \\ [])
View SourceDeletes the filter specified by the filter name.
Deletes invitations sent to the current member account by Amazon Web Services accounts specified by their account IDs.
delete_ip_set(client, detector_id, ip_set_id, input, options \\ [])
View SourceDeletes the IPSet specified by the ipSetId
.
IPSets are called trusted IP lists in the console user interface.
delete_malware_protection_plan(client, malware_protection_plan_id, input, options \\ [])
View SourceDeletes the Malware Protection plan ID associated with the Malware Protection plan resource.
Use this API only when you no longer want to protect the resource associated with this Malware Protection plan ID.
Deletes GuardDuty member accounts (to the current GuardDuty administrator account) specified by the account IDs.
With autoEnableOrganizationMembers
configuration for your organization set to
ALL
, you'll receive an error if you attempt to disable GuardDuty for a member
account in your organization.
delete_publishing_destination(client, destination_id, detector_id, input, options \\ [])
View SourceDeletes the publishing definition with the specified destinationId
.
delete_threat_intel_set(client, detector_id, threat_intel_set_id, input, options \\ [])
View SourceDeletes the ThreatIntelSet specified by the ThreatIntelSet ID.
Returns a list of malware scans.
Each member account can view the malware scans for their own accounts. An administrator can view the malware scans for all the member accounts.
There might be regional differences because some data sources might not be available in all the Amazon Web Services Regions where GuardDuty is presently supported. For more information, see Regions and endpoints.
describe_organization_configuration(client, detector_id, max_results \\ nil, next_token \\ nil, options \\ [])
View SourceReturns information about the account selected as the delegated administrator for GuardDuty.
There might be regional differences because some data sources might not be available in all the Amazon Web Services Regions where GuardDuty is presently supported. For more information, see Regions and endpoints.
describe_publishing_destination(client, destination_id, detector_id, options \\ [])
View SourceReturns information about the publishing destination specified by the provided
destinationId
.
Removes the existing GuardDuty delegated administrator of the organization.
Only the organization's management account can run this API operation.
disassociate_from_administrator_account(client, detector_id, input, options \\ [])
View SourceDisassociates the current GuardDuty member account from its administrator account.
When you disassociate an invited member from a GuardDuty delegated administrator, the member account details obtained from the CreateMembers API, including the associated email addresses, are retained. This is done so that the delegated administrator can invoke the InviteMembers API without the need to invoke the CreateMembers API again. To remove the details associated with a member account, the delegated administrator must invoke the DeleteMembers API.
With autoEnableOrganizationMembers
configuration for your organization set to
ALL
, you'll receive an error if you attempt to disable GuardDuty in a member
account.
disassociate_from_master_account(client, detector_id, input, options \\ [])
View SourceDisassociates the current GuardDuty member account from its administrator account.
When you disassociate an invited member from a GuardDuty delegated administrator, the member account details obtained from the CreateMembers API, including the associated email addresses, are retained. This is done so that the delegated administrator can invoke the InviteMembers API without the need to invoke the CreateMembers API again. To remove the details associated with a member account, the delegated administrator must invoke the DeleteMembers API.
Disassociates GuardDuty member accounts (from the current administrator account) specified by the account IDs.
When you disassociate an invited member from a GuardDuty delegated administrator, the member account details obtained from the CreateMembers API, including the associated email addresses, are retained. This is done so that the delegated administrator can invoke the InviteMembers API without the need to invoke the CreateMembers API again. To remove the details associated with a member account, the delegated administrator must invoke the DeleteMembers API.
With autoEnableOrganizationMembers
configuration for your organization set to
ALL
, you'll receive an error if you attempt to disassociate a member account
before removing them from your organization.
If you disassociate a member account that was added by invitation, the member account details obtained from this API, including the associated email addresses, will be retained. This is done so that the delegated administrator can invoke the InviteMembers API without the need to invoke the CreateMembers API again. To remove the details associated with a member account, the delegated administrator must invoke the DeleteMembers API.
When the member accounts added through Organizations are later disassociated, you (administrator) can't invite them by calling the InviteMembers API. You can create an association with these member accounts again only by calling the CreateMembers API.
Designates an Amazon Web Services account within the organization as your GuardDuty delegated administrator.
Only the organization's management account can run this API operation.
Provides the details of the GuardDuty administrator account associated with the current GuardDuty member account.
If the organization's management account or a delegated administrator runs this
API,
it will return success (HTTP 200
) but no content.
get_coverage_statistics(client, detector_id, input, options \\ [])
View SourceRetrieves aggregated statistics for your account.
If you are a GuardDuty administrator, you can retrieve the statistics for all the resources associated with the active member accounts in your organization who have enabled Runtime Monitoring and have the GuardDuty security agent running on their resources.
Retrieves a GuardDuty detector specified by the detectorId.
There might be regional differences because some data sources might not be available in all the Amazon Web Services Regions where GuardDuty is presently supported. For more information, see Regions and endpoints.
Returns the details of the filter specified by the filter name.
Describes Amazon GuardDuty findings specified by finding IDs.
get_findings_statistics(client, detector_id, input, options \\ [])
View SourceLists GuardDuty findings statistics for the specified detector ID.
You must provide either findingStatisticTypes
or
groupBy
parameter, and not both. You can use the maxResults
and orderBy
parameters only when using groupBy
.
There might be regional differences because some flags might not be available in all the Regions where GuardDuty is currently supported. For more information, see Regions and endpoints.
Returns the count of all GuardDuty membership invitations that were sent to the current member account except the currently accepted invitation.
Retrieves the IPSet specified by the ipSetId
.
get_malware_protection_plan(client, malware_protection_plan_id, options \\ [])
View SourceRetrieves the Malware Protection plan details associated with a Malware Protection plan ID.
Returns the details of the malware scan settings.
There might be regional differences because some data sources might not be available in all the Amazon Web Services Regions where GuardDuty is presently supported. For more information, see Regions and endpoints.
Provides the details for the GuardDuty administrator account associated with the current GuardDuty member account.
Describes which data sources are enabled for the member account's detector.
There might be regional differences because some data sources might not be available in all the Amazon Web Services Regions where GuardDuty is presently supported. For more information, see Regions and endpoints.
Retrieves GuardDuty member accounts (of the current GuardDuty administrator account) specified by the account IDs.
Retrieves how many active member accounts have each feature enabled within GuardDuty.
Only a delegated GuardDuty administrator of an organization can run this API.
When you create a new organization, it might take up to 24 hours to generate the statistics for the entire organization.
get_remaining_free_trial_days(client, detector_id, input, options \\ [])
View SourceProvides the number of days left for each data source used in the free trial period.
get_threat_intel_set(client, detector_id, threat_intel_set_id, options \\ [])
View SourceRetrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID.
Lists Amazon GuardDuty usage statistics over the last 30 days for the specified detector ID.
For newly enabled detectors or data sources, the cost returned will include only the usage so far under 30 days. This may differ from the cost metrics in the console, which project usage over 30 days to provide a monthly cost estimate. For more information, see Understanding How Usage Costs are Calculated.
Invites Amazon Web Services accounts to become members of an organization administered by the Amazon Web Services account that invokes this API.
If you are using Amazon Web Services Organizations to manage your GuardDuty environment, this step is not needed. For more information, see Managing accounts with organizations.
To invite Amazon Web Services accounts, the first step is to ensure that GuardDuty has been enabled in the potential member accounts. You can now invoke this API to add accounts by invitation. The invited accounts can either accept or decline the invitation from their GuardDuty accounts. Each invited Amazon Web Services account can choose to accept the invitation from only one Amazon Web Services account. For more information, see Managing GuardDuty accounts by invitation.
After the invite has been accepted and you choose to disassociate a member account (by using DisassociateMembers) from your account, the details of the member account obtained by invoking CreateMembers, including the associated email addresses, will be retained. This is done so that you can invoke InviteMembers without the need to invoke CreateMembers again. To remove the details associated with a member account, you must also invoke DeleteMembers.
If you disassociate a member account that was added by invitation, the member account details obtained from this API, including the associated email addresses, will be retained. This is done so that the delegated administrator can invoke the InviteMembers API without the need to invoke the CreateMembers API again. To remove the details associated with a member account, the delegated administrator must invoke the DeleteMembers API.
When the member accounts added through Organizations are later disassociated, you (administrator) can't invite them by calling the InviteMembers API. You can create an association with these member accounts again only by calling the CreateMembers API.
Lists coverage details for your GuardDuty account.
If you're a GuardDuty administrator, you can retrieve all resources associated with the active member accounts in your organization.
Make sure the accounts have Runtime Monitoring enabled and GuardDuty agent running on their resources.
list_detectors(client, max_results \\ nil, next_token \\ nil, options \\ [])
View SourceLists detectorIds of all the existing Amazon GuardDuty detector resources.
list_filters(client, detector_id, max_results \\ nil, next_token \\ nil, options \\ [])
View SourceReturns a paginated list of the current filters.
Lists GuardDuty findings for the specified detector ID.
There might be regional differences because some flags might not be available in all the Regions where GuardDuty is currently supported. For more information, see Regions and endpoints.
list_invitations(client, max_results \\ nil, next_token \\ nil, options \\ [])
View SourceLists all GuardDuty membership invitations that were sent to the current Amazon Web Services account.
list_ip_sets(client, detector_id, max_results \\ nil, next_token \\ nil, options \\ [])
View SourceLists the IPSets of the GuardDuty service specified by the detector ID.
If you use this operation from a member account, the IPSets returned are the IPSets from the associated administrator account.
list_malware_protection_plans(client, next_token \\ nil, options \\ [])
View SourceLists the Malware Protection plan IDs associated with the protected resources in your Amazon Web Services account.
list_members(client, detector_id, max_results \\ nil, next_token \\ nil, only_associated \\ nil, options \\ [])
View SourceLists details about all member accounts for the current GuardDuty administrator account.
list_organization_admin_accounts(client, max_results \\ nil, next_token \\ nil, options \\ [])
View SourceLists the accounts designated as GuardDuty delegated administrators.
Only the organization's management account can run this API operation.
list_publishing_destinations(client, detector_id, max_results \\ nil, next_token \\ nil, options \\ [])
View SourceReturns a list of publishing destinations associated with the specified
detectorId
.
Lists tags for a resource.
Tagging is currently supported for detectors, finding filters, IP sets, threat intel sets, and publishing destination, with a limit of 50 tags per resource. When invoked, this operation returns all assigned tags for a given resource.
list_threat_intel_sets(client, detector_id, max_results \\ nil, next_token \\ nil, options \\ [])
View SourceLists the ThreatIntelSets of the GuardDuty service specified by the detector ID.
If you use this operation from a member account, the ThreatIntelSets associated with the administrator account are returned.
Initiates the malware scan.
Invoking this API will automatically create the Service-linked role in the corresponding account.
When the malware scan starts, you can use the associated scan ID to track the status of the scan. For more information, see DescribeMalwareScans.
start_monitoring_members(client, detector_id, input, options \\ [])
View SourceTurns on GuardDuty monitoring of the specified member accounts.
Use this operation to restart monitoring of accounts that you stopped monitoring with the StopMonitoringMembers operation.
stop_monitoring_members(client, detector_id, input, options \\ [])
View SourceStops GuardDuty monitoring for the specified member accounts.
Use the
StartMonitoringMembers
operation to restart monitoring for those
accounts.
With autoEnableOrganizationMembers
configuration for your organization set to
ALL
, you'll receive an error if you attempt to stop monitoring the member
accounts in your organization.
Adds tags to a resource.
Unarchives GuardDuty findings specified by the findingIds
.
Removes tags from a resource.
Updates the GuardDuty detector specified by the detector ID.
Specifying both EKS Runtime Monitoring (EKS_RUNTIME_MONITORING
)
and Runtime Monitoring (RUNTIME_MONITORING
) will cause an error.
You can add only one of these two features because Runtime Monitoring already
includes the
threat detection for Amazon EKS resources. For more information, see
Runtime Monitoring.
There might be regional differences because some data sources might not be available in all the Amazon Web Services Regions where GuardDuty is presently supported. For more information, see Regions and endpoints.
update_filter(client, detector_id, filter_name, input, options \\ [])
View SourceUpdates the filter specified by the filter name.
update_findings_feedback(client, detector_id, input, options \\ [])
View SourceMarks the specified GuardDuty findings as useful or not useful.
update_ip_set(client, detector_id, ip_set_id, input, options \\ [])
View SourceUpdates the IPSet specified by the IPSet ID.
update_malware_protection_plan(client, malware_protection_plan_id, input, options \\ [])
View SourceUpdates an existing Malware Protection plan resource.
update_malware_scan_settings(client, detector_id, input, options \\ [])
View SourceUpdates the malware scan settings.
There might be regional differences because some data sources might not be available in all the Amazon Web Services Regions where GuardDuty is presently supported. For more information, see Regions and endpoints.
update_member_detectors(client, detector_id, input, options \\ [])
View SourceContains information on member accounts to be updated.
Specifying both EKS Runtime Monitoring (EKS_RUNTIME_MONITORING
)
and Runtime Monitoring (RUNTIME_MONITORING
) will cause an error.
You can add only one of these two features because Runtime Monitoring already
includes the
threat detection for Amazon EKS resources. For more information, see
Runtime Monitoring.
There might be regional differences because some data sources might not be available in all the Amazon Web Services Regions where GuardDuty is presently supported. For more information, see Regions and endpoints.
update_organization_configuration(client, detector_id, input, options \\ [])
View SourceConfigures the delegated administrator account with the provided values.
You must provide
a value for either autoEnableOrganizationMembers
or autoEnable
, but not
both.
Specifying both EKS Runtime Monitoring (EKS_RUNTIME_MONITORING
)
and Runtime Monitoring (RUNTIME_MONITORING
) will cause an error.
You can add only one of these two features because Runtime Monitoring already
includes the
threat detection for Amazon EKS resources. For more information, see
Runtime Monitoring.
There might be regional differences because some data sources might not be available in all the Amazon Web Services Regions where GuardDuty is presently supported. For more information, see Regions and endpoints.
update_publishing_destination(client, destination_id, detector_id, input, options \\ [])
View SourceUpdates information about the publishing destination specified by the
destinationId
.
update_threat_intel_set(client, detector_id, threat_intel_set_id, input, options \\ [])
View SourceUpdates the ThreatIntelSet specified by the ThreatIntelSet ID.