SecurityHub / Client / get_resources_v2
get_resources_v2¶
- SecurityHub.Client.get_resources_v2(**kwargs)¶
Returns a list of resources.
You can use the
Scopesparameter to define the data boundary for the query. Currently,ScopessupportsAwsOrganizations, which lets you retrieve resources from your entire organization or from specific organizational units. Only the delegated administrator account can useScopes.You can use the
Filtersparameter to refine results based on resource attributes. You can useScopesandFiltersindependently or together. When both are provided,Scopesnarrows the data set first, and thenFiltersrefines results within that scoped data set.For AI/ML resources, the response includes the
ResourceSubCategoryfield. For self-hosted AI resources and their host resources, the response also includesResourceInfowith AI-specific details. Self-hosted AI resources use aResourceTypewith theSelfHosted::AI::prefix, such asSelfHosted::AI::Model,SelfHosted::AI::Agent,SelfHosted::AI::InferenceEndpoint, andSelfHosted::AI::ExternalEndpoint.If you filter by
ResourceSubCategory, you must also include aResourceCategorystring filter with comparison set toEQUALSand valueAI/MLin the same request.See also: AWS API Documentation
Request Syntax
response = 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', '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 )
- Parameters:
Filters (dict) –
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 providesecurity hubas 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 filterTitle CONTAINS CloudFrontmatches findings that have aTitlethat includes the string CloudFront.To search for values that exactly match the filter value, use
EQUALS. For example, the filterAwsAccountId EQUALS 123456789012only matches findings that have an account ID of123456789012.To search for values that start with the filter value, use
PREFIX. For example, the filterResourceRegion PREFIX usmatches findings that have aResourceRegionthat starts withus. AResourceRegionthat starts with a different value, such asaf,ap, orca, doesn’t match.
CONTAINS,EQUALS, andPREFIXfilters on the same field are joined byOR. A finding matches if it matches any one of those filters. For example, the filtersTitle CONTAINS CloudFront OR Title CONTAINS CloudWatchmatch a finding that includes eitherCloudFront,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 filterTitle NOT_CONTAINS CloudFrontmatches findings that have aTitlethat excludes the string CloudFront.To search for values other than the filter value, use
NOT_EQUALS. For example, the filterAwsAccountId NOT_EQUALS 123456789012only matches findings that have an account ID other than123456789012.To search for values that don’t start with the filter value, use
PREFIX_NOT_EQUALS. For example, the filterResourceRegion PREFIX_NOT_EQUALS usmatches findings with aResourceRegionthat starts with a value other thanus.
NOT_CONTAINS,NOT_EQUALS, andPREFIX_NOT_EQUALSfilters on the same field are joined byAND. A finding matches only if it matches all of those filters. For example, the filtersTitle NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatchmatch a finding that excludes bothCloudFrontandCloudWatchin the title.You can’t have both a
CONTAINSfilter and aNOT_CONTAINSfilter on the same field. Similarly, you can’t provide both anEQUALSfilter and aNOT_EQUALSorPREFIX_NOT_EQUALSfilter on the same field. Combining filters in this way returns an error.CONTAINSfilters can only be used with otherCONTAINSfilters.NOT_CONTAINSfilters can only be used with otherNOT_CONTAINSfilters.You can combine
PREFIXfilters withNOT_EQUALSorPREFIX_NOT_EQUALSfilters for the same field. Security Hub CSPM first processes thePREFIXfilters, and then theNOT_EQUALSorPREFIX_NOT_EQUALSfilters.For example, for the following filters, Security Hub CSPM first identifies findings that have resource types that start with either
AwsIamorAwsEc2. It then excludes findings that have a resource type ofAwsIamPolicyand findings that have a resource type ofAwsEc2NetworkInterface.ResourceType PREFIX AwsIamResourceType PREFIX AwsEc2ResourceType NOT_EQUALS AwsIamPolicyResourceType NOT_EQUALS AwsEc2NetworkInterface
The
CONTAINSoperator works with automation rules V1 and V2. TheNOT_CONTAINSoperator works only with automation rules V1. TheCONTAINS_WORDoperator works only in theGetFindingsV2,GetFindingStatisticsV2,GetResourcesV2, andGetResourcesStatisticsV2APIs. 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 specifyOLDER_THAN, Security Hub filters for dates before the specified date range. If you don’t specify a value, the default isWITHIN.
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,Keyidentifies the name of the tag. ForUserDefinedFields,Keyis 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
Departmentmight beSecurity. If you providesecurityas 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 theResourceTagsfield, the filterDepartment CONTAINS Securitymatches findings that include the valueSecurityfor theDepartmenttag. In the same example, a finding with a value ofSecurity teamfor theDepartmenttag is a match.To search for values that exactly match the filter value, use
EQUALS. For example, for theResourceTagsfield, the filterDepartment EQUALS Securitymatches findings that have the valueSecurityfor theDepartmenttag.
CONTAINSandEQUALSfilters on the same field are joined byOR. A finding matches if it matches any one of those filters. For example, the filtersDepartment CONTAINS Security OR Department CONTAINS Financematch a finding that includes eitherSecurity,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 theResourceTagsfield, the filterDepartment NOT_CONTAINS Financematches findings that exclude the valueFinancefor theDepartmenttag.To search for values other than the filter value, use
NOT_EQUALS. For example, for theResourceTagsfield, the filterDepartment NOT_EQUALS Financematches findings that don’t have the valueFinancefor theDepartmenttag.
NOT_CONTAINSandNOT_EQUALSfilters on the same field are joined byAND. A finding matches only if it matches all of those filters. For example, the filtersDepartment NOT_CONTAINS Security AND Department NOT_CONTAINS Financematch a finding that excludes both theSecurityandFinancevalues.CONTAINSfilters can only be used with otherCONTAINSfilters.NOT_CONTAINSfilters can only be used with otherNOT_CONTAINSfilters.You can’t have both a
CONTAINSfilter and aNOT_CONTAINSfilter on the same field. Similarly, you can’t have both anEQUALSfilter and aNOT_EQUALSfilter on the same field. Combining filters in this way returns an error.CONTAINSandNOT_CONTAINSoperators 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
CompositeFiltersarray with aCompositeOperator(AND/OR). The second layer is aCompositeFilterobject that contains direct filters andNestedCompositeFilters. The third layer isNestedCompositeFilters, 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.
Scopes (dict) –
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 includeOrganizationId. If you omitOrganizationId, Security Hub uses the caller’s organization ID. To scope to the delegated administrator’s entire organization, provide onlyOrganizationId.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
AwsOrganizationScopeentry with onlyOrganizationId, or scope to specific organizational units by providingAwsOrganizationScopeentries withOrganizationalUnitId. 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 provideOrganizationalUnitId, 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.
SortCriteria (list) –
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.
NextToken (string) – 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.MaxResults (integer) – The maximum number of results to return.
- Return type:
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 } } }, ], '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
AWSandAzure. 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, andaws-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 (document) –
The configuration details of a resource.
ResourceSubCategory (string) –
The AI/ML sub-grouping of the resource. Present only when
ResourceCategoryisAI/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 isSelfHosted, 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
AIDetailsstructure.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
ResourceTypeof the host resource that hosts the self-hosted AI resource, such asAWS::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 formatmodel/<purl>, such asmodel/pkg:huggingface/meta-llama/llama-3-8b. Present only on self-hosted AI resources.SelfHostedAIModelResourceCount (integer) –
The number of self-hosted AI resources of
ResourceSubCategoryModeldetected on the host resource. Present only on host resources.SelfHostedAIAgentResourceCount (integer) –
The number of self-hosted AI resources of
ResourceSubCategoryAgentdetected on the host resource. Present only on host resources.SelfHostedAIModelServingResourceCount (integer) –
The number of self-hosted AI resources of
ResourceSubCategoryModelServingdetected on the host resource. Present only on host resources.SelfHostedAIExternalEndpointResourceCount (integer) –
The number of self-hosted AI resources of
ResourceSubCategoryExternalEndpointdetected on the host resource. Present only on host resources.SelfHostedAIDevelopmentResourceCount (integer) –
The number of self-hosted AI resources of
ResourceSubCategoryDevelopmentdetected on the host resource. Present only on host resources.SelfHostedAIAgentFrameworkResourceCount (integer) –
The number of self-hosted AI resources of
ResourceSubCategoryAgentFrameworkdetected on the host resource. Present only on host resources.SelfHostedAIAgentToolsAndIdentityResourceCount (integer) –
The number of self-hosted AI resources of
ResourceSubCategoryAgentToolsAndIdentitydetected 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.
NextToken (string) –
The pagination token to use to request the next page of results. Otherwise, this parameter is null.
Exceptions