AWS SecurityHub

2026/10/13 - AWS SecurityHub - 10 updated api methods

Changes  Adds and updates APIs to support criticality. This feature allows customers to create automation rules to assign criticality to resources matching a criteria. With this release, resources and exposure findings will include the criticality.

CreateAutomationRuleV2 (updated) Link ¶
Changes (request)
{'Actions': {'ResourceFieldsUpdate': {'Criticality': 'Very High | High | '
                                                     'Medium | Low | Unknown'},
             'Type': {'RESOURCE_FIELDS_UPDATE'}},
 'Criteria': {'OcsfFindingCriteria': {'CompositeFilters': {'StringFilters': {'FieldName': {'impact',
                                                                                           'likelihood',
                                                                                           'resources.criticality'}}}},
              'ResourceCriteria': {'CompositeFilters': [{'DateFilters': [{'FieldName': 'ResourceDetailCaptureTime '
                                                                                       '| '
                                                                                       'ResourceCreationTime',
                                                                          'Filter': {'DateRange': {'Comparison': 'WITHIN '
                                                                                                                 '| '
                                                                                                                 'OLDER_THAN',
                                                                                                   'Unit': 'DAYS',
                                                                                                   'Value': 'integer'},
                                                                                     'End': 'string',
                                                                                     'Start': 'string'}}],
                                                         'MapFilters': [{'FieldName': 'ResourceTags',
                                                                         'Filter': {'Comparison': 'EQUALS '
                                                                                                  '| '
                                                                                                  'NOT_EQUALS '
                                                                                                  '| '
                                                                                                  'CONTAINS '
                                                                                                  '| '
                                                                                                  'NOT_CONTAINS',
                                                                                    'Key': 'string',
                                                                                    'Value': 'string'}}],
                                                         'NestedCompositeFilters': (),
                                                         'NumberFilters': [{'FieldName': 'FindingsSummary.TotalFindings '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Other '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Fatal '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Critical '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.High '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Medium '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Low '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Informational '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Unknown '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIModelResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIAgentResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIModelServingResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIExternalEndpointResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIDevelopmentResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIAgentFrameworkResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIAgentToolsAndIdentityResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedTotalAIResourceCount',
                                                                            'Filter': {'Eq': 'double',
                                                                                       'Gt': 'double',
                                                                                       'Gte': 'double',
                                                                                       'Lt': 'double',
                                                                                       'Lte': 'double'}}],
                                                         'Operator': 'AND | OR',
                                                         'StringFilters': [{'FieldName': 'ResourceGuid '
                                                                                         '| '
                                                                                         'ResourceId '
                                                                                         '| '
                                                                                         'AccountId '
                                                                                         '| '
                                                                                         'AccountName '
                                                                                         '| '
                                                                                         'Region '
                                                                                         '| '
                                                                                         'ResourceProvider '
                                                                                         '| '
                                                                                         'ResourceOwnerAccountId '
                                                                                         '| '
                                                                                         'ResourceOwnerOrgId '
                                                                                         '| '
                                                                                         'ResourceCloudPartition '
                                                                                         '| '
                                                                                         'ResourceRegion '
                                                                                         '| '
                                                                                         'ResourceCategory '
                                                                                         '| '
                                                                                         'ResourceType '
                                                                                         '| '
                                                                                         'ResourceName '
                                                                                         '| '
                                                                                         'FindingsSummary.FindingType '
                                                                                         '| '
                                                                                         'FindingsSummary.ProductName '
                                                                                         '| '
                                                                                         'ResourceSubCategory '
                                                                                         '| '
                                                                                         'DiscoveryType '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.HostResourceGuid '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.HostResourceType '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.CanonicalId '
                                                                                         '| '
                                                                                         'ResourceCriticality',
                                                                            'Filter': {'Comparison': 'EQUALS '
                                                                                                     '| '
                                                                                                     'PREFIX '
                                                                                                     '| '
                                                                                                     'NOT_EQUALS '
                                                                                                     '| '
                                                                                                     'PREFIX_NOT_EQUALS '
                                                                                                     '| '
                                                                                                     'CONTAINS '
                                                                                                     '| '
                                                                                                     'NOT_CONTAINS '
                                                                                                     '| '
                                                                                                     'CONTAINS_WORD',
                                                                                       'Value': 'string'}}]}],
                                   'CompositeOperator': 'AND | OR'}}}

Creates a V2 automation rule.

See also: AWS API Documentation

Request Syntax

client.create_automation_rule_v2(
    RuleName='string',
    RuleStatus='ENABLED'|'DISABLED',
    Description='string',
    RuleOrder=...,
    Criteria={
        'OcsfFindingCriteria': {
            'CompositeFilters': [
                {
                    'StringFilters': [
                        {
                            'FieldName': 'metadata.uid'|'activity_name'|'cloud.account.uid'|'cloud.provider'|'cloud.region'|'compliance.assessments.category'|'compliance.assessments.name'|'compliance.control'|'compliance.status'|'compliance.standards'|'finding_info.desc'|'finding_info.src_url'|'finding_info.title'|'finding_info.types'|'finding_info.uid'|'finding_info.related_events.traits.category'|'finding_info.related_events.uid'|'finding_info.related_events.product.uid'|'finding_info.related_events.title'|'impact'|'likelihood'|'metadata.product.name'|'metadata.product.uid'|'metadata.product.vendor_name'|'remediation.desc'|'remediation.references'|'resources.cloud_partition'|'resources.criticality'|'resources.name'|'resources.owner.account.uid'|'resources.owner.org.uid'|'resources.owner.account.name'|'resources.provider'|'resources.region'|'resources.type'|'resources.uid'|'severity'|'status'|'comment'|'vulnerabilities.fix_coverage'|'class_name'|'databucket.encryption_details.algorithm'|'databucket.encryption_details.key_uid'|'databucket.file.data_classifications.classifier_details.type'|'evidences.actor.user.account.uid'|'evidences.api.operation'|'evidences.api.response.error_message'|'evidences.api.service.name'|'evidences.connection_info.direction'|'evidences.connection_info.protocol_name'|'evidences.dst_endpoint.autonomous_system.name'|'evidences.dst_endpoint.location.city'|'evidences.dst_endpoint.location.country'|'evidences.src_endpoint.autonomous_system.name'|'evidences.src_endpoint.hostname'|'evidences.src_endpoint.location.city'|'evidences.src_endpoint.location.country'|'finding_info.analytic.name'|'malware.name'|'malware_scan_info.uid'|'malware.severity'|'resources.cloud_function.layers.uid_alt'|'resources.cloud_function.runtime'|'resources.cloud_function.user.uid'|'resources.device.encryption_details.key_uid'|'resources.device.image.uid'|'resources.image.architecture'|'resources.image.registry_uid'|'resources.image.repository_name'|'resources.image.uid'|'resources.subnet_info.uid'|'resources.vpc_uid'|'vulnerabilities.affected_code.file.path'|'vulnerabilities.affected_packages.name'|'vulnerabilities.cve.epss.score'|'vulnerabilities.cve.uid'|'vulnerabilities.related_vulnerabilities'|'cloud.account.name'|'vendor_attributes.severity',
                            'Filter': {
                                'Value': 'string',
                                'Comparison': 'EQUALS'|'PREFIX'|'NOT_EQUALS'|'PREFIX_NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'|'CONTAINS_WORD'
                            }
                        },
                    ],
                    'DateFilters': [
                        {
                            'FieldName': 'finding_info.created_time_dt'|'finding_info.first_seen_time_dt'|'finding_info.last_seen_time_dt'|'finding_info.modified_time_dt'|'resources.image.created_time_dt'|'resources.image.last_used_time_dt'|'resources.modified_time_dt',
                            'Filter': {
                                'Start': 'string',
                                'End': 'string',
                                'DateRange': {
                                    'Value': 123,
                                    'Unit': 'DAYS',
                                    'Comparison': 'WITHIN'|'OLDER_THAN'
                                }
                            }
                        },
                    ],
                    'BooleanFilters': [
                        {
                            'FieldName': 'compliance.assessments.meets_criteria'|'vulnerabilities.is_exploit_available'|'vulnerabilities.is_fix_available',
                            'Filter': {
                                'Value': True|False
                            }
                        },
                    ],
                    'NumberFilters': [
                        {
                            'FieldName': 'activity_id'|'compliance.status_id'|'confidence_score'|'severity_id'|'status_id'|'finding_info.related_events_count'|'evidences.api.response.code'|'evidences.dst_endpoint.autonomous_system.number'|'evidences.dst_endpoint.port'|'evidences.src_endpoint.autonomous_system.number'|'evidences.src_endpoint.port'|'resources.image.in_use_count'|'vulnerabilities.cve.cvss.base_score'|'vendor_attributes.severity_id',
                            'Filter': {
                                'Gte': 123.0,
                                'Lte': 123.0,
                                'Eq': 123.0,
                                'Gt': 123.0,
                                'Lt': 123.0
                            }
                        },
                    ],
                    'MapFilters': [
                        {
                            'FieldName': 'resources.tags'|'compliance.control_parameters'|'databucket.tags'|'finding_info.tags',
                            'Filter': {
                                'Key': 'string',
                                'Value': 'string',
                                'Comparison': 'EQUALS'|'NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'
                            }
                        },
                    ],
                    'IpFilters': [
                        {
                            'FieldName': 'evidences.dst_endpoint.ip'|'evidences.src_endpoint.ip',
                            'Filter': {
                                'Cidr': 'string'
                            }
                        },
                    ],
                    'NestedCompositeFilters': {'... recursive ...'},
                    'Operator': 'AND'|'OR'
                },
            ],
            'CompositeOperator': 'AND'|'OR'
        },
        'ResourceCriteria': {
            'CompositeFilters': [
                {
                    'StringFilters': [
                        {
                            'FieldName': 'ResourceGuid'|'ResourceId'|'AccountId'|'AccountName'|'Region'|'ResourceProvider'|'ResourceOwnerAccountId'|'ResourceOwnerOrgId'|'ResourceCloudPartition'|'ResourceRegion'|'ResourceCategory'|'ResourceType'|'ResourceName'|'FindingsSummary.FindingType'|'FindingsSummary.ProductName'|'ResourceSubCategory'|'DiscoveryType'|'ResourceInfo.AIDetails.HostResourceGuid'|'ResourceInfo.AIDetails.HostResourceType'|'ResourceInfo.AIDetails.CanonicalId'|'ResourceCriticality',
                            'Filter': {
                                'Value': 'string',
                                'Comparison': 'EQUALS'|'PREFIX'|'NOT_EQUALS'|'PREFIX_NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'|'CONTAINS_WORD'
                            }
                        },
                    ],
                    'DateFilters': [
                        {
                            'FieldName': 'ResourceDetailCaptureTime'|'ResourceCreationTime',
                            'Filter': {
                                'Start': 'string',
                                'End': 'string',
                                'DateRange': {
                                    'Value': 123,
                                    'Unit': 'DAYS',
                                    'Comparison': 'WITHIN'|'OLDER_THAN'
                                }
                            }
                        },
                    ],
                    'NumberFilters': [
                        {
                            'FieldName': 'FindingsSummary.TotalFindings'|'FindingsSummary.Severities.Other'|'FindingsSummary.Severities.Fatal'|'FindingsSummary.Severities.Critical'|'FindingsSummary.Severities.High'|'FindingsSummary.Severities.Medium'|'FindingsSummary.Severities.Low'|'FindingsSummary.Severities.Informational'|'FindingsSummary.Severities.Unknown'|'ResourceInfo.AIDetails.SelfHostedAIModelResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIAgentResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIModelServingResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIExternalEndpointResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIDevelopmentResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIAgentFrameworkResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIAgentToolsAndIdentityResourceCount'|'ResourceInfo.AIDetails.SelfHostedTotalAIResourceCount',
                            'Filter': {
                                'Gte': 123.0,
                                'Lte': 123.0,
                                'Eq': 123.0,
                                'Gt': 123.0,
                                'Lt': 123.0
                            }
                        },
                    ],
                    'MapFilters': [
                        {
                            'FieldName': 'ResourceTags',
                            'Filter': {
                                'Key': 'string',
                                'Value': 'string',
                                'Comparison': 'EQUALS'|'NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'
                            }
                        },
                    ],
                    'NestedCompositeFilters': {'... recursive ...'},
                    'Operator': 'AND'|'OR'
                },
            ],
            'CompositeOperator': 'AND'|'OR'
        }
    },
    Actions=[
        {
            'Type': 'FINDING_FIELDS_UPDATE'|'EXTERNAL_INTEGRATION'|'RESOURCE_FIELDS_UPDATE',
            'FindingFieldsUpdate': {
                'SeverityId': 123,
                'Comment': 'string',
                'StatusId': 123
            },
            'ExternalIntegrationConfiguration': {
                'ConnectorArn': 'string'
            },
            'ResourceFieldsUpdate': {
                'Criticality': 'Very High'|'High'|'Medium'|'Low'|'Unknown'
            }
        },
    ],
    Tags={
        'string': 'string'
    },
    ClientToken='string'
)
type RuleName:

string

param RuleName:

[REQUIRED]

The name of the V2 automation rule.

type RuleStatus:

string

param RuleStatus:

The status of the V2 automation rule.

type Description:

string

param Description:

[REQUIRED]

A description of the V2 automation rule.

type RuleOrder:

float

param RuleOrder:

[REQUIRED]

The value for the rule priority.

type Criteria:

dict

param Criteria:

[REQUIRED]

The filtering type and configuration of the automation rule.

  • OcsfFindingCriteria (dict) --

    The filtering conditions that align with OCSF standards.

    • CompositeFilters (list) --

      Enables the creation of complex filtering conditions by combining filter criteria.

      • (dict) --

        Enables the creation of filtering criteria for security findings.

        • StringFilters (list) --

          Enables filtering based on string field values.

          • (dict) --

            Enables filtering of security findings based on string field values in OCSF.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              A string filter for filtering Security Hub CSPM findings.

              • Value (string) --

                The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is Security Hub CSPM. If you provide security hub as the filter value, there's no match.

              • Comparison (string) --

                The condition to apply to a string value when filtering Security Hub CSPM findings.

                To search for values that have the filter value, use one of the following comparison operators:

                • To search for values that include the filter value, use CONTAINS. For example, the filter Title CONTAINS CloudFront matches findings that have a Title that includes the string CloudFront.

                • To search for values that contain a word matching the filter value, regardless of case, use CONTAINS_WORD. For example, the filter Title CONTAINS_WORD lambda matches a finding whose Title is GuardDuty Lambda Protection, because the Title contains the word Lambda. Including special characters in the filter value might produce unexpected search results.

                • To search for values that exactly match the filter value, use EQUALS. For example, the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of 123456789012.

                • To search for values that start with the filter value, use PREFIX. For example, the filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts with us. A ResourceRegion that starts with a different value, such as af, ap, or ca, doesn't match.

                CONTAINS, EQUALS, and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR Title CONTAINS CloudWatch match a finding that includes either CloudFront, CloudWatch, or both strings in the title.

                To search for values that don’t have the filter value, use one of the following comparison operators:

                • To search for values that exclude the filter value, use NOT_CONTAINS. For example, the filter Title NOT_CONTAINS CloudFront matches findings that have a Title that excludes the string CloudFront.

                • To search for values other than the filter value, use NOT_EQUALS. For example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account ID other than 123456789012.

                • To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a ResourceRegion that starts with a value other than us.

                NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and CloudWatch in the title.

                You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can't provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub CSPM first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

                For example, for the following filters, Security Hub CSPM first identifies findings that have resource types that start with either AwsIam or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

                • ResourceType PREFIX AwsIam

                • ResourceType PREFIX AwsEc2

                • ResourceType NOT_EQUALS AwsIamPolicy

                • ResourceType NOT_EQUALS AwsEc2NetworkInterface

                The CONTAINS operator works with automation rules V1 and V2. The NOT_CONTAINS operator works only with automation rules V1. The CONTAINS_WORD operator works only in the GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2, and GetResourcesStatisticsV2 APIs. For more information, see Automation rules in the Security Hub CSPM User Guide.

        • DateFilters (list) --

          Enables filtering based on date and timestamp fields.

          • (dict) --

            Enables filtering of security findings based on date and timestamp fields in OCSF.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              A date filter for querying findings.

              • Start (string) --

                A timestamp that provides the start date for the date filter.

                For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

              • End (string) --

                A timestamp that provides the end date for the date filter.

                For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

              • DateRange (dict) --

                A date range for the date filter.

                • Value (integer) --

                  A date range value for the date filter.

                • Unit (string) --

                  A date range unit for the date filter.

                • Comparison (string) --

                  The condition to apply to a date range filter. If you specify WITHIN, Security Hub filters for dates within the specified date range. If you specify OLDER_THAN, Security Hub filters for dates before the specified date range. If you don't specify a value, the default is WITHIN.

        • BooleanFilters (list) --

          Enables filtering based on boolean field values.

          • (dict) --

            Enables filtering of security findings based on boolean field values in OCSF.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              Boolean filter for querying findings.

              • Value (boolean) --

                The value of the boolean.

        • NumberFilters (list) --

          Enables filtering based on numerical field values.

          • (dict) --

            Enables filtering of security findings based on numerical field values in OCSF.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              A number filter for querying findings.

              • Gte (float) --

                The greater-than-equal condition to be applied to a single field when querying for findings.

              • Lte (float) --

                The less-than-equal condition to be applied to a single field when querying for findings.

              • Eq (float) --

                The equal-to condition to be applied to a single field when querying for findings.

              • Gt (float) --

                The greater-than condition to be applied to a single field when querying for findings.

              • Lt (float) --

                The less-than condition to be applied to a single field when querying for findings.

        • MapFilters (list) --

          Enables filtering based on map field values.

          • (dict) --

            Enables filtering of security findings based on map field values in OCSF.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              A map filter for filtering Security Hub CSPM findings. Each map filter provides the field to check for, the value to check for, and the comparison operator.

              • Key (string) --

                The key of the map filter. For example, for ResourceTags, Key identifies the name of the tag. For UserDefinedFields, Key is the name of the field.

              • Value (string) --

                The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called Department might be Security. If you provide security as the filter value, then there's no match.

              • Comparison (string) --

                The condition to apply to the key value when filtering Security Hub CSPM findings with a map filter.

                To search for values that have the filter value, use one of the following comparison operators:

                • To search for values that include the filter value, use CONTAINS. For example, for the ResourceTags field, the filter Department CONTAINS Security matches findings that include the value Security for the Department tag. In the same example, a finding with a value of Security team for the Department tag is a match.

                • To search for values that exactly match the filter value, use EQUALS. For example, for the ResourceTags field, the filter Department EQUALS Security matches findings that have the value Security for the Department tag.

                CONTAINS and EQUALS filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Department CONTAINS Security OR Department CONTAINS Finance match a finding that includes either Security, Finance, or both values.

                To search for values that don't have the filter value, use one of the following comparison operators:

                • To search for values that exclude the filter value, use NOT_CONTAINS. For example, for the ResourceTags field, the filter Department NOT_CONTAINS Finance matches findings that exclude the value Finance for the Department tag.

                • To search for values other than the filter value, use NOT_EQUALS. For example, for the ResourceTags field, the filter Department NOT_EQUALS Finance matches findings that don’t have the value Finance for the Department tag.

                NOT_CONTAINS and NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance match a finding that excludes both the Security and Finance values.

                CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can’t have both an EQUALS filter and a NOT_EQUALS filter on the same field. Combining filters in this way returns an error.

                CONTAINS and NOT_CONTAINS operators can be used only with automation rules. For more information, see Automation rules in the Security Hub CSPM User Guide.

        • IpFilters (list) --

          A list of IP address filters that allowing you to filter findings based on IP address properties.

          • (dict) --

            The structure for filtering findings based on IP address attributes.

            • FieldName (string) --

              The name of the IP address field to filter on.

            • Filter (dict) --

              The IP filter for querying findings.

              • Cidr (string) --

                A finding's CIDR value.

        • NestedCompositeFilters (list) --

          Provides an additional level of filtering, creating a three-layer nested structure. The first layer is a CompositeFilters array with a CompositeOperator ( AND/ OR). The second layer is a CompositeFilter object that contains direct filters and NestedCompositeFilters. The third layer is NestedCompositeFilters, which contains additional filter conditions.

        • Operator (string) --

          The logical operator used to combine multiple filter conditions.

    • CompositeOperator (string) --

      The logical operators used to combine the filtering on multiple CompositeFilters.

  • ResourceCriteria (dict) --

    The filtering conditions for resources.

    • CompositeFilters (list) --

      A collection of complex filtering conditions that can be applied to Amazon Web Services resources.

      • (dict) --

        Enables the creation of criteria for Amazon Web Services resources in Security Hub CSPM.

        • StringFilters (list) --

          Enables filtering based on string field values.

          • (dict) --

            Enables filtering of Amazon Web Services resources based on string field values.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              A string filter for filtering Security Hub CSPM findings.

              • Value (string) --

                The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is Security Hub CSPM. If you provide security hub as the filter value, there's no match.

              • Comparison (string) --

                The condition to apply to a string value when filtering Security Hub CSPM findings.

                To search for values that have the filter value, use one of the following comparison operators:

                • To search for values that include the filter value, use CONTAINS. For example, the filter Title CONTAINS CloudFront matches findings that have a Title that includes the string CloudFront.

                • To search for values that contain a word matching the filter value, regardless of case, use CONTAINS_WORD. For example, the filter Title CONTAINS_WORD lambda matches a finding whose Title is GuardDuty Lambda Protection, because the Title contains the word Lambda. Including special characters in the filter value might produce unexpected search results.

                • To search for values that exactly match the filter value, use EQUALS. For example, the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of 123456789012.

                • To search for values that start with the filter value, use PREFIX. For example, the filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts with us. A ResourceRegion that starts with a different value, such as af, ap, or ca, doesn't match.

                CONTAINS, EQUALS, and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR Title CONTAINS CloudWatch match a finding that includes either CloudFront, CloudWatch, or both strings in the title.

                To search for values that don’t have the filter value, use one of the following comparison operators:

                • To search for values that exclude the filter value, use NOT_CONTAINS. For example, the filter Title NOT_CONTAINS CloudFront matches findings that have a Title that excludes the string CloudFront.

                • To search for values other than the filter value, use NOT_EQUALS. For example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account ID other than 123456789012.

                • To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a ResourceRegion that starts with a value other than us.

                NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and CloudWatch in the title.

                You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can't provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub CSPM first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

                For example, for the following filters, Security Hub CSPM first identifies findings that have resource types that start with either AwsIam or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

                • ResourceType PREFIX AwsIam

                • ResourceType PREFIX AwsEc2

                • ResourceType NOT_EQUALS AwsIamPolicy

                • ResourceType NOT_EQUALS AwsEc2NetworkInterface

                The CONTAINS operator works with automation rules V1 and V2. The NOT_CONTAINS operator works only with automation rules V1. The CONTAINS_WORD operator works only in the GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2, and GetResourcesStatisticsV2 APIs. For more information, see Automation rules in the Security Hub CSPM User Guide.

        • DateFilters (list) --

          Enables filtering based on date and timestamp field values.

          • (dict) --

            Enables the filtering of Amazon Web Services resources based on date and timestamp attributes.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              A date filter for querying findings.

              • Start (string) --

                A timestamp that provides the start date for the date filter.

                For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

              • End (string) --

                A timestamp that provides the end date for the date filter.

                For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

              • DateRange (dict) --

                A date range for the date filter.

                • Value (integer) --

                  A date range value for the date filter.

                • Unit (string) --

                  A date range unit for the date filter.

                • Comparison (string) --

                  The condition to apply to a date range filter. If you specify WITHIN, Security Hub filters for dates within the specified date range. If you specify OLDER_THAN, Security Hub filters for dates before the specified date range. If you don't specify a value, the default is WITHIN.

        • NumberFilters (list) --

          Enables filtering based on numerical field values.

          • (dict) --

            Enables filtering of Amazon Web Services resources based on numerical values.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              A number filter for querying findings.

              • Gte (float) --

                The greater-than-equal condition to be applied to a single field when querying for findings.

              • Lte (float) --

                The less-than-equal condition to be applied to a single field when querying for findings.

              • Eq (float) --

                The equal-to condition to be applied to a single field when querying for findings.

              • Gt (float) --

                The greater-than condition to be applied to a single field when querying for findings.

              • Lt (float) --

                The less-than condition to be applied to a single field when querying for findings.

        • MapFilters (list) --

          Enables filtering based on map-based field values.

          • (dict) --

            Enables filtering of Amazon Web Services resources based on key-value map attributes.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              A map filter for filtering Security Hub CSPM findings. Each map filter provides the field to check for, the value to check for, and the comparison operator.

              • Key (string) --

                The key of the map filter. For example, for ResourceTags, Key identifies the name of the tag. For UserDefinedFields, Key is the name of the field.

              • Value (string) --

                The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called Department might be Security. If you provide security as the filter value, then there's no match.

              • Comparison (string) --

                The condition to apply to the key value when filtering Security Hub CSPM findings with a map filter.

                To search for values that have the filter value, use one of the following comparison operators:

                • To search for values that include the filter value, use CONTAINS. For example, for the ResourceTags field, the filter Department CONTAINS Security matches findings that include the value Security for the Department tag. In the same example, a finding with a value of Security team for the Department tag is a match.

                • To search for values that exactly match the filter value, use EQUALS. For example, for the ResourceTags field, the filter Department EQUALS Security matches findings that have the value Security for the Department tag.

                CONTAINS and EQUALS filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Department CONTAINS Security OR Department CONTAINS Finance match a finding that includes either Security, Finance, or both values.

                To search for values that don't have the filter value, use one of the following comparison operators:

                • To search for values that exclude the filter value, use NOT_CONTAINS. For example, for the ResourceTags field, the filter Department NOT_CONTAINS Finance matches findings that exclude the value Finance for the Department tag.

                • To search for values other than the filter value, use NOT_EQUALS. For example, for the ResourceTags field, the filter Department NOT_EQUALS Finance matches findings that don’t have the value Finance for the Department tag.

                NOT_CONTAINS and NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance match a finding that excludes both the Security and Finance values.

                CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can’t have both an EQUALS filter and a NOT_EQUALS filter on the same field. Combining filters in this way returns an error.

                CONTAINS and NOT_CONTAINS operators can be used only with automation rules. For more information, see Automation rules in the Security Hub CSPM User Guide.

        • NestedCompositeFilters (list) --

          Provides an additional level of filtering, creating a three-layer nested structure. The first layer is a CompositeFilters array with a CompositeOperator ( AND/ OR). The second layer is a CompositeFilter object that contains direct filters and NestedCompositeFilters. The third layer is NestedCompositeFilters, which contains additional filter conditions.

        • Operator (string) --

          The logical operator used to combine multiple filter conditions.

    • CompositeOperator (string) --

      The logical operator used to combine multiple filter conditions in the structure.

