SecurityHub / Client / get_software_v2
get_software_v2¶
- SecurityHub.Client.get_software_v2(**kwargs)¶
Returns a list of software packages installed on your resources. Each result identifies a package by name, version, and type, and includes the number of resources that contain that package.
You can use the
Scopesparameter to define the data boundary for the query. Currently,ScopessupportsAwsOrganizations, which lets you retrieve software 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 package and resource attributes. You can useScopesandFiltersindependently or together. When both are provided,Scopesnarrows the data set first, and thenFiltersrefines results within that scoped data set.To list the resources that contain a specific package, use
GetSoftwareResourcesV2. To get counts of software grouped by a field, useGetSoftwareStatisticsV2.See also: AWS API Documentation
Request Syntax
response = client.get_software_v2( Filters={ 'CompositeFilters': [ { 'StringFilters': [ { 'FieldName': 'AccountId'|'PackageName'|'PackageVersion'|'PackageType'|'Region'|'ResourceRegion'|'ResourceType'|'ResourceId'|'ResourceProvider'|'ResourceOwnerAccountId'|'ResourceOwnerOrgId'|'ResourceCloudPartition', 'Filter': { 'Value': 'string', 'Comparison': 'EQUALS'|'PREFIX'|'NOT_EQUALS'|'PREFIX_NOT_EQUALS'|'CONTAINS'|'NOT_CONTAINS'|'CONTAINS_WORD' } }, ], '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 software packages based on a set of criteria. You can nest composite filters up to three levels deep.
CompositeFilters (list) –
A collection of complex filtering conditions that can be applied to software packages.
(dict) –
Enables the creation of criteria for software packages in Security Hub.
StringFilters (list) –
Enables filtering based on string field values.
(dict) –
Enables filtering of software packages based on string field values.
FieldName (string) –
The name of the field.
Filter (dict) –
The string value and comparison operator to filter on. Supported comparisons are
EQUALS,NOT_EQUALS,PREFIX, andPREFIX_NOT_EQUALS.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 stringCloudFront.To search for values that contain a word matching the filter value, regardless of case, use
CONTAINS_WORD. For example, the filterTitle CONTAINS_WORD lambdamatches a finding whoseTitleisGuardDuty Lambda Protection, because theTitlecontains 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 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.
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 software on 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 software from all accounts across the entire organization. Other accounts see only software on 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 software attributes used to sort the list of returned software packages. You can’t sort by
ResourceCount.(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.A token expires one hour after it’s issued. If you change
FiltersorSortCriteriabetween calls, the token is no longer valid and the request fails with aValidationException.MaxResults (integer) – The maximum number of results to return. Valid values are 1–100. The default is 100.
- Return type:
dict
- Returns:
Response Syntax
{ 'Software': [ { 'PackageName': 'string', 'PackageVersion': 'string', 'PackageType': 'string', 'ResourceCount': 123 }, ], 'NextToken': 'string' }
Response Structure
(dict) –
Software (list) –
An array of software packages returned by the operation.
(dict) –
Provides information about a software package installed on one or more of your resources.
PackageName (string) –
The name of the software package.
PackageVersion (string) –
The version of the software package.
PackageType (string) –
The type of the software package, for example
operating-system,application, orlibrary.ResourceCount (integer) –
The number of resources that contain this software package. To list these resources, call
GetSoftwareResourcesV2.
NextToken (string) –
The pagination token to use to request the next page of results. Otherwise, this parameter is null.
Exceptions