From e624fd2d2228325c252cd87e8a894601350ea614 Mon Sep 17 00:00:00 2001
From: awstools A string filter for querying findings. A string filter for filtering Security Hub findings. The string filter value. Filter values are case sensitive. For example, the product name
* for control-based findings is Security Hub
. If you provide security hub
- * as the filter text, then there is no match.
The condition to apply to a string value when querying for findings. To search for - * values that contain the filter criteria value, use one of the following comparison - * operators:
+ *The condition to apply to a string value when filtering Security Hub findings.
+ *To search for values that have the filter value, use one of the following comparison operators:
*To search for values that exactly match the filter value, use
- * EQUALS
.
For example, the filter ResourceType EQUALS AwsEc2SecurityGroup
only
- * matches findings that have a resource type of
- * AwsEc2SecurityGroup
.
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 start with the filter value, use
- * PREFIX
.
For example, the filter ResourceType PREFIX AwsIam
matches findings
- * that have a resource type that starts with AwsIam
. Findings with a
- * resource type of AwsIamPolicy
, AwsIamRole
, or
- * AwsIamUser
would all match.
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.
- * EQUALS
and PREFIX
filters on the same field are joined by
- * OR
. A finding matches if it matches any one of those filters.
To search for values that do not contain the filter criteria value, use one of the - * following comparison operators:
+ *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 do not exactly match the filter value, use
- * NOT_EQUALS
.
For example, the filter ResourceType NOT_EQUALS AwsIamPolicy
matches
- * findings that have a resource type other than AwsIamPolicy
.
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 do not start with the filter value, use
- * PREFIX_NOT_EQUALS
.
For example, the filter ResourceType PREFIX_NOT_EQUALS AwsIam
matches
- * findings that have a resource type that does not start with AwsIam
.
- * Findings with a resource type of AwsIamPolicy
, AwsIamRole
,
- * or AwsIamUser
would all be excluded from the results.
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_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 filters on the same field, you cannot provide both an EQUALS
filter and
- * a NOT_EQUALS
or PREFIX_NOT_EQUALS
filter. Combining filters in
- * this way always returns an error, even if the provided filter values would return valid
- * results.
You can combine PREFIX
filters with NOT_EQUALS
or
- * PREFIX_NOT_EQUALS
filters for the same field. Security Hub first processes the
- * PREFIX
filters, then the NOT_EQUALS
or
- * PREFIX_NOT_EQUALS
filters.
For example, for the following filter, Security Hub 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
.
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 first processes the PREFIX
filters, and then the NOT_EQUALS
or PREFIX_NOT_EQUALS
filters.
For example, for the following filters, Security Hub 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
.
@@ -1185,6 +1188,9 @@ export interface StringFilter { *
*
+ * CONTAINS
and NOT_CONTAINS
operators can be used only with automation rules. For more information,
+ * see Automation rules in the Security Hub User Guide.
A map filter for querying findings. Each map filter provides the field to check, the - * value to look for, and the comparison operator.
+ *A map filter for filtering Security Hub findings. Each map filter provides the field to check for, the + * value to check for, and the comparison operator.
*/ export interface MapFilter { /** @@ -1297,29 +1305,60 @@ export interface MapFilter { /** *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 is no match.
security
as the filter value, then there's no match.
*/
Value?: string;
/**
- * The condition to apply to the key value when querying for findings with a map + *
The condition to apply to the key value when filtering Security Hub findings with a map * filter.
- *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 tag
- * Department
.
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 do not have the value Finance
for the
- * tag Department
.
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.
- * EQUALS
filters on the same field are joined by OR
. A finding
- * matches if it matches any one of those filters.
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_EQUALS
filters on the same field are joined by AND
. A
- * finding matches only if it matches all of those filters.
You cannot have both an EQUALS
filter and a NOT_EQUALS
filter
- * on the same field.
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 User Guide.
Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful
- * when a finding matches the criteria for multiple rules, and each rule has different actions. If the value of this
- * field is set to true
for a rule, Security Hub applies the rule action to a finding that matches
- * the rule criteria and doesn't evaluate other rules for the finding.
The default value of this field is false
.
+ *
Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful when a finding + * matches the criteria for multiple rules, and each rule has different actions. If a rule is terminal, Security Hub applies the rule action to a finding that matches + * the rule criteria and doesn't evaluate other rules for the finding. By default, a rule isn't terminal. *
*/ IsTerminal?: boolean; @@ -1766,11 +1804,9 @@ export interface AutomationRulesMetadata { Description?: string; /** - *
- * Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful
- * when a finding matches the criteria for multiple rules, and each rule has different actions. If the value of this
- * field is set to true
for a rule, Security Hub applies the rule action to a finding that matches
- * the rule criteria and doesn't evaluate other rules for the finding.
The default value of this field is false
.
+ *
Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful when a finding + * matches the criteria for multiple rules, and each rule has different actions. If a rule is terminal, Security Hub applies the rule action to a finding that matches + * the rule criteria and doesn't evaluate other rules for the finding. By default, a rule isn't terminal. *
*/ IsTerminal?: boolean; @@ -2993,6 +3029,105 @@ export interface AwsAppSyncGraphQlApiDetails { WafWebAclArn?: string; } +/** + * @public + *+ * Specifies the method used to encrypt the user’s data stores in the Athena workgroup. + *
+ */ +export interface AwsAthenaWorkGroupConfigurationResultConfigurationEncryptionConfigurationDetails { + /** + *+ * Indicates whether Amazon Simple Storage Service (Amazon S3) server-side encryption with Amazon S3 managed + * keys (SSE_S3), server-side encryption with KMS keys (SSE_KMS), or client-side encryption with + * KMS customer managed keys (CSE_KMS) is used. + *
+ */ + EncryptionOption?: string; + + /** + *
+ * For SSE_KMS
and CSE_KMS
, this is the KMS key Amazon Resource Name (ARN) or ID.
+ *
+ * The location in Amazon Simple Storage Service (Amazon S3) where query and calculation results are stored and the encryption option, if any, + * used for query and calculation results. These are known as client-side settings. If workgroup settings override + * client-side settings, then the query uses the workgroup settings. + *
+ */ +export interface AwsAthenaWorkGroupConfigurationResultConfigurationDetails { + /** + *+ * Specifies the method used to encrypt the user’s data stores in the Athena workgroup. + *
+ */ + EncryptionConfiguration?: AwsAthenaWorkGroupConfigurationResultConfigurationEncryptionConfigurationDetails; +} + +/** + * @public + *+ * The configuration of the workgroup, which includes the location in Amazon Simple Storage Service (Amazon S3) where + * query results are stored, the encryption option, if any, used for query results, whether Amazon CloudWatch + * metrics are enabled for the workgroup, and the limit for the amount of bytes scanned (cutoff) per query, if it is + * specified. + *
+ */ +export interface AwsAthenaWorkGroupConfigurationDetails { + /** + *+ * The location in Amazon S3 where query and calculation results are stored and the + * encryption option, if any, used for query and calculation results. These are known as client-side settings. If + * workgroup settings override client-side settings, then the query uses the workgroup settings.
+ */ + ResultConfiguration?: AwsAthenaWorkGroupConfigurationResultConfigurationDetails; +} + +/** + * @public + *+ * Provides information about an Amazon Athena workgroup. + *
+ */ +export interface AwsAthenaWorkGroupDetails { + /** + *+ * The workgroup name. + *
+ */ + Name?: string; + + /** + *+ * The workgroup description. + *
+ */ + Description?: string; + + /** + *+ * Whether the workgroup is enabled or disabled. + *
+ */ + State?: string; + + /** + *+ * The configuration of the workgroup, which includes the location in Amazon Simple Storage Service (Amazon S3) + * where query results are stored, the encryption option, if any, used for query results, whether + * Amazon CloudWatch metrics are enabled for the workgroup, and the limit for the amount of bytes scanned + * (cutoff) per query, if it is specified. + *
+ */ + Configuration?: AwsAthenaWorkGroupConfigurationDetails; +} + /** * @public *An Availability Zone for the automatic scaling group.
@@ -11138,123 +11273,3 @@ export interface AwsEfsAccessPointRootDirectoryCreationInfoDetails { */ Permissions?: string; } - -/** - * @public - *Provides information about the directory on the Amazon EFS file system that the access point exposes - * as the root directory to NFS clients using the access point. - *
- */ -export interface AwsEfsAccessPointRootDirectoryDetails { - /** - *Specifies the POSIX IDs and permissions to apply to the access point's root directory. - *
- */ - CreationInfo?: AwsEfsAccessPointRootDirectoryCreationInfoDetails; - - /** - *Specifies the path on the Amazon EFS file system to expose as the root directory to NFS clients
- * using the access point to access the EFS file system. A path can have up to four subdirectories. If the specified
- * path does not exist, you are required to provide CreationInfo
.
- *
Provides information about an Amazon EFS access point. - *
- */ -export interface AwsEfsAccessPointDetails { - /** - *The ID of the Amazon EFS access point. - *
- */ - AccessPointId?: string; - - /** - *The Amazon Resource Name (ARN) of the Amazon EFS access point.
- */ - Arn?: string; - - /** - *The opaque string specified in the request to ensure idempotent creation. - *
- */ - ClientToken?: string; - - /** - *The ID of the Amazon EFS file system that the access point applies to. - *
- */ - FileSystemId?: string; - - /** - *The full POSIX identity, including the user ID, group ID, and secondary group IDs on the access point, - * that is used for all file operations by NFS clients using the access point. - *
- */ - PosixUser?: AwsEfsAccessPointPosixUserDetails; - - /** - *The directory on the Amazon EFS file system that the access point exposes as the root - * directory to NFS clients using the access point. - *
- */ - RootDirectory?: AwsEfsAccessPointRootDirectoryDetails; -} - -/** - * @public - *Details for a cluster logging configuration.
- */ -export interface AwsEksClusterLoggingClusterLoggingDetails { - /** - *Whether the logging types that are listed in Types
are enabled.
A list of logging types. Valid values are as follows:
- *
- * api
- *
- * audit
- *
- * authenticator
- *
- * controllerManager
- *
- * scheduler
- *
The logging configuration for an Amazon EKS cluster.
- */ -export interface AwsEksClusterLoggingDetails { - /** - *Cluster logging configurations.
- */ - ClusterLogging?: AwsEksClusterLoggingClusterLoggingDetails[]; -} diff --git a/clients/client-securityhub/src/models/models_1.ts b/clients/client-securityhub/src/models/models_1.ts index 2c73ccaf3a42..cf376132722f 100644 --- a/clients/client-securityhub/src/models/models_1.ts +++ b/clients/client-securityhub/src/models/models_1.ts @@ -1,6 +1,5 @@ // smithy-typescript generated code import { - Action, Adjustment, AssociatedStandard, AvailabilityZone, @@ -10,6 +9,7 @@ import { AwsApiGatewayV2ApiDetails, AwsApiGatewayV2StageDetails, AwsAppSyncGraphQlApiDetails, + AwsAthenaWorkGroupDetails, AwsAutoScalingAutoScalingGroupDetails, AwsAutoScalingLaunchConfigurationDetails, AwsBackupBackupPlanDetails, @@ -43,18 +43,133 @@ import { AwsEcsServiceDetails, AwsEcsTaskDefinitionDetails, AwsEcsTaskDetails, - AwsEfsAccessPointDetails, - AwsEksClusterLoggingDetails, - DateFilter, - MapFilter, - NumberFilter, + AwsEfsAccessPointPosixUserDetails, + AwsEfsAccessPointRootDirectoryCreationInfoDetails, RelatedFinding, SeverityLabel, - StringFilter, - VerificationState, WorkflowStatus, } from "./models_0"; +/** + * @public + *Provides information about the directory on the Amazon EFS file system that the access point exposes + * as the root directory to NFS clients using the access point. + *
+ */ +export interface AwsEfsAccessPointRootDirectoryDetails { + /** + *Specifies the POSIX IDs and permissions to apply to the access point's root directory. + *
+ */ + CreationInfo?: AwsEfsAccessPointRootDirectoryCreationInfoDetails; + + /** + *Specifies the path on the Amazon EFS file system to expose as the root directory to NFS clients
+ * using the access point to access the EFS file system. A path can have up to four subdirectories. If the specified
+ * path does not exist, you are required to provide CreationInfo
.
+ *
Provides information about an Amazon EFS access point. + *
+ */ +export interface AwsEfsAccessPointDetails { + /** + *The ID of the Amazon EFS access point. + *
+ */ + AccessPointId?: string; + + /** + *The Amazon Resource Name (ARN) of the Amazon EFS access point.
+ */ + Arn?: string; + + /** + *The opaque string specified in the request to ensure idempotent creation. + *
+ */ + ClientToken?: string; + + /** + *The ID of the Amazon EFS file system that the access point applies to. + *
+ */ + FileSystemId?: string; + + /** + *The full POSIX identity, including the user ID, group ID, and secondary group IDs on the access point, + * that is used for all file operations by NFS clients using the access point. + *
+ */ + PosixUser?: AwsEfsAccessPointPosixUserDetails; + + /** + *The directory on the Amazon EFS file system that the access point exposes as the root + * directory to NFS clients using the access point. + *
+ */ + RootDirectory?: AwsEfsAccessPointRootDirectoryDetails; +} + +/** + * @public + *Details for a cluster logging configuration.
+ */ +export interface AwsEksClusterLoggingClusterLoggingDetails { + /** + *Whether the logging types that are listed in Types
are enabled.
A list of logging types. Valid values are as follows:
+ *
+ * api
+ *
+ * audit
+ *
+ * authenticator
+ *
+ * controllerManager
+ *
+ * scheduler
+ *
The logging configuration for an Amazon EKS cluster.
+ */ +export interface AwsEksClusterLoggingDetails { + /** + *Cluster logging configurations.
+ */ + ClusterLogging?: AwsEksClusterLoggingClusterLoggingDetails[]; +} + /** * @public *Information about the VPC configuration used by the cluster control plane.
@@ -3810,6 +3925,32 @@ export interface AwsRdsDbClusterDetails { IamDatabaseAuthenticationEnabled?: boolean; } +/** + * @public + *+ * Contains the name and values of a manual Amazon Relational Database Service (RDS) DB cluster snapshot attribute. + *
+ */ +export interface AwsRdsDbClusterSnapshotDbClusterSnapshotAttribute { + /** + *
+ * The name of the manual DB cluster snapshot attribute. The attribute named restore
refers to the list of
+ * Amazon Web Services accounts that have permission to copy or restore the manual DB cluster snapshot.
+ *
+ * The value(s) for the manual DB cluster snapshot attribute. If the AttributeName
field is set to
+ * restore
, then this element returns a list of IDs of the Amazon Web Services accounts that are authorized
+ * to copy or restore the manual DB cluster snapshot. If a value of all
is in the list, then the manual
+ * DB cluster snapshot is public and available for any Amazon Web Services account to copy or restore.
+ *
Information about an Amazon RDS DB cluster snapshot.
@@ -3911,6 +4052,13 @@ export interface AwsRdsDbClusterSnapshotDetails { *Whether mapping of IAM accounts to database accounts is enabled.
*/ IamDatabaseAuthenticationEnabled?: boolean; + + /** + *+ * Contains the name and values of a manual DB cluster snapshot attribute. + *
+ */ + DbClusterSnapshotAttributes?: AwsRdsDbClusterSnapshotDbClusterSnapshotAttribute[]; } /** @@ -9662,6 +9810,14 @@ export interface ResourceDetails { * */ AwsStepFunctionStateMachine?: AwsStepFunctionStateMachineDetails; + + /** + *+ * Provides information about an Amazon Athena workgroup. A workgroup helps you separate users, teams, + * applications, or workloads. It also helps you set limits on data processing and track costs. + *
+ */ + AwsAthenaWorkGroup?: AwsAthenaWorkGroupDetails; } /** @@ -10255,922 +10411,3 @@ export const WorkflowState = { * @public */ export type WorkflowState = (typeof WorkflowState)[keyof typeof WorkflowState]; - -/** - * @public - *Provides a consistent format for Security Hub findings.
- * AwsSecurityFinding
format allows you to share findings between Amazon Web Services
- * security services and third-party solutions.
A finding is a potential security issue generated either by Amazon Web Services services or by the integrated third-party - * solutions and standards checks.
- *The schema version that a finding is formatted for.
- */ - SchemaVersion: string | undefined; - - /** - *The security findings provider-specific identifier for a finding.
- */ - Id: string | undefined; - - /** - *The ARN generated by Security Hub that uniquely identifies a product that generates findings. - * This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for - * a custom integration.
- */ - ProductArn: string | undefined; - - /** - *The name of the product that generated the finding.
- *Security Hub populates this attribute automatically for each finding. You cannot update this attribute with BatchImportFindings
or BatchUpdateFindings
. The exception to this is a custom integration.
When you use the Security Hub console or API to filter findings by product name, you use this attribute.
- */ - ProductName?: string; - - /** - *The name of the company for the product that generated the finding.
- *Security Hub populates this attribute automatically for each finding. You cannot update this attribute with BatchImportFindings
or BatchUpdateFindings
. The exception to this is a custom integration.
When you use the Security Hub console or API to filter findings by company name, you use this attribute.
- */ - CompanyName?: string; - - /** - *The Region from which the finding was generated.
- *Security Hub populates this attribute automatically for each finding. You cannot update it using BatchImportFindings
or BatchUpdateFindings
.
The identifier for the solution-specific component (a discrete unit of logic) that - * generated a finding. In various security findings providers' solutions, this generator can - * be called a rule, a check, a detector, a plugin, etc.
- */ - GeneratorId: string | undefined; - - /** - *The Amazon Web Services account ID that a finding is generated in.
- */ - AwsAccountId: string | undefined; - - /** - *One or more finding types in the format of namespace/category/classifier
- * that classify a finding.
Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual - * Behaviors | Sensitive Data Identifications
- */ - Types?: string[]; - - /** - *Indicates when the security findings provider first observed the potential security - * issue that a finding captured.
- *Uses the date-time
format specified in RFC 3339 section 5.6, Internet
- * Date/Time Format. The value cannot contain spaces, and date and time should be separated by T
. For example,
- * 2020-03-22T13:22:13.933Z
.
Indicates when the security findings provider most recently observed the potential - * security issue that a finding captured.
- *Uses the date-time
format specified in RFC 3339 section 5.6, Internet
- * Date/Time Format. The value cannot contain spaces, and date and time should be separated by T
. For example,
- * 2020-03-22T13:22:13.933Z
.
Indicates when the security findings provider created the potential security issue that - * a finding captured.
- *Uses the date-time
format specified in RFC 3339 section 5.6, Internet
- * Date/Time Format. The value cannot contain spaces, and date and time should be separated by T
. For example,
- * 2020-03-22T13:22:13.933Z
.
Indicates when the security findings provider last updated the finding record.
- *Uses the date-time
format specified in RFC 3339 section 5.6, Internet
- * Date/Time Format. The value cannot contain spaces, and date and time should be separated by T
. For example,
- * 2020-03-22T13:22:13.933Z
.
A finding's severity.
- */ - Severity?: Severity; - - /** - *A finding's confidence. Confidence is defined as the likelihood that a finding - * accurately identifies the behavior or issue that it was intended to identify.
- *Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent - * confidence and 100 means 100 percent confidence.
- */ - Confidence?: number; - - /** - *The level of importance assigned to the resources associated with the finding.
- *A score of 0 means that the underlying resources have no criticality, and a score of 100 - * is reserved for the most critical resources.
- */ - Criticality?: number; - - /** - *A finding's title.
- *In this release, Title
is a required property.
A finding's description.
- *In this release, Description
is a required property.
A data type that describes the remediation options for a finding.
- */ - Remediation?: Remediation; - - /** - *A URL that links to a page about the current finding in the security findings provider's - * solution.
- */ - SourceUrl?: string; - - /** - *A data type where security findings providers can include additional solution-specific
- * details that aren't part of the defined AwsSecurityFinding
format.
Can contain up to 50 key-value pairs. For each key-value pair, the key can contain up to 128 characters, and the value can contain up to 2048 characters.
- */ - ProductFields?: RecordA list of name/value string pairs associated with the finding. These are custom, - * user-defined fields added to a finding.
- */ - UserDefinedFields?: RecordA list of malware related to a finding.
- */ - Malware?: Malware[]; - - /** - *The details of network-related information about a finding.
- */ - Network?: Network; - - /** - *Provides information about a network path that is relevant to a finding. Each entry
- * under NetworkPath
represents a component of that path.
The details of process-related information about a finding.
- */ - Process?: ProcessDetails; - - /** - *Details about the threat detected in a security finding and the file paths that were affected by the threat. - *
- */ - Threats?: Threat[]; - - /** - *Threat intelligence details related to a finding.
- */ - ThreatIntelIndicators?: ThreatIntelIndicator[]; - - /** - *A set of resource data types that describe the resources that the finding refers - * to.
- */ - Resources: Resource[] | undefined; - - /** - *This data type is exclusive to findings that are generated as the result of a check run - * against a specific rule in a supported security standard, such as CIS Amazon Web Services Foundations. - * Contains security standard-related finding details.
- */ - Compliance?: Compliance; - - /** - *Indicates the veracity of a finding.
- */ - VerificationState?: VerificationState | string; - - /** - * @deprecated - * - *The workflow state of a finding.
- */ - WorkflowState?: WorkflowState | string; - - /** - *Provides information about the status of the investigation into a finding.
- */ - Workflow?: Workflow; - - /** - *The record state of a finding.
- */ - RecordState?: RecordState | string; - - /** - *A list of related findings.
- */ - RelatedFindings?: RelatedFinding[]; - - /** - *A user-defined note added to a finding.
- */ - Note?: Note; - - /** - *Provides a list of vulnerabilities associated with the findings.
- */ - Vulnerabilities?: Vulnerability[]; - - /** - *Provides an overview of the patch compliance status for an instance against a selected - * compliance standard.
- */ - PatchSummary?: PatchSummary; - - /** - *Provides details about an action that affects or that was taken on a resource.
- */ - Action?: Action; - - /** - *In a BatchImportFindings
request, finding providers use FindingProviderFields
to provide and update their own values for confidence, criticality, related findings, severity, and types.
Indicates whether the finding is a sample finding.
- */ - Sample?: boolean; -} - -/** - * @public - *A keyword filter for querying findings.
- */ -export interface KeywordFilter { - /** - *A value for the keyword.
- */ - Value?: string; -} - -/** - * @public - *The IP filter for querying findings.
- */ -export interface IpFilter { - /** - *A finding's CIDR value.
- */ - Cidr?: string; -} - -/** - * @public - *Boolean filter for querying findings.
- */ -export interface BooleanFilter { - /** - *The value of the boolean.
- */ - Value?: boolean; -} - -/** - * @public - *A collection of attributes that are applied to all active Security Hub-aggregated findings and - * that result in a subset of findings that are included in this insight.
- *You can filter by up to 10 finding attributes. For each attribute, you can provide up to - * 20 filter values.
- */ -export interface AwsSecurityFindingFilters { - /** - *The ARN generated by Security Hub that uniquely identifies a third-party company - * (security findings provider) after this provider's product (solution that generates - * findings) is registered with Security Hub.
- */ - ProductArn?: StringFilter[]; - - /** - *The Amazon Web Services account ID that a finding is generated in.
- */ - AwsAccountId?: StringFilter[]; - - /** - *The security findings provider-specific identifier for a finding.
- */ - Id?: StringFilter[]; - - /** - *The identifier for the solution-specific component (a discrete unit of logic) that - * generated a finding. In various security findings providers' solutions, this generator can - * be called a rule, a check, a detector, a plugin, etc.
- */ - GeneratorId?: StringFilter[]; - - /** - *The Region from which the finding was generated.
- */ - Region?: StringFilter[]; - - /** - *A finding type in the format of namespace/category/classifier
that
- * classifies a finding.
An ISO8601-formatted timestamp that indicates when the security findings provider first - * observed the potential security issue that a finding captured.
- *A correctly formatted example is 2020-05-21T20:16:34.724Z
. The value cannot contain spaces, and date and time should be separated by T
. For more information, see RFC 3339 section 5.6, Internet Date/Time Format.
An ISO8601-formatted timestamp that indicates when the security findings provider most - * recently observed the potential security issue that a finding captured.
- *A correctly formatted example is 2020-05-21T20:16:34.724Z
. The value cannot contain spaces, and date and time should be separated by T
. For more information, see RFC 3339 section 5.6, Internet Date/Time Format.
An ISO8601-formatted timestamp that indicates when the security findings provider - * captured the potential security issue that a finding captured.
- *A correctly formatted example is 2020-05-21T20:16:34.724Z
. The value cannot contain spaces, and date and time should be separated by T
. For more information, see RFC 3339 section 5.6, Internet Date/Time Format.
An ISO8601-formatted timestamp that indicates when the security findings provider last - * updated the finding record.
- *A correctly formatted example is 2020-05-21T20:16:34.724Z
. The value cannot contain spaces, and date and time should be separated by T
. For more information, see RFC 3339 section 5.6, Internet Date/Time Format.
The native severity as defined by the security findings provider's solution that - * generated the finding.
- */ - SeverityProduct?: NumberFilter[]; - - /** - * @deprecated - * - *The normalized severity of a finding.
- */ - SeverityNormalized?: NumberFilter[]; - - /** - *The label of a finding's severity.
- */ - SeverityLabel?: StringFilter[]; - - /** - *A finding's confidence. Confidence is defined as the likelihood that a finding - * accurately identifies the behavior or issue that it was intended to identify.
- *Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent - * confidence and 100 means 100 percent confidence.
- */ - Confidence?: NumberFilter[]; - - /** - *The level of importance assigned to the resources associated with the finding.
- *A score of 0 means that the underlying resources have no criticality, and a score of 100 - * is reserved for the most critical resources.
- */ - Criticality?: NumberFilter[]; - - /** - *A finding's title.
- */ - Title?: StringFilter[]; - - /** - *A finding's description.
- */ - Description?: StringFilter[]; - - /** - *The recommendation of what to do about the issue described in a finding.
- */ - RecommendationText?: StringFilter[]; - - /** - *A URL that links to a page about the current finding in the security findings provider's - * solution.
- */ - SourceUrl?: StringFilter[]; - - /** - *A data type where security findings providers can include additional solution-specific
- * details that aren't part of the defined AwsSecurityFinding
format.
The name of the solution (product) that generates findings.
- */ - ProductName?: StringFilter[]; - - /** - *The name of the findings provider (company) that owns the solution (product) that - * generates findings.
- */ - CompanyName?: StringFilter[]; - - /** - *A list of name/value string pairs associated with the finding. These are custom, - * user-defined fields added to a finding.
- */ - UserDefinedFields?: MapFilter[]; - - /** - *The name of the malware that was observed.
- */ - MalwareName?: StringFilter[]; - - /** - *The type of the malware that was observed.
- */ - MalwareType?: StringFilter[]; - - /** - *The filesystem path of the malware that was observed.
- */ - MalwarePath?: StringFilter[]; - - /** - *The state of the malware that was observed.
- */ - MalwareState?: StringFilter[]; - - /** - *Indicates the direction of network traffic associated with a finding.
- */ - NetworkDirection?: StringFilter[]; - - /** - *The protocol of network-related information about a finding.
- */ - NetworkProtocol?: StringFilter[]; - - /** - *The source IPv4 address of network-related information about a finding.
- */ - NetworkSourceIpV4?: IpFilter[]; - - /** - *The source IPv6 address of network-related information about a finding.
- */ - NetworkSourceIpV6?: IpFilter[]; - - /** - *The source port of network-related information about a finding.
- */ - NetworkSourcePort?: NumberFilter[]; - - /** - *The source domain of network-related information about a finding.
- */ - NetworkSourceDomain?: StringFilter[]; - - /** - *The source media access control (MAC) address of network-related information about a - * finding.
- */ - NetworkSourceMac?: StringFilter[]; - - /** - *The destination IPv4 address of network-related information about a finding.
- */ - NetworkDestinationIpV4?: IpFilter[]; - - /** - *The destination IPv6 address of network-related information about a finding.
- */ - NetworkDestinationIpV6?: IpFilter[]; - - /** - *The destination port of network-related information about a finding.
- */ - NetworkDestinationPort?: NumberFilter[]; - - /** - *The destination domain of network-related information about a finding.
- */ - NetworkDestinationDomain?: StringFilter[]; - - /** - *The name of the process.
- */ - ProcessName?: StringFilter[]; - - /** - *The path to the process executable.
- */ - ProcessPath?: StringFilter[]; - - /** - *The process ID.
- */ - ProcessPid?: NumberFilter[]; - - /** - *The parent process ID. This field accepts positive integers between O
and 2147483647
.
A timestamp that identifies when the process was launched.
- *A correctly formatted example is 2020-05-21T20:16:34.724Z
. The value cannot contain spaces, and date and time should be separated by T
. For more information, see RFC 3339 section 5.6, Internet Date/Time Format.
A timestamp that identifies when the process was terminated.
- *A correctly formatted example is 2020-05-21T20:16:34.724Z
. The value cannot contain spaces, and date and time should be separated by T
. For more information, see RFC 3339 section 5.6, Internet Date/Time Format.
The type of a threat intelligence indicator.
- */ - ThreatIntelIndicatorType?: StringFilter[]; - - /** - *The value of a threat intelligence indicator.
- */ - ThreatIntelIndicatorValue?: StringFilter[]; - - /** - *The category of a threat intelligence indicator.
- */ - ThreatIntelIndicatorCategory?: StringFilter[]; - - /** - *A timestamp that identifies the last observation of a threat intelligence indicator.
- */ - ThreatIntelIndicatorLastObservedAt?: DateFilter[]; - - /** - *The source of the threat intelligence.
- */ - ThreatIntelIndicatorSource?: StringFilter[]; - - /** - *The URL for more details from the source of the threat intelligence.
- */ - ThreatIntelIndicatorSourceUrl?: StringFilter[]; - - /** - *Specifies the type of the resource that details are provided for.
- */ - ResourceType?: StringFilter[]; - - /** - *The canonical identifier for the given resource type.
- */ - ResourceId?: StringFilter[]; - - /** - *The canonical Amazon Web Services partition name that the Region is assigned to.
- */ - ResourcePartition?: StringFilter[]; - - /** - *The canonical Amazon Web Services external Region name where this resource is located.
- */ - ResourceRegion?: StringFilter[]; - - /** - *A list of Amazon Web Services tags associated with a resource at the time the finding was - * processed.
- */ - ResourceTags?: MapFilter[]; - - /** - *The instance type of the instance.
- */ - ResourceAwsEc2InstanceType?: StringFilter[]; - - /** - *The Amazon Machine Image (AMI) ID of the instance.
- */ - ResourceAwsEc2InstanceImageId?: StringFilter[]; - - /** - *The IPv4 addresses associated with the instance.
- */ - ResourceAwsEc2InstanceIpV4Addresses?: IpFilter[]; - - /** - *The IPv6 addresses associated with the instance.
- */ - ResourceAwsEc2InstanceIpV6Addresses?: IpFilter[]; - - /** - *The key name associated with the instance.
- */ - ResourceAwsEc2InstanceKeyName?: StringFilter[]; - - /** - *The IAM profile ARN of the instance.
- */ - ResourceAwsEc2InstanceIamInstanceProfileArn?: StringFilter[]; - - /** - *The identifier of the VPC that the instance was launched in.
- */ - ResourceAwsEc2InstanceVpcId?: StringFilter[]; - - /** - *The identifier of the subnet that the instance was launched in.
- */ - ResourceAwsEc2InstanceSubnetId?: StringFilter[]; - - /** - *The date and time the instance was launched.
- */ - ResourceAwsEc2InstanceLaunchedAt?: DateFilter[]; - - /** - *The canonical user ID of the owner of the S3 bucket.
- */ - ResourceAwsS3BucketOwnerId?: StringFilter[]; - - /** - *The display name of the owner of the S3 bucket.
- */ - ResourceAwsS3BucketOwnerName?: StringFilter[]; - - /** - * @deprecated - * - *The user associated with the IAM access key related to a finding.
- */ - ResourceAwsIamAccessKeyUserName?: StringFilter[]; - - /** - *The name of the principal that is associated with an IAM access key.
- */ - ResourceAwsIamAccessKeyPrincipalName?: StringFilter[]; - - /** - *The status of the IAM access key related to a finding.
- */ - ResourceAwsIamAccessKeyStatus?: StringFilter[]; - - /** - *The creation date/time of the IAM access key related to a finding.
- */ - ResourceAwsIamAccessKeyCreatedAt?: DateFilter[]; - - /** - *The name of an IAM user.
- */ - ResourceAwsIamUserUserName?: StringFilter[]; - - /** - *The name of the container related to a finding.
- */ - ResourceContainerName?: StringFilter[]; - - /** - *The identifier of the image related to a finding.
- */ - ResourceContainerImageId?: StringFilter[]; - - /** - *The name of the image related to a finding.
- */ - ResourceContainerImageName?: StringFilter[]; - - /** - *A timestamp that identifies when the container was started.
- *A correctly formatted example is 2020-05-21T20:16:34.724Z
. The value cannot contain spaces, and date and time should be separated by T
. For more information, see RFC 3339 section 5.6, Internet Date/Time Format.
The details of a resource that doesn't have a specific subfield for the resource type - * defined.
- */ - ResourceDetailsOther?: MapFilter[]; - - /** - *Exclusive to findings that are generated as the result of a check run against a specific - * rule in a supported standard, such as CIS Amazon Web Services Foundations. Contains security - * standard-related finding details.
- */ - ComplianceStatus?: StringFilter[]; - - /** - *The veracity of a finding.
- */ - VerificationState?: StringFilter[]; - - /** - *The workflow state of a finding.
- *Note that this field is deprecated. To search for a finding based on its workflow
- * status, use WorkflowStatus
.
The status of the investigation into a finding. Allowed values are the following.
- *
- * NEW
- The initial state of a finding, before it is reviewed.
Security Hub also resets the workflow status from NOTIFIED
or
- * RESOLVED
to NEW
in the following cases:
- * RecordState
changes from ARCHIVED
to ACTIVE
.
- * Compliance.Status
changes from PASSED
to either WARNING
,
- * FAILED
, or NOT_AVAILABLE
.
- * NOTIFIED
- Indicates that the resource owner has been notified about
- * the security issue. Used when the initial reviewer is not the resource owner, and
- * needs intervention from the resource owner.
If one of the following occurs, the workflow status is changed automatically from
- * NOTIFIED
to NEW
:
- * RecordState
changes from ARCHIVED
to
- * ACTIVE
.
- * Compliance.Status
changes from PASSED
to FAILED
,
- * WARNING
, or NOT_AVAILABLE
.
- * SUPPRESSED
- Indicates that you reviewed the finding and do not believe that any action is
- * needed.
The workflow status of a SUPPRESSED
finding does not change if
- * RecordState
changes from ARCHIVED
to
- * ACTIVE
.
- * RESOLVED
- The finding was reviewed and remediated and is now
- * considered resolved.
The finding remains RESOLVED
unless one of the following occurs:
- * RecordState
changes from ARCHIVED
to
- * ACTIVE
.
- * Compliance.Status
changes from PASSED
to FAILED
,
- * WARNING
, or NOT_AVAILABLE
.
In those cases, the workflow status is automatically reset to NEW
.
For findings from controls, if Compliance.Status
is PASSED
,
- * then Security Hub automatically sets the workflow status to RESOLVED
.
The updated record state for the finding.
- */ - RecordState?: StringFilter[]; - - /** - *The ARN of the solution that generated a related finding.
- */ - RelatedFindingsProductArn?: StringFilter[]; - - /** - *The solution-generated identifier for a related finding.
- */ - RelatedFindingsId?: StringFilter[]; - - /** - *The text of a note.
- */ - NoteText?: StringFilter[]; - - /** - *The timestamp of when the note was updated.
- */ - NoteUpdatedAt?: DateFilter[]; - - /** - *The principal that created a note.
- */ - NoteUpdatedBy?: StringFilter[]; - - /** - * @deprecated - * - *A keyword for a finding.
- */ - Keyword?: KeywordFilter[]; - - /** - *The finding provider value for the finding confidence. Confidence is defined as the likelihood - * that a finding accurately identifies the behavior or issue that it was intended to - * identify.
- *Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent - * confidence and 100 means 100 percent confidence.
- */ - FindingProviderFieldsConfidence?: NumberFilter[]; - - /** - *The finding provider value for the level of importance assigned to the resources associated with - * the findings.
- *A score of 0 means that the underlying resources have no criticality, and a score of 100 - * is reserved for the most critical resources.
- */ - FindingProviderFieldsCriticality?: NumberFilter[]; - - /** - *The finding identifier of a related finding that is identified by the finding provider.
- */ - FindingProviderFieldsRelatedFindingsId?: StringFilter[]; - - /** - *The ARN of the solution that generated a related finding that is identified by the finding provider.
- */ - FindingProviderFieldsRelatedFindingsProductArn?: StringFilter[]; - - /** - *The finding provider value for the severity label.
- */ - FindingProviderFieldsSeverityLabel?: StringFilter[]; - - /** - *The finding provider's original value for the severity.
- */ - FindingProviderFieldsSeverityOriginal?: StringFilter[]; - - /** - *One or more finding types that the finding provider assigned to the finding. Uses the format of namespace/category/classifier
- * that classify a finding.
Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual - * Behaviors | Sensitive Data Identifications
- */ - FindingProviderFieldsTypes?: StringFilter[]; - - /** - *Indicates whether or not sample findings are included in the filter results.
- */ - Sample?: BooleanFilter[]; - - /** - *- * The unique identifier of a control across standards. Values for this field typically consist of an - * Amazon Web Service and a number, such as APIGateway.5. - *
- */ - ComplianceSecurityControlId?: StringFilter[]; - - /** - *- * The unique identifier of a standard in which a control is enabled. This field consists of the resource portion of the - * Amazon Resource Name (ARN) returned for a standard in the DescribeStandards API response. - *
- */ - ComplianceAssociatedStandardsId?: StringFilter[]; -} diff --git a/clients/client-securityhub/src/models/models_2.ts b/clients/client-securityhub/src/models/models_2.ts index 3958ea708f3d..a081a223e123 100644 --- a/clients/client-securityhub/src/models/models_2.ts +++ b/clients/client-securityhub/src/models/models_2.ts @@ -3,6 +3,7 @@ import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-cli import { AccountDetails, + Action, ActionTarget, AdminAccount, AssociationStatus, @@ -11,16 +12,957 @@ import { AutomationRulesConfig, AutomationRulesFindingFilters, AutomationRulesMetadata, + DateFilter, + MapFilter, NoteUpdate, + NumberFilter, RelatedFinding, RuleStatus, SeverityUpdate, + StringFilter, VerificationState, WorkflowUpdate, } from "./models_0"; -import { AwsSecurityFinding, AwsSecurityFindingFilters, RecordState } from "./models_1"; +import { + Compliance, + FindingProviderFields, + Malware, + Network, + NetworkPathComponent, + Note, + PatchSummary, + ProcessDetails, + RecordState, + Remediation, + Resource, + Severity, + Threat, + ThreatIntelIndicator, + Vulnerability, + Workflow, + WorkflowState, +} from "./models_1"; import { SecurityHubServiceException as __BaseException } from "./SecurityHubServiceException"; +/** + * @public + *Provides a consistent format for Security Hub findings.
+ * AwsSecurityFinding
format allows you to share findings between Amazon Web Services
+ * security services and third-party solutions.
A finding is a potential security issue generated either by Amazon Web Services services or by the integrated third-party + * solutions and standards checks.
+ *The schema version that a finding is formatted for.
+ */ + SchemaVersion: string | undefined; + + /** + *The security findings provider-specific identifier for a finding.
+ */ + Id: string | undefined; + + /** + *The ARN generated by Security Hub that uniquely identifies a product that generates findings. + * This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for + * a custom integration.
+ */ + ProductArn: string | undefined; + + /** + *The name of the product that generated the finding.
+ *Security Hub populates this attribute automatically for each finding. You cannot update this attribute with BatchImportFindings
or BatchUpdateFindings
. The exception to this is a custom integration.
When you use the Security Hub console or API to filter findings by product name, you use this attribute.
+ */ + ProductName?: string; + + /** + *The name of the company for the product that generated the finding.
+ *Security Hub populates this attribute automatically for each finding. You cannot update this attribute with BatchImportFindings
or BatchUpdateFindings
. The exception to this is a custom integration.
When you use the Security Hub console or API to filter findings by company name, you use this attribute.
+ */ + CompanyName?: string; + + /** + *The Region from which the finding was generated.
+ *Security Hub populates this attribute automatically for each finding. You cannot update it using BatchImportFindings
or BatchUpdateFindings
.
The identifier for the solution-specific component (a discrete unit of logic) that + * generated a finding. In various security findings providers' solutions, this generator can + * be called a rule, a check, a detector, a plugin, etc.
+ */ + GeneratorId: string | undefined; + + /** + *The Amazon Web Services account ID that a finding is generated in.
+ */ + AwsAccountId: string | undefined; + + /** + *One or more finding types in the format of namespace/category/classifier
+ * that classify a finding.
Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual + * Behaviors | Sensitive Data Identifications
+ */ + Types?: string[]; + + /** + *Indicates when the security findings provider first observed the potential security + * issue that a finding captured.
+ *Uses the date-time
format specified in RFC 3339 section 5.6, Internet
+ * Date/Time Format. The value cannot contain spaces, and date and time should be separated by T
. For example,
+ * 2020-03-22T13:22:13.933Z
.
Indicates when the security findings provider most recently observed the potential + * security issue that a finding captured.
+ *Uses the date-time
format specified in RFC 3339 section 5.6, Internet
+ * Date/Time Format. The value cannot contain spaces, and date and time should be separated by T
. For example,
+ * 2020-03-22T13:22:13.933Z
.
Indicates when the security findings provider created the potential security issue that + * a finding captured.
+ *Uses the date-time
format specified in RFC 3339 section 5.6, Internet
+ * Date/Time Format. The value cannot contain spaces, and date and time should be separated by T
. For example,
+ * 2020-03-22T13:22:13.933Z
.
Indicates when the security findings provider last updated the finding record.
+ *Uses the date-time
format specified in RFC 3339 section 5.6, Internet
+ * Date/Time Format. The value cannot contain spaces, and date and time should be separated by T
. For example,
+ * 2020-03-22T13:22:13.933Z
.
A finding's severity.
+ */ + Severity?: Severity; + + /** + *A finding's confidence. Confidence is defined as the likelihood that a finding + * accurately identifies the behavior or issue that it was intended to identify.
+ *Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent + * confidence and 100 means 100 percent confidence.
+ */ + Confidence?: number; + + /** + *The level of importance assigned to the resources associated with the finding.
+ *A score of 0 means that the underlying resources have no criticality, and a score of 100 + * is reserved for the most critical resources.
+ */ + Criticality?: number; + + /** + *A finding's title.
+ *In this release, Title
is a required property.
A finding's description.
+ *In this release, Description
is a required property.
A data type that describes the remediation options for a finding.
+ */ + Remediation?: Remediation; + + /** + *A URL that links to a page about the current finding in the security findings provider's + * solution.
+ */ + SourceUrl?: string; + + /** + *A data type where security findings providers can include additional solution-specific
+ * details that aren't part of the defined AwsSecurityFinding
format.
Can contain up to 50 key-value pairs. For each key-value pair, the key can contain up to 128 characters, and the value can contain up to 2048 characters.
+ */ + ProductFields?: RecordA list of name/value string pairs associated with the finding. These are custom, + * user-defined fields added to a finding.
+ */ + UserDefinedFields?: RecordA list of malware related to a finding.
+ */ + Malware?: Malware[]; + + /** + *The details of network-related information about a finding.
+ */ + Network?: Network; + + /** + *Provides information about a network path that is relevant to a finding. Each entry
+ * under NetworkPath
represents a component of that path.
The details of process-related information about a finding.
+ */ + Process?: ProcessDetails; + + /** + *Details about the threat detected in a security finding and the file paths that were affected by the threat. + *
+ */ + Threats?: Threat[]; + + /** + *Threat intelligence details related to a finding.
+ */ + ThreatIntelIndicators?: ThreatIntelIndicator[]; + + /** + *A set of resource data types that describe the resources that the finding refers + * to.
+ */ + Resources: Resource[] | undefined; + + /** + *This data type is exclusive to findings that are generated as the result of a check run + * against a specific rule in a supported security standard, such as CIS Amazon Web Services Foundations. + * Contains security standard-related finding details.
+ */ + Compliance?: Compliance; + + /** + *Indicates the veracity of a finding.
+ */ + VerificationState?: VerificationState | string; + + /** + * @deprecated + * + *The workflow state of a finding.
+ */ + WorkflowState?: WorkflowState | string; + + /** + *Provides information about the status of the investigation into a finding.
+ */ + Workflow?: Workflow; + + /** + *The record state of a finding.
+ */ + RecordState?: RecordState | string; + + /** + *A list of related findings.
+ */ + RelatedFindings?: RelatedFinding[]; + + /** + *A user-defined note added to a finding.
+ */ + Note?: Note; + + /** + *Provides a list of vulnerabilities associated with the findings.
+ */ + Vulnerabilities?: Vulnerability[]; + + /** + *Provides an overview of the patch compliance status for an instance against a selected + * compliance standard.
+ */ + PatchSummary?: PatchSummary; + + /** + *Provides details about an action that affects or that was taken on a resource.
+ */ + Action?: Action; + + /** + *In a BatchImportFindings
request, finding providers use FindingProviderFields
to provide and update their own values for confidence, criticality, related findings, severity, and types.
Indicates whether the finding is a sample finding.
+ */ + Sample?: boolean; +} + +/** + * @public + *A keyword filter for querying findings.
+ */ +export interface KeywordFilter { + /** + *A value for the keyword.
+ */ + Value?: string; +} + +/** + * @public + *The IP filter for querying findings.
+ */ +export interface IpFilter { + /** + *A finding's CIDR value.
+ */ + Cidr?: string; +} + +/** + * @public + *Boolean filter for querying findings.
+ */ +export interface BooleanFilter { + /** + *The value of the boolean.
+ */ + Value?: boolean; +} + +/** + * @public + *A collection of attributes that are applied to all active Security Hub-aggregated findings and + * that result in a subset of findings that are included in this insight.
+ *You can filter by up to 10 finding attributes. For each attribute, you can provide up to + * 20 filter values.
+ */ +export interface AwsSecurityFindingFilters { + /** + *The ARN generated by Security Hub that uniquely identifies a third-party company + * (security findings provider) after this provider's product (solution that generates + * findings) is registered with Security Hub.
+ */ + ProductArn?: StringFilter[]; + + /** + *The Amazon Web Services account ID that a finding is generated in.
+ */ + AwsAccountId?: StringFilter[]; + + /** + *The security findings provider-specific identifier for a finding.
+ */ + Id?: StringFilter[]; + + /** + *The identifier for the solution-specific component (a discrete unit of logic) that + * generated a finding. In various security findings providers' solutions, this generator can + * be called a rule, a check, a detector, a plugin, etc.
+ */ + GeneratorId?: StringFilter[]; + + /** + *The Region from which the finding was generated.
+ */ + Region?: StringFilter[]; + + /** + *A finding type in the format of namespace/category/classifier
that
+ * classifies a finding.
An ISO8601-formatted timestamp that indicates when the security findings provider first + * observed the potential security issue that a finding captured.
+ *A correctly formatted example is 2020-05-21T20:16:34.724Z
. The value cannot contain spaces, and date and time should be separated by T
. For more information, see RFC 3339 section 5.6, Internet Date/Time Format.
An ISO8601-formatted timestamp that indicates when the security findings provider most + * recently observed the potential security issue that a finding captured.
+ *A correctly formatted example is 2020-05-21T20:16:34.724Z
. The value cannot contain spaces, and date and time should be separated by T
. For more information, see RFC 3339 section 5.6, Internet Date/Time Format.
An ISO8601-formatted timestamp that indicates when the security findings provider + * captured the potential security issue that a finding captured.
+ *A correctly formatted example is 2020-05-21T20:16:34.724Z
. The value cannot contain spaces, and date and time should be separated by T
. For more information, see RFC 3339 section 5.6, Internet Date/Time Format.
An ISO8601-formatted timestamp that indicates when the security findings provider last + * updated the finding record.
+ *A correctly formatted example is 2020-05-21T20:16:34.724Z
. The value cannot contain spaces, and date and time should be separated by T
. For more information, see RFC 3339 section 5.6, Internet Date/Time Format.
The native severity as defined by the security findings provider's solution that + * generated the finding.
+ */ + SeverityProduct?: NumberFilter[]; + + /** + * @deprecated + * + *The normalized severity of a finding.
+ */ + SeverityNormalized?: NumberFilter[]; + + /** + *The label of a finding's severity.
+ */ + SeverityLabel?: StringFilter[]; + + /** + *A finding's confidence. Confidence is defined as the likelihood that a finding + * accurately identifies the behavior or issue that it was intended to identify.
+ *Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent + * confidence and 100 means 100 percent confidence.
+ */ + Confidence?: NumberFilter[]; + + /** + *The level of importance assigned to the resources associated with the finding.
+ *A score of 0 means that the underlying resources have no criticality, and a score of 100 + * is reserved for the most critical resources.
+ */ + Criticality?: NumberFilter[]; + + /** + *A finding's title.
+ */ + Title?: StringFilter[]; + + /** + *A finding's description.
+ */ + Description?: StringFilter[]; + + /** + *The recommendation of what to do about the issue described in a finding.
+ */ + RecommendationText?: StringFilter[]; + + /** + *A URL that links to a page about the current finding in the security findings provider's + * solution.
+ */ + SourceUrl?: StringFilter[]; + + /** + *A data type where security findings providers can include additional solution-specific
+ * details that aren't part of the defined AwsSecurityFinding
format.
The name of the solution (product) that generates findings.
+ */ + ProductName?: StringFilter[]; + + /** + *The name of the findings provider (company) that owns the solution (product) that + * generates findings.
+ */ + CompanyName?: StringFilter[]; + + /** + *A list of name/value string pairs associated with the finding. These are custom, + * user-defined fields added to a finding.
+ */ + UserDefinedFields?: MapFilter[]; + + /** + *The name of the malware that was observed.
+ */ + MalwareName?: StringFilter[]; + + /** + *The type of the malware that was observed.
+ */ + MalwareType?: StringFilter[]; + + /** + *The filesystem path of the malware that was observed.
+ */ + MalwarePath?: StringFilter[]; + + /** + *The state of the malware that was observed.
+ */ + MalwareState?: StringFilter[]; + + /** + *Indicates the direction of network traffic associated with a finding.
+ */ + NetworkDirection?: StringFilter[]; + + /** + *The protocol of network-related information about a finding.
+ */ + NetworkProtocol?: StringFilter[]; + + /** + *The source IPv4 address of network-related information about a finding.
+ */ + NetworkSourceIpV4?: IpFilter[]; + + /** + *The source IPv6 address of network-related information about a finding.
+ */ + NetworkSourceIpV6?: IpFilter[]; + + /** + *The source port of network-related information about a finding.
+ */ + NetworkSourcePort?: NumberFilter[]; + + /** + *The source domain of network-related information about a finding.
+ */ + NetworkSourceDomain?: StringFilter[]; + + /** + *The source media access control (MAC) address of network-related information about a + * finding.
+ */ + NetworkSourceMac?: StringFilter[]; + + /** + *The destination IPv4 address of network-related information about a finding.
+ */ + NetworkDestinationIpV4?: IpFilter[]; + + /** + *The destination IPv6 address of network-related information about a finding.
+ */ + NetworkDestinationIpV6?: IpFilter[]; + + /** + *The destination port of network-related information about a finding.
+ */ + NetworkDestinationPort?: NumberFilter[]; + + /** + *The destination domain of network-related information about a finding.
+ */ + NetworkDestinationDomain?: StringFilter[]; + + /** + *The name of the process.
+ */ + ProcessName?: StringFilter[]; + + /** + *The path to the process executable.
+ */ + ProcessPath?: StringFilter[]; + + /** + *The process ID.
+ */ + ProcessPid?: NumberFilter[]; + + /** + *The parent process ID. This field accepts positive integers between O
and 2147483647
.
A timestamp that identifies when the process was launched.
+ *A correctly formatted example is 2020-05-21T20:16:34.724Z
. The value cannot contain spaces, and date and time should be separated by T
. For more information, see RFC 3339 section 5.6, Internet Date/Time Format.
A timestamp that identifies when the process was terminated.
+ *A correctly formatted example is 2020-05-21T20:16:34.724Z
. The value cannot contain spaces, and date and time should be separated by T
. For more information, see RFC 3339 section 5.6, Internet Date/Time Format.
The type of a threat intelligence indicator.
+ */ + ThreatIntelIndicatorType?: StringFilter[]; + + /** + *The value of a threat intelligence indicator.
+ */ + ThreatIntelIndicatorValue?: StringFilter[]; + + /** + *The category of a threat intelligence indicator.
+ */ + ThreatIntelIndicatorCategory?: StringFilter[]; + + /** + *A timestamp that identifies the last observation of a threat intelligence indicator.
+ */ + ThreatIntelIndicatorLastObservedAt?: DateFilter[]; + + /** + *The source of the threat intelligence.
+ */ + ThreatIntelIndicatorSource?: StringFilter[]; + + /** + *The URL for more details from the source of the threat intelligence.
+ */ + ThreatIntelIndicatorSourceUrl?: StringFilter[]; + + /** + *Specifies the type of the resource that details are provided for.
+ */ + ResourceType?: StringFilter[]; + + /** + *The canonical identifier for the given resource type.
+ */ + ResourceId?: StringFilter[]; + + /** + *The canonical Amazon Web Services partition name that the Region is assigned to.
+ */ + ResourcePartition?: StringFilter[]; + + /** + *The canonical Amazon Web Services external Region name where this resource is located.
+ */ + ResourceRegion?: StringFilter[]; + + /** + *A list of Amazon Web Services tags associated with a resource at the time the finding was + * processed.
+ */ + ResourceTags?: MapFilter[]; + + /** + *The instance type of the instance.
+ */ + ResourceAwsEc2InstanceType?: StringFilter[]; + + /** + *The Amazon Machine Image (AMI) ID of the instance.
+ */ + ResourceAwsEc2InstanceImageId?: StringFilter[]; + + /** + *The IPv4 addresses associated with the instance.
+ */ + ResourceAwsEc2InstanceIpV4Addresses?: IpFilter[]; + + /** + *The IPv6 addresses associated with the instance.
+ */ + ResourceAwsEc2InstanceIpV6Addresses?: IpFilter[]; + + /** + *The key name associated with the instance.
+ */ + ResourceAwsEc2InstanceKeyName?: StringFilter[]; + + /** + *The IAM profile ARN of the instance.
+ */ + ResourceAwsEc2InstanceIamInstanceProfileArn?: StringFilter[]; + + /** + *The identifier of the VPC that the instance was launched in.
+ */ + ResourceAwsEc2InstanceVpcId?: StringFilter[]; + + /** + *The identifier of the subnet that the instance was launched in.
+ */ + ResourceAwsEc2InstanceSubnetId?: StringFilter[]; + + /** + *The date and time the instance was launched.
+ */ + ResourceAwsEc2InstanceLaunchedAt?: DateFilter[]; + + /** + *The canonical user ID of the owner of the S3 bucket.
+ */ + ResourceAwsS3BucketOwnerId?: StringFilter[]; + + /** + *The display name of the owner of the S3 bucket.
+ */ + ResourceAwsS3BucketOwnerName?: StringFilter[]; + + /** + * @deprecated + * + *The user associated with the IAM access key related to a finding.
+ */ + ResourceAwsIamAccessKeyUserName?: StringFilter[]; + + /** + *The name of the principal that is associated with an IAM access key.
+ */ + ResourceAwsIamAccessKeyPrincipalName?: StringFilter[]; + + /** + *The status of the IAM access key related to a finding.
+ */ + ResourceAwsIamAccessKeyStatus?: StringFilter[]; + + /** + *The creation date/time of the IAM access key related to a finding.
+ */ + ResourceAwsIamAccessKeyCreatedAt?: DateFilter[]; + + /** + *The name of an IAM user.
+ */ + ResourceAwsIamUserUserName?: StringFilter[]; + + /** + *The name of the container related to a finding.
+ */ + ResourceContainerName?: StringFilter[]; + + /** + *The identifier of the image related to a finding.
+ */ + ResourceContainerImageId?: StringFilter[]; + + /** + *The name of the image related to a finding.
+ */ + ResourceContainerImageName?: StringFilter[]; + + /** + *A timestamp that identifies when the container was started.
+ *A correctly formatted example is 2020-05-21T20:16:34.724Z
. The value cannot contain spaces, and date and time should be separated by T
. For more information, see RFC 3339 section 5.6, Internet Date/Time Format.
The details of a resource that doesn't have a specific subfield for the resource type + * defined.
+ */ + ResourceDetailsOther?: MapFilter[]; + + /** + *Exclusive to findings that are generated as the result of a check run against a specific + * rule in a supported standard, such as CIS Amazon Web Services Foundations. Contains security + * standard-related finding details.
+ */ + ComplianceStatus?: StringFilter[]; + + /** + *The veracity of a finding.
+ */ + VerificationState?: StringFilter[]; + + /** + *The workflow state of a finding.
+ *Note that this field is deprecated. To search for a finding based on its workflow
+ * status, use WorkflowStatus
.
The status of the investigation into a finding. Allowed values are the following.
+ *
+ * NEW
- The initial state of a finding, before it is reviewed.
Security Hub also resets the workflow status from NOTIFIED
or
+ * RESOLVED
to NEW
in the following cases:
+ * RecordState
changes from ARCHIVED
to ACTIVE
.
+ * Compliance.Status
changes from PASSED
to either WARNING
,
+ * FAILED
, or NOT_AVAILABLE
.
+ * NOTIFIED
- Indicates that the resource owner has been notified about
+ * the security issue. Used when the initial reviewer is not the resource owner, and
+ * needs intervention from the resource owner.
If one of the following occurs, the workflow status is changed automatically from
+ * NOTIFIED
to NEW
:
+ * RecordState
changes from ARCHIVED
to
+ * ACTIVE
.
+ * Compliance.Status
changes from PASSED
to FAILED
,
+ * WARNING
, or NOT_AVAILABLE
.
+ * SUPPRESSED
- Indicates that you reviewed the finding and do not believe that any action is
+ * needed.
The workflow status of a SUPPRESSED
finding does not change if
+ * RecordState
changes from ARCHIVED
to
+ * ACTIVE
.
+ * RESOLVED
- The finding was reviewed and remediated and is now
+ * considered resolved.
The finding remains RESOLVED
unless one of the following occurs:
+ * RecordState
changes from ARCHIVED
to
+ * ACTIVE
.
+ * Compliance.Status
changes from PASSED
to FAILED
,
+ * WARNING
, or NOT_AVAILABLE
.
In those cases, the workflow status is automatically reset to NEW
.
For findings from controls, if Compliance.Status
is PASSED
,
+ * then Security Hub automatically sets the workflow status to RESOLVED
.
The updated record state for the finding.
+ */ + RecordState?: StringFilter[]; + + /** + *The ARN of the solution that generated a related finding.
+ */ + RelatedFindingsProductArn?: StringFilter[]; + + /** + *The solution-generated identifier for a related finding.
+ */ + RelatedFindingsId?: StringFilter[]; + + /** + *The text of a note.
+ */ + NoteText?: StringFilter[]; + + /** + *The timestamp of when the note was updated.
+ */ + NoteUpdatedAt?: DateFilter[]; + + /** + *The principal that created a note.
+ */ + NoteUpdatedBy?: StringFilter[]; + + /** + * @deprecated + * + *A keyword for a finding.
+ */ + Keyword?: KeywordFilter[]; + + /** + *The finding provider value for the finding confidence. Confidence is defined as the likelihood + * that a finding accurately identifies the behavior or issue that it was intended to + * identify.
+ *Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent + * confidence and 100 means 100 percent confidence.
+ */ + FindingProviderFieldsConfidence?: NumberFilter[]; + + /** + *The finding provider value for the level of importance assigned to the resources associated with + * the findings.
+ *A score of 0 means that the underlying resources have no criticality, and a score of 100 + * is reserved for the most critical resources.
+ */ + FindingProviderFieldsCriticality?: NumberFilter[]; + + /** + *The finding identifier of a related finding that is identified by the finding provider.
+ */ + FindingProviderFieldsRelatedFindingsId?: StringFilter[]; + + /** + *The ARN of the solution that generated a related finding that is identified by the finding provider.
+ */ + FindingProviderFieldsRelatedFindingsProductArn?: StringFilter[]; + + /** + *The finding provider value for the severity label.
+ */ + FindingProviderFieldsSeverityLabel?: StringFilter[]; + + /** + *The finding provider's original value for the severity.
+ */ + FindingProviderFieldsSeverityOriginal?: StringFilter[]; + + /** + *One or more finding types that the finding provider assigned to the finding. Uses the format of namespace/category/classifier
+ * that classify a finding.
Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual + * Behaviors | Sensitive Data Identifications
+ */ + FindingProviderFieldsTypes?: StringFilter[]; + + /** + *Indicates whether or not sample findings are included in the filter results.
+ */ + Sample?: BooleanFilter[]; + + /** + *+ * The unique identifier of a control across standards. Values for this field typically consist of an + * Amazon Web Service and a number, such as APIGateway.5. + *
+ */ + ComplianceSecurityControlId?: StringFilter[]; + + /** + *+ * The unique identifier of a standard in which a control is enabled. This field consists of the resource portion of the + * Amazon Resource Name (ARN) returned for a standard in the DescribeStandards API response. + *
+ */ + ComplianceAssociatedStandardsId?: StringFilter[]; +} + /** * @public *Identifies which finding to get the finding history for.
@@ -715,10 +1657,9 @@ export interface UpdateAutomationRulesRequestItem { RuleName?: string; /** - *Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful
- * when a finding matches the criteria for multiple rules, and each rule has different actions. If the value of this
- * field is set to true
for a rule, Security Hub applies the rule action to a finding that matches
- * the rule criteria and doesn't evaluate other rules for the finding.
The default value of this field is false
.
+ *
Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful when a finding + * matches the criteria for multiple rules, and each rule has different actions. If a rule is terminal, Security Hub applies the rule action to a finding that matches + * the rule criteria and doesn't evaluate other rules for the finding. By default, a rule isn't terminal. *
*/ IsTerminal?: boolean; @@ -1175,9 +2116,8 @@ export interface CreateAutomationRuleRequest { /** *Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful when a finding
- * matches the criteria for multiple rules, and each rule has different actions. If the value of this field is
- * set to true
for a rule, Security Hub applies the rule action to a finding that matches
- * the rule criteria and doesn't evaluate other rules for the finding. The default value of this field is false
.
+ * matches the criteria for multiple rules, and each rule has different actions. If a rule is terminal, Security Hub applies the rule action to a finding that matches
+ * the rule criteria and doesn't evaluate other rules for the finding. By default, a rule isn't terminal.
*
Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful \n when a finding matches the criteria for multiple rules, and each rule has different actions. If the value of this \n field is set to true
for a rule, Security Hub applies the rule action to a finding that matches \n the rule criteria and doesn't evaluate other rules for the finding.\u2028 The default value of this field is false
.\n
Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful when a finding \n matches the criteria for multiple rules, and each rule has different actions. If a rule is terminal, Security Hub applies the rule action to a finding that matches \n the rule criteria and doesn't evaluate other rules for the finding. By default, a rule isn't terminal.\n
" } }, "Criteria": { @@ -1035,7 +1035,7 @@ "target": "com.amazonaws.securityhub#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "\n Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful \n when a finding matches the criteria for multiple rules, and each rule has different actions. If the value of this \n field is set to true
for a rule, Security Hub applies the rule action to a finding that matches \n the rule criteria and doesn't evaluate other rules for the finding.\u2028 The default value of this field is false
.\n
Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful when a finding \n matches the criteria for multiple rules, and each rule has different actions. If a rule is terminal, Security Hub applies the rule action to a finding that matches \n the rule criteria and doesn't evaluate other rules for the finding. By default, a rule isn't terminal.\n
" } }, "CreatedAt": { @@ -2254,6 +2254,86 @@ "smithy.api#documentation": "\n Specifies the authorization configuration for using Amazon Cognito user pools with your AppSync GraphQL API \n endpoint.\n
" } }, + "com.amazonaws.securityhub#AwsAthenaWorkGroupConfigurationDetails": { + "type": "structure", + "members": { + "ResultConfiguration": { + "target": "com.amazonaws.securityhub#AwsAthenaWorkGroupConfigurationResultConfigurationDetails", + "traits": { + "smithy.api#documentation": "\n The location in Amazon S3 where query and calculation results are stored and the \n encryption option, if any, used for query and calculation results. These are known as client-side settings. If \n workgroup settings override client-side settings, then the query uses the workgroup settings.
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n The configuration of the workgroup, which includes the location in Amazon Simple Storage Service (Amazon S3) where \n query results are stored, the encryption option, if any, used for query results, whether Amazon CloudWatch\n metrics are enabled for the workgroup, and the limit for the amount of bytes scanned (cutoff) per query, if it is \n specified.\n
" + } + }, + "com.amazonaws.securityhub#AwsAthenaWorkGroupConfigurationResultConfigurationDetails": { + "type": "structure", + "members": { + "EncryptionConfiguration": { + "target": "com.amazonaws.securityhub#AwsAthenaWorkGroupConfigurationResultConfigurationEncryptionConfigurationDetails", + "traits": { + "smithy.api#documentation": "\n Specifies the method used to encrypt the user’s data stores in the Athena workgroup.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n The location in Amazon Simple Storage Service (Amazon S3) where query and calculation results are stored and the encryption option, if any, \n used for query and calculation results. These are known as client-side settings. If workgroup settings override \n client-side settings, then the query uses the workgroup settings.\n
" + } + }, + "com.amazonaws.securityhub#AwsAthenaWorkGroupConfigurationResultConfigurationEncryptionConfigurationDetails": { + "type": "structure", + "members": { + "EncryptionOption": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "\n Indicates whether Amazon Simple Storage Service (Amazon S3) server-side encryption with Amazon S3 managed \n keys (SSE_S3), server-side encryption with KMS keys (SSE_KMS), or client-side encryption with \n KMS customer managed keys (CSE_KMS) is used.\n
" + } + }, + "KmsKey": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "\n For SSE_KMS
and CSE_KMS
, this is the KMS key Amazon Resource Name (ARN) or ID.\n
\n Specifies the method used to encrypt the user’s data stores in the Athena workgroup.\n
" + } + }, + "com.amazonaws.securityhub#AwsAthenaWorkGroupDetails": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "\n The workgroup name.\n
" + } + }, + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "\n The workgroup description.\n
" + } + }, + "State": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "\n Whether the workgroup is enabled or disabled.\n
" + } + }, + "Configuration": { + "target": "com.amazonaws.securityhub#AwsAthenaWorkGroupConfigurationDetails", + "traits": { + "smithy.api#documentation": "\n The configuration of the workgroup, which includes the location in Amazon Simple Storage Service (Amazon S3) \n where query results are stored, the encryption option, if any, used for query results, whether \n Amazon CloudWatch metrics are enabled for the workgroup, and the limit for the amount of bytes scanned \n (cutoff) per query, if it is specified.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n Provides information about an Amazon Athena workgroup.\n
" + } + }, "com.amazonaws.securityhub#AwsAutoScalingAutoScalingGroupAvailabilityZonesList": { "type": "list", "member": { @@ -14021,6 +14101,32 @@ "target": "com.amazonaws.securityhub#AwsRdsDbClusterOptionGroupMembership" } }, + "com.amazonaws.securityhub#AwsRdsDbClusterSnapshotDbClusterSnapshotAttribute": { + "type": "structure", + "members": { + "AttributeName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "\n The name of the manual DB cluster snapshot attribute. The attribute named restore
refers to the list of \n Amazon Web Services accounts that have permission to copy or restore the manual DB cluster snapshot.\n
\n The value(s) for the manual DB cluster snapshot attribute. If the AttributeName
field is set to \n restore
, then this element returns a list of IDs of the Amazon Web Services accounts that are authorized \n to copy or restore the manual DB cluster snapshot. If a value of all
is in the list, then the manual \n DB cluster snapshot is public and available for any Amazon Web Services account to copy or restore.\n
\n Contains the name and values of a manual Amazon Relational Database Service (RDS) DB cluster snapshot attribute.\n
" + } + }, + "com.amazonaws.securityhub#AwsRdsDbClusterSnapshotDbClusterSnapshotAttributes": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#AwsRdsDbClusterSnapshotDbClusterSnapshotAttribute" + } + }, "com.amazonaws.securityhub#AwsRdsDbClusterSnapshotDetails": { "type": "structure", "members": { @@ -14136,6 +14242,12 @@ "smithy.api#default": false, "smithy.api#documentation": "Whether mapping of IAM accounts to database accounts is enabled.
" } + }, + "DbClusterSnapshotAttributes": { + "target": "com.amazonaws.securityhub#AwsRdsDbClusterSnapshotDbClusterSnapshotAttributes", + "traits": { + "smithy.api#documentation": "\n Contains the name and values of a manual DB cluster snapshot attribute.\n
" + } } }, "traits": { @@ -20873,7 +20985,7 @@ "target": "com.amazonaws.securityhub#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful when a finding \n matches the criteria for multiple rules, and each rule has different actions. If the value of this field is \n set to true
for a rule, Security Hub applies the rule action to a finding that matches \n the rule criteria and doesn't evaluate other rules for the finding. The default value of this field is false
.\n
Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful when a finding \n matches the criteria for multiple rules, and each rule has different actions. If a rule is terminal, Security Hub applies the rule action to a finding that matches \n the rule criteria and doesn't evaluate other rules for the finding. By default, a rule isn't terminal.\n
" } }, "Criteria": { @@ -25223,18 +25335,18 @@ "Value": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "The value for the key in the map filter. Filter values are case sensitive. For example,\n one of the values for a tag called Department
might be Security
.\n If you provide security
as the filter value, then there is no match.
The value for the key in the map filter. Filter values are case sensitive. For example,\n one of the values for a tag called Department
might be Security
.\n If you provide security
as the filter value, then there's no match.
The condition to apply to the key value when querying for findings with a map\n filter.
\nTo search for values that exactly match the filter value, use EQUALS
. For\n example, for the ResourceTags
field, the filter Department EQUALS\n Security
matches findings that have the value Security
for the tag\n Department
.
To search for values other than the filter value, use NOT_EQUALS
. For\n example, for the ResourceTags
field, the filter Department NOT_EQUALS\n Finance
matches findings that do not have the value Finance
for the\n tag Department
.
\n EQUALS
filters on the same field are joined by OR
. A finding\n matches if it matches any one of those filters.
\n NOT_EQUALS
filters on the same field are joined by AND
. A\n finding matches only if it matches all of those filters.
You cannot have both an EQUALS
filter and a NOT_EQUALS
filter\n on the same field.
The condition to apply to the key value when filtering Security Hub findings with a map\n filter.
\nTo search for values that have the filter value, use one of the following comparison operators:
\nTo search for values that include the filter value, use CONTAINS
. For example, for the \n ResourceTags
field, the filter Department CONTAINS Security
matches findings that \n include the value Security
for the Department
tag. In the same example, a finding with a value of\n Security team
for the Department
tag is a match.
To search for values that exactly match the filter value, use EQUALS
. For example, for \n the ResourceTags
field, the filter Department EQUALS Security
matches findings that \n have the value Security
for the Department
tag.
\n CONTAINS
and EQUALS
filters on the same field are joined by OR
. A \n finding matches if it matches any one of those filters. For example, the filters Department CONTAINS Security OR \n Department CONTAINS Finance
match a finding that includes either Security
, \n Finance
, or both values.
To search for values that don't have the filter value, use one of the following comparison operators:
\nTo search for values that exclude the filter value, use NOT_CONTAINS
. For example, for \n the ResourceTags
field, the filter Department NOT_CONTAINS Finance
matches findings \n 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 \n ResourceTags
field, the filter Department NOT_EQUALS Finance
matches findings that \n don’t have the value Finance
for the Department
tag.
\n NOT_CONTAINS
and NOT_EQUALS
filters on the same field are joined by AND
. \n A finding matches only if it matches all of those filters. For example, the filters Department NOT_CONTAINS Security AND \n Department NOT_CONTAINS Finance
match a finding that excludes both the Security
and \n Finance
values.
\n CONTAINS
filters can only be used with other CONTAINS
filters. NOT_CONTAINS
\n 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. \n Similarly, you can’t have both an EQUALS
filter and a NOT_EQUALS
filter on the same field. \n Combining filters in this way returns an error.\n
\n CONTAINS
and NOT_CONTAINS
operators can be used only with automation rules. For more information, \n see Automation rules in the Security Hub User Guide.
A map filter for querying findings. Each map filter provides the field to check, the\n value to look for, and the comparison operator.
" + "smithy.api#documentation": "A map filter for filtering Security Hub findings. Each map filter provides the field to check for, the\n value to check for, and the comparison operator.
" } }, "com.amazonaws.securityhub#MapFilterComparison": { @@ -25251,6 +25363,18 @@ "traits": { "smithy.api#enumValue": "NOT_EQUALS" } + }, + "CONTAINS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONTAINS" + } + }, + "NOT_CONTAINS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_CONTAINS" + } } } }, @@ -26855,6 +26979,12 @@ "traits": { "smithy.api#documentation": "\n Provides details about an Step Functions state machine, which is a workflow consisting of a series of event-driven steps.\n
" } + }, + "AwsAthenaWorkGroup": { + "target": "com.amazonaws.securityhub#AwsAthenaWorkGroupDetails", + "traits": { + "smithy.api#documentation": "\n Provides information about an Amazon Athena workgroup. A workgroup helps you separate users, teams, \n applications, or workloads. It also helps you set limits on data processing and track costs.\n
" + } } }, "traits": { @@ -29842,18 +29972,18 @@ "Value": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "The string filter value. Filter values are case sensitive. For example, the product name\n for control-based findings is Security Hub
. If you provide security hub
\n as the filter text, then there is no match.
The string filter value. Filter values are case sensitive. For example, the product name\n for control-based findings is Security Hub
. If you provide security hub
\n as the filter value, there's no match.
The condition to apply to a string value when querying for findings. To search for\n values that contain the filter criteria value, use one of the following comparison\n operators:
\nTo search for values that exactly match the filter value, use\n EQUALS
.
For example, the filter ResourceType EQUALS AwsEc2SecurityGroup
only\n matches findings that have a resource type of\n AwsEc2SecurityGroup
.
To search for values that start with the filter value, use\n PREFIX
.
For example, the filter ResourceType PREFIX AwsIam
matches findings\n that have a resource type that starts with AwsIam
. Findings with a\n resource type of AwsIamPolicy
, AwsIamRole
, or\n AwsIamUser
would all match.
\n EQUALS
and PREFIX
filters on the same field are joined by\n OR
. A finding matches if it matches any one of those filters.
To search for values that do not contain the filter criteria value, use one of the\n following comparison operators:
\nTo search for values that do not exactly match the filter value, use\n NOT_EQUALS
.
For example, the filter ResourceType NOT_EQUALS AwsIamPolicy
matches\n findings that have a resource type other than AwsIamPolicy
.
To search for values that do not start with the filter value, use\n PREFIX_NOT_EQUALS
.
For example, the filter ResourceType PREFIX_NOT_EQUALS AwsIam
matches\n findings that have a resource type that does not start with AwsIam
.\n Findings with a resource type of AwsIamPolicy
, AwsIamRole
,\n or AwsIamUser
would all be excluded from the results.
\n NOT_EQUALS
and PREFIX_NOT_EQUALS
filters on the same field are\n joined by AND
. A finding matches only if it matches all of those\n filters.
For filters on the same field, you cannot provide both an EQUALS
filter and\n a NOT_EQUALS
or PREFIX_NOT_EQUALS
filter. Combining filters in\n this way always returns an error, even if the provided filter values would return valid\n results.
You can combine PREFIX
filters with NOT_EQUALS
or\n PREFIX_NOT_EQUALS
filters for the same field. Security Hub first processes the\n PREFIX
filters, then the NOT_EQUALS
or\n PREFIX_NOT_EQUALS
filters.
For example, for the following filter, Security Hub first identifies findings that have\n resource types that start with either AwsIAM
or AwsEc2
. It then\n excludes findings that have a resource type of AwsIamPolicy
and findings that\n have a resource type of AwsEc2NetworkInterface
.
\n ResourceType PREFIX AwsIam
\n
\n ResourceType PREFIX AwsEc2
\n
\n ResourceType NOT_EQUALS AwsIamPolicy
\n
\n ResourceType NOT_EQUALS AwsEc2NetworkInterface
\n
The condition to apply to a string value when filtering Security Hub findings.
\nTo search for values that have the filter value, use one of the following comparison operators:
\nTo search for values that include the filter value, use CONTAINS
. For example, the \n filter Title CONTAINS CloudFront
matches findings that have a Title
that \n includes the string CloudFront.
To search for values that exactly match the filter value, use EQUALS
. For example, \n the filter AwsAccountId EQUALS 123456789012
only matches findings that have an account ID of \n 123456789012
.
To search for values that start with the filter value, use PREFIX
. For example, the \n filter ResourceRegion PREFIX us
matches findings that have a ResourceRegion
that starts \n with us
. A ResourceRegion
that starts with a different value, such as af
, \n ap
, or ca
, doesn't match.
\n CONTAINS
, EQUALS
, and PREFIX
filters on the same field are joined by \n OR
. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR \n Title CONTAINS CloudWatch
match a finding that includes either CloudFront
, \n 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:
\nTo search for values that exclude the filter value, use NOT_CONTAINS
. For example, the \n filter Title NOT_CONTAINS CloudFront
matches findings that have a Title
that \n excludes the string CloudFront.
To search for values other than the filter value, use NOT_EQUALS
. For \n example, the filter AwsAccountId NOT_EQUALS 123456789012
only matches findings that have an account \n ID other than 123456789012
.
To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS
. For \n example, the filter ResourceRegion PREFIX_NOT_EQUALS us
matches findings with a \n ResourceRegion
that starts with a value other than us
.
\n NOT_CONTAINS
, NOT_EQUALS
, and PREFIX_NOT_EQUALS
filters on the same field \n are joined by AND
. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND \n Title NOT_CONTAINS CloudWatch
match a finding that excludes both CloudFront
and \n CloudWatch
in the title.
You can’t have both a CONTAINS
filter and a NOT_CONTAINS
filter on the same field. Similarly, \n you can't provide both an EQUALS
filter and a NOT_EQUALS
or \n PREFIX_NOT_EQUALS
filter on the same field. Combining filters in this way returns an error. CONTAINS
filters \n can only be used with other CONTAINS
filters. NOT_CONTAINS
filters can only be used with \n other NOT_CONTAINS
filters.
You can combine PREFIX
filters with NOT_EQUALS
or PREFIX_NOT_EQUALS
filters for the same field. \n Security Hub first processes the PREFIX
filters, and then the NOT_EQUALS
or PREFIX_NOT_EQUALS
filters.
For example, for the following filters, Security Hub first identifies findings that have resource types \n that start with either AwsIam
or AwsEc2
. It then excludes findings that have a resource \n type of AwsIamPolicy
and findings that have a resource type of AwsEc2NetworkInterface
.
\n ResourceType PREFIX AwsIam
\n
\n ResourceType PREFIX AwsEc2
\n
\n ResourceType NOT_EQUALS AwsIamPolicy
\n
\n ResourceType NOT_EQUALS AwsEc2NetworkInterface
\n
\n CONTAINS
and NOT_CONTAINS
operators can be used only with automation rules. For more information, \n see Automation rules in the Security Hub User Guide.
A string filter for querying findings.
" + "smithy.api#documentation": "A string filter for filtering Security Hub findings.
" } }, "com.amazonaws.securityhub#StringFilterComparison": { @@ -29882,6 +30012,18 @@ "traits": { "smithy.api#enumValue": "PREFIX_NOT_EQUALS" } + }, + "CONTAINS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONTAINS" + } + }, + "NOT_CONTAINS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_CONTAINS" + } } } }, @@ -30542,7 +30684,7 @@ "target": "com.amazonaws.securityhub#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful \n when a finding matches the criteria for multiple rules, and each rule has different actions. If the value of this \n field is set to true
for a rule, Security Hub applies the rule action to a finding that matches \n the rule criteria and doesn't evaluate other rules for the finding.\u2028 The default value of this field is false
.\n
Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful when a finding \n matches the criteria for multiple rules, and each rule has different actions. If a rule is terminal, Security Hub applies the rule action to a finding that matches \n the rule criteria and doesn't evaluate other rules for the finding. By default, a rule isn't terminal.\n
" } }, "Criteria": {