type Actions:

list

param Actions:

[REQUIRED]

A list of actions to be performed when the rule criteria is met.

  • (dict) --

    Allows you to configure automated responses.

    • Type (string) -- [REQUIRED]

      The category of action to be executed by the automation rule.

    • FindingFieldsUpdate (dict) --

      The changes to be applied to fields in a security finding when an automation rule is triggered.

      • SeverityId (integer) --

        The severity level to be assigned to findings that match the automation rule criteria.

      • Comment (string) --

        Notes or contextual information for findings that are modified by the automation rule.

      • StatusId (integer) --

        The status to be applied to findings that match automation rule criteria.

    • ExternalIntegrationConfiguration (dict) --

      The settings for integrating automation rule actions with external systems or service.

      • ConnectorArn (string) --

        The ARN of the connector that establishes the integration.

    • ResourceFieldsUpdate (dict) --

      The changes to be applied to resource fields when an automation rule is triggered.

      • Criticality (string) -- [REQUIRED]

        The criticality level to be assigned to resources that match the automation rule criteria.

type Tags:

dict

param Tags:

A list of key-value pairs associated with the V2 automation rule.

  • (string) --

    • (string) --

type ClientToken:

string

param ClientToken:

A unique identifier used to ensure idempotency.

This field is autopopulated if not provided.

rtype:

dict

returns:

Response Syntax

{
    'RuleArn': 'string',
    'RuleId': 'string'
}

Response Structure

  • (dict) --

    • RuleArn (string) --

      The ARN of the V2 automation rule.

    • RuleId (string) --

      The ID of the V2 automation rule.

GetAutomationRuleV2 (updated) Link ¶
Changes (response)
{'Actions': {'ResourceFieldsUpdate': {'Criticality': 'Very High | High | '
                                                     'Medium | Low | Unknown'},
             'Type': {'RESOURCE_FIELDS_UPDATE'}},
 'Criteria': {'OcsfFindingCriteria': {'CompositeFilters': {'StringFilters': {'FieldName': {'impact',
                                                                                           'likelihood',
                                                                                           'resources.criticality'}}}},
              'ResourceCriteria': {'CompositeFilters': [{'DateFilters': [{'FieldName': 'ResourceDetailCaptureTime '
                                                                                       '| '
                                                                                       'ResourceCreationTime',
                                                                          'Filter': {'DateRange': {'Comparison': 'WITHIN '
                                                                                                                 '| '
                                                                                                                 'OLDER_THAN',
                                                                                                   'Unit': 'DAYS',
                                                                                                   'Value': 'integer'},
                                                                                     'End': 'string',
                                                                                     'Start': 'string'}}],
                                                         'MapFilters': [{'FieldName': 'ResourceTags',
                                                                         'Filter': {'Comparison': 'EQUALS '
                                                                                                  '| '
                                                                                                  'NOT_EQUALS '
                                                                                                  '| '
                                                                                                  'CONTAINS '
                                                                                                  '| '
                                                                                                  'NOT_CONTAINS',
                                                                                    'Key': 'string',
                                                                                    'Value': 'string'}}],
                                                         'NestedCompositeFilters': (),
                                                         'NumberFilters': [{'FieldName': 'FindingsSummary.TotalFindings '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Other '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Fatal '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Critical '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.High '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Medium '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Low '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Informational '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Unknown '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIModelResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIAgentResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIModelServingResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIExternalEndpointResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIDevelopmentResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIAgentFrameworkResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIAgentToolsAndIdentityResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedTotalAIResourceCount',
                                                                            'Filter': {'Eq': 'double',
                                                                                       'Gt': 'double',
                                                                                       'Gte': 'double',
                                                                                       'Lt': 'double',
                                                                                       'Lte': 'double'}}],
                                                         'Operator': 'AND | OR',
                                                         'StringFilters': [{'FieldName': 'ResourceGuid '
                                                                                         '| '
                                                                                         'ResourceId '
                                                                                         '| '
                                                                                         'AccountId '
                                                                                         '| '
                                                                                         'AccountName '
                                                                                         '| '
                                                                                         'Region '
                                                                                         '| '
                                                                                         'ResourceProvider '
                                                                                         '| '
                                                                                         'ResourceOwnerAccountId '
                                                                                         '| '
                                                                                         'ResourceOwnerOrgId '
                                                                                         '| '
                                                                                         'ResourceCloudPartition '
                                                                                         '| '
                                                                                         'ResourceRegion '
                                                                                         '| '
                                                                                         'ResourceCategory '
                                                                                         '| '
                                                                                         'ResourceType '
                                                                                         '| '
                                                                                         'ResourceName '
                                                                                         '| '
                                                                                         'FindingsSummary.FindingType '
                                                                                         '| '
                                                                                         'FindingsSummary.ProductName '
                                                                                         '| '
                                                                                         'ResourceSubCategory '
                                                                                         '| '
                                                                                         'DiscoveryType '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.HostResourceGuid '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.HostResourceType '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.CanonicalId '
                                                                                         '| '
                                                                                         'ResourceCriticality',
                                                                            'Filter': {'Comparison': 'EQUALS '
                                                                                                     '| '
                                                                                                     'PREFIX '
                                                                                                     '| '
                                                                                                     'NOT_EQUALS '
                                                                                                     '| '
                                                                                                     'PREFIX_NOT_EQUALS '
                                                                                                     '| '
                                                                                                     'CONTAINS '
                                                                                                     '| '
                                                                                                     'NOT_CONTAINS '
                                                                                                     '| '
                                                                                                     'CONTAINS_WORD',
                                                                                       'Value': 'string'}}]}],
                                   'CompositeOperator': 'AND | OR'}}}

Returns an automation rule for the V2 service.

See also: AWS API Documentation

Request Syntax

client.get_automation_rule_v2(
    Identifier='string'
)
type Identifier:

string

param Identifier:

[REQUIRED]

The ARN of the V2 automation rule.

rtype:

dict

returns:

Response Syntax

{
    'RuleArn': 'string',
    'RuleId': 'string',
    'RuleOrder': ...,
    'RuleName': 'string',
    'RuleStatus': 'ENABLED'|'DISABLED',
    'Description': 'string',
    'Criteria': {
        'OcsfFindingCriteria': {
            'CompositeFilters': [
                {
                    'StringFilters': [
                        {
                            'FieldName': 'metadata.uid'|'activity_name'|'cloud.account.uid'|'cloud.provider'|'cloud.region'|'compliance.assessments.category'|'compliance.assessments.name'|'compliance.control'|'compliance.status'|'compliance.standards'|'finding_info.desc'|'finding_info.src_url'|'finding_info.title'|'finding_info.types'|'finding_info.uid'|'finding_info.related_events.traits.category'|'finding_info.related_events.uid'|'finding_info.related_events.product.uid'|'finding_info.related_events.title'|'impact'|'likelihood'|'metadata.product.name'|'metadata.product.uid'|'metadata.product.vendor_name'|'remediation.desc'|'remediation.references'|'resources.cloud_partition'|'resources.criticality'|'resources.name'|'resources.owner.account.uid'|'resources.owner.org.uid'|'resources.owner.account.name'|'resources.provider'|'resources.region'|'resources.type'|'resources.uid'|'severity'|'status'|'comment'|'vulnerabilities.fix_coverage'|'class_name'|'databucket.encryption_details.algorithm'|'databucket.encryption_details.key_uid'|'databucket.file.data_classifications.classifier_details.type'|'evidences.actor.user.account.uid'|'evidences.api.operation'|'evidences.api.response.error_message'|'evidences.api.service.name'|'evidences.connection_info.direction'|'evidences.connection_info.protocol_name'|'evidences.dst_endpoint.autonomous_system.name'|'evidences.dst_endpoint.location.city'|'evidences.dst_endpoint.location.country'|'evidences.src_endpoint.autonomous_system.name'|'evidences.src_endpoint.hostname'|'evidences.src_endpoint.location.city'|'evidences.src_endpoint.location.country'|'finding_info.analytic.name'|'malware.name'|'malware_scan_info.uid'|'malware.severity'|'resources.cloud_function.layers.uid_alt'|'resources.cloud_function.runtime'|'resources.cloud_function.user.uid'|'resources.device.encryption_details.key_uid'|'resources.device.image.uid'|'resources.image.architecture'|'resources.image.registry_uid'|'resources.image.repository_name'|'resources.image.uid'|'resources.subnet_info.uid'|'resources.vpc_uid'|'vulnerabilities.affected_code.file.path'|'vulnerabilities.affected_packages.name'|'vulnerabilities.cve.epss.score'|'vulnerabilities.cve.uid'|'vulnerabilities.related_vulnerabilities'|'cloud.account.name'|'vendor_attributes.severity',
                            'Filter': {
                                'Value': 'string',
                                'Comparison': 'EQUALS'|'PREFIX'|'NOT_EQUALS'|'PREFIX_NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'|'CONTAINS_WORD'
                            }
                        },
                    ],
                    'DateFilters': [
                        {
                            'FieldName': 'finding_info.created_time_dt'|'finding_info.first_seen_time_dt'|'finding_info.last_seen_time_dt'|'finding_info.modified_time_dt'|'resources.image.created_time_dt'|'resources.image.last_used_time_dt'|'resources.modified_time_dt',
                            'Filter': {
                                'Start': 'string',
                                'End': 'string',
                                'DateRange': {
                                    'Value': 123,
                                    'Unit': 'DAYS',
                                    'Comparison': 'WITHIN'|'OLDER_THAN'
                                }
                            }
                        },
                    ],
                    'BooleanFilters': [
                        {
                            'FieldName': 'compliance.assessments.meets_criteria'|'vulnerabilities.is_exploit_available'|'vulnerabilities.is_fix_available',
                            'Filter': {
                                'Value': True|False
                            }
                        },
                    ],
                    'NumberFilters': [
                        {
                            'FieldName': 'activity_id'|'compliance.status_id'|'confidence_score'|'severity_id'|'status_id'|'finding_info.related_events_count'|'evidences.api.response.code'|'evidences.dst_endpoint.autonomous_system.number'|'evidences.dst_endpoint.port'|'evidences.src_endpoint.autonomous_system.number'|'evidences.src_endpoint.port'|'resources.image.in_use_count'|'vulnerabilities.cve.cvss.base_score'|'vendor_attributes.severity_id',
                            'Filter': {
                                'Gte': 123.0,
                                'Lte': 123.0,
                                'Eq': 123.0,
                                'Gt': 123.0,
                                'Lt': 123.0
                            }
                        },
                    ],
                    'MapFilters': [
                        {
                            'FieldName': 'resources.tags'|'compliance.control_parameters'|'databucket.tags'|'finding_info.tags',
                            'Filter': {
                                'Key': 'string',
                                'Value': 'string',
                                'Comparison': 'EQUALS'|'NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'
                            }
                        },
                    ],
                    'IpFilters': [
                        {
                            'FieldName': 'evidences.dst_endpoint.ip'|'evidences.src_endpoint.ip',
                            'Filter': {
                                'Cidr': 'string'
                            }
                        },
                    ],
                    'NestedCompositeFilters': {'... recursive ...'},
                    'Operator': 'AND'|'OR'
                },
            ],
            'CompositeOperator': 'AND'|'OR'
        },
        'ResourceCriteria': {
            'CompositeFilters': [
                {
                    'StringFilters': [
                        {
                            'FieldName': 'ResourceGuid'|'ResourceId'|'AccountId'|'AccountName'|'Region'|'ResourceProvider'|'ResourceOwnerAccountId'|'ResourceOwnerOrgId'|'ResourceCloudPartition'|'ResourceRegion'|'ResourceCategory'|'ResourceType'|'ResourceName'|'FindingsSummary.FindingType'|'FindingsSummary.ProductName'|'ResourceSubCategory'|'DiscoveryType'|'ResourceInfo.AIDetails.HostResourceGuid'|'ResourceInfo.AIDetails.HostResourceType'|'ResourceInfo.AIDetails.CanonicalId'|'ResourceCriticality',
                            'Filter': {
                                'Value': 'string',
                                'Comparison': 'EQUALS'|'PREFIX'|'NOT_EQUALS'|'PREFIX_NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'|'CONTAINS_WORD'
                            }
                        },
                    ],
                    'DateFilters': [
                        {
                            'FieldName': 'ResourceDetailCaptureTime'|'ResourceCreationTime',
                            'Filter': {
                                'Start': 'string',
                                'End': 'string',
                                'DateRange': {
                                    'Value': 123,
                                    'Unit': 'DAYS',
                                    'Comparison': 'WITHIN'|'OLDER_THAN'
                                }
                            }
                        },
                    ],
                    'NumberFilters': [
                        {
                            'FieldName': 'FindingsSummary.TotalFindings'|'FindingsSummary.Severities.Other'|'FindingsSummary.Severities.Fatal'|'FindingsSummary.Severities.Critical'|'FindingsSummary.Severities.High'|'FindingsSummary.Severities.Medium'|'FindingsSummary.Severities.Low'|'FindingsSummary.Severities.Informational'|'FindingsSummary.Severities.Unknown'|'ResourceInfo.AIDetails.SelfHostedAIModelResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIAgentResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIModelServingResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIExternalEndpointResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIDevelopmentResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIAgentFrameworkResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIAgentToolsAndIdentityResourceCount'|'ResourceInfo.AIDetails.SelfHostedTotalAIResourceCount',
                            'Filter': {
                                'Gte': 123.0,
                                'Lte': 123.0,
                                'Eq': 123.0,
                                'Gt': 123.0,
                                'Lt': 123.0
                            }
                        },
                    ],
                    'MapFilters': [
                        {
                            'FieldName': 'ResourceTags',
                            'Filter': {
                                'Key': 'string',
                                'Value': 'string',
                                'Comparison': 'EQUALS'|'NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'
                            }
                        },
                    ],
                    'NestedCompositeFilters': {'... recursive ...'},
                    'Operator': 'AND'|'OR'
                },
            ],
            'CompositeOperator': 'AND'|'OR'
        }
    },
    'Actions': [
        {
            'Type': 'FINDING_FIELDS_UPDATE'|'EXTERNAL_INTEGRATION'|'RESOURCE_FIELDS_UPDATE',
            'FindingFieldsUpdate': {
                'SeverityId': 123,
                'Comment': 'string',
                'StatusId': 123
            },
            'ExternalIntegrationConfiguration': {
                'ConnectorArn': 'string'
            },
            'ResourceFieldsUpdate': {
                'Criticality': 'Very High'|'High'|'Medium'|'Low'|'Unknown'
            }
        },
    ],
    'CreatedAt': datetime(2015, 1, 1),
    'UpdatedAt': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    • RuleArn (string) --

      The ARN of the V2 automation rule.

    • RuleId (string) --

      The ID of the V2 automation rule.

    • RuleOrder (float) --

      The value for the rule priority.

    • RuleName (string) --

      The name of the V2 automation rule.

    • RuleStatus (string) --

      The status of the V2 automation automation rule.

    • Description (string) --

      A description of the automation rule.

    • Criteria (dict) --

      The filtering type and configuration of the V2 automation rule.

      • OcsfFindingCriteria (dict) --

        The filtering conditions that align with OCSF standards.

        • CompositeFilters (list) --

          Enables the creation of complex filtering conditions by combining filter criteria.

          • (dict) --

            Enables the creation of filtering criteria for security findings.

            • StringFilters (list) --

              Enables filtering based on string field values.

              • (dict) --

                Enables filtering of security findings based on string field values in OCSF.

                • FieldName (string) --

                  The name of the field.

                • Filter (dict) --

                  A string filter for filtering Security Hub CSPM findings.

                  • Value (string) --

                    The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is Security Hub CSPM. If you provide security hub as the filter value, there's no match.

                  • Comparison (string) --

                    The condition to apply to a string value when filtering Security Hub CSPM findings.

                    To search for values that have the filter value, use one of the following comparison operators:

                    • To search for values that include the filter value, use CONTAINS. For example, the filter Title CONTAINS CloudFront matches findings that have a Title that includes the string CloudFront.

                    • To search for values that contain a word matching the filter value, regardless of case, use CONTAINS_WORD. For example, the filter Title CONTAINS_WORD lambda matches a finding whose Title is GuardDuty Lambda Protection, because the Title contains the word Lambda. Including special characters in the filter value might produce unexpected search results.

                    • To search for values that exactly match the filter value, use EQUALS. For example, the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of 123456789012.

                    • To search for values that start with the filter value, use PREFIX. For example, the filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts with us. A ResourceRegion that starts with a different value, such as af, ap, or ca, doesn't match.

                    CONTAINS, EQUALS, and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR Title CONTAINS CloudWatch match a finding that includes either CloudFront, CloudWatch, or both strings in the title.

                    To search for values that don’t have the filter value, use one of the following comparison operators:

                    • To search for values that exclude the filter value, use NOT_CONTAINS. For example, the filter Title NOT_CONTAINS CloudFront matches findings that have a Title that excludes the string CloudFront.

                    • To search for values other than the filter value, use NOT_EQUALS. For example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account ID other than 123456789012.

                    • To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a ResourceRegion that starts with a value other than us.

                    NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and CloudWatch in the title.

                    You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can't provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                    You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub CSPM first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

                    For example, for the following filters, Security Hub CSPM first identifies findings that have resource types that start with either AwsIam or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

                    • ResourceType PREFIX AwsIam

                    • ResourceType PREFIX AwsEc2

                    • ResourceType NOT_EQUALS AwsIamPolicy

                    • ResourceType NOT_EQUALS AwsEc2NetworkInterface

                    The CONTAINS operator works with automation rules V1 and V2. The NOT_CONTAINS operator works only with automation rules V1. The CONTAINS_WORD operator works only in the GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2, and GetResourcesStatisticsV2 APIs. For more information, see Automation rules in the Security Hub CSPM User Guide.

            • DateFilters (list) --

              Enables filtering based on date and timestamp fields.

              • (dict) --

                Enables filtering of security findings based on date and timestamp fields in OCSF.

                • FieldName (string) --

                  The name of the field.

                • Filter (dict) --

                  A date filter for querying findings.

                  • Start (string) --

                    A timestamp that provides the start date for the date filter.

                    For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

                  • End (string) --

                    A timestamp that provides the end date for the date filter.

                    For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

                  • DateRange (dict) --

                    A date range for the date filter.

                    • Value (integer) --

                      A date range value for the date filter.

                    • Unit (string) --

                      A date range unit for the date filter.

                    • Comparison (string) --

                      The condition to apply to a date range filter. If you specify WITHIN, Security Hub filters for dates within the specified date range. If you specify OLDER_THAN, Security Hub filters for dates before the specified date range. If you don't specify a value, the default is WITHIN.

            • BooleanFilters (list) --

              Enables filtering based on boolean field values.

              • (dict) --

                Enables filtering of security findings based on boolean field values in OCSF.

                • FieldName (string) --

                  The name of the field.

                • Filter (dict) --

                  Boolean filter for querying findings.

                  • Value (boolean) --

                    The value of the boolean.

            • NumberFilters (list) --

              Enables filtering based on numerical field values.

              • (dict) --

                Enables filtering of security findings based on numerical field values in OCSF.

                • FieldName (string) --

                  The name of the field.

                • Filter (dict) --

                  A number filter for querying findings.

                  • Gte (float) --

                    The greater-than-equal condition to be applied to a single field when querying for findings.

                  • Lte (float) --

                    The less-than-equal condition to be applied to a single field when querying for findings.

                  • Eq (float) --

                    The equal-to condition to be applied to a single field when querying for findings.

                  • Gt (float) --

                    The greater-than condition to be applied to a single field when querying for findings.

                  • Lt (float) --

                    The less-than condition to be applied to a single field when querying for findings.

            • MapFilters (list) --

              Enables filtering based on map field values.

              • (dict) --

                Enables filtering of security findings based on map field values in OCSF.

                • FieldName (string) --

                  The name of the field.

                • Filter (dict) --

                  A map filter for filtering Security Hub CSPM findings. Each map filter provides the field to check for, the value to check for, and the comparison operator.

                  • Key (string) --

                    The key of the map filter. For example, for ResourceTags, Key identifies the name of the tag. For UserDefinedFields, Key is the name of the field.

                  • Value (string) --

                    The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called Department might be Security. If you provide security as the filter value, then there's no match.

                  • Comparison (string) --

                    The condition to apply to the key value when filtering Security Hub CSPM findings with a map filter.

                    To search for values that have the filter value, use one of the following comparison operators:

                    • To search for values that include the filter value, use CONTAINS. For example, for the ResourceTags field, the filter Department CONTAINS Security matches findings that include the value Security for the Department tag. In the same example, a finding with a value of Security team for the Department tag is a match.

                    • To search for values that exactly match the filter value, use EQUALS. For example, for the ResourceTags field, the filter Department EQUALS Security matches findings that have the value Security for the Department tag.

                    CONTAINS and EQUALS filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Department CONTAINS Security OR Department CONTAINS Finance match a finding that includes either Security, Finance, or both values.

                    To search for values that don't have the filter value, use one of the following comparison operators:

                    • To search for values that exclude the filter value, use NOT_CONTAINS. For example, for the ResourceTags field, the filter Department NOT_CONTAINS Finance matches findings that exclude the value Finance for the Department tag.

                    • To search for values other than the filter value, use NOT_EQUALS. For example, for the ResourceTags field, the filter Department NOT_EQUALS Finance matches findings that don’t have the value Finance for the Department tag.

                    NOT_CONTAINS and NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance match a finding that excludes both the Security and Finance values.

                    CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                    You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can’t have both an EQUALS filter and a NOT_EQUALS filter on the same field. Combining filters in this way returns an error.

                    CONTAINS and NOT_CONTAINS operators can be used only with automation rules. For more information, see Automation rules in the Security Hub CSPM User Guide.

            • IpFilters (list) --

              A list of IP address filters that allowing you to filter findings based on IP address properties.

              • (dict) --

                The structure for filtering findings based on IP address attributes.

                • FieldName (string) --

                  The name of the IP address field to filter on.

                • Filter (dict) --

                  The IP filter for querying findings.

                  • Cidr (string) --

                    A finding's CIDR value.

            • NestedCompositeFilters (list) --

              Provides an additional level of filtering, creating a three-layer nested structure. The first layer is a CompositeFilters array with a CompositeOperator ( AND/ OR). The second layer is a CompositeFilter object that contains direct filters and NestedCompositeFilters. The third layer is NestedCompositeFilters, which contains additional filter conditions.

            • Operator (string) --

              The logical operator used to combine multiple filter conditions.

        • CompositeOperator (string) --

          The logical operators used to combine the filtering on multiple CompositeFilters.

      • ResourceCriteria (dict) --

        The filtering conditions for resources.

        • CompositeFilters (list) --

          A collection of complex filtering conditions that can be applied to Amazon Web Services resources.

          • (dict) --

            Enables the creation of criteria for Amazon Web Services resources in Security Hub CSPM.

            • StringFilters (list) --

              Enables filtering based on string field values.

              • (dict) --

                Enables filtering of Amazon Web Services resources based on string field values.

                • FieldName (string) --

                  The name of the field.

                • Filter (dict) --

                  A string filter for filtering Security Hub CSPM findings.

                  • Value (string) --

                    The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is Security Hub CSPM. If you provide security hub as the filter value, there's no match.

                  • Comparison (string) --

                    The condition to apply to a string value when filtering Security Hub CSPM findings.

                    To search for values that have the filter value, use one of the following comparison operators:

                    • To search for values that include the filter value, use CONTAINS. For example, the filter Title CONTAINS CloudFront matches findings that have a Title that includes the string CloudFront.

                    • To search for values that contain a word matching the filter value, regardless of case, use CONTAINS_WORD. For example, the filter Title CONTAINS_WORD lambda matches a finding whose Title is GuardDuty Lambda Protection, because the Title contains the word Lambda. Including special characters in the filter value might produce unexpected search results.

                    • To search for values that exactly match the filter value, use EQUALS. For example, the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of 123456789012.

                    • To search for values that start with the filter value, use PREFIX. For example, the filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts with us. A ResourceRegion that starts with a different value, such as af, ap, or ca, doesn't match.

                    CONTAINS, EQUALS, and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR Title CONTAINS CloudWatch match a finding that includes either CloudFront, CloudWatch, or both strings in the title.

                    To search for values that don’t have the filter value, use one of the following comparison operators:

                    • To search for values that exclude the filter value, use NOT_CONTAINS. For example, the filter Title NOT_CONTAINS CloudFront matches findings that have a Title that excludes the string CloudFront.

                    • To search for values other than the filter value, use NOT_EQUALS. For example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account ID other than 123456789012.

                    • To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a ResourceRegion that starts with a value other than us.

                    NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and CloudWatch in the title.

                    You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can't provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                    You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub CSPM first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

                    For example, for the following filters, Security Hub CSPM first identifies findings that have resource types that start with either AwsIam or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

                    • ResourceType PREFIX AwsIam

                    • ResourceType PREFIX AwsEc2

                    • ResourceType NOT_EQUALS AwsIamPolicy

                    • ResourceType NOT_EQUALS AwsEc2NetworkInterface

                    The CONTAINS operator works with automation rules V1 and V2. The NOT_CONTAINS operator works only with automation rules V1. The CONTAINS_WORD operator works only in the GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2, and GetResourcesStatisticsV2 APIs. For more information, see Automation rules in the Security Hub CSPM User Guide.

            • DateFilters (list) --

              Enables filtering based on date and timestamp field values.

              • (dict) --

                Enables the filtering of Amazon Web Services resources based on date and timestamp attributes.

                • FieldName (string) --

                  The name of the field.

                • Filter (dict) --

                  A date filter for querying findings.

                  • Start (string) --

                    A timestamp that provides the start date for the date filter.

                    For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

                  • End (string) --

                    A timestamp that provides the end date for the date filter.

                    For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

                  • DateRange (dict) --

                    A date range for the date filter.

                    • Value (integer) --

                      A date range value for the date filter.

                    • Unit (string) --

                      A date range unit for the date filter.

                    • Comparison (string) --

                      The condition to apply to a date range filter. If you specify WITHIN, Security Hub filters for dates within the specified date range. If you specify OLDER_THAN, Security Hub filters for dates before the specified date range. If you don't specify a value, the default is WITHIN.

            • NumberFilters (list) --

              Enables filtering based on numerical field values.

              • (dict) --

                Enables filtering of Amazon Web Services resources based on numerical values.

                • FieldName (string) --

                  The name of the field.

                • Filter (dict) --

                  A number filter for querying findings.

                  • Gte (float) --

                    The greater-than-equal condition to be applied to a single field when querying for findings.

                  • Lte (float) --

                    The less-than-equal condition to be applied to a single field when querying for findings.

                  • Eq (float) --

                    The equal-to condition to be applied to a single field when querying for findings.

                  • Gt (float) --

                    The greater-than condition to be applied to a single field when querying for findings.

                  • Lt (float) --

                    The less-than condition to be applied to a single field when querying for findings.

            • MapFilters (list) --

              Enables filtering based on map-based field values.

              • (dict) --

                Enables filtering of Amazon Web Services resources based on key-value map attributes.

                • FieldName (string) --

                  The name of the field.

                • Filter (dict) --

                  A map filter for filtering Security Hub CSPM findings. Each map filter provides the field to check for, the value to check for, and the comparison operator.

                  • Key (string) --

                    The key of the map filter. For example, for ResourceTags, Key identifies the name of the tag. For UserDefinedFields, Key is the name of the field.

                  • Value (string) --

                    The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called Department might be Security. If you provide security as the filter value, then there's no match.

                  • Comparison (string) --

                    The condition to apply to the key value when filtering Security Hub CSPM findings with a map filter.

                    To search for values that have the filter value, use one of the following comparison operators:

                    • To search for values that include the filter value, use CONTAINS. For example, for the ResourceTags field, the filter Department CONTAINS Security matches findings that include the value Security for the Department tag. In the same example, a finding with a value of Security team for the Department tag is a match.

                    • To search for values that exactly match the filter value, use EQUALS. For example, for the ResourceTags field, the filter Department EQUALS Security matches findings that have the value Security for the Department tag.

                    CONTAINS and EQUALS filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Department CONTAINS Security OR Department CONTAINS Finance match a finding that includes either Security, Finance, or both values.

                    To search for values that don't have the filter value, use one of the following comparison operators:

                    • To search for values that exclude the filter value, use NOT_CONTAINS. For example, for the ResourceTags field, the filter Department NOT_CONTAINS Finance matches findings that exclude the value Finance for the Department tag.

                    • To search for values other than the filter value, use NOT_EQUALS. For example, for the ResourceTags field, the filter Department NOT_EQUALS Finance matches findings that don’t have the value Finance for the Department tag.

                    NOT_CONTAINS and NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance match a finding that excludes both the Security and Finance values.

                    CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                    You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can’t have both an EQUALS filter and a NOT_EQUALS filter on the same field. Combining filters in this way returns an error.

                    CONTAINS and NOT_CONTAINS operators can be used only with automation rules. For more information, see Automation rules in the Security Hub CSPM User Guide.

            • NestedCompositeFilters (list) --

              Provides an additional level of filtering, creating a three-layer nested structure. The first layer is a CompositeFilters array with a CompositeOperator ( AND/ OR). The second layer is a CompositeFilter object that contains direct filters and NestedCompositeFilters. The third layer is NestedCompositeFilters, which contains additional filter conditions.

            • Operator (string) --

              The logical operator used to combine multiple filter conditions.

        • CompositeOperator (string) --

          The logical operator used to combine multiple filter conditions in the structure.

    • Actions (list) --

      A list of actions performed when the rule criteria is met.

      • (dict) --

        Allows you to configure automated responses.

        • Type (string) --

          The category of action to be executed by the automation rule.

        • FindingFieldsUpdate (dict) --

          The changes to be applied to fields in a security finding when an automation rule is triggered.

          • SeverityId (integer) --

            The severity level to be assigned to findings that match the automation rule criteria.

          • Comment (string) --

            Notes or contextual information for findings that are modified by the automation rule.

          • StatusId (integer) --

            The status to be applied to findings that match automation rule criteria.

        • ExternalIntegrationConfiguration (dict) --

          The settings for integrating automation rule actions with external systems or service.

          • ConnectorArn (string) --

            The ARN of the connector that establishes the integration.

        • ResourceFieldsUpdate (dict) --

          The changes to be applied to resource fields when an automation rule is triggered.

          • Criticality (string) --

            The criticality level to be assigned to resources that match the automation rule criteria.

    • CreatedAt (datetime) --

      The timestamp when the V2 automation rule was created.

    • UpdatedAt (datetime) --

      The timestamp when the V2 automation rule was updated.

GetExportJobV2 (updated) Link ¶
Changes (response)
{'OutputConfiguration': {'Findings': {'Filters': {'CompositeFilters': {'StringFilters': {'FieldName': {'impact',
                                                                                                       'likelihood',
                                                                                                       'resources.criticality'}}}}}}}

Returns the details of a single findings export job, including its current Status, the Destination it writes to, the OutputConfiguration it was started with, and its StartedAt and EndedAt timestamps. Use this operation to poll an export job that you started with StartExportJobV2 until it reaches a terminal state ( SUCCEEDED, FAILED, or CANCELLED).

If the job failed, the response includes a FailureCode and FailureMessage that describe the reason. Input values such as Scopes and Filters are echoed back as they were submitted, with relative date ranges returned unresolved. If no export job matches the ExportJobId that you provide, this operation returns a ResourceNotFoundException.

See also: AWS API Documentation

Request Syntax

client.get_export_job_v2(
    ExportJobId='string'
)
type ExportJobId:

string

param ExportJobId:

[REQUIRED]

The unique identifier of the export job to retrieve. This is the value returned by StartExportJobV2.

rtype:

dict

returns:

Response Syntax

{
    'ExportJobId': 'string',
    'Name': 'string',
    'Status': 'RUNNING'|'SUCCEEDED'|'FAILED'|'CANCELLED',
    'DataType': 'FINDINGS',
    'OutputConfiguration': {
        'Findings': {
            'Format': 'CSV'|'OCSF_JSON',
            'Filters': {
                'CompositeFilters': [
                    {
                        'StringFilters': [
                            {
                                'FieldName': 'metadata.uid'|'activity_name'|'cloud.account.uid'|'cloud.provider'|'cloud.region'|'compliance.assessments.category'|'compliance.assessments.name'|'compliance.control'|'compliance.status'|'compliance.standards'|'finding_info.desc'|'finding_info.src_url'|'finding_info.title'|'finding_info.types'|'finding_info.uid'|'finding_info.related_events.traits.category'|'finding_info.related_events.uid'|'finding_info.related_events.product.uid'|'finding_info.related_events.title'|'impact'|'likelihood'|'metadata.product.name'|'metadata.product.uid'|'metadata.product.vendor_name'|'remediation.desc'|'remediation.references'|'resources.cloud_partition'|'resources.criticality'|'resources.name'|'resources.owner.account.uid'|'resources.owner.org.uid'|'resources.owner.account.name'|'resources.provider'|'resources.region'|'resources.type'|'resources.uid'|'severity'|'status'|'comment'|'vulnerabilities.fix_coverage'|'class_name'|'databucket.encryption_details.algorithm'|'databucket.encryption_details.key_uid'|'databucket.file.data_classifications.classifier_details.type'|'evidences.actor.user.account.uid'|'evidences.api.operation'|'evidences.api.response.error_message'|'evidences.api.service.name'|'evidences.connection_info.direction'|'evidences.connection_info.protocol_name'|'evidences.dst_endpoint.autonomous_system.name'|'evidences.dst_endpoint.location.city'|'evidences.dst_endpoint.location.country'|'evidences.src_endpoint.autonomous_system.name'|'evidences.src_endpoint.hostname'|'evidences.src_endpoint.location.city'|'evidences.src_endpoint.location.country'|'finding_info.analytic.name'|'malware.name'|'malware_scan_info.uid'|'malware.severity'|'resources.cloud_function.layers.uid_alt'|'resources.cloud_function.runtime'|'resources.cloud_function.user.uid'|'resources.device.encryption_details.key_uid'|'resources.device.image.uid'|'resources.image.architecture'|'resources.image.registry_uid'|'resources.image.repository_name'|'resources.image.uid'|'resources.subnet_info.uid'|'resources.vpc_uid'|'vulnerabilities.affected_code.file.path'|'vulnerabilities.affected_packages.name'|'vulnerabilities.cve.epss.score'|'vulnerabilities.cve.uid'|'vulnerabilities.related_vulnerabilities'|'cloud.account.name'|'vendor_attributes.severity',
                                'Filter': {
                                    'Value': 'string',
                                    'Comparison': 'EQUALS'|'PREFIX'|'NOT_EQUALS'|'PREFIX_NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'|'CONTAINS_WORD'
                                }
                            },
                        ],
                        'DateFilters': [
                            {
                                'FieldName': 'finding_info.created_time_dt'|'finding_info.first_seen_time_dt'|'finding_info.last_seen_time_dt'|'finding_info.modified_time_dt'|'resources.image.created_time_dt'|'resources.image.last_used_time_dt'|'resources.modified_time_dt',
                                'Filter': {
                                    'Start': 'string',
                                    'End': 'string',
                                    'DateRange': {
                                        'Value': 123,
                                        'Unit': 'DAYS',
                                        'Comparison': 'WITHIN'|'OLDER_THAN'
                                    }
                                }
                            },
                        ],
                        'BooleanFilters': [
                            {
                                'FieldName': 'compliance.assessments.meets_criteria'|'vulnerabilities.is_exploit_available'|'vulnerabilities.is_fix_available',
                                'Filter': {
                                    'Value': True|False
                                }
                            },
                        ],
                        'NumberFilters': [
                            {
                                'FieldName': 'activity_id'|'compliance.status_id'|'confidence_score'|'severity_id'|'status_id'|'finding_info.related_events_count'|'evidences.api.response.code'|'evidences.dst_endpoint.autonomous_system.number'|'evidences.dst_endpoint.port'|'evidences.src_endpoint.autonomous_system.number'|'evidences.src_endpoint.port'|'resources.image.in_use_count'|'vulnerabilities.cve.cvss.base_score'|'vendor_attributes.severity_id',
                                'Filter': {
                                    'Gte': 123.0,
                                    'Lte': 123.0,
                                    'Eq': 123.0,
                                    'Gt': 123.0,
                                    'Lt': 123.0
                                }
                            },
                        ],
                        'MapFilters': [
                            {
                                'FieldName': 'resources.tags'|'compliance.control_parameters'|'databucket.tags'|'finding_info.tags',
                                'Filter': {
                                    'Key': 'string',
                                    'Value': 'string',
                                    'Comparison': 'EQUALS'|'NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'
                                }
                            },
                        ],
                        'IpFilters': [
                            {
                                'FieldName': 'evidences.dst_endpoint.ip'|'evidences.src_endpoint.ip',
                                'Filter': {
                                    'Cidr': 'string'
                                }
                            },
                        ],
                        'NestedCompositeFilters': {'... recursive ...'},
                        'Operator': 'AND'|'OR'
                    },
                ],
                'CompositeOperator': 'AND'|'OR'
            },
            'SelectedFields': [
                'metadata.uid'|'activity_name'|'cloud.account.name'|'cloud.account.uid'|'cloud.provider'|'cloud.region'|'compliance.assessments.category'|'compliance.assessments.name'|'compliance.control'|'compliance.status'|'compliance.standards'|'finding_info.desc'|'finding_info.src_url'|'finding_info.title'|'finding_info.types'|'finding_info.uid'|'finding_info.related_events.traits.category'|'finding_info.related_events.uid'|'finding_info.related_events.product.uid'|'finding_info.related_events.title'|'metadata.product.feature.uid'|'metadata.product.name'|'metadata.product.uid'|'metadata.product.vendor_name'|'remediation.desc'|'remediation.references'|'resources.cloud_partition'|'resources.name'|'resources.owner.account.uid'|'resources.owner.org.uid'|'resources.owner.account.name'|'resources.provider'|'resources.region'|'resources.type'|'resources.uid'|'severity'|'status'|'comment'|'vulnerabilities.fix_coverage'|'class_name'|'databucket.encryption_details.algorithm'|'databucket.encryption_details.key_uid'|'databucket.file.data_classifications.classifier_details.type'|'evidences.actor.user.account.uid'|'evidences.api.operation'|'evidences.api.response.error_message'|'evidences.api.service.name'|'evidences.connection_info.direction'|'evidences.connection_info.protocol_name'|'evidences.dst_endpoint.autonomous_system.name'|'evidences.dst_endpoint.location.city'|'evidences.dst_endpoint.location.country'|'evidences.src_endpoint.autonomous_system.name'|'evidences.src_endpoint.hostname'|'evidences.src_endpoint.location.city'|'evidences.src_endpoint.location.country'|'finding_info.analytic.name'|'malware.name'|'malware_scan_info.uid'|'malware.severity'|'resources.cloud_function.layers.uid_alt'|'resources.cloud_function.runtime'|'resources.cloud_function.user.uid'|'resources.device.encryption_details.key_uid'|'resources.device.image.uid'|'resources.image.architecture'|'resources.image.registry_uid'|'resources.image.repository_name'|'resources.image.uid'|'resources.subnet_info.uid'|'resources.vpc_uid'|'vulnerabilities.affected_code.file.path'|'vulnerabilities.affected_packages.name'|'vulnerabilities.cve.cvss.vendor_name'|'vulnerabilities.cve.cvss.version'|'vulnerabilities.cve.epss.score'|'vulnerabilities.cve.uid'|'vulnerabilities.related_vulnerabilities'|'vendor_attributes.severity'|'activity_id'|'compliance.status_id'|'confidence_score'|'severity_id'|'status_id'|'finding_info.related_events_count'|'evidences.api.response.code'|'evidences.dst_endpoint.autonomous_system.number'|'evidences.dst_endpoint.port'|'evidences.src_endpoint.autonomous_system.number'|'evidences.src_endpoint.port'|'resources.image.in_use_count'|'vulnerabilities.cve.cvss.base_score'|'vendor_attributes.severity_id'|'finding_info.created_time_dt'|'finding_info.first_seen_time_dt'|'finding_info.last_seen_time_dt'|'finding_info.modified_time_dt'|'resources.image.created_time_dt'|'resources.image.last_used_time_dt'|'resources.modified_time_dt'|'compliance.assessments.meets_criteria'|'vulnerabilities.is_exploit_available'|'vulnerabilities.is_fix_available'|'resources.tags'|'compliance.control_parameters'|'databucket.tags'|'finding_info.tags'|'evidences.dst_endpoint.ip'|'evidences.src_endpoint.ip',
            ]
        }
    },
    'Scopes': {
        'AwsOrganizations': [
            {
                'OrganizationId': 'string',
                'OrganizationalUnitId': 'string'
            },
        ]
    },
    'Destination': {
        'S3': {
            'BucketArn': 'string',
            'KmsKeyArn': 'string',
            'ObjectPrefix': 'string'
        }
    },
    'FailureCode': 'ACCESS_DENIED'|'RESOURCE_NOT_FOUND'|'INTERNAL_ERROR',
    'FailureMessage': 'string',
    'StartedAt': datetime(2015, 1, 1),
    'EndedAt': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    • ExportJobId (string) --

      The unique identifier of the export job.

    • Name (string) --

      The user-provided name of the export job, if one was specified when the job was started.

    • Status (string) --

      The current state of the export job.

    • DataType (string) --

      The category of data that the export job produces.

    • OutputConfiguration (dict) --

      The output configuration that the export job was started with, including the format and any filters or selected fields.

      • Findings (dict) --

        Configures an export of Security Hub findings, including the output format and any filters or selected fields.

        • Format (string) --

          The output format of the export. CSV produces comma-separated rows that are suitable for spreadsheets and analysis tools. OCSF_JSON produces newline-delimited JSON records in the Open Cybersecurity Schema Framework (OCSF) format used elsewhere in Security Hub.

        • Filters (dict) --

          An optional set of OCSF finding filters that restrict which findings are exported. The filter structure is the same as the one used by GetFindingsV2. If you omit this member, Security Hub exports all findings available to the caller. When echoed by GetExportJobV2, relative date ranges are returned unresolved.

          • CompositeFilters (list) --

            Enables the creation of complex filtering conditions by combining filter criteria.

            • (dict) --

              Enables the creation of filtering criteria for security findings.

              • StringFilters (list) --

                Enables filtering based on string field values.

                • (dict) --

                  Enables filtering of security findings based on string field values in OCSF.

                  • FieldName (string) --

                    The name of the field.

                  • Filter (dict) --

                    A string filter for filtering Security Hub CSPM findings.

                    • Value (string) --

                      The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is Security Hub CSPM. If you provide security hub as the filter value, there's no match.

                    • Comparison (string) --

                      The condition to apply to a string value when filtering Security Hub CSPM findings.

                      To search for values that have the filter value, use one of the following comparison operators:

                      • To search for values that include the filter value, use CONTAINS. For example, the filter Title CONTAINS CloudFront matches findings that have a Title that includes the string CloudFront.

                      • To search for values that contain a word matching the filter value, regardless of case, use CONTAINS_WORD. For example, the filter Title CONTAINS_WORD lambda matches a finding whose Title is GuardDuty Lambda Protection, because the Title contains the word Lambda. Including special characters in the filter value might produce unexpected search results.

                      • To search for values that exactly match the filter value, use EQUALS. For example, the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of 123456789012.

                      • To search for values that start with the filter value, use PREFIX. For example, the filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts with us. A ResourceRegion that starts with a different value, such as af, ap, or ca, doesn't match.

                      CONTAINS, EQUALS, and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR Title CONTAINS CloudWatch match a finding that includes either CloudFront, CloudWatch, or both strings in the title.

                      To search for values that don’t have the filter value, use one of the following comparison operators:

                      • To search for values that exclude the filter value, use NOT_CONTAINS. For example, the filter Title NOT_CONTAINS CloudFront matches findings that have a Title that excludes the string CloudFront.

                      • To search for values other than the filter value, use NOT_EQUALS. For example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account ID other than 123456789012.

                      • To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a ResourceRegion that starts with a value other than us.

                      NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and CloudWatch in the title.

                      You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can't provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                      You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub CSPM first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

                      For example, for the following filters, Security Hub CSPM first identifies findings that have resource types that start with either AwsIam or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

                      • ResourceType PREFIX AwsIam

                      • ResourceType PREFIX AwsEc2

                      • ResourceType NOT_EQUALS AwsIamPolicy

                      • ResourceType NOT_EQUALS AwsEc2NetworkInterface

                      The CONTAINS operator works with automation rules V1 and V2. The NOT_CONTAINS operator works only with automation rules V1. The CONTAINS_WORD operator works only in the GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2, and GetResourcesStatisticsV2 APIs. For more information, see Automation rules in the Security Hub CSPM User Guide.

              • DateFilters (list) --

                Enables filtering based on date and timestamp fields.

                • (dict) --

                  Enables filtering of security findings based on date and timestamp fields in OCSF.

                  • FieldName (string) --

                    The name of the field.

                  • Filter (dict) --

                    A date filter for querying findings.

                    • Start (string) --

                      A timestamp that provides the start date for the date filter.

                      For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

                    • End (string) --

                      A timestamp that provides the end date for the date filter.

                      For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

                    • DateRange (dict) --

                      A date range for the date filter.

                      • Value (integer) --

                        A date range value for the date filter.

                      • Unit (string) --

                        A date range unit for the date filter.

                      • Comparison (string) --

                        The condition to apply to a date range filter. If you specify WITHIN, Security Hub filters for dates within the specified date range. If you specify OLDER_THAN, Security Hub filters for dates before the specified date range. If you don't specify a value, the default is WITHIN.

              • BooleanFilters (list) --

                Enables filtering based on boolean field values.

                • (dict) --

                  Enables filtering of security findings based on boolean field values in OCSF.

                  • FieldName (string) --

                    The name of the field.

                  • Filter (dict) --

                    Boolean filter for querying findings.

                    • Value (boolean) --

                      The value of the boolean.

              • NumberFilters (list) --

                Enables filtering based on numerical field values.

                • (dict) --

                  Enables filtering of security findings based on numerical field values in OCSF.

                  • FieldName (string) --

                    The name of the field.

                  • Filter (dict) --

                    A number filter for querying findings.

                    • Gte (float) --

                      The greater-than-equal condition to be applied to a single field when querying for findings.

                    • Lte (float) --

                      The less-than-equal condition to be applied to a single field when querying for findings.

                    • Eq (float) --

                      The equal-to condition to be applied to a single field when querying for findings.

                    • Gt (float) --

                      The greater-than condition to be applied to a single field when querying for findings.

                    • Lt (float) --

                      The less-than condition to be applied to a single field when querying for findings.

              • MapFilters (list) --

                Enables filtering based on map field values.

                • (dict) --

                  Enables filtering of security findings based on map field values in OCSF.

                  • FieldName (string) --

                    The name of the field.

                  • Filter (dict) --

                    A map filter for filtering Security Hub CSPM findings. Each map filter provides the field to check for, the value to check for, and the comparison operator.

                    • Key (string) --

                      The key of the map filter. For example, for ResourceTags, Key identifies the name of the tag. For UserDefinedFields, Key is the name of the field.

                    • Value (string) --

                      The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called Department might be Security. If you provide security as the filter value, then there's no match.

                    • Comparison (string) --

                      The condition to apply to the key value when filtering Security Hub CSPM findings with a map filter.

                      To search for values that have the filter value, use one of the following comparison operators:

                      • To search for values that include the filter value, use CONTAINS. For example, for the ResourceTags field, the filter Department CONTAINS Security matches findings that include the value Security for the Department tag. In the same example, a finding with a value of Security team for the Department tag is a match.

                      • To search for values that exactly match the filter value, use EQUALS. For example, for the ResourceTags field, the filter Department EQUALS Security matches findings that have the value Security for the Department tag.

                      CONTAINS and EQUALS filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Department CONTAINS Security OR Department CONTAINS Finance match a finding that includes either Security, Finance, or both values.

                      To search for values that don't have the filter value, use one of the following comparison operators:

                      • To search for values that exclude the filter value, use NOT_CONTAINS. For example, for the ResourceTags field, the filter Department NOT_CONTAINS Finance matches findings that exclude the value Finance for the Department tag.

                      • To search for values other than the filter value, use NOT_EQUALS. For example, for the ResourceTags field, the filter Department NOT_EQUALS Finance matches findings that don’t have the value Finance for the Department tag.

                      NOT_CONTAINS and NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance match a finding that excludes both the Security and Finance values.

                      CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                      You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can’t have both an EQUALS filter and a NOT_EQUALS filter on the same field. Combining filters in this way returns an error.

                      CONTAINS and NOT_CONTAINS operators can be used only with automation rules. For more information, see Automation rules in the Security Hub CSPM User Guide.

              • IpFilters (list) --

                A list of IP address filters that allowing you to filter findings based on IP address properties.

                • (dict) --

                  The structure for filtering findings based on IP address attributes.

                  • FieldName (string) --

                    The name of the IP address field to filter on.

                  • Filter (dict) --

                    The IP filter for querying findings.

                    • Cidr (string) --

                      A finding's CIDR value.

              • NestedCompositeFilters (list) --

                Provides an additional level of filtering, creating a three-layer nested structure. The first layer is a CompositeFilters array with a CompositeOperator ( AND/ OR). The second layer is a CompositeFilter object that contains direct filters and NestedCompositeFilters. The third layer is NestedCompositeFilters, which contains additional filter conditions.

              • Operator (string) --

                The logical operator used to combine multiple filter conditions.

          • CompositeOperator (string) --

            The logical operators used to combine the filtering on multiple CompositeFilters.

        • SelectedFields (list) --

          The OCSF finding fields to include in the export, specified as OCSF field paths (for example, finding_info.title or severity). You can specify from 1 to 50 fields.

          Whether this parameter is required depends on the value of Format:

          • CSV – Required. The field paths that you specify become the columns of the output, in the order that you provide them. If you omit this parameter, the request returns a ValidationException.

          • OCSF_JSON – Not supported. This format includes each finding in full, so field selection doesn't apply. If you specify this parameter, the request returns a ValidationException.

          • (string) --

            An OCSF finding field path that can be included in FindingsOutput.SelectedFields, for example finding_info.title, severity, or cloud.account.uid. Each value corresponds to a field in the OCSF finding schema.

    • Scopes (dict) --

      The organization scopes that the export job was started with, echoed verbatim. This parameter is absent if the caller didn't supply Scopes. It contains only the organization or organizational unit (OU) identifiers that the caller submitted; it never contains resolved member-account identifiers.

      • AwsOrganizations (list) --

        A list of Organizations scopes to include in the export. Each entry in the list specifies an organization or organizational unit to include for the delegated administrator's account. If the list specifies multiple entries, the entries are combined using OR logic.

        • (dict) --

          Specifies an Organizations scope. Data from the specified organization or organizational unit is included in the response.

          To scope to a specific organizational unit, provide OrganizationalUnitId. You can optionally include OrganizationId. If you omit OrganizationId, Security Hub uses the caller's organization ID. To scope to the delegated administrator's entire organization, provide only OrganizationId.

          The organization ID and organizational unit must belong to the delegated administrator's own organization. Each request must use one scoping approach: either scope to the entire organization by providing an AwsOrganizationScope entry with only OrganizationId, or scope to specific organizational units by providing AwsOrganizationScope entries with OrganizationalUnitId. You can't combine both approaches in the same request.

          • OrganizationId (string) --

            The unique identifier (ID) of the organization (for example, o-abcd1234567890). The organization must be the delegated administrator's own organization. If you omit this value and provide OrganizationalUnitId, Security Hub uses the caller's organization ID.

          • OrganizationalUnitId (string) --

            The unique identifier (ID) of the organizational unit (OU) (for example, ou-ab12-cd345678). The OU must exist within the delegated administrator's own organization. When specified, the results include only data from accounts in this OU.

    • Destination (dict) --

      The destination that the export job writes to.

      • S3 (dict) --

        The Amazon Simple Storage Service (Amazon S3) bucket and Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Security Hub uses to write the export.

        • BucketArn (string) --

          The Amazon Resource Name (ARN) of the Amazon S3 bucket that Security Hub writes the export to. You must own the bucket, and its bucket policy must grant the Security Hub service principal ( exportv2.securityhub.amazonaws.com) permission to write objects. For the required bucket policy, see the Examples section of StartExportJobV2.

        • KmsKeyArn (string) --

          The ARN of the Amazon Web Services KMS key that Security Hub uses to encrypt the export objects with server-side encryption. The key policy must allow the Security Hub service principal ( exportv2.securityhub.amazonaws.com) to use the key through Amazon S3. For the required key policy, see the Examples section of StartExportJobV2.

          The key must meet all of the following requirements:

          • It must be a symmetric key with a key usage of ENCRYPT_DECRYPT.

          • It must be a single-Region key. Multi-Region keys, whose key IDs begin with mrk-, are rejected.

          • You must specify the full key ARN. Key IDs and aliases are rejected.

          • The key must be in the same Amazon Web Services account as the export job.

          • The key must be in the same Amazon Web Services Region as the export job.

          • The key must be in the aws, aws-cn, or aws-us-gov partition.

        • ObjectPrefix (string) --

          An optional key prefix that Security Hub prepends to the Amazon S3 object keys of the export output. Use a prefix to organize exports within the bucket. The value can be up to 512 characters.

    • FailureCode (string) --

      A code that classifies why the export job failed. Present only when Status is FAILED.

    • FailureMessage (string) --

      A human-readable message that provides more detail about why the export job failed. Present only when Status is FAILED.

    • StartedAt (datetime) --

      The time when the export job was created.

      For more information about the validation and formatting of timestamp fields in Security Hub, see Timestamps.

    • EndedAt (datetime) --

      The time when the export job reached a terminal state ( SUCCEEDED, FAILED, or CANCELLED). This parameter is absent while the job is RUNNING.

      For more information about the validation and formatting of timestamp fields in Security Hub, see Timestamps.

GetFindingStatisticsV2 (updated) Link ¶
Changes (request)
{'GroupByRules': {'Filters': {'CompositeFilters': {'StringFilters': {'FieldName': {'impact',
                                                                                   'likelihood',
                                                                                   'resources.criticality'}}}},
                  'GroupByField': {'impact',
                                   'likelihood',
                                   'resources.criticality'}}}

Returns aggregated statistical data about findings.

You can use the Scopes parameter to define the data boundary for the query. Currently, Scopes supports AwsOrganizations, which lets you aggregate findings from your entire organization or from specific organizational units. Only the delegated administrator account can use Scopes.

GetFindingStatisticsV2 uses securityhub:GetAdhocInsightResults in the Action element of an IAM policy statement. You must have permission to perform the securityhub:GetAdhocInsightResults action.

See also: AWS API Documentation

Request Syntax

client.get_finding_statistics_v2(
    GroupByRules=[
        {
            'Filters': {
                'CompositeFilters': [
                    {
                        'StringFilters': [
                            {
                                'FieldName': 'metadata.uid'|'activity_name'|'cloud.account.uid'|'cloud.provider'|'cloud.region'|'compliance.assessments.category'|'compliance.assessments.name'|'compliance.control'|'compliance.status'|'compliance.standards'|'finding_info.desc'|'finding_info.src_url'|'finding_info.title'|'finding_info.types'|'finding_info.uid'|'finding_info.related_events.traits.category'|'finding_info.related_events.uid'|'finding_info.related_events.product.uid'|'finding_info.related_events.title'|'impact'|'likelihood'|'metadata.product.name'|'metadata.product.uid'|'metadata.product.vendor_name'|'remediation.desc'|'remediation.references'|'resources.cloud_partition'|'resources.criticality'|'resources.name'|'resources.owner.account.uid'|'resources.owner.org.uid'|'resources.owner.account.name'|'resources.provider'|'resources.region'|'resources.type'|'resources.uid'|'severity'|'status'|'comment'|'vulnerabilities.fix_coverage'|'class_name'|'databucket.encryption_details.algorithm'|'databucket.encryption_details.key_uid'|'databucket.file.data_classifications.classifier_details.type'|'evidences.actor.user.account.uid'|'evidences.api.operation'|'evidences.api.response.error_message'|'evidences.api.service.name'|'evidences.connection_info.direction'|'evidences.connection_info.protocol_name'|'evidences.dst_endpoint.autonomous_system.name'|'evidences.dst_endpoint.location.city'|'evidences.dst_endpoint.location.country'|'evidences.src_endpoint.autonomous_system.name'|'evidences.src_endpoint.hostname'|'evidences.src_endpoint.location.city'|'evidences.src_endpoint.location.country'|'finding_info.analytic.name'|'malware.name'|'malware_scan_info.uid'|'malware.severity'|'resources.cloud_function.layers.uid_alt'|'resources.cloud_function.runtime'|'resources.cloud_function.user.uid'|'resources.device.encryption_details.key_uid'|'resources.device.image.uid'|'resources.image.architecture'|'resources.image.registry_uid'|'resources.image.repository_name'|'resources.image.uid'|'resources.subnet_info.uid'|'resources.vpc_uid'|'vulnerabilities.affected_code.file.path'|'vulnerabilities.affected_packages.name'|'vulnerabilities.cve.epss.score'|'vulnerabilities.cve.uid'|'vulnerabilities.related_vulnerabilities'|'cloud.account.name'|'vendor_attributes.severity',
                                'Filter': {
                                    'Value': 'string',
                                    'Comparison': 'EQUALS'|'PREFIX'|'NOT_EQUALS'|'PREFIX_NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'|'CONTAINS_WORD'
                                }
                            },
                        ],
                        'DateFilters': [
                            {
                                'FieldName': 'finding_info.created_time_dt'|'finding_info.first_seen_time_dt'|'finding_info.last_seen_time_dt'|'finding_info.modified_time_dt'|'resources.image.created_time_dt'|'resources.image.last_used_time_dt'|'resources.modified_time_dt',
                                'Filter': {
                                    'Start': 'string',
                                    'End': 'string',
                                    'DateRange': {
                                        'Value': 123,
                                        'Unit': 'DAYS',
                                        'Comparison': 'WITHIN'|'OLDER_THAN'
                                    }
                                }
                            },
                        ],
                        'BooleanFilters': [
                            {
                                'FieldName': 'compliance.assessments.meets_criteria'|'vulnerabilities.is_exploit_available'|'vulnerabilities.is_fix_available',
                                'Filter': {
                                    'Value': True|False
                                }
                            },
                        ],
                        'NumberFilters': [
                            {
                                'FieldName': 'activity_id'|'compliance.status_id'|'confidence_score'|'severity_id'|'status_id'|'finding_info.related_events_count'|'evidences.api.response.code'|'evidences.dst_endpoint.autonomous_system.number'|'evidences.dst_endpoint.port'|'evidences.src_endpoint.autonomous_system.number'|'evidences.src_endpoint.port'|'resources.image.in_use_count'|'vulnerabilities.cve.cvss.base_score'|'vendor_attributes.severity_id',
                                'Filter': {
                                    'Gte': 123.0,
                                    'Lte': 123.0,
                                    'Eq': 123.0,
                                    'Gt': 123.0,
                                    'Lt': 123.0
                                }
                            },
                        ],
                        'MapFilters': [
                            {
                                'FieldName': 'resources.tags'|'compliance.control_parameters'|'databucket.tags'|'finding_info.tags',
                                'Filter': {
                                    'Key': 'string',
                                    'Value': 'string',
                                    'Comparison': 'EQUALS'|'NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'
                                }
                            },
                        ],
                        'IpFilters': [
                            {
                                'FieldName': 'evidences.dst_endpoint.ip'|'evidences.src_endpoint.ip',
                                'Filter': {
                                    'Cidr': 'string'
                                }
                            },
                        ],
                        'NestedCompositeFilters': {'... recursive ...'},
                        'Operator': 'AND'|'OR'
                    },
                ],
                'CompositeOperator': 'AND'|'OR'
            },
            'GroupByField': 'activity_name'|'cloud.account.uid'|'cloud.provider'|'cloud.region'|'compliance.assessments.name'|'compliance.status'|'compliance.control'|'finding_info.title'|'finding_info.related_events.traits.category'|'finding_info.types'|'impact'|'likelihood'|'metadata.product.name'|'metadata.product.uid'|'resources.type'|'resources.cloud_partition'|'resources.criticality'|'resources.name'|'resources.owner.account.uid'|'resources.owner.org.uid'|'resources.owner.account.name'|'resources.provider'|'resources.region'|'resources.uid'|'severity'|'status'|'vulnerabilities.fix_coverage'|'class_name'|'vulnerabilities.affected_packages.name'|'finding_info.analytic.name'|'compliance.standards'|'cloud.account.name'|'vendor_attributes.severity'|'metadata.product.vendor_name'
        },
    ],
    Scopes={
        'AwsOrganizations': [
            {
                'OrganizationId': 'string',
                'OrganizationalUnitId': 'string'
            },
        ]
    },
    SortOrder='asc'|'desc',
    MaxStatisticResults=123
)
type GroupByRules:

list

param GroupByRules:

[REQUIRED]

Specifies how security findings should be aggregated and organized in the statistical analysis. It can accept up to 5 groupBy fields in a single call.

  • (dict) --

    Defines the how the finding attribute should be grouped.

    • Filters (dict) --

      The criteria used to select which security findings should be included in the grouping operation.

      • CompositeFilters (list) --

        Enables the creation of complex filtering conditions by combining filter criteria.

        • (dict) --

          Enables the creation of filtering criteria for security findings.

          • StringFilters (list) --

            Enables filtering based on string field values.

            • (dict) --

              Enables filtering of security findings based on string field values in OCSF.

              • FieldName (string) --

                The name of the field.

              • Filter (dict) --

                A string filter for filtering Security Hub CSPM findings.

                • Value (string) --

                  The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is Security Hub CSPM. If you provide security hub as the filter value, there's no match.

                • Comparison (string) --

                  The condition to apply to a string value when filtering Security Hub CSPM findings.

                  To search for values that have the filter value, use one of the following comparison operators:

                  • To search for values that include the filter value, use CONTAINS. For example, the filter Title CONTAINS CloudFront matches findings that have a Title that includes the string CloudFront.

                  • To search for values that contain a word matching the filter value, regardless of case, use CONTAINS_WORD. For example, the filter Title CONTAINS_WORD lambda matches a finding whose Title is GuardDuty Lambda Protection, because the Title contains the word Lambda. Including special characters in the filter value might produce unexpected search results.

                  • To search for values that exactly match the filter value, use EQUALS. For example, the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of 123456789012.

                  • To search for values that start with the filter value, use PREFIX. For example, the filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts with us. A ResourceRegion that starts with a different value, such as af, ap, or ca, doesn't match.

                  CONTAINS, EQUALS, and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR Title CONTAINS CloudWatch match a finding that includes either CloudFront, CloudWatch, or both strings in the title.

                  To search for values that don’t have the filter value, use one of the following comparison operators:

                  • To search for values that exclude the filter value, use NOT_CONTAINS. For example, the filter Title NOT_CONTAINS CloudFront matches findings that have a Title that excludes the string CloudFront.

                  • To search for values other than the filter value, use NOT_EQUALS. For example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account ID other than 123456789012.

                  • To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a ResourceRegion that starts with a value other than us.

                  NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and CloudWatch in the title.

                  You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can't provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                  You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub CSPM first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

                  For example, for the following filters, Security Hub CSPM first identifies findings that have resource types that start with either AwsIam or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

                  • ResourceType PREFIX AwsIam

                  • ResourceType PREFIX AwsEc2

                  • ResourceType NOT_EQUALS AwsIamPolicy

                  • ResourceType NOT_EQUALS AwsEc2NetworkInterface

                  The CONTAINS operator works with automation rules V1 and V2. The NOT_CONTAINS operator works only with automation rules V1. The CONTAINS_WORD operator works only in the GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2, and GetResourcesStatisticsV2 APIs. For more information, see Automation rules in the Security Hub CSPM User Guide.

          • DateFilters (list) --

            Enables filtering based on date and timestamp fields.

            • (dict) --

              Enables filtering of security findings based on date and timestamp fields in OCSF.

              • FieldName (string) --

                The name of the field.

              • Filter (dict) --

                A date filter for querying findings.

                • Start (string) --

                  A timestamp that provides the start date for the date filter.

                  For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

                • End (string) --

                  A timestamp that provides the end date for the date filter.

                  For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

                • DateRange (dict) --

                  A date range for the date filter.

                  • Value (integer) --

                    A date range value for the date filter.

                  • Unit (string) --

                    A date range unit for the date filter.

                  • Comparison (string) --

                    The condition to apply to a date range filter. If you specify WITHIN, Security Hub filters for dates within the specified date range. If you specify OLDER_THAN, Security Hub filters for dates before the specified date range. If you don't specify a value, the default is WITHIN.

          • BooleanFilters (list) --

            Enables filtering based on boolean field values.

            • (dict) --

              Enables filtering of security findings based on boolean field values in OCSF.

              • FieldName (string) --

                The name of the field.

              • Filter (dict) --

                Boolean filter for querying findings.

                • Value (boolean) --

                  The value of the boolean.

          • NumberFilters (list) --

            Enables filtering based on numerical field values.

            • (dict) --

              Enables filtering of security findings based on numerical field values in OCSF.

              • FieldName (string) --

                The name of the field.

              • Filter (dict) --

                A number filter for querying findings.

                • Gte (float) --

                  The greater-than-equal condition to be applied to a single field when querying for findings.

                • Lte (float) --

                  The less-than-equal condition to be applied to a single field when querying for findings.

                • Eq (float) --

                  The equal-to condition to be applied to a single field when querying for findings.

                • Gt (float) --

                  The greater-than condition to be applied to a single field when querying for findings.

                • Lt (float) --

                  The less-than condition to be applied to a single field when querying for findings.

          • MapFilters (list) --

            Enables filtering based on map field values.

            • (dict) --

              Enables filtering of security findings based on map field values in OCSF.

              • FieldName (string) --

                The name of the field.

              • Filter (dict) --

                A map filter for filtering Security Hub CSPM findings. Each map filter provides the field to check for, the value to check for, and the comparison operator.

                • Key (string) --

                  The key of the map filter. For example, for ResourceTags, Key identifies the name of the tag. For UserDefinedFields, Key is the name of the field.

                • Value (string) --

                  The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called Department might be Security. If you provide security as the filter value, then there's no match.

                • Comparison (string) --

                  The condition to apply to the key value when filtering Security Hub CSPM findings with a map filter.

                  To search for values that have the filter value, use one of the following comparison operators:

                  • To search for values that include the filter value, use CONTAINS. For example, for the ResourceTags field, the filter Department CONTAINS Security matches findings that include the value Security for the Department tag. In the same example, a finding with a value of Security team for the Department tag is a match.

                  • To search for values that exactly match the filter value, use EQUALS. For example, for the ResourceTags field, the filter Department EQUALS Security matches findings that have the value Security for the Department tag.

                  CONTAINS and EQUALS filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Department CONTAINS Security OR Department CONTAINS Finance match a finding that includes either Security, Finance, or both values.

                  To search for values that don't have the filter value, use one of the following comparison operators:

                  • To search for values that exclude the filter value, use NOT_CONTAINS. For example, for the ResourceTags field, the filter Department NOT_CONTAINS Finance matches findings that exclude the value Finance for the Department tag.

                  • To search for values other than the filter value, use NOT_EQUALS. For example, for the ResourceTags field, the filter Department NOT_EQUALS Finance matches findings that don’t have the value Finance for the Department tag.

                  NOT_CONTAINS and NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance match a finding that excludes both the Security and Finance values.

                  CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                  You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can’t have both an EQUALS filter and a NOT_EQUALS filter on the same field. Combining filters in this way returns an error.

                  CONTAINS and NOT_CONTAINS operators can be used only with automation rules. For more information, see Automation rules in the Security Hub CSPM User Guide.

          • IpFilters (list) --

            A list of IP address filters that allowing you to filter findings based on IP address properties.

            • (dict) --

              The structure for filtering findings based on IP address attributes.

              • FieldName (string) --

                The name of the IP address field to filter on.

              • Filter (dict) --

                The IP filter for querying findings.

                • Cidr (string) --

                  A finding's CIDR value.

          • NestedCompositeFilters (list) --

            Provides an additional level of filtering, creating a three-layer nested structure. The first layer is a CompositeFilters array with a CompositeOperator ( AND/ OR). The second layer is a CompositeFilter object that contains direct filters and NestedCompositeFilters. The third layer is NestedCompositeFilters, which contains additional filter conditions.

          • Operator (string) --

            The logical operator used to combine multiple filter conditions.

      • CompositeOperator (string) --

        The logical operators used to combine the filtering on multiple CompositeFilters.

    • GroupByField (string) -- [REQUIRED]

      The attribute by which filtered findings should be grouped.

type Scopes:

dict

param Scopes:

Limits the results to findings from specific organizational units or from the delegated administrator's organization. Only the delegated administrator account can use this parameter. Other accounts receive an AccessDeniedException.

This parameter is optional. If you omit it, the delegated administrator sees statistics from all accounts across the entire organization. Other accounts see only statistics for their own findings.

You can specify up to 10 entries in Scopes.AwsOrganizations. If multiple entries are specified, the entries are combined using OR logic.

  • AwsOrganizations (list) --

    A list of Organizations scopes to include in the query results. Each entry in the list specifies an organization or organizational unit to include for the delegated administrator's account. If the list specifies multiple entries, the entries are combined using OR logic.

    • (dict) --

      Specifies an Organizations scope. Data from the specified organization or organizational unit is included in the response.

      To scope to a specific organizational unit, provide OrganizationalUnitId. You can optionally include OrganizationId. If you omit OrganizationId, Security Hub uses the caller's organization ID. To scope to the delegated administrator's entire organization, provide only OrganizationId.

      The organization ID and organizational unit must belong to the delegated administrator's own organization. Each request must use one scoping approach: either scope to the entire organization by providing an AwsOrganizationScope entry with only OrganizationId, or scope to specific organizational units by providing AwsOrganizationScope entries with OrganizationalUnitId. You can't combine both approaches in the same request.

      • OrganizationId (string) --

        The unique identifier (ID) of the organization (for example, o-abcd1234567890). The organization must be the delegated administrator's own organization. If you omit this value and provide OrganizationalUnitId, Security Hub uses the caller's organization ID.

      • OrganizationalUnitId (string) --

        The unique identifier (ID) of the organizational unit (OU) (for example, ou-ab12-cd345678). The OU must exist within the delegated administrator's own organization. When specified, the results include only data from accounts in this OU.

type SortOrder:

string

param SortOrder:

Orders the aggregation count in descending or ascending order. Descending order is the default.

type MaxStatisticResults:

integer

param MaxStatisticResults:

The maximum number of results to be returned.

rtype:

dict

returns:

Response Syntax

{
    'GroupByResults': [
        {
            'GroupByField': 'string',
            'GroupByValues': [
                {
                    'FieldValue': 'string',
                    'Count': 123
                },
            ]
        },
    ]
}

Response Structure

  • (dict) --

    • GroupByResults (list) --

      Aggregated statistics about security findings based on specified grouping criteria.

      • (dict) --

        Represents finding statistics grouped by GroupedByField.

        • GroupByField (string) --

          The attribute by which filtered security findings should be grouped.

        • GroupByValues (list) --

          An array of grouped values and their respective counts for each GroupByField.

          • (dict) --

            Represents individual aggregated results when grouping security findings for each GroupByField.

            • FieldValue (string) --

              The value of the field by which findings are grouped.

            • Count (integer) --

              The number of findings for a specific FieldValue and GroupByField.

GetFindingsV2 (updated) Link ¶
Changes (request)
{'Filters': {'CompositeFilters': {'StringFilters': {'FieldName': {'impact',
                                                                  'likelihood',
                                                                  'resources.criticality'}}}}}

Returns a list of findings that match the specified criteria.

You can use the Scopes parameter to define the data boundary for the query. Currently, Scopes supports AwsOrganizations, which lets you retrieve findings from your entire organization or from specific organizational units. Only the delegated administrator account can use Scopes.

You can use the Filters parameter to refine results based on finding attributes. You can use Scopes and Filters independently or together. When both are provided, Scopes narrows the data set first, and then Filters refines results within that scoped data set.

GetFindings and GetFindingsV2 both use securityhub:GetFindings in the Action element of an IAM policy statement. You must have permission to perform the securityhub:GetFindings action.

See also: AWS API Documentation

Request Syntax

client.get_findings_v2(
    Filters={
        'CompositeFilters': [
            {
                'StringFilters': [
                    {
                        'FieldName': 'metadata.uid'|'activity_name'|'cloud.account.uid'|'cloud.provider'|'cloud.region'|'compliance.assessments.category'|'compliance.assessments.name'|'compliance.control'|'compliance.status'|'compliance.standards'|'finding_info.desc'|'finding_info.src_url'|'finding_info.title'|'finding_info.types'|'finding_info.uid'|'finding_info.related_events.traits.category'|'finding_info.related_events.uid'|'finding_info.related_events.product.uid'|'finding_info.related_events.title'|'impact'|'likelihood'|'metadata.product.name'|'metadata.product.uid'|'metadata.product.vendor_name'|'remediation.desc'|'remediation.references'|'resources.cloud_partition'|'resources.criticality'|'resources.name'|'resources.owner.account.uid'|'resources.owner.org.uid'|'resources.owner.account.name'|'resources.provider'|'resources.region'|'resources.type'|'resources.uid'|'severity'|'status'|'comment'|'vulnerabilities.fix_coverage'|'class_name'|'databucket.encryption_details.algorithm'|'databucket.encryption_details.key_uid'|'databucket.file.data_classifications.classifier_details.type'|'evidences.actor.user.account.uid'|'evidences.api.operation'|'evidences.api.response.error_message'|'evidences.api.service.name'|'evidences.connection_info.direction'|'evidences.connection_info.protocol_name'|'evidences.dst_endpoint.autonomous_system.name'|'evidences.dst_endpoint.location.city'|'evidences.dst_endpoint.location.country'|'evidences.src_endpoint.autonomous_system.name'|'evidences.src_endpoint.hostname'|'evidences.src_endpoint.location.city'|'evidences.src_endpoint.location.country'|'finding_info.analytic.name'|'malware.name'|'malware_scan_info.uid'|'malware.severity'|'resources.cloud_function.layers.uid_alt'|'resources.cloud_function.runtime'|'resources.cloud_function.user.uid'|'resources.device.encryption_details.key_uid'|'resources.device.image.uid'|'resources.image.architecture'|'resources.image.registry_uid'|'resources.image.repository_name'|'resources.image.uid'|'resources.subnet_info.uid'|'resources.vpc_uid'|'vulnerabilities.affected_code.file.path'|'vulnerabilities.affected_packages.name'|'vulnerabilities.cve.epss.score'|'vulnerabilities.cve.uid'|'vulnerabilities.related_vulnerabilities'|'cloud.account.name'|'vendor_attributes.severity',
                        'Filter': {
                            'Value': 'string',
                            'Comparison': 'EQUALS'|'PREFIX'|'NOT_EQUALS'|'PREFIX_NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'|'CONTAINS_WORD'
                        }
                    },
                ],
                'DateFilters': [
                    {
                        'FieldName': 'finding_info.created_time_dt'|'finding_info.first_seen_time_dt'|'finding_info.last_seen_time_dt'|'finding_info.modified_time_dt'|'resources.image.created_time_dt'|'resources.image.last_used_time_dt'|'resources.modified_time_dt',
                        'Filter': {
                            'Start': 'string',
                            'End': 'string',
                            'DateRange': {
                                'Value': 123,
                                'Unit': 'DAYS',
                                'Comparison': 'WITHIN'|'OLDER_THAN'
                            }
                        }
                    },
                ],
                'BooleanFilters': [
                    {
                        'FieldName': 'compliance.assessments.meets_criteria'|'vulnerabilities.is_exploit_available'|'vulnerabilities.is_fix_available',
                        'Filter': {
                            'Value': True|False
                        }
                    },
                ],
                'NumberFilters': [
                    {
                        'FieldName': 'activity_id'|'compliance.status_id'|'confidence_score'|'severity_id'|'status_id'|'finding_info.related_events_count'|'evidences.api.response.code'|'evidences.dst_endpoint.autonomous_system.number'|'evidences.dst_endpoint.port'|'evidences.src_endpoint.autonomous_system.number'|'evidences.src_endpoint.port'|'resources.image.in_use_count'|'vulnerabilities.cve.cvss.base_score'|'vendor_attributes.severity_id',
                        'Filter': {
                            'Gte': 123.0,
                            'Lte': 123.0,
                            'Eq': 123.0,
                            'Gt': 123.0,
                            'Lt': 123.0
                        }
                    },
                ],
                'MapFilters': [
                    {
                        'FieldName': 'resources.tags'|'compliance.control_parameters'|'databucket.tags'|'finding_info.tags',
                        'Filter': {
                            'Key': 'string',
                            'Value': 'string',
                            'Comparison': 'EQUALS'|'NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'
                        }
                    },
                ],
                'IpFilters': [
                    {
                        'FieldName': 'evidences.dst_endpoint.ip'|'evidences.src_endpoint.ip',
                        'Filter': {
                            'Cidr': 'string'
                        }
                    },
                ],
                'NestedCompositeFilters': {'... recursive ...'},
                'Operator': 'AND'|'OR'
            },
        ],
        'CompositeOperator': 'AND'|'OR'
    },
    Scopes={
        'AwsOrganizations': [
            {
                'OrganizationId': 'string',
                'OrganizationalUnitId': 'string'
            },
        ]
    },
    SortCriteria=[
        {
            'Field': 'string',
            'SortOrder': 'asc'|'desc'
        },
    ],
    NextToken='string',
    MaxResults=123
)
type Filters:

dict

param Filters:

The finding attributes used to define a condition to filter the returned OCSF findings. You can filter up to 10 composite filters. For each filter type inside of a composite filter, you can provide up to 20 filters.

  • CompositeFilters (list) --

    Enables the creation of complex filtering conditions by combining filter criteria.

    • (dict) --

      Enables the creation of filtering criteria for security findings.

      • StringFilters (list) --

        Enables filtering based on string field values.

        • (dict) --

          Enables filtering of security findings based on string field values in OCSF.

          • FieldName (string) --

            The name of the field.

          • Filter (dict) --

            A string filter for filtering Security Hub CSPM findings.

            • Value (string) --

              The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is Security Hub CSPM. If you provide security hub as the filter value, there's no match.

            • Comparison (string) --

              The condition to apply to a string value when filtering Security Hub CSPM findings.

              To search for values that have the filter value, use one of the following comparison operators:

              • To search for values that include the filter value, use CONTAINS. For example, the filter Title CONTAINS CloudFront matches findings that have a Title that includes the string CloudFront.

              • To search for values that contain a word matching the filter value, regardless of case, use CONTAINS_WORD. For example, the filter Title CONTAINS_WORD lambda matches a finding whose Title is GuardDuty Lambda Protection, because the Title contains the word Lambda. Including special characters in the filter value might produce unexpected search results.

              • To search for values that exactly match the filter value, use EQUALS. For example, the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of 123456789012.

              • To search for values that start with the filter value, use PREFIX. For example, the filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts with us. A ResourceRegion that starts with a different value, such as af, ap, or ca, doesn't match.

              CONTAINS, EQUALS, and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR Title CONTAINS CloudWatch match a finding that includes either CloudFront, CloudWatch, or both strings in the title.

              To search for values that don’t have the filter value, use one of the following comparison operators:

              • To search for values that exclude the filter value, use NOT_CONTAINS. For example, the filter Title NOT_CONTAINS CloudFront matches findings that have a Title that excludes the string CloudFront.

              • To search for values other than the filter value, use NOT_EQUALS. For example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account ID other than 123456789012.

              • To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a ResourceRegion that starts with a value other than us.

              NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and CloudWatch in the title.

              You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can't provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

              You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub CSPM first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

              For example, for the following filters, Security Hub CSPM first identifies findings that have resource types that start with either AwsIam or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

              • ResourceType PREFIX AwsIam

              • ResourceType PREFIX AwsEc2

              • ResourceType NOT_EQUALS AwsIamPolicy

              • ResourceType NOT_EQUALS AwsEc2NetworkInterface

              The CONTAINS operator works with automation rules V1 and V2. The NOT_CONTAINS operator works only with automation rules V1. The CONTAINS_WORD operator works only in the GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2, and GetResourcesStatisticsV2 APIs. For more information, see Automation rules in the Security Hub CSPM User Guide.

      • DateFilters (list) --

        Enables filtering based on date and timestamp fields.

        • (dict) --

          Enables filtering of security findings based on date and timestamp fields in OCSF.

          • FieldName (string) --

            The name of the field.

          • Filter (dict) --

            A date filter for querying findings.

            • Start (string) --

              A timestamp that provides the start date for the date filter.

              For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

            • End (string) --

              A timestamp that provides the end date for the date filter.

              For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

            • DateRange (dict) --

              A date range for the date filter.

              • Value (integer) --

                A date range value for the date filter.

              • Unit (string) --

                A date range unit for the date filter.

              • Comparison (string) --

                The condition to apply to a date range filter. If you specify WITHIN, Security Hub filters for dates within the specified date range. If you specify OLDER_THAN, Security Hub filters for dates before the specified date range. If you don't specify a value, the default is WITHIN.

      • BooleanFilters (list) --

        Enables filtering based on boolean field values.

        • (dict) --

          Enables filtering of security findings based on boolean field values in OCSF.

          • FieldName (string) --

            The name of the field.

          • Filter (dict) --

            Boolean filter for querying findings.

            • Value (boolean) --

              The value of the boolean.

      • NumberFilters (list) --

        Enables filtering based on numerical field values.

        • (dict) --

          Enables filtering of security findings based on numerical field values in OCSF.

          • FieldName (string) --

            The name of the field.

          • Filter (dict) --

            A number filter for querying findings.

            • Gte (float) --

              The greater-than-equal condition to be applied to a single field when querying for findings.

            • Lte (float) --

              The less-than-equal condition to be applied to a single field when querying for findings.

            • Eq (float) --

              The equal-to condition to be applied to a single field when querying for findings.

            • Gt (float) --

              The greater-than condition to be applied to a single field when querying for findings.

            • Lt (float) --

              The less-than condition to be applied to a single field when querying for findings.

      • MapFilters (list) --

        Enables filtering based on map field values.

        • (dict) --

          Enables filtering of security findings based on map field values in OCSF.

          • FieldName (string) --

            The name of the field.

          • Filter (dict) --

            A map filter for filtering Security Hub CSPM findings. Each map filter provides the field to check for, the value to check for, and the comparison operator.

            • Key (string) --

              The key of the map filter. For example, for ResourceTags, Key identifies the name of the tag. For UserDefinedFields, Key is the name of the field.

            • Value (string) --

              The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called Department might be Security. If you provide security as the filter value, then there's no match.

            • Comparison (string) --

              The condition to apply to the key value when filtering Security Hub CSPM findings with a map filter.

              To search for values that have the filter value, use one of the following comparison operators:

              • To search for values that include the filter value, use CONTAINS. For example, for the ResourceTags field, the filter Department CONTAINS Security matches findings that include the value Security for the Department tag. In the same example, a finding with a value of Security team for the Department tag is a match.

              • To search for values that exactly match the filter value, use EQUALS. For example, for the ResourceTags field, the filter Department EQUALS Security matches findings that have the value Security for the Department tag.

              CONTAINS and EQUALS filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Department CONTAINS Security OR Department CONTAINS Finance match a finding that includes either Security, Finance, or both values.

              To search for values that don't have the filter value, use one of the following comparison operators:

              • To search for values that exclude the filter value, use NOT_CONTAINS. For example, for the ResourceTags field, the filter Department NOT_CONTAINS Finance matches findings that exclude the value Finance for the Department tag.

              • To search for values other than the filter value, use NOT_EQUALS. For example, for the ResourceTags field, the filter Department NOT_EQUALS Finance matches findings that don’t have the value Finance for the Department tag.

              NOT_CONTAINS and NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance match a finding that excludes both the Security and Finance values.

              CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

              You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can’t have both an EQUALS filter and a NOT_EQUALS filter on the same field. Combining filters in this way returns an error.

              CONTAINS and NOT_CONTAINS operators can be used only with automation rules. For more information, see Automation rules in the Security Hub CSPM User Guide.

      • IpFilters (list) --

        A list of IP address filters that allowing you to filter findings based on IP address properties.

        • (dict) --

          The structure for filtering findings based on IP address attributes.

          • FieldName (string) --

            The name of the IP address field to filter on.

          • Filter (dict) --

            The IP filter for querying findings.

            • Cidr (string) --

              A finding's CIDR value.

      • NestedCompositeFilters (list) --

        Provides an additional level of filtering, creating a three-layer nested structure. The first layer is a CompositeFilters array with a CompositeOperator ( AND/ OR). The second layer is a CompositeFilter object that contains direct filters and NestedCompositeFilters. The third layer is NestedCompositeFilters, which contains additional filter conditions.

      • Operator (string) --

        The logical operator used to combine multiple filter conditions.

  • CompositeOperator (string) --

    The logical operators used to combine the filtering on multiple CompositeFilters.

type Scopes:

dict

param Scopes:

Limits the results to findings from specific organizational units or from the delegated administrator's organization. Only the delegated administrator account can use this parameter. Other accounts receive an AccessDeniedException.

This parameter is optional. If you omit it, the delegated administrator sees findings from all accounts across the entire organization. Other accounts see only their own findings.

You can specify up to 10 entries in Scopes.AwsOrganizations. If multiple entries are specified, the entries are combined using OR logic.

  • AwsOrganizations (list) --

    A list of Organizations scopes to include in the query results. Each entry in the list specifies an organization or organizational unit to include for the delegated administrator's account. If the list specifies multiple entries, the entries are combined using OR logic.

    • (dict) --

      Specifies an Organizations scope. Data from the specified organization or organizational unit is included in the response.

      To scope to a specific organizational unit, provide OrganizationalUnitId. You can optionally include OrganizationId. If you omit OrganizationId, Security Hub uses the caller's organization ID. To scope to the delegated administrator's entire organization, provide only OrganizationId.

      The organization ID and organizational unit must belong to the delegated administrator's own organization. Each request must use one scoping approach: either scope to the entire organization by providing an AwsOrganizationScope entry with only OrganizationId, or scope to specific organizational units by providing AwsOrganizationScope entries with OrganizationalUnitId. You can't combine both approaches in the same request.

      • OrganizationId (string) --

        The unique identifier (ID) of the organization (for example, o-abcd1234567890). The organization must be the delegated administrator's own organization. If you omit this value and provide OrganizationalUnitId, Security Hub uses the caller's organization ID.

      • OrganizationalUnitId (string) --

        The unique identifier (ID) of the organizational unit (OU) (for example, ou-ab12-cd345678). The OU must exist within the delegated administrator's own organization. When specified, the results include only data from accounts in this OU.

type SortCriteria:

list

param SortCriteria:

The finding attributes used to sort the list of returned findings.

  • (dict) --

    A collection of finding attributes used to sort findings.

    • Field (string) --

      The finding attribute used to sort findings.

    • SortOrder (string) --

      The order used to sort findings.

type NextToken:

string

param NextToken:

The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

type MaxResults:

integer

param MaxResults:

The maximum number of results to return.

rtype:

dict

returns:

Response Syntax

{
    'Findings': [
        {...}|[...]|123|123.4|'string'|True|None,
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Findings (list) --

      An array of security findings returned by the operation.

      • (:ref:`document<document>`) --

    • NextToken (string) --

      The pagination token to use to request the next page of results. Otherwise, this parameter is null.

GetResourcesStatisticsV2 (updated) Link ¶
Changes (request)
{'GroupByRules': {'Filters': {'CompositeFilters': {'StringFilters': {'FieldName': {'ResourceCriticality'}}}},
                  'GroupByField': {'ResourceCriticality'}}}

Retrieves statistical information about Amazon Web Services resources and their associated security findings.

You can use the Scopes parameter to define the data boundary for the query. Currently, Scopes supports AwsOrganizations, which lets you aggregate resources from your entire organization or from specific organizational units. Only the delegated administrator account can use Scopes.

If you set GroupByField to ResourceSubCategory, ResourceInfo.AIDetails.HostResourceType, or ResourceInfo.AIDetails.CanonicalId, you must include a ResourceCategory string filter with comparison set to EQUALS and value AI/ML in the corresponding ResourceGroupByRule.

See also: AWS API Documentation

Request Syntax

client.get_resources_statistics_v2(
    GroupByRules=[
        {
            'GroupByField': 'AccountId'|'AccountName'|'Region'|'ResourceProvider'|'ResourceOwnerAccountId'|'ResourceOwnerOrgId'|'ResourceCloudPartition'|'ResourceRegion'|'ResourceCategory'|'ResourceType'|'ResourceName'|'FindingsSummary.FindingType'|'ResourceSubCategory'|'DiscoveryType'|'ResourceInfo.AIDetails.HostResourceType'|'ResourceInfo.AIDetails.CanonicalId'|'ResourceCriticality',
            'Filters': {
                'CompositeFilters': [
                    {
                        'StringFilters': [
                            {
                                'FieldName': 'ResourceGuid'|'ResourceId'|'AccountId'|'AccountName'|'Region'|'ResourceProvider'|'ResourceOwnerAccountId'|'ResourceOwnerOrgId'|'ResourceCloudPartition'|'ResourceRegion'|'ResourceCategory'|'ResourceType'|'ResourceName'|'FindingsSummary.FindingType'|'FindingsSummary.ProductName'|'ResourceSubCategory'|'DiscoveryType'|'ResourceInfo.AIDetails.HostResourceGuid'|'ResourceInfo.AIDetails.HostResourceType'|'ResourceInfo.AIDetails.CanonicalId'|'ResourceCriticality',
                                'Filter': {
                                    'Value': 'string',
                                    'Comparison': 'EQUALS'|'PREFIX'|'NOT_EQUALS'|'PREFIX_NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'|'CONTAINS_WORD'
                                }
                            },
                        ],
                        'DateFilters': [
                            {
                                'FieldName': 'ResourceDetailCaptureTime'|'ResourceCreationTime',
                                'Filter': {
                                    'Start': 'string',
                                    'End': 'string',
                                    'DateRange': {
                                        'Value': 123,
                                        'Unit': 'DAYS',
                                        'Comparison': 'WITHIN'|'OLDER_THAN'
                                    }
                                }
                            },
                        ],
                        'NumberFilters': [
                            {
                                'FieldName': 'FindingsSummary.TotalFindings'|'FindingsSummary.Severities.Other'|'FindingsSummary.Severities.Fatal'|'FindingsSummary.Severities.Critical'|'FindingsSummary.Severities.High'|'FindingsSummary.Severities.Medium'|'FindingsSummary.Severities.Low'|'FindingsSummary.Severities.Informational'|'FindingsSummary.Severities.Unknown'|'ResourceInfo.AIDetails.SelfHostedAIModelResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIAgentResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIModelServingResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIExternalEndpointResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIDevelopmentResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIAgentFrameworkResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIAgentToolsAndIdentityResourceCount'|'ResourceInfo.AIDetails.SelfHostedTotalAIResourceCount',
                                'Filter': {
                                    'Gte': 123.0,
                                    'Lte': 123.0,
                                    'Eq': 123.0,
                                    'Gt': 123.0,
                                    'Lt': 123.0
                                }
                            },
                        ],
                        'MapFilters': [
                            {
                                'FieldName': 'ResourceTags',
                                'Filter': {
                                    'Key': 'string',
                                    'Value': 'string',
                                    'Comparison': 'EQUALS'|'NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'
                                }
                            },
                        ],
                        'NestedCompositeFilters': {'... recursive ...'},
                        'Operator': 'AND'|'OR'
                    },
                ],
                'CompositeOperator': 'AND'|'OR'
            }
        },
    ],
    Scopes={
        'AwsOrganizations': [
            {
                'OrganizationId': 'string',
                'OrganizationalUnitId': 'string'
            },
        ]
    },
    SortOrder='asc'|'desc',
    MaxStatisticResults=123
)
type GroupByRules:

list

param GroupByRules:

[REQUIRED]

How resource statistics should be aggregated and organized in the response.

  • (dict) --

    Defines the configuration for organizing and categorizing Amazon Web Services resources based on associated security findings.

    • GroupByField (string) -- [REQUIRED]

      Specifies the attribute that resources should be grouped by.

    • Filters (dict) --

      The criteria used to select resources and associated security findings.

      • CompositeFilters (list) --

        A collection of complex filtering conditions that can be applied to Amazon Web Services resources.

        • (dict) --

          Enables the creation of criteria for Amazon Web Services resources in Security Hub CSPM.

          • StringFilters (list) --

            Enables filtering based on string field values.

            • (dict) --

              Enables filtering of Amazon Web Services resources based on string field values.

              • FieldName (string) --

                The name of the field.

              • Filter (dict) --

                A string filter for filtering Security Hub CSPM findings.

                • Value (string) --

                  The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is Security Hub CSPM. If you provide security hub as the filter value, there's no match.

                • Comparison (string) --

                  The condition to apply to a string value when filtering Security Hub CSPM findings.

                  To search for values that have the filter value, use one of the following comparison operators:

                  • To search for values that include the filter value, use CONTAINS. For example, the filter Title CONTAINS CloudFront matches findings that have a Title that includes the string CloudFront.

                  • To search for values that contain a word matching the filter value, regardless of case, use CONTAINS_WORD. For example, the filter Title CONTAINS_WORD lambda matches a finding whose Title is GuardDuty Lambda Protection, because the Title contains the word Lambda. Including special characters in the filter value might produce unexpected search results.

                  • To search for values that exactly match the filter value, use EQUALS. For example, the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of 123456789012.

                  • To search for values that start with the filter value, use PREFIX. For example, the filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts with us. A ResourceRegion that starts with a different value, such as af, ap, or ca, doesn't match.

                  CONTAINS, EQUALS, and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR Title CONTAINS CloudWatch match a finding that includes either CloudFront, CloudWatch, or both strings in the title.

                  To search for values that don’t have the filter value, use one of the following comparison operators:

                  • To search for values that exclude the filter value, use NOT_CONTAINS. For example, the filter Title NOT_CONTAINS CloudFront matches findings that have a Title that excludes the string CloudFront.

                  • To search for values other than the filter value, use NOT_EQUALS. For example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account ID other than 123456789012.

                  • To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a ResourceRegion that starts with a value other than us.

                  NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and CloudWatch in the title.

                  You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can't provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                  You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub CSPM first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

                  For example, for the following filters, Security Hub CSPM first identifies findings that have resource types that start with either AwsIam or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

                  • ResourceType PREFIX AwsIam

                  • ResourceType PREFIX AwsEc2

                  • ResourceType NOT_EQUALS AwsIamPolicy

                  • ResourceType NOT_EQUALS AwsEc2NetworkInterface

                  The CONTAINS operator works with automation rules V1 and V2. The NOT_CONTAINS operator works only with automation rules V1. The CONTAINS_WORD operator works only in the GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2, and GetResourcesStatisticsV2 APIs. For more information, see Automation rules in the Security Hub CSPM User Guide.

          • DateFilters (list) --

            Enables filtering based on date and timestamp field values.

            • (dict) --

              Enables the filtering of Amazon Web Services resources based on date and timestamp attributes.

              • FieldName (string) --

                The name of the field.

              • Filter (dict) --

                A date filter for querying findings.

                • Start (string) --

                  A timestamp that provides the start date for the date filter.

                  For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

                • End (string) --

                  A timestamp that provides the end date for the date filter.

                  For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

                • DateRange (dict) --

                  A date range for the date filter.

                  • Value (integer) --

                    A date range value for the date filter.

                  • Unit (string) --

                    A date range unit for the date filter.

                  • Comparison (string) --

                    The condition to apply to a date range filter. If you specify WITHIN, Security Hub filters for dates within the specified date range. If you specify OLDER_THAN, Security Hub filters for dates before the specified date range. If you don't specify a value, the default is WITHIN.

          • NumberFilters (list) --

            Enables filtering based on numerical field values.

            • (dict) --

              Enables filtering of Amazon Web Services resources based on numerical values.

              • FieldName (string) --

                The name of the field.

              • Filter (dict) --

                A number filter for querying findings.

                • Gte (float) --

                  The greater-than-equal condition to be applied to a single field when querying for findings.

                • Lte (float) --

                  The less-than-equal condition to be applied to a single field when querying for findings.

                • Eq (float) --

                  The equal-to condition to be applied to a single field when querying for findings.

                • Gt (float) --

                  The greater-than condition to be applied to a single field when querying for findings.

                • Lt (float) --

                  The less-than condition to be applied to a single field when querying for findings.

          • MapFilters (list) --

            Enables filtering based on map-based field values.

            • (dict) --

              Enables filtering of Amazon Web Services resources based on key-value map attributes.

              • FieldName (string) --

                The name of the field.

              • Filter (dict) --

                A map filter for filtering Security Hub CSPM findings. Each map filter provides the field to check for, the value to check for, and the comparison operator.

                • Key (string) --

                  The key of the map filter. For example, for ResourceTags, Key identifies the name of the tag. For UserDefinedFields, Key is the name of the field.

                • Value (string) --

                  The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called Department might be Security. If you provide security as the filter value, then there's no match.

                • Comparison (string) --

                  The condition to apply to the key value when filtering Security Hub CSPM findings with a map filter.

                  To search for values that have the filter value, use one of the following comparison operators:

                  • To search for values that include the filter value, use CONTAINS. For example, for the ResourceTags field, the filter Department CONTAINS Security matches findings that include the value Security for the Department tag. In the same example, a finding with a value of Security team for the Department tag is a match.

                  • To search for values that exactly match the filter value, use EQUALS. For example, for the ResourceTags field, the filter Department EQUALS Security matches findings that have the value Security for the Department tag.

                  CONTAINS and EQUALS filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Department CONTAINS Security OR Department CONTAINS Finance match a finding that includes either Security, Finance, or both values.

                  To search for values that don't have the filter value, use one of the following comparison operators:

                  • To search for values that exclude the filter value, use NOT_CONTAINS. For example, for the ResourceTags field, the filter Department NOT_CONTAINS Finance matches findings that exclude the value Finance for the Department tag.

                  • To search for values other than the filter value, use NOT_EQUALS. For example, for the ResourceTags field, the filter Department NOT_EQUALS Finance matches findings that don’t have the value Finance for the Department tag.

                  NOT_CONTAINS and NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance match a finding that excludes both the Security and Finance values.

                  CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                  You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can’t have both an EQUALS filter and a NOT_EQUALS filter on the same field. Combining filters in this way returns an error.

                  CONTAINS and NOT_CONTAINS operators can be used only with automation rules. For more information, see Automation rules in the Security Hub CSPM User Guide.

          • NestedCompositeFilters (list) --

            Provides an additional level of filtering, creating a three-layer nested structure. The first layer is a CompositeFilters array with a CompositeOperator ( AND/ OR). The second layer is a CompositeFilter object that contains direct filters and NestedCompositeFilters. The third layer is NestedCompositeFilters, which contains additional filter conditions.

          • Operator (string) --

            The logical operator used to combine multiple filter conditions.

      • CompositeOperator (string) --

        The logical operator used to combine multiple filter conditions in the structure.

type Scopes:

dict

param Scopes:

Limits the results to resources from specific organizational units or from the delegated administrator's organization. Only the delegated administrator account can use this parameter. Other accounts receive an AccessDeniedException.

This parameter is optional. If you omit it, the delegated administrator sees statistics from all accounts across the entire organization. Other accounts see only statistics for their own resources.

You can specify up to 10 entries in Scopes.AwsOrganizations. If multiple entries are specified, the entries are combined using OR logic.

  • AwsOrganizations (list) --

    A list of Organizations scopes to include in the query results. Each entry in the list specifies an organization or organizational unit to include for the delegated administrator's account. If the list specifies multiple entries, the entries are combined using OR logic.

    • (dict) --

      Specifies an Organizations scope. Data from the specified organization or organizational unit is included in the response.

      To scope to a specific organizational unit, provide OrganizationalUnitId. You can optionally include OrganizationId. If you omit OrganizationId, Security Hub uses the caller's organization ID. To scope to the delegated administrator's entire organization, provide only OrganizationId.

      The organization ID and organizational unit must belong to the delegated administrator's own organization. Each request must use one scoping approach: either scope to the entire organization by providing an AwsOrganizationScope entry with only OrganizationId, or scope to specific organizational units by providing AwsOrganizationScope entries with OrganizationalUnitId. You can't combine both approaches in the same request.

      • OrganizationId (string) --

        The unique identifier (ID) of the organization (for example, o-abcd1234567890). The organization must be the delegated administrator's own organization. If you omit this value and provide OrganizationalUnitId, Security Hub uses the caller's organization ID.

      • OrganizationalUnitId (string) --

        The unique identifier (ID) of the organizational unit (OU) (for example, ou-ab12-cd345678). The OU must exist within the delegated administrator's own organization. When specified, the results include only data from accounts in this OU.

type SortOrder:

string

param SortOrder:

Sorts aggregated statistics.

type MaxStatisticResults:

integer

param MaxStatisticResults:

The maximum number of results to be returned.

rtype:

dict

returns:

Response Syntax

{
    'GroupByResults': [
        {
            'GroupByField': 'string',
            'GroupByValues': [
                {
                    'FieldValue': 'string',
                    'Count': 123
                },
            ]
        },
    ]
}

Response Structure

  • (dict) --

    • GroupByResults (list) --

      The aggregated statistics about resources based on the specified grouping rule.

      • (dict) --

        Represents finding statistics grouped by GroupedByField.

        • GroupByField (string) --

          The attribute by which filtered security findings should be grouped.

        • GroupByValues (list) --

          An array of grouped values and their respective counts for each GroupByField.

          • (dict) --

            Represents individual aggregated results when grouping security findings for each GroupByField.

            • FieldValue (string) --

              The value of the field by which findings are grouped.

            • Count (integer) --

              The number of findings for a specific FieldValue and GroupByField.

GetResourcesV2 (updated) Link ¶
Changes (request, response)
Request
{'Filters': {'CompositeFilters': {'StringFilters': {'FieldName': {'ResourceCriticality'}}}}}
Response
{'Resources': {'CriticalitySources': [{'Reason': 'string',
                                       'Source': 'AutomationRule | '
                                                 'ResourceName | '
                                                 'TagInference'}],
               'ResourceCriticality': 'Very High | High | Medium | Low | '
                                      'Unknown'}}

Returns a list of resources.

You can use the Scopes parameter to define the data boundary for the query. Currently, Scopes supports AwsOrganizations, which lets you retrieve resources from your entire organization or from specific organizational units. Only the delegated administrator account can use Scopes.

You can use the Filters parameter to refine results based on resource attributes. You can use Scopes and Filters independently or together. When both are provided, Scopes narrows the data set first, and then Filters refines results within that scoped data set.

For AI/ML resources, the response includes the ResourceSubCategory field. For self-hosted AI resources and their host resources, the response also includes ResourceInfo with AI-specific details. Self-hosted AI resources use a ResourceType with the SelfHosted::AI:: prefix, such as SelfHosted::AI::Model, SelfHosted::AI::Agent, SelfHosted::AI::InferenceEndpoint, and SelfHosted::AI::ExternalEndpoint.

If you filter by ResourceSubCategory, you must also include a ResourceCategory string filter with comparison set to EQUALS and value AI/ML in the same request.

See also: AWS API Documentation

Request Syntax

client.get_resources_v2(
    Filters={
        'CompositeFilters': [
            {
                'StringFilters': [
                    {
                        'FieldName': 'ResourceGuid'|'ResourceId'|'AccountId'|'AccountName'|'Region'|'ResourceProvider'|'ResourceOwnerAccountId'|'ResourceOwnerOrgId'|'ResourceCloudPartition'|'ResourceRegion'|'ResourceCategory'|'ResourceType'|'ResourceName'|'FindingsSummary.FindingType'|'FindingsSummary.ProductName'|'ResourceSubCategory'|'DiscoveryType'|'ResourceInfo.AIDetails.HostResourceGuid'|'ResourceInfo.AIDetails.HostResourceType'|'ResourceInfo.AIDetails.CanonicalId'|'ResourceCriticality',
                        'Filter': {
                            'Value': 'string',
                            'Comparison': 'EQUALS'|'PREFIX'|'NOT_EQUALS'|'PREFIX_NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'|'CONTAINS_WORD'
                        }
                    },
                ],
                'DateFilters': [
                    {
                        'FieldName': 'ResourceDetailCaptureTime'|'ResourceCreationTime',
                        'Filter': {
                            'Start': 'string',
                            'End': 'string',
                            'DateRange': {
                                'Value': 123,
                                'Unit': 'DAYS',
                                'Comparison': 'WITHIN'|'OLDER_THAN'
                            }
                        }
                    },
                ],
                'NumberFilters': [
                    {
                        'FieldName': 'FindingsSummary.TotalFindings'|'FindingsSummary.Severities.Other'|'FindingsSummary.Severities.Fatal'|'FindingsSummary.Severities.Critical'|'FindingsSummary.Severities.High'|'FindingsSummary.Severities.Medium'|'FindingsSummary.Severities.Low'|'FindingsSummary.Severities.Informational'|'FindingsSummary.Severities.Unknown'|'ResourceInfo.AIDetails.SelfHostedAIModelResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIAgentResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIModelServingResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIExternalEndpointResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIDevelopmentResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIAgentFrameworkResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIAgentToolsAndIdentityResourceCount'|'ResourceInfo.AIDetails.SelfHostedTotalAIResourceCount',
                        'Filter': {
                            'Gte': 123.0,
                            'Lte': 123.0,
                            'Eq': 123.0,
                            'Gt': 123.0,
                            'Lt': 123.0
                        }
                    },
                ],
                'MapFilters': [
                    {
                        'FieldName': 'ResourceTags',
                        'Filter': {
                            'Key': 'string',
                            'Value': 'string',
                            'Comparison': 'EQUALS'|'NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'
                        }
                    },
                ],
                'NestedCompositeFilters': {'... recursive ...'},
                'Operator': 'AND'|'OR'
            },
        ],
        'CompositeOperator': 'AND'|'OR'
    },
    Scopes={
        'AwsOrganizations': [
            {
                'OrganizationId': 'string',
                'OrganizationalUnitId': 'string'
            },
        ]
    },
    SortCriteria=[
        {
            'Field': 'string',
            'SortOrder': 'asc'|'desc'
        },
    ],
    NextToken='string',
    MaxResults=123
)
type Filters:

dict

param Filters:

Filters resources based on a set of criteria.

  • CompositeFilters (list) --

    A collection of complex filtering conditions that can be applied to Amazon Web Services resources.

    • (dict) --

      Enables the creation of criteria for Amazon Web Services resources in Security Hub CSPM.

      • StringFilters (list) --

        Enables filtering based on string field values.

        • (dict) --

          Enables filtering of Amazon Web Services resources based on string field values.

          • FieldName (string) --

            The name of the field.

          • Filter (dict) --

            A string filter for filtering Security Hub CSPM findings.

            • Value (string) --

              The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is Security Hub CSPM. If you provide security hub as the filter value, there's no match.

            • Comparison (string) --

              The condition to apply to a string value when filtering Security Hub CSPM findings.

              To search for values that have the filter value, use one of the following comparison operators:

              • To search for values that include the filter value, use CONTAINS. For example, the filter Title CONTAINS CloudFront matches findings that have a Title that includes the string CloudFront.

              • To search for values that contain a word matching the filter value, regardless of case, use CONTAINS_WORD. For example, the filter Title CONTAINS_WORD lambda matches a finding whose Title is GuardDuty Lambda Protection, because the Title contains the word Lambda. Including special characters in the filter value might produce unexpected search results.

              • To search for values that exactly match the filter value, use EQUALS. For example, the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of 123456789012.

              • To search for values that start with the filter value, use PREFIX. For example, the filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts with us. A ResourceRegion that starts with a different value, such as af, ap, or ca, doesn't match.

              CONTAINS, EQUALS, and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR Title CONTAINS CloudWatch match a finding that includes either CloudFront, CloudWatch, or both strings in the title.

              To search for values that don’t have the filter value, use one of the following comparison operators:

              • To search for values that exclude the filter value, use NOT_CONTAINS. For example, the filter Title NOT_CONTAINS CloudFront matches findings that have a Title that excludes the string CloudFront.

              • To search for values other than the filter value, use NOT_EQUALS. For example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account ID other than 123456789012.

              • To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a ResourceRegion that starts with a value other than us.

              NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and CloudWatch in the title.

              You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can't provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

              You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub CSPM first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

              For example, for the following filters, Security Hub CSPM first identifies findings that have resource types that start with either AwsIam or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

              • ResourceType PREFIX AwsIam

              • ResourceType PREFIX AwsEc2

              • ResourceType NOT_EQUALS AwsIamPolicy

              • ResourceType NOT_EQUALS AwsEc2NetworkInterface

              The CONTAINS operator works with automation rules V1 and V2. The NOT_CONTAINS operator works only with automation rules V1. The CONTAINS_WORD operator works only in the GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2, and GetResourcesStatisticsV2 APIs. For more information, see Automation rules in the Security Hub CSPM User Guide.

      • DateFilters (list) --

        Enables filtering based on date and timestamp field values.

        • (dict) --

          Enables the filtering of Amazon Web Services resources based on date and timestamp attributes.

          • FieldName (string) --

            The name of the field.

          • Filter (dict) --

            A date filter for querying findings.

            • Start (string) --

              A timestamp that provides the start date for the date filter.

              For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

            • End (string) --

              A timestamp that provides the end date for the date filter.

              For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

            • DateRange (dict) --

              A date range for the date filter.

              • Value (integer) --

                A date range value for the date filter.

              • Unit (string) --

                A date range unit for the date filter.

              • Comparison (string) --

                The condition to apply to a date range filter. If you specify WITHIN, Security Hub filters for dates within the specified date range. If you specify OLDER_THAN, Security Hub filters for dates before the specified date range. If you don't specify a value, the default is WITHIN.

      • NumberFilters (list) --

        Enables filtering based on numerical field values.

        • (dict) --

          Enables filtering of Amazon Web Services resources based on numerical values.

          • FieldName (string) --

            The name of the field.

          • Filter (dict) --

            A number filter for querying findings.

            • Gte (float) --

              The greater-than-equal condition to be applied to a single field when querying for findings.

            • Lte (float) --

              The less-than-equal condition to be applied to a single field when querying for findings.

            • Eq (float) --

              The equal-to condition to be applied to a single field when querying for findings.

            • Gt (float) --

              The greater-than condition to be applied to a single field when querying for findings.

            • Lt (float) --

              The less-than condition to be applied to a single field when querying for findings.

      • MapFilters (list) --

        Enables filtering based on map-based field values.

        • (dict) --

          Enables filtering of Amazon Web Services resources based on key-value map attributes.

          • FieldName (string) --

            The name of the field.

          • Filter (dict) --

            A map filter for filtering Security Hub CSPM findings. Each map filter provides the field to check for, the value to check for, and the comparison operator.

            • Key (string) --

              The key of the map filter. For example, for ResourceTags, Key identifies the name of the tag. For UserDefinedFields, Key is the name of the field.

            • Value (string) --

              The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called Department might be Security. If you provide security as the filter value, then there's no match.

            • Comparison (string) --

              The condition to apply to the key value when filtering Security Hub CSPM findings with a map filter.

              To search for values that have the filter value, use one of the following comparison operators:

              • To search for values that include the filter value, use CONTAINS. For example, for the ResourceTags field, the filter Department CONTAINS Security matches findings that include the value Security for the Department tag. In the same example, a finding with a value of Security team for the Department tag is a match.

              • To search for values that exactly match the filter value, use EQUALS. For example, for the ResourceTags field, the filter Department EQUALS Security matches findings that have the value Security for the Department tag.

              CONTAINS and EQUALS filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Department CONTAINS Security OR Department CONTAINS Finance match a finding that includes either Security, Finance, or both values.

              To search for values that don't have the filter value, use one of the following comparison operators:

              • To search for values that exclude the filter value, use NOT_CONTAINS. For example, for the ResourceTags field, the filter Department NOT_CONTAINS Finance matches findings that exclude the value Finance for the Department tag.

              • To search for values other than the filter value, use NOT_EQUALS. For example, for the ResourceTags field, the filter Department NOT_EQUALS Finance matches findings that don’t have the value Finance for the Department tag.

              NOT_CONTAINS and NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance match a finding that excludes both the Security and Finance values.

              CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

              You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can’t have both an EQUALS filter and a NOT_EQUALS filter on the same field. Combining filters in this way returns an error.

              CONTAINS and NOT_CONTAINS operators can be used only with automation rules. For more information, see Automation rules in the Security Hub CSPM User Guide.

      • NestedCompositeFilters (list) --

        Provides an additional level of filtering, creating a three-layer nested structure. The first layer is a CompositeFilters array with a CompositeOperator ( AND/ OR). The second layer is a CompositeFilter object that contains direct filters and NestedCompositeFilters. The third layer is NestedCompositeFilters, which contains additional filter conditions.

      • Operator (string) --

        The logical operator used to combine multiple filter conditions.

  • CompositeOperator (string) --

    The logical operator used to combine multiple filter conditions in the structure.

type Scopes:

dict

param Scopes:

Limits the results to resources from specific organizational units or from the delegated administrator's organization. Only the delegated administrator account can use this parameter. Other accounts receive an AccessDeniedException.

This parameter is optional. If you omit it, the delegated administrator sees resources from all accounts across the entire organization. Other accounts see only their own resources.

You can specify up to 10 entries in Scopes.AwsOrganizations. If multiple entries are specified, the entries are combined using OR logic.

  • AwsOrganizations (list) --

    A list of Organizations scopes to include in the query results. Each entry in the list specifies an organization or organizational unit to include for the delegated administrator's account. If the list specifies multiple entries, the entries are combined using OR logic.

    • (dict) --

      Specifies an Organizations scope. Data from the specified organization or organizational unit is included in the response.

      To scope to a specific organizational unit, provide OrganizationalUnitId. You can optionally include OrganizationId. If you omit OrganizationId, Security Hub uses the caller's organization ID. To scope to the delegated administrator's entire organization, provide only OrganizationId.

      The organization ID and organizational unit must belong to the delegated administrator's own organization. Each request must use one scoping approach: either scope to the entire organization by providing an AwsOrganizationScope entry with only OrganizationId, or scope to specific organizational units by providing AwsOrganizationScope entries with OrganizationalUnitId. You can't combine both approaches in the same request.

      • OrganizationId (string) --

        The unique identifier (ID) of the organization (for example, o-abcd1234567890). The organization must be the delegated administrator's own organization. If you omit this value and provide OrganizationalUnitId, Security Hub uses the caller's organization ID.

      • OrganizationalUnitId (string) --

        The unique identifier (ID) of the organizational unit (OU) (for example, ou-ab12-cd345678). The OU must exist within the delegated administrator's own organization. When specified, the results include only data from accounts in this OU.

type SortCriteria:

list

param SortCriteria:

The resource attributes used to sort the list of returned resources.

  • (dict) --

    A collection of finding attributes used to sort findings.

    • Field (string) --

      The finding attribute used to sort findings.

    • SortOrder (string) --

      The order used to sort findings.

type NextToken:

string

param NextToken:

The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

type MaxResults:

integer

param MaxResults:

The maximum number of results to return.

rtype:

dict

returns:

Response Syntax

{
    'Resources': [
        {
            'ResourceGuid': 'string',
            'ResourceId': 'string',
            'AccountId': 'string',
            'AccountName': 'string',
            'Region': 'string',
            'ResourceProvider': 'string',
            'ResourceOwnerAccountId': 'string',
            'ResourceOwnerOrgId': 'string',
            'ResourceCloudPartition': 'string',
            'ResourceRegion': 'string',
            'ResourceCategory': 'Compute'|'Database'|'Storage'|'Code'|'AI/ML'|'Identity'|'Network'|'Messaging'|'Other',
            'ResourceType': 'string',
            'ResourceName': 'string',
            'ResourceCreationTimeDt': 'string',
            'ResourceDetailCaptureTimeDt': 'string',
            'FindingsSummary': [
                {
                    'FindingType': 'string',
                    'ProductName': 'string',
                    'TotalFindings': 123,
                    'Severities': {
                        'Other': 123,
                        'Fatal': 123,
                        'Critical': 123,
                        'High': 123,
                        'Medium': 123,
                        'Low': 123,
                        'Informational': 123,
                        'Unknown': 123
                    }
                },
            ],
            'ResourceTags': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ],
            'ResourceConfig': {...}|[...]|123|123.4|'string'|True|None,
            'ResourceSubCategory': 'Model'|'ModelServing'|'Agent'|'AgentFramework'|'AgentToolsAndIdentity'|'SafetyAndGuardrail'|'KnowledgeAndData'|'OrchestrationAndPipeline'|'ExternalEndpoint'|'Development'|'Other',
            'DiscoveryType': 'Managed'|'SelfHosted',
            'ResourceInfo': {
                'AIDetails': {
                    'HostResourceGuid': 'string',
                    'HostResourceType': 'string',
                    'CanonicalId': 'string',
                    'SelfHostedAIModelResourceCount': 123,
                    'SelfHostedAIAgentResourceCount': 123,
                    'SelfHostedAIModelServingResourceCount': 123,
                    'SelfHostedAIExternalEndpointResourceCount': 123,
                    'SelfHostedAIDevelopmentResourceCount': 123,
                    'SelfHostedAIAgentFrameworkResourceCount': 123,
                    'SelfHostedAIAgentToolsAndIdentityResourceCount': 123,
                    'SelfHostedTotalAIResourceCount': 123
                }
            },
            'ResourceCriticality': 'Very High'|'High'|'Medium'|'Low'|'Unknown',
            'CriticalitySources': [
                {
                    'Source': 'AutomationRule'|'ResourceName'|'TagInference',
                    'Reason': 'string'
                },
            ]
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Resources (list) --

      An array of resources returned by the operation.

      • (dict) --

        Provides comprehensive details about an Amazon Web Services resource and its associated security findings.

        • ResourceGuid (string) --

          The global identifier used to identify a resource.

        • ResourceId (string) --

          The unique identifier for a resource.

        • AccountId (string) --

          The Amazon Web Services account that recorded the resource data in Security Hub.

        • AccountName (string) --

          The name of the Amazon Web Services account that's associated with the resource.

        • Region (string) --

          The Amazon Web Services Region that recorded the resource data in Security Hub.

        • ResourceProvider (string) --

          The cloud provider where the resource exists. Valid values are AWS and Azure. This field is always included.

        • ResourceOwnerAccountId (string) --

          The identifier of the cloud account that owns the resource. For Amazon Web Services resources, this is the Amazon Web Services account ID. For Azure resources, this is the Azure subscription ID.

        • ResourceOwnerOrgId (string) --

          The identifier of the cloud organization that owns the resource. For Amazon Web Services resources, this is the Organizations ID. For Azure resources, this is the Azure tenant ID.

        • ResourceCloudPartition (string) --

          The cloud partition where the resource exists. For Amazon Web Services, valid values include aws, aws-cn, and aws-us-gov. This field isn't returned for cloud providers that don't use partitions.

        • ResourceRegion (string) --

          The native cloud region where the resource is located. For Amazon Web Services, this is an Amazon Web Services Region (for example, us-east-1). For Azure resources, this is the Azure region (for example, westus2). This field is always included.

        • ResourceCategory (string) --

          The grouping where the resource belongs.

        • ResourceType (string) --

          The type of resource.

        • ResourceName (string) --

          The name of the resource.

        • ResourceCreationTimeDt (string) --

          The time when the resource was created.

        • ResourceDetailCaptureTimeDt (string) --

          The timestamp when information about the resource was captured.

        • FindingsSummary (list) --

          An aggregated view of security findings associated with a resource.

          • (dict) --

            A list of summaries for all finding types on a resource.

            • FindingType (string) --

              The category or classification of the security finding.

            • ProductName (string) --

              The name of the product associated with the security finding.

            • TotalFindings (integer) --

              The total count of security findings.

            • Severities (dict) --

              A breakdown of security findings by their severity levels.

              • Other (integer) --

                The number of findings not in any of the severity categories.

              • Fatal (integer) --

                The number of findings with a severity level of fatal.

              • Critical (integer) --

                The number of findings with a severity level of critical.

              • High (integer) --

                The number of findings with a severity level of high.

              • Medium (integer) --

                The number of findings with a severity level of medium.

              • Low (integer) --

                The number of findings with a severity level of low.

              • Informational (integer) --

                The number of findings that provide security-related information.

              • Unknown (integer) --

                The number of findings with a severity level cannot be determined.

        • ResourceTags (list) --

          The key-value pairs associated with a resource.

          • (dict) --

            Represents tag information associated with Amazon Web Services resources.

            • Key (string) --

              The identifier or name of the tag.

            • Value (string) --

              The data associated with the tag key.

        • ResourceConfig (:ref:`document<document>`) --

          The configuration details of a resource.

        • ResourceSubCategory (string) --

          The AI/ML sub-grouping of the resource. Present only when ResourceCategory is AI/ML.

        • DiscoveryType (string) --

          Specifies how the resource was discovered. If the value is Managed, the resource is natively provided by a cloud service provider. If the value is SelfHosted, the resource is hosted on customer-managed infrastructure, such as a compute instance or container image.

        • ResourceInfo (dict) --

          Additional resource-type-specific details. For self-hosted AI resources and their host resources, contains an AIDetails structure.

          • AIDetails (dict) --

            Details that are specific to self-hosted AI resources and their host resources.

            • HostResourceGuid (string) --

              The identifier of the host resource that hosts the self-hosted AI resource. Present only on self-hosted AI resources.

            • HostResourceType (string) --

              The ResourceType of the host resource that hosts the self-hosted AI resource, such as AWS::EC2::Instance. Present only on self-hosted AI resources.

            • CanonicalId (string) --

              The canonical identifier for the AI resource, independent of where it is deployed. Multiple occurrences of the same resource on different hosts share the same CanonicalId. For model resources, the value follows the format model/<purl>, such as model/pkg:huggingface/meta-llama/llama-3-8b. Present only on self-hosted AI resources.

            • SelfHostedAIModelResourceCount (integer) --

              The number of self-hosted AI resources of ResourceSubCategory Model detected on the host resource. Present only on host resources.

            • SelfHostedAIAgentResourceCount (integer) --

              The number of self-hosted AI resources of ResourceSubCategory Agent detected on the host resource. Present only on host resources.

            • SelfHostedAIModelServingResourceCount (integer) --

              The number of self-hosted AI resources of ResourceSubCategory ModelServing detected on the host resource. Present only on host resources.

            • SelfHostedAIExternalEndpointResourceCount (integer) --

              The number of self-hosted AI resources of ResourceSubCategory ExternalEndpoint detected on the host resource. Present only on host resources.

            • SelfHostedAIDevelopmentResourceCount (integer) --

              The number of self-hosted AI resources of ResourceSubCategory Development detected on the host resource. Present only on host resources.

            • SelfHostedAIAgentFrameworkResourceCount (integer) --

              The number of self-hosted AI resources of ResourceSubCategory AgentFramework detected on the host resource. Present only on host resources.

            • SelfHostedAIAgentToolsAndIdentityResourceCount (integer) --

              The number of self-hosted AI resources of ResourceSubCategory AgentToolsAndIdentity detected on the host resource. Present only on host resources.

            • SelfHostedTotalAIResourceCount (integer) --

              The total number of all self-hosted AI resources detected on the host resource. Present only on host resources.

        • ResourceCriticality (string) --

          The criticality assigned to a resource.

        • CriticalitySources (list) --

          The sources of criticalities determined from a resource.

          • (dict) --

            Details the source and reason of a criticality.

            • Source (string) --

              The source of the criticality.

            • Reason (string) --

              The reason the criticality was assigned.

    • NextToken (string) --

      The pagination token to use to request the next page of results. Otherwise, this parameter is null.

ListAutomationRulesV2 (updated) Link ¶
Changes (response)
{'Rules': {'Actions': {'Type': {'RESOURCE_FIELDS_UPDATE'}}}}

Returns a list of automation rules and metadata for the calling account.

See also: AWS API Documentation

Request Syntax

client.list_automation_rules_v2(
    NextToken='string',
    MaxResults=123
)
type NextToken:

string

param NextToken:

The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

type MaxResults:

integer

param MaxResults:

The maximum number of results to return.

rtype:

dict

returns:

Response Syntax

{
    'Rules': [
        {
            'RuleArn': 'string',
            'RuleId': 'string',
            'RuleOrder': ...,
            'RuleName': 'string',
            'RuleStatus': 'ENABLED'|'DISABLED',
            'Description': 'string',
            'Actions': [
                {
                    'Type': 'FINDING_FIELDS_UPDATE'|'EXTERNAL_INTEGRATION'|'RESOURCE_FIELDS_UPDATE'
                },
            ],
            'CreatedAt': datetime(2015, 1, 1),
            'UpdatedAt': datetime(2015, 1, 1)
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Rules (list) --

      An array of automation rules.

      • (dict) --

        Includes essential metadata information about automation rules.

        • RuleArn (string) --

          The ARN of the automation rule.

        • RuleId (string) --

          The ID of the automation rule.

        • RuleOrder (float) --

          The value for the rule priority.

        • RuleName (string) --

          The name of the automation rule.

        • RuleStatus (string) --

          The status of the automation rule.

        • Description (string) --

          An explanation for the purpose and funcitonality of the automation rule.

        • Actions (list) --

          The list of action to be performed when the rule criteria is met.

          • (dict) --

            Allows you to customize security response workflows.

            • Type (string) --

              The category of action to be executed by the automation rule.

        • CreatedAt (datetime) --

          The timestamp for when the automation rule was created.

        • UpdatedAt (datetime) --

          The timestamp for the most recent modification to the automation rule.

    • NextToken (string) --

      The pagination token to use to request the next page of results. Otherwise, this parameter is null.

StartExportJobV2 (updated) Link ¶
Changes (request)
{'OutputConfiguration': {'Findings': {'Filters': {'CompositeFilters': {'StringFilters': {'FieldName': {'impact',
                                                                                                       'likelihood',
                                                                                                       'resources.criticality'}}}}}}}

Starts an ad hoc export job that writes Security Hub findings to an Amazon Simple Storage Service (Amazon S3) bucket that you own. Because the export runs asynchronously, this operation returns only the ExportJobId of the new job; it doesn't wait for the export to finish. Use GetExportJobV2 to poll the job, and ListExportJobsV2 to view the export jobs in your account.

Security Hub allows only one export job in the RUNNING state per account at a time. If an export job is already running, this operation returns a ServiceQuotaExceededException. Wait for the running job to finish, or cancel it with CancelExportJobV2, before you start a new one.

Specify the destination bucket and Amazon Web Services Key Management Service (Amazon Web Services KMS) key in the Destination parameter, and the output format ( CSV or OCSF_JSON), optional filters, and field selection in the OutputConfiguration parameter. Before you call this operation, you must grant Security Hub permission to write to your bucket and use your Amazon Web Services KMS key by adding the bucket policy and key policy statements shown in the Examples section.

Two identities use your Amazon Web Services KMS key, and each needs its own permission. Security Hub uses the key when it writes the export objects to your bucket. The IAM principal that calls StartExportJobV2 must also have kms:GenerateDataKey and kms:Decrypt permissions on the key. The Examples section shows both grants.

A delegated administrator can use the optional Scopes parameter to export findings for specific organizations or organizational units (OUs).

To make the request idempotent, provide a ClientToken. If you retry a StartExportJobV2 request with the same ClientToken and the same request parameters, Security Hub returns the ExportJobId of the original job instead of starting a new one. If you reuse a ClientToken with different request parameters, this operation returns a ConflictException.

See also: AWS API Documentation

Request Syntax

client.start_export_job_v2(
    Name='string',
    Destination={
        'S3': {
            'BucketArn': 'string',
            'KmsKeyArn': 'string',
            'ObjectPrefix': 'string'
        }
    },
    OutputConfiguration={
        'Findings': {
            'Format': 'CSV'|'OCSF_JSON',
            'Filters': {
                'CompositeFilters': [
                    {
                        'StringFilters': [
                            {
                                'FieldName': 'metadata.uid'|'activity_name'|'cloud.account.uid'|'cloud.provider'|'cloud.region'|'compliance.assessments.category'|'compliance.assessments.name'|'compliance.control'|'compliance.status'|'compliance.standards'|'finding_info.desc'|'finding_info.src_url'|'finding_info.title'|'finding_info.types'|'finding_info.uid'|'finding_info.related_events.traits.category'|'finding_info.related_events.uid'|'finding_info.related_events.product.uid'|'finding_info.related_events.title'|'impact'|'likelihood'|'metadata.product.name'|'metadata.product.uid'|'metadata.product.vendor_name'|'remediation.desc'|'remediation.references'|'resources.cloud_partition'|'resources.criticality'|'resources.name'|'resources.owner.account.uid'|'resources.owner.org.uid'|'resources.owner.account.name'|'resources.provider'|'resources.region'|'resources.type'|'resources.uid'|'severity'|'status'|'comment'|'vulnerabilities.fix_coverage'|'class_name'|'databucket.encryption_details.algorithm'|'databucket.encryption_details.key_uid'|'databucket.file.data_classifications.classifier_details.type'|'evidences.actor.user.account.uid'|'evidences.api.operation'|'evidences.api.response.error_message'|'evidences.api.service.name'|'evidences.connection_info.direction'|'evidences.connection_info.protocol_name'|'evidences.dst_endpoint.autonomous_system.name'|'evidences.dst_endpoint.location.city'|'evidences.dst_endpoint.location.country'|'evidences.src_endpoint.autonomous_system.name'|'evidences.src_endpoint.hostname'|'evidences.src_endpoint.location.city'|'evidences.src_endpoint.location.country'|'finding_info.analytic.name'|'malware.name'|'malware_scan_info.uid'|'malware.severity'|'resources.cloud_function.layers.uid_alt'|'resources.cloud_function.runtime'|'resources.cloud_function.user.uid'|'resources.device.encryption_details.key_uid'|'resources.device.image.uid'|'resources.image.architecture'|'resources.image.registry_uid'|'resources.image.repository_name'|'resources.image.uid'|'resources.subnet_info.uid'|'resources.vpc_uid'|'vulnerabilities.affected_code.file.path'|'vulnerabilities.affected_packages.name'|'vulnerabilities.cve.epss.score'|'vulnerabilities.cve.uid'|'vulnerabilities.related_vulnerabilities'|'cloud.account.name'|'vendor_attributes.severity',
                                'Filter': {
                                    'Value': 'string',
                                    'Comparison': 'EQUALS'|'PREFIX'|'NOT_EQUALS'|'PREFIX_NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'|'CONTAINS_WORD'
                                }
                            },
                        ],
                        'DateFilters': [
                            {
                                'FieldName': 'finding_info.created_time_dt'|'finding_info.first_seen_time_dt'|'finding_info.last_seen_time_dt'|'finding_info.modified_time_dt'|'resources.image.created_time_dt'|'resources.image.last_used_time_dt'|'resources.modified_time_dt',
                                'Filter': {
                                    'Start': 'string',
                                    'End': 'string',
                                    'DateRange': {
                                        'Value': 123,
                                        'Unit': 'DAYS',
                                        'Comparison': 'WITHIN'|'OLDER_THAN'
                                    }
                                }
                            },
                        ],
                        'BooleanFilters': [
                            {
                                'FieldName': 'compliance.assessments.meets_criteria'|'vulnerabilities.is_exploit_available'|'vulnerabilities.is_fix_available',
                                'Filter': {
                                    'Value': True|False
                                }
                            },
                        ],
                        'NumberFilters': [
                            {
                                'FieldName': 'activity_id'|'compliance.status_id'|'confidence_score'|'severity_id'|'status_id'|'finding_info.related_events_count'|'evidences.api.response.code'|'evidences.dst_endpoint.autonomous_system.number'|'evidences.dst_endpoint.port'|'evidences.src_endpoint.autonomous_system.number'|'evidences.src_endpoint.port'|'resources.image.in_use_count'|'vulnerabilities.cve.cvss.base_score'|'vendor_attributes.severity_id',
                                'Filter': {
                                    'Gte': 123.0,
                                    'Lte': 123.0,
                                    'Eq': 123.0,
                                    'Gt': 123.0,
                                    'Lt': 123.0
                                }
                            },
                        ],
                        'MapFilters': [
                            {
                                'FieldName': 'resources.tags'|'compliance.control_parameters'|'databucket.tags'|'finding_info.tags',
                                'Filter': {
                                    'Key': 'string',
                                    'Value': 'string',
                                    'Comparison': 'EQUALS'|'NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'
                                }
                            },
                        ],
                        'IpFilters': [
                            {
                                'FieldName': 'evidences.dst_endpoint.ip'|'evidences.src_endpoint.ip',
                                'Filter': {
                                    'Cidr': 'string'
                                }
                            },
                        ],
                        'NestedCompositeFilters': {'... recursive ...'},
                        'Operator': 'AND'|'OR'
                    },
                ],
                'CompositeOperator': 'AND'|'OR'
            },
            'SelectedFields': [
                'metadata.uid'|'activity_name'|'cloud.account.name'|'cloud.account.uid'|'cloud.provider'|'cloud.region'|'compliance.assessments.category'|'compliance.assessments.name'|'compliance.control'|'compliance.status'|'compliance.standards'|'finding_info.desc'|'finding_info.src_url'|'finding_info.title'|'finding_info.types'|'finding_info.uid'|'finding_info.related_events.traits.category'|'finding_info.related_events.uid'|'finding_info.related_events.product.uid'|'finding_info.related_events.title'|'metadata.product.feature.uid'|'metadata.product.name'|'metadata.product.uid'|'metadata.product.vendor_name'|'remediation.desc'|'remediation.references'|'resources.cloud_partition'|'resources.name'|'resources.owner.account.uid'|'resources.owner.org.uid'|'resources.owner.account.name'|'resources.provider'|'resources.region'|'resources.type'|'resources.uid'|'severity'|'status'|'comment'|'vulnerabilities.fix_coverage'|'class_name'|'databucket.encryption_details.algorithm'|'databucket.encryption_details.key_uid'|'databucket.file.data_classifications.classifier_details.type'|'evidences.actor.user.account.uid'|'evidences.api.operation'|'evidences.api.response.error_message'|'evidences.api.service.name'|'evidences.connection_info.direction'|'evidences.connection_info.protocol_name'|'evidences.dst_endpoint.autonomous_system.name'|'evidences.dst_endpoint.location.city'|'evidences.dst_endpoint.location.country'|'evidences.src_endpoint.autonomous_system.name'|'evidences.src_endpoint.hostname'|'evidences.src_endpoint.location.city'|'evidences.src_endpoint.location.country'|'finding_info.analytic.name'|'malware.name'|'malware_scan_info.uid'|'malware.severity'|'resources.cloud_function.layers.uid_alt'|'resources.cloud_function.runtime'|'resources.cloud_function.user.uid'|'resources.device.encryption_details.key_uid'|'resources.device.image.uid'|'resources.image.architecture'|'resources.image.registry_uid'|'resources.image.repository_name'|'resources.image.uid'|'resources.subnet_info.uid'|'resources.vpc_uid'|'vulnerabilities.affected_code.file.path'|'vulnerabilities.affected_packages.name'|'vulnerabilities.cve.cvss.vendor_name'|'vulnerabilities.cve.cvss.version'|'vulnerabilities.cve.epss.score'|'vulnerabilities.cve.uid'|'vulnerabilities.related_vulnerabilities'|'vendor_attributes.severity'|'activity_id'|'compliance.status_id'|'confidence_score'|'severity_id'|'status_id'|'finding_info.related_events_count'|'evidences.api.response.code'|'evidences.dst_endpoint.autonomous_system.number'|'evidences.dst_endpoint.port'|'evidences.src_endpoint.autonomous_system.number'|'evidences.src_endpoint.port'|'resources.image.in_use_count'|'vulnerabilities.cve.cvss.base_score'|'vendor_attributes.severity_id'|'finding_info.created_time_dt'|'finding_info.first_seen_time_dt'|'finding_info.last_seen_time_dt'|'finding_info.modified_time_dt'|'resources.image.created_time_dt'|'resources.image.last_used_time_dt'|'resources.modified_time_dt'|'compliance.assessments.meets_criteria'|'vulnerabilities.is_exploit_available'|'vulnerabilities.is_fix_available'|'resources.tags'|'compliance.control_parameters'|'databucket.tags'|'finding_info.tags'|'evidences.dst_endpoint.ip'|'evidences.src_endpoint.ip',
            ]
        }
    },
    Scopes={
        'AwsOrganizations': [
            {
                'OrganizationId': 'string',
                'OrganizationalUnitId': 'string'
            },
        ]
    },
    ClientToken='string'
)
type Name:

string

param Name:

An optional, user-provided name for the export job that helps you identify it in ListExportJobsV2 results. The value can be 1–256 characters. Alphanumeric characters, spaces, and the following ASCII characters are permitted: . _ , : ( ) / + -.

type Destination:

dict

param Destination:

[REQUIRED]

The destination that Security Hub writes the export to. You must specify exactly one destination type. Currently, the only supported type is Amazon S3.

  • S3 (dict) --

    The Amazon Simple Storage Service (Amazon S3) bucket and Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Security Hub uses to write the export.

    • BucketArn (string) -- [REQUIRED]

      The Amazon Resource Name (ARN) of the Amazon S3 bucket that Security Hub writes the export to. You must own the bucket, and its bucket policy must grant the Security Hub service principal ( exportv2.securityhub.amazonaws.com) permission to write objects. For the required bucket policy, see the Examples section of StartExportJobV2.

    • KmsKeyArn (string) -- [REQUIRED]

      The ARN of the Amazon Web Services KMS key that Security Hub uses to encrypt the export objects with server-side encryption. The key policy must allow the Security Hub service principal ( exportv2.securityhub.amazonaws.com) to use the key through Amazon S3. For the required key policy, see the Examples section of StartExportJobV2.

      The key must meet all of the following requirements:

      • It must be a symmetric key with a key usage of ENCRYPT_DECRYPT.

      • It must be a single-Region key. Multi-Region keys, whose key IDs begin with mrk-, are rejected.

      • You must specify the full key ARN. Key IDs and aliases are rejected.

      • The key must be in the same Amazon Web Services account as the export job.

      • The key must be in the same Amazon Web Services Region as the export job.

      • The key must be in the aws, aws-cn, or aws-us-gov partition.

    • ObjectPrefix (string) --

      An optional key prefix that Security Hub prepends to the Amazon S3 object keys of the export output. Use a prefix to organize exports within the bucket. The value can be up to 512 characters.

type OutputConfiguration:

dict

param OutputConfiguration:

[REQUIRED]

Specifies what data to export and how to format it. You must specify exactly one output type. Currently, the only supported type is Findings.

  • Findings (dict) --

    Configures an export of Security Hub findings, including the output format and any filters or selected fields.

    • Format (string) -- [REQUIRED]

      The output format of the export. CSV produces comma-separated rows that are suitable for spreadsheets and analysis tools. OCSF_JSON produces newline-delimited JSON records in the Open Cybersecurity Schema Framework (OCSF) format used elsewhere in Security Hub.

    • Filters (dict) --

      An optional set of OCSF finding filters that restrict which findings are exported. The filter structure is the same as the one used by GetFindingsV2. If you omit this member, Security Hub exports all findings available to the caller. When echoed by GetExportJobV2, relative date ranges are returned unresolved.

      • CompositeFilters (list) --

        Enables the creation of complex filtering conditions by combining filter criteria.

        • (dict) --

          Enables the creation of filtering criteria for security findings.

          • StringFilters (list) --

            Enables filtering based on string field values.

            • (dict) --

              Enables filtering of security findings based on string field values in OCSF.

              • FieldName (string) --

                The name of the field.

              • Filter (dict) --

                A string filter for filtering Security Hub CSPM findings.

                • Value (string) --

                  The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is Security Hub CSPM. If you provide security hub as the filter value, there's no match.

                • Comparison (string) --

                  The condition to apply to a string value when filtering Security Hub CSPM findings.

                  To search for values that have the filter value, use one of the following comparison operators:

                  • To search for values that include the filter value, use CONTAINS. For example, the filter Title CONTAINS CloudFront matches findings that have a Title that includes the string CloudFront.

                  • To search for values that contain a word matching the filter value, regardless of case, use CONTAINS_WORD. For example, the filter Title CONTAINS_WORD lambda matches a finding whose Title is GuardDuty Lambda Protection, because the Title contains the word Lambda. Including special characters in the filter value might produce unexpected search results.

                  • To search for values that exactly match the filter value, use EQUALS. For example, the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of 123456789012.

                  • To search for values that start with the filter value, use PREFIX. For example, the filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts with us. A ResourceRegion that starts with a different value, such as af, ap, or ca, doesn't match.

                  CONTAINS, EQUALS, and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR Title CONTAINS CloudWatch match a finding that includes either CloudFront, CloudWatch, or both strings in the title.

                  To search for values that don’t have the filter value, use one of the following comparison operators:

                  • To search for values that exclude the filter value, use NOT_CONTAINS. For example, the filter Title NOT_CONTAINS CloudFront matches findings that have a Title that excludes the string CloudFront.

                  • To search for values other than the filter value, use NOT_EQUALS. For example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account ID other than 123456789012.

                  • To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a ResourceRegion that starts with a value other than us.

                  NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and CloudWatch in the title.

                  You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can't provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                  You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub CSPM first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

                  For example, for the following filters, Security Hub CSPM first identifies findings that have resource types that start with either AwsIam or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

                  • ResourceType PREFIX AwsIam

                  • ResourceType PREFIX AwsEc2

                  • ResourceType NOT_EQUALS AwsIamPolicy

                  • ResourceType NOT_EQUALS AwsEc2NetworkInterface

                  The CONTAINS operator works with automation rules V1 and V2. The NOT_CONTAINS operator works only with automation rules V1. The CONTAINS_WORD operator works only in the GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2, and GetResourcesStatisticsV2 APIs. For more information, see Automation rules in the Security Hub CSPM User Guide.

          • DateFilters (list) --

            Enables filtering based on date and timestamp fields.

            • (dict) --

              Enables filtering of security findings based on date and timestamp fields in OCSF.

              • FieldName (string) --

                The name of the field.

              • Filter (dict) --

                A date filter for querying findings.

                • Start (string) --

                  A timestamp that provides the start date for the date filter.

                  For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

                • End (string) --

                  A timestamp that provides the end date for the date filter.

                  For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

                • DateRange (dict) --

                  A date range for the date filter.

                  • Value (integer) --

                    A date range value for the date filter.

                  • Unit (string) --

                    A date range unit for the date filter.

                  • Comparison (string) --

                    The condition to apply to a date range filter. If you specify WITHIN, Security Hub filters for dates within the specified date range. If you specify OLDER_THAN, Security Hub filters for dates before the specified date range. If you don't specify a value, the default is WITHIN.

          • BooleanFilters (list) --

            Enables filtering based on boolean field values.

            • (dict) --

              Enables filtering of security findings based on boolean field values in OCSF.

              • FieldName (string) --

                The name of the field.

              • Filter (dict) --

                Boolean filter for querying findings.

                • Value (boolean) --

                  The value of the boolean.

          • NumberFilters (list) --

            Enables filtering based on numerical field values.

            • (dict) --

              Enables filtering of security findings based on numerical field values in OCSF.

              • FieldName (string) --

                The name of the field.

              • Filter (dict) --

                A number filter for querying findings.

                • Gte (float) --

                  The greater-than-equal condition to be applied to a single field when querying for findings.

                • Lte (float) --

                  The less-than-equal condition to be applied to a single field when querying for findings.

                • Eq (float) --

                  The equal-to condition to be applied to a single field when querying for findings.

                • Gt (float) --

                  The greater-than condition to be applied to a single field when querying for findings.

                • Lt (float) --

                  The less-than condition to be applied to a single field when querying for findings.

          • MapFilters (list) --

            Enables filtering based on map field values.

            • (dict) --

              Enables filtering of security findings based on map field values in OCSF.

              • FieldName (string) --

                The name of the field.

              • Filter (dict) --

                A map filter for filtering Security Hub CSPM findings. Each map filter provides the field to check for, the value to check for, and the comparison operator.

                • Key (string) --

                  The key of the map filter. For example, for ResourceTags, Key identifies the name of the tag. For UserDefinedFields, Key is the name of the field.

                • Value (string) --

                  The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called Department might be Security. If you provide security as the filter value, then there's no match.

                • Comparison (string) --

                  The condition to apply to the key value when filtering Security Hub CSPM findings with a map filter.

                  To search for values that have the filter value, use one of the following comparison operators:

                  • To search for values that include the filter value, use CONTAINS. For example, for the ResourceTags field, the filter Department CONTAINS Security matches findings that include the value Security for the Department tag. In the same example, a finding with a value of Security team for the Department tag is a match.

                  • To search for values that exactly match the filter value, use EQUALS. For example, for the ResourceTags field, the filter Department EQUALS Security matches findings that have the value Security for the Department tag.

                  CONTAINS and EQUALS filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Department CONTAINS Security OR Department CONTAINS Finance match a finding that includes either Security, Finance, or both values.

                  To search for values that don't have the filter value, use one of the following comparison operators:

                  • To search for values that exclude the filter value, use NOT_CONTAINS. For example, for the ResourceTags field, the filter Department NOT_CONTAINS Finance matches findings that exclude the value Finance for the Department tag.

                  • To search for values other than the filter value, use NOT_EQUALS. For example, for the ResourceTags field, the filter Department NOT_EQUALS Finance matches findings that don’t have the value Finance for the Department tag.

                  NOT_CONTAINS and NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance match a finding that excludes both the Security and Finance values.

                  CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                  You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can’t have both an EQUALS filter and a NOT_EQUALS filter on the same field. Combining filters in this way returns an error.

                  CONTAINS and NOT_CONTAINS operators can be used only with automation rules. For more information, see Automation rules in the Security Hub CSPM User Guide.

          • IpFilters (list) --

            A list of IP address filters that allowing you to filter findings based on IP address properties.

            • (dict) --

              The structure for filtering findings based on IP address attributes.

              • FieldName (string) --

                The name of the IP address field to filter on.

              • Filter (dict) --

                The IP filter for querying findings.

                • Cidr (string) --

                  A finding's CIDR value.

          • NestedCompositeFilters (list) --

            Provides an additional level of filtering, creating a three-layer nested structure. The first layer is a CompositeFilters array with a CompositeOperator ( AND/ OR). The second layer is a CompositeFilter object that contains direct filters and NestedCompositeFilters. The third layer is NestedCompositeFilters, which contains additional filter conditions.

          • Operator (string) --

            The logical operator used to combine multiple filter conditions.

      • CompositeOperator (string) --

        The logical operators used to combine the filtering on multiple CompositeFilters.

    • SelectedFields (list) --

      The OCSF finding fields to include in the export, specified as OCSF field paths (for example, finding_info.title or severity). You can specify from 1 to 50 fields.

      Whether this parameter is required depends on the value of Format:

      • CSV – Required. The field paths that you specify become the columns of the output, in the order that you provide them. If you omit this parameter, the request returns a ValidationException.

      • OCSF_JSON – Not supported. This format includes each finding in full, so field selection doesn't apply. If you specify this parameter, the request returns a ValidationException.

      • (string) --

        An OCSF finding field path that can be included in FindingsOutput.SelectedFields, for example finding_info.title, severity, or cloud.account.uid. Each value corresponds to a field in the OCSF finding schema.

type Scopes:

dict

param Scopes:

Limits the export to findings from specific organizational units (OUs) or from the delegated administrator's organization. Only the delegated administrator account can use this parameter; other accounts that specify it receive an AccessDeniedException.

This parameter is optional. If you omit it, the delegated administrator exports findings from all accounts across the entire organization, and other accounts export only their own findings.

You can specify up to 10 entries in Scopes.AwsOrganizations. If you specify multiple entries, Security Hub combines them using OR logic.

  • AwsOrganizations (list) --

    A list of Organizations scopes to include in the export. Each entry in the list specifies an organization or organizational unit to include for the delegated administrator's account. If the list specifies multiple entries, the entries are combined using OR logic.

    • (dict) --

      Specifies an Organizations scope. Data from the specified organization or organizational unit is included in the response.

      To scope to a specific organizational unit, provide OrganizationalUnitId. You can optionally include OrganizationId. If you omit OrganizationId, Security Hub uses the caller's organization ID. To scope to the delegated administrator's entire organization, provide only OrganizationId.

      The organization ID and organizational unit must belong to the delegated administrator's own organization. Each request must use one scoping approach: either scope to the entire organization by providing an AwsOrganizationScope entry with only OrganizationId, or scope to specific organizational units by providing AwsOrganizationScope entries with OrganizationalUnitId. You can't combine both approaches in the same request.

      • OrganizationId (string) --

        The unique identifier (ID) of the organization (for example, o-abcd1234567890). The organization must be the delegated administrator's own organization. If you omit this value and provide OrganizationalUnitId, Security Hub uses the caller's organization ID.

      • OrganizationalUnitId (string) --

        The unique identifier (ID) of the organizational unit (OU) (for example, ou-ab12-cd345678). The OU must exist within the delegated administrator's own organization. When specified, the results include only data from accounts in this OU.

type ClientToken:

string

param ClientToken:

A unique identifier used to ensure idempotency.

This field is autopopulated if not provided.

rtype:

dict

returns:

Response Syntax

{
    'ExportJobId': 'string'
}

Response Structure

  • (dict) --

    • ExportJobId (string) --

      The unique identifier of the export job that Security Hub started. Use this value with GetExportJobV2 or CancelExportJobV2.

UpdateAutomationRuleV2 (updated) Link ¶
Changes (request)
{'Actions': {'ResourceFieldsUpdate': {'Criticality': 'Very High | High | '
                                                     'Medium | Low | Unknown'},
             'Type': {'RESOURCE_FIELDS_UPDATE'}},
 'Criteria': {'OcsfFindingCriteria': {'CompositeFilters': {'StringFilters': {'FieldName': {'impact',
                                                                                           'likelihood',
                                                                                           'resources.criticality'}}}},
              'ResourceCriteria': {'CompositeFilters': [{'DateFilters': [{'FieldName': 'ResourceDetailCaptureTime '
                                                                                       '| '
                                                                                       'ResourceCreationTime',
                                                                          'Filter': {'DateRange': {'Comparison': 'WITHIN '
                                                                                                                 '| '
                                                                                                                 'OLDER_THAN',
                                                                                                   'Unit': 'DAYS',
                                                                                                   'Value': 'integer'},
                                                                                     'End': 'string',
                                                                                     'Start': 'string'}}],
                                                         'MapFilters': [{'FieldName': 'ResourceTags',
                                                                         'Filter': {'Comparison': 'EQUALS '
                                                                                                  '| '
                                                                                                  'NOT_EQUALS '
                                                                                                  '| '
                                                                                                  'CONTAINS '
                                                                                                  '| '
                                                                                                  'NOT_CONTAINS',
                                                                                    'Key': 'string',
                                                                                    'Value': 'string'}}],
                                                         'NestedCompositeFilters': (),
                                                         'NumberFilters': [{'FieldName': 'FindingsSummary.TotalFindings '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Other '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Fatal '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Critical '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.High '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Medium '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Low '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Informational '
                                                                                         '| '
                                                                                         'FindingsSummary.Severities.Unknown '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIModelResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIAgentResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIModelServingResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIExternalEndpointResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIDevelopmentResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIAgentFrameworkResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedAIAgentToolsAndIdentityResourceCount '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.SelfHostedTotalAIResourceCount',
                                                                            'Filter': {'Eq': 'double',
                                                                                       'Gt': 'double',
                                                                                       'Gte': 'double',
                                                                                       'Lt': 'double',
                                                                                       'Lte': 'double'}}],
                                                         'Operator': 'AND | OR',
                                                         'StringFilters': [{'FieldName': 'ResourceGuid '
                                                                                         '| '
                                                                                         'ResourceId '
                                                                                         '| '
                                                                                         'AccountId '
                                                                                         '| '
                                                                                         'AccountName '
                                                                                         '| '
                                                                                         'Region '
                                                                                         '| '
                                                                                         'ResourceProvider '
                                                                                         '| '
                                                                                         'ResourceOwnerAccountId '
                                                                                         '| '
                                                                                         'ResourceOwnerOrgId '
                                                                                         '| '
                                                                                         'ResourceCloudPartition '
                                                                                         '| '
                                                                                         'ResourceRegion '
                                                                                         '| '
                                                                                         'ResourceCategory '
                                                                                         '| '
                                                                                         'ResourceType '
                                                                                         '| '
                                                                                         'ResourceName '
                                                                                         '| '
                                                                                         'FindingsSummary.FindingType '
                                                                                         '| '
                                                                                         'FindingsSummary.ProductName '
                                                                                         '| '
                                                                                         'ResourceSubCategory '
                                                                                         '| '
                                                                                         'DiscoveryType '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.HostResourceGuid '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.HostResourceType '
                                                                                         '| '
                                                                                         'ResourceInfo.AIDetails.CanonicalId '
                                                                                         '| '
                                                                                         'ResourceCriticality',
                                                                            'Filter': {'Comparison': 'EQUALS '
                                                                                                     '| '
                                                                                                     'PREFIX '
                                                                                                     '| '
                                                                                                     'NOT_EQUALS '
                                                                                                     '| '
                                                                                                     'PREFIX_NOT_EQUALS '
                                                                                                     '| '
                                                                                                     'CONTAINS '
                                                                                                     '| '
                                                                                                     'NOT_CONTAINS '
                                                                                                     '| '
                                                                                                     'CONTAINS_WORD',
                                                                                       'Value': 'string'}}]}],
                                   'CompositeOperator': 'AND | OR'}}}

Updates a V2 automation rule.

See also: AWS API Documentation

Request Syntax

client.update_automation_rule_v2(
    Identifier='string',
    RuleStatus='ENABLED'|'DISABLED',
    RuleOrder=...,
    Description='string',
    RuleName='string',
    Criteria={
        'OcsfFindingCriteria': {
            'CompositeFilters': [
                {
                    'StringFilters': [
                        {
                            'FieldName': 'metadata.uid'|'activity_name'|'cloud.account.uid'|'cloud.provider'|'cloud.region'|'compliance.assessments.category'|'compliance.assessments.name'|'compliance.control'|'compliance.status'|'compliance.standards'|'finding_info.desc'|'finding_info.src_url'|'finding_info.title'|'finding_info.types'|'finding_info.uid'|'finding_info.related_events.traits.category'|'finding_info.related_events.uid'|'finding_info.related_events.product.uid'|'finding_info.related_events.title'|'impact'|'likelihood'|'metadata.product.name'|'metadata.product.uid'|'metadata.product.vendor_name'|'remediation.desc'|'remediation.references'|'resources.cloud_partition'|'resources.criticality'|'resources.name'|'resources.owner.account.uid'|'resources.owner.org.uid'|'resources.owner.account.name'|'resources.provider'|'resources.region'|'resources.type'|'resources.uid'|'severity'|'status'|'comment'|'vulnerabilities.fix_coverage'|'class_name'|'databucket.encryption_details.algorithm'|'databucket.encryption_details.key_uid'|'databucket.file.data_classifications.classifier_details.type'|'evidences.actor.user.account.uid'|'evidences.api.operation'|'evidences.api.response.error_message'|'evidences.api.service.name'|'evidences.connection_info.direction'|'evidences.connection_info.protocol_name'|'evidences.dst_endpoint.autonomous_system.name'|'evidences.dst_endpoint.location.city'|'evidences.dst_endpoint.location.country'|'evidences.src_endpoint.autonomous_system.name'|'evidences.src_endpoint.hostname'|'evidences.src_endpoint.location.city'|'evidences.src_endpoint.location.country'|'finding_info.analytic.name'|'malware.name'|'malware_scan_info.uid'|'malware.severity'|'resources.cloud_function.layers.uid_alt'|'resources.cloud_function.runtime'|'resources.cloud_function.user.uid'|'resources.device.encryption_details.key_uid'|'resources.device.image.uid'|'resources.image.architecture'|'resources.image.registry_uid'|'resources.image.repository_name'|'resources.image.uid'|'resources.subnet_info.uid'|'resources.vpc_uid'|'vulnerabilities.affected_code.file.path'|'vulnerabilities.affected_packages.name'|'vulnerabilities.cve.epss.score'|'vulnerabilities.cve.uid'|'vulnerabilities.related_vulnerabilities'|'cloud.account.name'|'vendor_attributes.severity',
                            'Filter': {
                                'Value': 'string',
                                'Comparison': 'EQUALS'|'PREFIX'|'NOT_EQUALS'|'PREFIX_NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'|'CONTAINS_WORD'
                            }
                        },
                    ],
                    'DateFilters': [
                        {
                            'FieldName': 'finding_info.created_time_dt'|'finding_info.first_seen_time_dt'|'finding_info.last_seen_time_dt'|'finding_info.modified_time_dt'|'resources.image.created_time_dt'|'resources.image.last_used_time_dt'|'resources.modified_time_dt',
                            'Filter': {
                                'Start': 'string',
                                'End': 'string',
                                'DateRange': {
                                    'Value': 123,
                                    'Unit': 'DAYS',
                                    'Comparison': 'WITHIN'|'OLDER_THAN'
                                }
                            }
                        },
                    ],
                    'BooleanFilters': [
                        {
                            'FieldName': 'compliance.assessments.meets_criteria'|'vulnerabilities.is_exploit_available'|'vulnerabilities.is_fix_available',
                            'Filter': {
                                'Value': True|False
                            }
                        },
                    ],
                    'NumberFilters': [
                        {
                            'FieldName': 'activity_id'|'compliance.status_id'|'confidence_score'|'severity_id'|'status_id'|'finding_info.related_events_count'|'evidences.api.response.code'|'evidences.dst_endpoint.autonomous_system.number'|'evidences.dst_endpoint.port'|'evidences.src_endpoint.autonomous_system.number'|'evidences.src_endpoint.port'|'resources.image.in_use_count'|'vulnerabilities.cve.cvss.base_score'|'vendor_attributes.severity_id',
                            'Filter': {
                                'Gte': 123.0,
                                'Lte': 123.0,
                                'Eq': 123.0,
                                'Gt': 123.0,
                                'Lt': 123.0
                            }
                        },
                    ],
                    'MapFilters': [
                        {
                            'FieldName': 'resources.tags'|'compliance.control_parameters'|'databucket.tags'|'finding_info.tags',
                            'Filter': {
                                'Key': 'string',
                                'Value': 'string',
                                'Comparison': 'EQUALS'|'NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'
                            }
                        },
                    ],
                    'IpFilters': [
                        {
                            'FieldName': 'evidences.dst_endpoint.ip'|'evidences.src_endpoint.ip',
                            'Filter': {
                                'Cidr': 'string'
                            }
                        },
                    ],
                    'NestedCompositeFilters': {'... recursive ...'},
                    'Operator': 'AND'|'OR'
                },
            ],
            'CompositeOperator': 'AND'|'OR'
        },
        'ResourceCriteria': {
            'CompositeFilters': [
                {
                    'StringFilters': [
                        {
                            'FieldName': 'ResourceGuid'|'ResourceId'|'AccountId'|'AccountName'|'Region'|'ResourceProvider'|'ResourceOwnerAccountId'|'ResourceOwnerOrgId'|'ResourceCloudPartition'|'ResourceRegion'|'ResourceCategory'|'ResourceType'|'ResourceName'|'FindingsSummary.FindingType'|'FindingsSummary.ProductName'|'ResourceSubCategory'|'DiscoveryType'|'ResourceInfo.AIDetails.HostResourceGuid'|'ResourceInfo.AIDetails.HostResourceType'|'ResourceInfo.AIDetails.CanonicalId'|'ResourceCriticality',
                            'Filter': {
                                'Value': 'string',
                                'Comparison': 'EQUALS'|'PREFIX'|'NOT_EQUALS'|'PREFIX_NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'|'CONTAINS_WORD'
                            }
                        },
                    ],
                    'DateFilters': [
                        {
                            'FieldName': 'ResourceDetailCaptureTime'|'ResourceCreationTime',
                            'Filter': {
                                'Start': 'string',
                                'End': 'string',
                                'DateRange': {
                                    'Value': 123,
                                    'Unit': 'DAYS',
                                    'Comparison': 'WITHIN'|'OLDER_THAN'
                                }
                            }
                        },
                    ],
                    'NumberFilters': [
                        {
                            'FieldName': 'FindingsSummary.TotalFindings'|'FindingsSummary.Severities.Other'|'FindingsSummary.Severities.Fatal'|'FindingsSummary.Severities.Critical'|'FindingsSummary.Severities.High'|'FindingsSummary.Severities.Medium'|'FindingsSummary.Severities.Low'|'FindingsSummary.Severities.Informational'|'FindingsSummary.Severities.Unknown'|'ResourceInfo.AIDetails.SelfHostedAIModelResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIAgentResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIModelServingResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIExternalEndpointResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIDevelopmentResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIAgentFrameworkResourceCount'|'ResourceInfo.AIDetails.SelfHostedAIAgentToolsAndIdentityResourceCount'|'ResourceInfo.AIDetails.SelfHostedTotalAIResourceCount',
                            'Filter': {
                                'Gte': 123.0,
                                'Lte': 123.0,
                                'Eq': 123.0,
                                'Gt': 123.0,
                                'Lt': 123.0
                            }
                        },
                    ],
                    'MapFilters': [
                        {
                            'FieldName': 'ResourceTags',
                            'Filter': {
                                'Key': 'string',
                                'Value': 'string',
                                'Comparison': 'EQUALS'|'NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'
                            }
                        },
                    ],
                    'NestedCompositeFilters': {'... recursive ...'},
                    'Operator': 'AND'|'OR'
                },
            ],
            'CompositeOperator': 'AND'|'OR'
        }
    },
    Actions=[
        {
            'Type': 'FINDING_FIELDS_UPDATE'|'EXTERNAL_INTEGRATION'|'RESOURCE_FIELDS_UPDATE',
            'FindingFieldsUpdate': {
                'SeverityId': 123,
                'Comment': 'string',
                'StatusId': 123
            },
            'ExternalIntegrationConfiguration': {
                'ConnectorArn': 'string'
            },
            'ResourceFieldsUpdate': {
                'Criticality': 'Very High'|'High'|'Medium'|'Low'|'Unknown'
            }
        },
    ]
)
type Identifier:

string

param Identifier:

[REQUIRED]

The ARN of the automation rule.

type RuleStatus:

string

param RuleStatus:

The status of the automation rule.

type RuleOrder:

float

param RuleOrder:

Represents a value for the rule priority.

type Description:

string

param Description:

A description of the automation rule.

type RuleName:

string

param RuleName:

The name of the automation rule.

type Criteria:

dict

param Criteria:

The filtering type and configuration of the automation rule.

  • OcsfFindingCriteria (dict) --

    The filtering conditions that align with OCSF standards.

    • CompositeFilters (list) --

      Enables the creation of complex filtering conditions by combining filter criteria.

      • (dict) --

        Enables the creation of filtering criteria for security findings.

        • StringFilters (list) --

          Enables filtering based on string field values.

          • (dict) --

            Enables filtering of security findings based on string field values in OCSF.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              A string filter for filtering Security Hub CSPM findings.

              • Value (string) --

                The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is Security Hub CSPM. If you provide security hub as the filter value, there's no match.

              • Comparison (string) --

                The condition to apply to a string value when filtering Security Hub CSPM findings.

                To search for values that have the filter value, use one of the following comparison operators:

                • To search for values that include the filter value, use CONTAINS. For example, the filter Title CONTAINS CloudFront matches findings that have a Title that includes the string CloudFront.

                • To search for values that contain a word matching the filter value, regardless of case, use CONTAINS_WORD. For example, the filter Title CONTAINS_WORD lambda matches a finding whose Title is GuardDuty Lambda Protection, because the Title contains the word Lambda. Including special characters in the filter value might produce unexpected search results.

                • To search for values that exactly match the filter value, use EQUALS. For example, the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of 123456789012.

                • To search for values that start with the filter value, use PREFIX. For example, the filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts with us. A ResourceRegion that starts with a different value, such as af, ap, or ca, doesn't match.

                CONTAINS, EQUALS, and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR Title CONTAINS CloudWatch match a finding that includes either CloudFront, CloudWatch, or both strings in the title.

                To search for values that don’t have the filter value, use one of the following comparison operators:

                • To search for values that exclude the filter value, use NOT_CONTAINS. For example, the filter Title NOT_CONTAINS CloudFront matches findings that have a Title that excludes the string CloudFront.

                • To search for values other than the filter value, use NOT_EQUALS. For example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account ID other than 123456789012.

                • To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a ResourceRegion that starts with a value other than us.

                NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and CloudWatch in the title.

                You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can't provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub CSPM first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

                For example, for the following filters, Security Hub CSPM first identifies findings that have resource types that start with either AwsIam or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

                • ResourceType PREFIX AwsIam

                • ResourceType PREFIX AwsEc2

                • ResourceType NOT_EQUALS AwsIamPolicy

                • ResourceType NOT_EQUALS AwsEc2NetworkInterface

                The CONTAINS operator works with automation rules V1 and V2. The NOT_CONTAINS operator works only with automation rules V1. The CONTAINS_WORD operator works only in the GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2, and GetResourcesStatisticsV2 APIs. For more information, see Automation rules in the Security Hub CSPM User Guide.

        • DateFilters (list) --

          Enables filtering based on date and timestamp fields.

          • (dict) --

            Enables filtering of security findings based on date and timestamp fields in OCSF.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              A date filter for querying findings.

              • Start (string) --

                A timestamp that provides the start date for the date filter.

                For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

              • End (string) --

                A timestamp that provides the end date for the date filter.

                For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

              • DateRange (dict) --

                A date range for the date filter.

                • Value (integer) --

                  A date range value for the date filter.

                • Unit (string) --

                  A date range unit for the date filter.

                • Comparison (string) --

                  The condition to apply to a date range filter. If you specify WITHIN, Security Hub filters for dates within the specified date range. If you specify OLDER_THAN, Security Hub filters for dates before the specified date range. If you don't specify a value, the default is WITHIN.

        • BooleanFilters (list) --

          Enables filtering based on boolean field values.

          • (dict) --

            Enables filtering of security findings based on boolean field values in OCSF.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              Boolean filter for querying findings.

              • Value (boolean) --

                The value of the boolean.

        • NumberFilters (list) --

          Enables filtering based on numerical field values.

          • (dict) --

            Enables filtering of security findings based on numerical field values in OCSF.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              A number filter for querying findings.

              • Gte (float) --

                The greater-than-equal condition to be applied to a single field when querying for findings.

              • Lte (float) --

                The less-than-equal condition to be applied to a single field when querying for findings.

              • Eq (float) --

                The equal-to condition to be applied to a single field when querying for findings.

              • Gt (float) --

                The greater-than condition to be applied to a single field when querying for findings.

              • Lt (float) --

                The less-than condition to be applied to a single field when querying for findings.

        • MapFilters (list) --

          Enables filtering based on map field values.

          • (dict) --

            Enables filtering of security findings based on map field values in OCSF.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              A map filter for filtering Security Hub CSPM findings. Each map filter provides the field to check for, the value to check for, and the comparison operator.

              • Key (string) --

                The key of the map filter. For example, for ResourceTags, Key identifies the name of the tag. For UserDefinedFields, Key is the name of the field.

              • Value (string) --

                The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called Department might be Security. If you provide security as the filter value, then there's no match.

              • Comparison (string) --

                The condition to apply to the key value when filtering Security Hub CSPM findings with a map filter.

                To search for values that have the filter value, use one of the following comparison operators:

                • To search for values that include the filter value, use CONTAINS. For example, for the ResourceTags field, the filter Department CONTAINS Security matches findings that include the value Security for the Department tag. In the same example, a finding with a value of Security team for the Department tag is a match.

                • To search for values that exactly match the filter value, use EQUALS. For example, for the ResourceTags field, the filter Department EQUALS Security matches findings that have the value Security for the Department tag.

                CONTAINS and EQUALS filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Department CONTAINS Security OR Department CONTAINS Finance match a finding that includes either Security, Finance, or both values.

                To search for values that don't have the filter value, use one of the following comparison operators:

                • To search for values that exclude the filter value, use NOT_CONTAINS. For example, for the ResourceTags field, the filter Department NOT_CONTAINS Finance matches findings that exclude the value Finance for the Department tag.

                • To search for values other than the filter value, use NOT_EQUALS. For example, for the ResourceTags field, the filter Department NOT_EQUALS Finance matches findings that don’t have the value Finance for the Department tag.

                NOT_CONTAINS and NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance match a finding that excludes both the Security and Finance values.

                CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can’t have both an EQUALS filter and a NOT_EQUALS filter on the same field. Combining filters in this way returns an error.

                CONTAINS and NOT_CONTAINS operators can be used only with automation rules. For more information, see Automation rules in the Security Hub CSPM User Guide.

        • IpFilters (list) --

          A list of IP address filters that allowing you to filter findings based on IP address properties.

          • (dict) --

            The structure for filtering findings based on IP address attributes.

            • FieldName (string) --

              The name of the IP address field to filter on.

            • Filter (dict) --

              The IP filter for querying findings.

              • Cidr (string) --

                A finding's CIDR value.

        • NestedCompositeFilters (list) --

          Provides an additional level of filtering, creating a three-layer nested structure. The first layer is a CompositeFilters array with a CompositeOperator ( AND/ OR). The second layer is a CompositeFilter object that contains direct filters and NestedCompositeFilters. The third layer is NestedCompositeFilters, which contains additional filter conditions.

        • Operator (string) --

          The logical operator used to combine multiple filter conditions.

    • CompositeOperator (string) --

      The logical operators used to combine the filtering on multiple CompositeFilters.

  • ResourceCriteria (dict) --

    The filtering conditions for resources.

    • CompositeFilters (list) --

      A collection of complex filtering conditions that can be applied to Amazon Web Services resources.

      • (dict) --

        Enables the creation of criteria for Amazon Web Services resources in Security Hub CSPM.

        • StringFilters (list) --

          Enables filtering based on string field values.

          • (dict) --

            Enables filtering of Amazon Web Services resources based on string field values.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              A string filter for filtering Security Hub CSPM findings.

              • Value (string) --

                The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is Security Hub CSPM. If you provide security hub as the filter value, there's no match.

              • Comparison (string) --

                The condition to apply to a string value when filtering Security Hub CSPM findings.

                To search for values that have the filter value, use one of the following comparison operators:

                • To search for values that include the filter value, use CONTAINS. For example, the filter Title CONTAINS CloudFront matches findings that have a Title that includes the string CloudFront.

                • To search for values that contain a word matching the filter value, regardless of case, use CONTAINS_WORD. For example, the filter Title CONTAINS_WORD lambda matches a finding whose Title is GuardDuty Lambda Protection, because the Title contains the word Lambda. Including special characters in the filter value might produce unexpected search results.

                • To search for values that exactly match the filter value, use EQUALS. For example, the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of 123456789012.

                • To search for values that start with the filter value, use PREFIX. For example, the filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts with us. A ResourceRegion that starts with a different value, such as af, ap, or ca, doesn't match.

                CONTAINS, EQUALS, and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR Title CONTAINS CloudWatch match a finding that includes either CloudFront, CloudWatch, or both strings in the title.

                To search for values that don’t have the filter value, use one of the following comparison operators:

                • To search for values that exclude the filter value, use NOT_CONTAINS. For example, the filter Title NOT_CONTAINS CloudFront matches findings that have a Title that excludes the string CloudFront.

                • To search for values other than the filter value, use NOT_EQUALS. For example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account ID other than 123456789012.

                • To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a ResourceRegion that starts with a value other than us.

                NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and CloudWatch in the title.

                You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can't provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub CSPM first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

                For example, for the following filters, Security Hub CSPM first identifies findings that have resource types that start with either AwsIam or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

                • ResourceType PREFIX AwsIam

                • ResourceType PREFIX AwsEc2

                • ResourceType NOT_EQUALS AwsIamPolicy

                • ResourceType NOT_EQUALS AwsEc2NetworkInterface

                The CONTAINS operator works with automation rules V1 and V2. The NOT_CONTAINS operator works only with automation rules V1. The CONTAINS_WORD operator works only in the GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2, and GetResourcesStatisticsV2 APIs. For more information, see Automation rules in the Security Hub CSPM User Guide.

        • DateFilters (list) --

          Enables filtering based on date and timestamp field values.

          • (dict) --

            Enables the filtering of Amazon Web Services resources based on date and timestamp attributes.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              A date filter for querying findings.

              • Start (string) --

                A timestamp that provides the start date for the date filter.

                For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

              • End (string) --

                A timestamp that provides the end date for the date filter.

                For more information about the validation and formatting of timestamp fields in Security Hub CSPM, see Timestamps.

              • DateRange (dict) --

                A date range for the date filter.

                • Value (integer) --

                  A date range value for the date filter.

                • Unit (string) --

                  A date range unit for the date filter.

                • Comparison (string) --

                  The condition to apply to a date range filter. If you specify WITHIN, Security Hub filters for dates within the specified date range. If you specify OLDER_THAN, Security Hub filters for dates before the specified date range. If you don't specify a value, the default is WITHIN.

        • NumberFilters (list) --

          Enables filtering based on numerical field values.

          • (dict) --

            Enables filtering of Amazon Web Services resources based on numerical values.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              A number filter for querying findings.

              • Gte (float) --

                The greater-than-equal condition to be applied to a single field when querying for findings.

              • Lte (float) --

                The less-than-equal condition to be applied to a single field when querying for findings.

              • Eq (float) --

                The equal-to condition to be applied to a single field when querying for findings.

              • Gt (float) --

                The greater-than condition to be applied to a single field when querying for findings.

              • Lt (float) --

                The less-than condition to be applied to a single field when querying for findings.

        • MapFilters (list) --

          Enables filtering based on map-based field values.

          • (dict) --

            Enables filtering of Amazon Web Services resources based on key-value map attributes.

            • FieldName (string) --

              The name of the field.

            • Filter (dict) --

              A map filter for filtering Security Hub CSPM findings. Each map filter provides the field to check for, the value to check for, and the comparison operator.

              • Key (string) --

                The key of the map filter. For example, for ResourceTags, Key identifies the name of the tag. For UserDefinedFields, Key is the name of the field.

              • Value (string) --

                The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called Department might be Security. If you provide security as the filter value, then there's no match.

              • Comparison (string) --

                The condition to apply to the key value when filtering Security Hub CSPM findings with a map filter.

                To search for values that have the filter value, use one of the following comparison operators:

                • To search for values that include the filter value, use CONTAINS. For example, for the ResourceTags field, the filter Department CONTAINS Security matches findings that include the value Security for the Department tag. In the same example, a finding with a value of Security team for the Department tag is a match.

                • To search for values that exactly match the filter value, use EQUALS. For example, for the ResourceTags field, the filter Department EQUALS Security matches findings that have the value Security for the Department tag.

                CONTAINS and EQUALS filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Department CONTAINS Security OR Department CONTAINS Finance match a finding that includes either Security, Finance, or both values.

                To search for values that don't have the filter value, use one of the following comparison operators:

                • To search for values that exclude the filter value, use NOT_CONTAINS. For example, for the ResourceTags field, the filter Department NOT_CONTAINS Finance matches findings that exclude the value Finance for the Department tag.

                • To search for values other than the filter value, use NOT_EQUALS. For example, for the ResourceTags field, the filter Department NOT_EQUALS Finance matches findings that don’t have the value Finance for the Department tag.

                NOT_CONTAINS and NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance match a finding that excludes both the Security and Finance values.

                CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can’t have both an EQUALS filter and a NOT_EQUALS filter on the same field. Combining filters in this way returns an error.

                CONTAINS and NOT_CONTAINS operators can be used only with automation rules. For more information, see Automation rules in the Security Hub CSPM User Guide.

        • NestedCompositeFilters (list) --

          Provides an additional level of filtering, creating a three-layer nested structure. The first layer is a CompositeFilters array with a CompositeOperator ( AND/ OR). The second layer is a CompositeFilter object that contains direct filters and NestedCompositeFilters. The third layer is NestedCompositeFilters, which contains additional filter conditions.

        • Operator (string) --

          The logical operator used to combine multiple filter conditions.

    • CompositeOperator (string) --

      The logical operator used to combine multiple filter conditions in the structure.

type Actions:

list

param Actions:

A list of actions to be performed when the rule criteria is met.

  • (dict) --

    Allows you to configure automated responses.

    • Type (string) -- [REQUIRED]

      The category of action to be executed by the automation rule.

    • FindingFieldsUpdate (dict) --

      The changes to be applied to fields in a security finding when an automation rule is triggered.

      • SeverityId (integer) --

        The severity level to be assigned to findings that match the automation rule criteria.

      • Comment (string) --

        Notes or contextual information for findings that are modified by the automation rule.

      • StatusId (integer) --

        The status to be applied to findings that match automation rule criteria.

    • ExternalIntegrationConfiguration (dict) --

      The settings for integrating automation rule actions with external systems or service.

      • ConnectorArn (string) --

        The ARN of the connector that establishes the integration.

    • ResourceFieldsUpdate (dict) --

      The changes to be applied to resource fields when an automation rule is triggered.

      • Criticality (string) -- [REQUIRED]

        The criticality level to be assigned to resources that match the automation rule criteria.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --