UNPKG

aws-sdk

Version:
1,161 lines • 67.9 kB
import {Request} from '../lib/request'; import {Response} from '../lib/response'; import {AWSError} from '../lib/error'; import {Service} from '../lib/service'; import {ServiceConfigurationOptions} from '../lib/service'; import {ConfigBase as Config} from '../lib/config'; interface Blob {} declare class SecurityHub extends Service { /** * Constructs a service object. This object has one method for each API operation. */ constructor(options?: SecurityHub.Types.ClientConfiguration) config: Config & SecurityHub.Types.ClientConfiguration; /** * Accepts the invitation to be monitored by a master SecurityHub account. */ acceptInvitation(params: SecurityHub.Types.AcceptInvitationRequest, callback?: (err: AWSError, data: SecurityHub.Types.AcceptInvitationResponse) => void): Request<SecurityHub.Types.AcceptInvitationResponse, AWSError>; /** * Accepts the invitation to be monitored by a master SecurityHub account. */ acceptInvitation(callback?: (err: AWSError, data: SecurityHub.Types.AcceptInvitationResponse) => void): Request<SecurityHub.Types.AcceptInvitationResponse, AWSError>; /** * Disables the standards specified by the standards subscription ARNs. In the context of Security Hub, supported standards (for example, CIS AWS Foundations) are automated and continuous checks that help determine your compliance status against security industry (including AWS) best practices. */ batchDisableStandards(params: SecurityHub.Types.BatchDisableStandardsRequest, callback?: (err: AWSError, data: SecurityHub.Types.BatchDisableStandardsResponse) => void): Request<SecurityHub.Types.BatchDisableStandardsResponse, AWSError>; /** * Disables the standards specified by the standards subscription ARNs. In the context of Security Hub, supported standards (for example, CIS AWS Foundations) are automated and continuous checks that help determine your compliance status against security industry (including AWS) best practices. */ batchDisableStandards(callback?: (err: AWSError, data: SecurityHub.Types.BatchDisableStandardsResponse) => void): Request<SecurityHub.Types.BatchDisableStandardsResponse, AWSError>; /** * Enables the standards specified by the standards ARNs. In the context of Security Hub, supported standards (for example, CIS AWS Foundations) are automated and continuous checks that help determine your compliance status against security industry (including AWS) best practices. */ batchEnableStandards(params: SecurityHub.Types.BatchEnableStandardsRequest, callback?: (err: AWSError, data: SecurityHub.Types.BatchEnableStandardsResponse) => void): Request<SecurityHub.Types.BatchEnableStandardsResponse, AWSError>; /** * Enables the standards specified by the standards ARNs. In the context of Security Hub, supported standards (for example, CIS AWS Foundations) are automated and continuous checks that help determine your compliance status against security industry (including AWS) best practices. */ batchEnableStandards(callback?: (err: AWSError, data: SecurityHub.Types.BatchEnableStandardsResponse) => void): Request<SecurityHub.Types.BatchEnableStandardsResponse, AWSError>; /** * Imports security findings that are generated by the integrated third-party products into Security Hub. */ batchImportFindings(params: SecurityHub.Types.BatchImportFindingsRequest, callback?: (err: AWSError, data: SecurityHub.Types.BatchImportFindingsResponse) => void): Request<SecurityHub.Types.BatchImportFindingsResponse, AWSError>; /** * Imports security findings that are generated by the integrated third-party products into Security Hub. */ batchImportFindings(callback?: (err: AWSError, data: SecurityHub.Types.BatchImportFindingsResponse) => void): Request<SecurityHub.Types.BatchImportFindingsResponse, AWSError>; /** * Creates an insight, which is a consolidation of findings that identifies a security area that requires attention or intervention. */ createInsight(params: SecurityHub.Types.CreateInsightRequest, callback?: (err: AWSError, data: SecurityHub.Types.CreateInsightResponse) => void): Request<SecurityHub.Types.CreateInsightResponse, AWSError>; /** * Creates an insight, which is a consolidation of findings that identifies a security area that requires attention or intervention. */ createInsight(callback?: (err: AWSError, data: SecurityHub.Types.CreateInsightResponse) => void): Request<SecurityHub.Types.CreateInsightResponse, AWSError>; /** * Creates member Security Hub accounts in the current AWS account (which becomes the master Security Hub account) that has Security Hub enabled. */ createMembers(params: SecurityHub.Types.CreateMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.CreateMembersResponse) => void): Request<SecurityHub.Types.CreateMembersResponse, AWSError>; /** * Creates member Security Hub accounts in the current AWS account (which becomes the master Security Hub account) that has Security Hub enabled. */ createMembers(callback?: (err: AWSError, data: SecurityHub.Types.CreateMembersResponse) => void): Request<SecurityHub.Types.CreateMembersResponse, AWSError>; /** * Declines invitations that are sent to this AWS account (invitee) by the AWS accounts (inviters) that are specified by the account IDs. */ declineInvitations(params: SecurityHub.Types.DeclineInvitationsRequest, callback?: (err: AWSError, data: SecurityHub.Types.DeclineInvitationsResponse) => void): Request<SecurityHub.Types.DeclineInvitationsResponse, AWSError>; /** * Declines invitations that are sent to this AWS account (invitee) by the AWS accounts (inviters) that are specified by the account IDs. */ declineInvitations(callback?: (err: AWSError, data: SecurityHub.Types.DeclineInvitationsResponse) => void): Request<SecurityHub.Types.DeclineInvitationsResponse, AWSError>; /** * Deletes an insight that is specified by the insight ARN. */ deleteInsight(params: SecurityHub.Types.DeleteInsightRequest, callback?: (err: AWSError, data: SecurityHub.Types.DeleteInsightResponse) => void): Request<SecurityHub.Types.DeleteInsightResponse, AWSError>; /** * Deletes an insight that is specified by the insight ARN. */ deleteInsight(callback?: (err: AWSError, data: SecurityHub.Types.DeleteInsightResponse) => void): Request<SecurityHub.Types.DeleteInsightResponse, AWSError>; /** * Deletes invitations that are sent to this AWS account (invitee) by the AWS accounts (inviters) that are specified by their account IDs. */ deleteInvitations(params: SecurityHub.Types.DeleteInvitationsRequest, callback?: (err: AWSError, data: SecurityHub.Types.DeleteInvitationsResponse) => void): Request<SecurityHub.Types.DeleteInvitationsResponse, AWSError>; /** * Deletes invitations that are sent to this AWS account (invitee) by the AWS accounts (inviters) that are specified by their account IDs. */ deleteInvitations(callback?: (err: AWSError, data: SecurityHub.Types.DeleteInvitationsResponse) => void): Request<SecurityHub.Types.DeleteInvitationsResponse, AWSError>; /** * Deletes the Security Hub member accounts that are specified by the account IDs. */ deleteMembers(params: SecurityHub.Types.DeleteMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.DeleteMembersResponse) => void): Request<SecurityHub.Types.DeleteMembersResponse, AWSError>; /** * Deletes the Security Hub member accounts that are specified by the account IDs. */ deleteMembers(callback?: (err: AWSError, data: SecurityHub.Types.DeleteMembersResponse) => void): Request<SecurityHub.Types.DeleteMembersResponse, AWSError>; /** * Stops you from being able to import findings generated by integrated third-party providers into Security Hub. */ disableImportFindingsForProduct(params: SecurityHub.Types.DisableImportFindingsForProductRequest, callback?: (err: AWSError, data: SecurityHub.Types.DisableImportFindingsForProductResponse) => void): Request<SecurityHub.Types.DisableImportFindingsForProductResponse, AWSError>; /** * Stops you from being able to import findings generated by integrated third-party providers into Security Hub. */ disableImportFindingsForProduct(callback?: (err: AWSError, data: SecurityHub.Types.DisableImportFindingsForProductResponse) => void): Request<SecurityHub.Types.DisableImportFindingsForProductResponse, AWSError>; /** * Disables the AWS Security Hub Service. */ disableSecurityHub(params: SecurityHub.Types.DisableSecurityHubRequest, callback?: (err: AWSError, data: SecurityHub.Types.DisableSecurityHubResponse) => void): Request<SecurityHub.Types.DisableSecurityHubResponse, AWSError>; /** * Disables the AWS Security Hub Service. */ disableSecurityHub(callback?: (err: AWSError, data: SecurityHub.Types.DisableSecurityHubResponse) => void): Request<SecurityHub.Types.DisableSecurityHubResponse, AWSError>; /** * Disassociates the current Security Hub member account from its master account. */ disassociateFromMasterAccount(params: SecurityHub.Types.DisassociateFromMasterAccountRequest, callback?: (err: AWSError, data: SecurityHub.Types.DisassociateFromMasterAccountResponse) => void): Request<SecurityHub.Types.DisassociateFromMasterAccountResponse, AWSError>; /** * Disassociates the current Security Hub member account from its master account. */ disassociateFromMasterAccount(callback?: (err: AWSError, data: SecurityHub.Types.DisassociateFromMasterAccountResponse) => void): Request<SecurityHub.Types.DisassociateFromMasterAccountResponse, AWSError>; /** * Disassociates the Security Hub member accounts that are specified by the account IDs from their master account. */ disassociateMembers(params: SecurityHub.Types.DisassociateMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.DisassociateMembersResponse) => void): Request<SecurityHub.Types.DisassociateMembersResponse, AWSError>; /** * Disassociates the Security Hub member accounts that are specified by the account IDs from their master account. */ disassociateMembers(callback?: (err: AWSError, data: SecurityHub.Types.DisassociateMembersResponse) => void): Request<SecurityHub.Types.DisassociateMembersResponse, AWSError>; /** * Enables you to import findings generated by integrated third-party providers into Security Hub. */ enableImportFindingsForProduct(params: SecurityHub.Types.EnableImportFindingsForProductRequest, callback?: (err: AWSError, data: SecurityHub.Types.EnableImportFindingsForProductResponse) => void): Request<SecurityHub.Types.EnableImportFindingsForProductResponse, AWSError>; /** * Enables you to import findings generated by integrated third-party providers into Security Hub. */ enableImportFindingsForProduct(callback?: (err: AWSError, data: SecurityHub.Types.EnableImportFindingsForProductResponse) => void): Request<SecurityHub.Types.EnableImportFindingsForProductResponse, AWSError>; /** * Enables the AWS Security Hub service. */ enableSecurityHub(params: SecurityHub.Types.EnableSecurityHubRequest, callback?: (err: AWSError, data: SecurityHub.Types.EnableSecurityHubResponse) => void): Request<SecurityHub.Types.EnableSecurityHubResponse, AWSError>; /** * Enables the AWS Security Hub service. */ enableSecurityHub(callback?: (err: AWSError, data: SecurityHub.Types.EnableSecurityHubResponse) => void): Request<SecurityHub.Types.EnableSecurityHubResponse, AWSError>; /** * Lists and describes enabled standards. */ getEnabledStandards(params: SecurityHub.Types.GetEnabledStandardsRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetEnabledStandardsResponse) => void): Request<SecurityHub.Types.GetEnabledStandardsResponse, AWSError>; /** * Lists and describes enabled standards. */ getEnabledStandards(callback?: (err: AWSError, data: SecurityHub.Types.GetEnabledStandardsResponse) => void): Request<SecurityHub.Types.GetEnabledStandardsResponse, AWSError>; /** * Lists and describes Security Hub-aggregated findings that are specified by filter attributes. */ getFindings(params: SecurityHub.Types.GetFindingsRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetFindingsResponse) => void): Request<SecurityHub.Types.GetFindingsResponse, AWSError>; /** * Lists and describes Security Hub-aggregated findings that are specified by filter attributes. */ getFindings(callback?: (err: AWSError, data: SecurityHub.Types.GetFindingsResponse) => void): Request<SecurityHub.Types.GetFindingsResponse, AWSError>; /** * Lists the results of the Security Hub insight specified by the insight ARN. */ getInsightResults(params: SecurityHub.Types.GetInsightResultsRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetInsightResultsResponse) => void): Request<SecurityHub.Types.GetInsightResultsResponse, AWSError>; /** * Lists the results of the Security Hub insight specified by the insight ARN. */ getInsightResults(callback?: (err: AWSError, data: SecurityHub.Types.GetInsightResultsResponse) => void): Request<SecurityHub.Types.GetInsightResultsResponse, AWSError>; /** * Lists and describes insights that are specified by insight ARNs. */ getInsights(params: SecurityHub.Types.GetInsightsRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetInsightsResponse) => void): Request<SecurityHub.Types.GetInsightsResponse, AWSError>; /** * Lists and describes insights that are specified by insight ARNs. */ getInsights(callback?: (err: AWSError, data: SecurityHub.Types.GetInsightsResponse) => void): Request<SecurityHub.Types.GetInsightsResponse, AWSError>; /** * Returns the count of all Security Hub membership invitations that were sent to the current member account, not including the currently accepted invitation. */ getInvitationsCount(params: SecurityHub.Types.GetInvitationsCountRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetInvitationsCountResponse) => void): Request<SecurityHub.Types.GetInvitationsCountResponse, AWSError>; /** * Returns the count of all Security Hub membership invitations that were sent to the current member account, not including the currently accepted invitation. */ getInvitationsCount(callback?: (err: AWSError, data: SecurityHub.Types.GetInvitationsCountResponse) => void): Request<SecurityHub.Types.GetInvitationsCountResponse, AWSError>; /** * Provides the details for the Security Hub master account to the current member account. */ getMasterAccount(params: SecurityHub.Types.GetMasterAccountRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetMasterAccountResponse) => void): Request<SecurityHub.Types.GetMasterAccountResponse, AWSError>; /** * Provides the details for the Security Hub master account to the current member account. */ getMasterAccount(callback?: (err: AWSError, data: SecurityHub.Types.GetMasterAccountResponse) => void): Request<SecurityHub.Types.GetMasterAccountResponse, AWSError>; /** * Returns the details on the Security Hub member accounts that are specified by the account IDs. */ getMembers(params: SecurityHub.Types.GetMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetMembersResponse) => void): Request<SecurityHub.Types.GetMembersResponse, AWSError>; /** * Returns the details on the Security Hub member accounts that are specified by the account IDs. */ getMembers(callback?: (err: AWSError, data: SecurityHub.Types.GetMembersResponse) => void): Request<SecurityHub.Types.GetMembersResponse, AWSError>; /** * Invites other AWS accounts to enable Security Hub and become Security Hub member accounts. When an account accepts the invitation and becomes a member account, the master account can view Security Hub findings of the member account. */ inviteMembers(params: SecurityHub.Types.InviteMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.InviteMembersResponse) => void): Request<SecurityHub.Types.InviteMembersResponse, AWSError>; /** * Invites other AWS accounts to enable Security Hub and become Security Hub member accounts. When an account accepts the invitation and becomes a member account, the master account can view Security Hub findings of the member account. */ inviteMembers(callback?: (err: AWSError, data: SecurityHub.Types.InviteMembersResponse) => void): Request<SecurityHub.Types.InviteMembersResponse, AWSError>; /** * Lists all Security Hub-integrated third-party findings providers. */ listEnabledProductsForImport(params: SecurityHub.Types.ListEnabledProductsForImportRequest, callback?: (err: AWSError, data: SecurityHub.Types.ListEnabledProductsForImportResponse) => void): Request<SecurityHub.Types.ListEnabledProductsForImportResponse, AWSError>; /** * Lists all Security Hub-integrated third-party findings providers. */ listEnabledProductsForImport(callback?: (err: AWSError, data: SecurityHub.Types.ListEnabledProductsForImportResponse) => void): Request<SecurityHub.Types.ListEnabledProductsForImportResponse, AWSError>; /** * Lists all Security Hub membership invitations that were sent to the current AWS account. */ listInvitations(params: SecurityHub.Types.ListInvitationsRequest, callback?: (err: AWSError, data: SecurityHub.Types.ListInvitationsResponse) => void): Request<SecurityHub.Types.ListInvitationsResponse, AWSError>; /** * Lists all Security Hub membership invitations that were sent to the current AWS account. */ listInvitations(callback?: (err: AWSError, data: SecurityHub.Types.ListInvitationsResponse) => void): Request<SecurityHub.Types.ListInvitationsResponse, AWSError>; /** * Lists details about all member accounts for the current Security Hub master account. */ listMembers(params: SecurityHub.Types.ListMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.ListMembersResponse) => void): Request<SecurityHub.Types.ListMembersResponse, AWSError>; /** * Lists details about all member accounts for the current Security Hub master account. */ listMembers(callback?: (err: AWSError, data: SecurityHub.Types.ListMembersResponse) => void): Request<SecurityHub.Types.ListMembersResponse, AWSError>; /** * Updates the AWS Security Hub-aggregated findings specified by the filter attributes. */ updateFindings(params: SecurityHub.Types.UpdateFindingsRequest, callback?: (err: AWSError, data: SecurityHub.Types.UpdateFindingsResponse) => void): Request<SecurityHub.Types.UpdateFindingsResponse, AWSError>; /** * Updates the AWS Security Hub-aggregated findings specified by the filter attributes. */ updateFindings(callback?: (err: AWSError, data: SecurityHub.Types.UpdateFindingsResponse) => void): Request<SecurityHub.Types.UpdateFindingsResponse, AWSError>; /** * Updates the AWS Security Hub insight specified by the insight ARN. */ updateInsight(params: SecurityHub.Types.UpdateInsightRequest, callback?: (err: AWSError, data: SecurityHub.Types.UpdateInsightResponse) => void): Request<SecurityHub.Types.UpdateInsightResponse, AWSError>; /** * Updates the AWS Security Hub insight specified by the insight ARN. */ updateInsight(callback?: (err: AWSError, data: SecurityHub.Types.UpdateInsightResponse) => void): Request<SecurityHub.Types.UpdateInsightResponse, AWSError>; } declare namespace SecurityHub { export interface AcceptInvitationRequest { /** * The account ID of the master Security Hub account whose invitation you're accepting. */ MasterId?: NonEmptyString; /** * The ID of the invitation that is sent to the AWS account by the Security Hub master account. */ InvitationId?: NonEmptyString; } export interface AcceptInvitationResponse { } export interface AccountDetails { /** * The ID of an AWS account. */ AccountId?: AccountId; /** * The email of an AWS account. */ Email?: NonEmptyString; } export type AccountDetailsList = AccountDetails[]; export type AccountId = string; export type AccountIdList = NonEmptyString[]; export type ArnList = NonEmptyString[]; export interface AwsEc2InstanceDetails { /** * The instance type of the instance. */ Type?: NonEmptyString; /** * The Amazon Machine Image (AMI) ID of the instance. */ ImageId?: NonEmptyString; /** * The IPv4 addresses associated with the instance. */ IpV4Addresses?: StringList; /** * The IPv6 addresses associated with the instance. */ IpV6Addresses?: StringList; /** * The key name associated with the instance. */ KeyName?: NonEmptyString; /** * The IAM profile ARN of the instance. */ IamInstanceProfileArn?: NonEmptyString; /** * The identifier of the VPC in which the instance was launched. */ VpcId?: NonEmptyString; /** * The identifier of the subnet in which the instance was launched. */ SubnetId?: NonEmptyString; /** * The date/time the instance was launched. */ LaunchedAt?: NonEmptyString; } export interface AwsIamAccessKeyDetails { /** * The user associated with the IAM access key related to a finding. */ UserName?: NonEmptyString; /** * The status of the IAM access key related to a finding. */ Status?: AwsIamAccessKeyStatus; /** * The creation date/time of the IAM access key related to a finding. */ CreatedAt?: NonEmptyString; } export type AwsIamAccessKeyStatus = "Active"|"Inactive"|string; export interface AwsS3BucketDetails { /** * The canonical user ID of the owner of the S3 bucket. */ OwnerId?: NonEmptyString; /** * The display name of the owner of the S3 bucket. */ OwnerName?: NonEmptyString; } export interface AwsSecurityFinding { /** * The schema version for which a finding is formatted. */ SchemaVersion: NonEmptyString; /** * The security findings provider-specific identifier for a finding. */ Id: NonEmptyString; /** * The ARN generated by Security Hub that uniquely identifies a third-party company (security findings provider) once this provider's product (solution that generates findings) is registered with Security Hub. */ ProductArn: NonEmptyString; /** * This is the identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security findings provider's solutions, this generator can be called a rule, a check, a detector, a plug-in, etc. */ GeneratorId: NonEmptyString; /** * The AWS account ID in which a finding is generated. */ AwsAccountId: NonEmptyString; /** * 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: TypeList; /** * An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was first observed by the security findings provider. */ FirstObservedAt?: NonEmptyString; /** * An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was most recently observed by the security findings provider. */ LastObservedAt?: NonEmptyString; /** * An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was created by the security findings provider. */ CreatedAt: NonEmptyString; /** * An ISO8601-formatted timestamp that indicates when the finding record was last updated by the security findings provider. */ UpdatedAt: NonEmptyString; /** * 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. 0 equates zero percent confidence and 100 equates to 100 percent confidence. */ Confidence?: Integer; /** * The level of importance assigned to the resources associated with the finding. A score of 0 means the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources. */ Criticality?: Integer; /** * A finding's title. */ Title?: NonEmptyString; /** * A finding's description. */ Description?: NonEmptyString; /** * An 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?: NonEmptyString; /** * A data type where security findings providers can include additional solution-specific details that are not part of the defined AwsSecurityFinding format. */ ProductFields?: FieldMap; /** * A list of name/value string pairs associated with the finding. These are custom, user-defined fields added to a finding. */ UserDefinedFields?: FieldMap; /** * A list of malware related to a finding. */ Malware?: MalwareList; /** * The details of network-related information about a finding. */ Network?: Network; /** * The details of process-related information about a finding. */ Process?: ProcessDetails; /** * Threat intel details related to a finding. */ ThreatIntelIndicators?: ThreatIntelIndicatorList; /** * A set of resource data types that describe the resources to which the finding refers. */ Resources: ResourceList; /** * This data type is exclusive to findings that are generated as the result of a check run against a specific rule in a supported standard (for example, AWS CIS Foundations). Contains compliance-related finding details. */ Compliance?: Compliance; /** * Indicates the veracity of a finding. */ VerificationState?: VerificationState; /** * The workflow state of a finding. */ WorkflowState?: WorkflowState; /** * The record state of a finding. */ RecordState?: RecordState; /** * A list of related findings. */ RelatedFindings?: RelatedFindingList; /** * A user-defined note added to a finding. */ Note?: Note; } export interface AwsSecurityFindingFilters { /** * The ARN generated by Security Hub that uniquely identifies a third-party company (security findings provider) once this provider's product (solution that generates findings) is registered with Security Hub. */ ProductArn?: StringFilterList; /** * The AWS account ID in which a finding is generated. */ AwsAccountId?: StringFilterList; /** * The security findings provider-specific identifier for a finding. */ Id?: StringFilterList; /** * This is the identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security findings provider's solutions, this generator can be called a rule, a check, a detector, a plug-in, etc. */ GeneratorId?: StringFilterList; /** * A finding type in the format of 'namespace/category/classifier' that classifies a finding. */ Type?: StringFilterList; /** * An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was first observed by the security findings provider. */ FirstObservedAt?: DateFilterList; /** * An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was most recently observed by the security findings provider. */ LastObservedAt?: DateFilterList; /** * An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was created by the security findings provider. */ CreatedAt?: DateFilterList; /** * An ISO8601-formatted timestamp that indicates when the finding record was last updated by the security findings provider. */ UpdatedAt?: DateFilterList; /** * The native severity as defined by the security findings provider's solution that generated the finding. */ SeverityProduct?: NumberFilterList; /** * The normalized severity of a finding. */ SeverityNormalized?: NumberFilterList; /** * The label of a finding's severity. */ SeverityLabel?: StringFilterList; /** * 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. 0 equates zero percent confidence and 100 equates to 100 percent confidence. */ Confidence?: NumberFilterList; /** * The level of importance assigned to the resources associated with the finding. A score of 0 means the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources. */ Criticality?: NumberFilterList; /** * A finding's title. */ Title?: StringFilterList; /** * A finding's description. */ Description?: StringFilterList; /** * The recommendation of what to do about the issue described in a finding. */ RecommendationText?: StringFilterList; /** * A URL that links to a page about the current finding in the security findings provider's solution. */ SourceUrl?: StringFilterList; /** * A data type where security findings providers can include additional solution-specific details that are not part of the defined AwsSecurityFinding format. */ ProductFields?: MapFilterList; /** * The name of the solution (product) that generates findings. */ ProductName?: StringFilterList; /** * The name of the findings provider (company) that owns the solution (product) that generates findings. */ CompanyName?: StringFilterList; /** * A list of name/value string pairs associated with the finding. These are custom, user-defined fields added to a finding. */ UserDefinedFields?: MapFilterList; /** * The name of the malware that was observed. */ MalwareName?: StringFilterList; /** * The type of the malware that was observed. */ MalwareType?: StringFilterList; /** * The filesystem path of the malware that was observed. */ MalwarePath?: StringFilterList; /** * The state of the malware that was observed. */ MalwareState?: StringFilterList; /** * Indicates the direction of network traffic associated with a finding. */ NetworkDirection?: StringFilterList; /** * The protocol of network-related information about a finding. */ NetworkProtocol?: StringFilterList; /** * The source IPv4 address of network-related information about a finding. */ NetworkSourceIpV4?: IpFilterList; /** * The source IPv6 address of network-related information about a finding. */ NetworkSourceIpV6?: IpFilterList; /** * The source port of network-related information about a finding. */ NetworkSourcePort?: NumberFilterList; /** * The source domain of network-related information about a finding. */ NetworkSourceDomain?: StringFilterList; /** * The source media access control (MAC) address of network-related information about a finding. */ NetworkSourceMac?: StringFilterList; /** * The destination IPv4 address of network-related information about a finding. */ NetworkDestinationIpV4?: IpFilterList; /** * The destination IPv6 address of network-related information about a finding. */ NetworkDestinationIpV6?: IpFilterList; /** * The destination port of network-related information about a finding. */ NetworkDestinationPort?: NumberFilterList; /** * The destination domain of network-related information about a finding. */ NetworkDestinationDomain?: StringFilterList; /** * The name of the process. */ ProcessName?: StringFilterList; /** * The path to the process executable. */ ProcessPath?: StringFilterList; /** * The process ID. */ ProcessPid?: NumberFilterList; /** * The parent process ID. */ ProcessParentPid?: NumberFilterList; /** * The date/time that the process was launched. */ ProcessLaunchedAt?: DateFilterList; /** * The date/time that the process was terminated. */ ProcessTerminatedAt?: DateFilterList; /** * The type of a threat intel indicator. */ ThreatIntelIndicatorType?: StringFilterList; /** * The value of a threat intel indicator. */ ThreatIntelIndicatorValue?: StringFilterList; /** * The category of a threat intel indicator. */ ThreatIntelIndicatorCategory?: StringFilterList; /** * The date/time of the last observation of a threat intel indicator. */ ThreatIntelIndicatorLastObservedAt?: DateFilterList; /** * The source of the threat intel. */ ThreatIntelIndicatorSource?: StringFilterList; /** * The URL for more details from the source of the threat intel. */ ThreatIntelIndicatorSourceUrl?: StringFilterList; /** * Specifies the type of the resource for which details are provided. */ ResourceType?: StringFilterList; /** * The canonical identifier for the given resource type. */ ResourceId?: StringFilterList; /** * The canonical AWS partition name to which the region is assigned. */ ResourcePartition?: StringFilterList; /** * The canonical AWS external region name where this resource is located. */ ResourceRegion?: StringFilterList; /** * A list of AWS tags associated with a resource at the time the finding was processed. */ ResourceTags?: MapFilterList; /** * The instance type of the instance. */ ResourceAwsEc2InstanceType?: StringFilterList; /** * The Amazon Machine Image (AMI) ID of the instance. */ ResourceAwsEc2InstanceImageId?: StringFilterList; /** * The IPv4 addresses associated with the instance. */ ResourceAwsEc2InstanceIpV4Addresses?: IpFilterList; /** * The IPv6 addresses associated with the instance. */ ResourceAwsEc2InstanceIpV6Addresses?: IpFilterList; /** * The key name associated with the instance. */ ResourceAwsEc2InstanceKeyName?: StringFilterList; /** * The IAM profile ARN of the instance. */ ResourceAwsEc2InstanceIamInstanceProfileArn?: StringFilterList; /** * The identifier of the VPC in which the instance was launched. */ ResourceAwsEc2InstanceVpcId?: StringFilterList; /** * The identifier of the subnet in which the instance was launched. */ ResourceAwsEc2InstanceSubnetId?: StringFilterList; /** * The date/time the instance was launched. */ ResourceAwsEc2InstanceLaunchedAt?: DateFilterList; /** * The canonical user ID of the owner of the S3 bucket. */ ResourceAwsS3BucketOwnerId?: StringFilterList; /** * The display name of the owner of the S3 bucket. */ ResourceAwsS3BucketOwnerName?: StringFilterList; /** * The user associated with the IAM access key related to a finding. */ ResourceAwsIamAccessKeyUserName?: StringFilterList; /** * The status of the IAM access key related to a finding. */ ResourceAwsIamAccessKeyStatus?: StringFilterList; /** * The creation date/time of the IAM access key related to a finding. */ ResourceAwsIamAccessKeyCreatedAt?: DateFilterList; /** * The name of the container related to a finding. */ ResourceContainerName?: StringFilterList; /** * The identifier of the image related to a finding. */ ResourceContainerImageId?: StringFilterList; /** * The name of the image related to a finding. */ ResourceContainerImageName?: StringFilterList; /** * The date/time that the container was started. */ ResourceContainerLaunchedAt?: DateFilterList; /** * The details of a resource that does not have a specific sub-field for the resource type defined. */ ResourceDetailsOther?: MapFilterList; /** * Exclusive to findings that are generated as the result of a check run against a specific rule in a supported standard (for example, AWS CIS Foundations). Contains compliance-related finding details. */ ComplianceStatus?: StringFilterList; /** * Indicates the veracity of a finding. */ VerificationState?: StringFilterList; /** * The workflow state of a finding. */ WorkflowState?: StringFilterList; /** * The updated record state for the finding. */ RecordState?: StringFilterList; /** * The ARN of the solution that generated a related finding. */ RelatedFindingsProductArn?: StringFilterList; /** * The solution-generated identifier for a related finding. */ RelatedFindingsId?: StringFilterList; /** * The text of a note. */ NoteText?: StringFilterList; /** * The timestamp of when the note was updated. */ NoteUpdatedAt?: DateFilterList; /** * The principal that created a note. */ NoteUpdatedBy?: StringFilterList; /** * A keyword for a finding. */ Keyword?: KeywordFilterList; } export type AwsSecurityFindingList = AwsSecurityFinding[]; export interface BatchDisableStandardsRequest { /** * The ARNS of the standards subscriptions that you want to disable. */ StandardsSubscriptionArns: StandardsSubscriptionArns; } export interface BatchDisableStandardsResponse { /** * The details of the standards subscriptions that were disabled. */ StandardsSubscriptions?: StandardsSubscriptions; } export interface BatchEnableStandardsRequest { /** * The list of standards that you want to enable. */ StandardsSubscriptionRequests: StandardsSubscriptionRequests; } export interface BatchEnableStandardsResponse { /** * The details of the standards subscriptions that were enabled. */ StandardsSubscriptions?: StandardsSubscriptions; } export interface BatchImportFindingsRequest { /** * A list of findings that you want to import. Must be submitted in the AWSSecurityFinding format. */ Findings: AwsSecurityFindingList; } export interface BatchImportFindingsResponse { /** * The number of findings that cannot be imported. */ FailedCount: Integer; /** * The number of findings that were successfully imported */ SuccessCount: Integer; /** * The list of the findings that cannot be imported. */ FailedFindings?: ImportFindingsErrorList; } export type Boolean = boolean; export interface Compliance { /** * Indicates the result of a compliance check. */ Status?: ComplianceStatus; } export type ComplianceStatus = "PASSED"|"WARNING"|"FAILED"|"NOT_AVAILABLE"|string; export interface ContainerDetails { /** * The name of the container related to a finding. */ Name?: NonEmptyString; /** * The identifier of the image related to a finding. */ ImageId?: NonEmptyString; /** * The name of the image related to a finding. */ ImageName?: NonEmptyString; /** * The date/time that the container was started. */ LaunchedAt?: NonEmptyString; } export interface CreateInsightRequest { /** * The user-defined name that identifies the insight that you want to create. */ Name: NonEmptyString; /** * 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. */ Filters: AwsSecurityFindingFilters; /** * The attribute by which the insight's findings are grouped. This attribute is used as a findings aggregator for the purposes of viewing and managing multiple related findings under a single operand. */ GroupByAttribute: NonEmptyString; } export interface CreateInsightResponse { /** * The ARN Of the created insight. */ InsightArn: NonEmptyString; } export interface CreateMembersRequest { /** * A list of account ID and email address pairs of the accounts that you want to associate with the master Security Hub account. */ AccountDetails?: AccountDetailsList; } export interface CreateMembersResponse { /** * A list of account ID and email address pairs of the AWS accounts that could not be processed. */ UnprocessedAccounts?: ResultList; } export interface DateFilter { /** * A start date for the date filter. */ Start?: NonEmptyString; /** * An end date for the date filter. */ End?: NonEmptyString; /** * A date range for the date filter. */ DateRange?: DateRange; } export type DateFilterList = DateFilter[]; export interface DateRange { /** * A date range value for the date filter. */ Value?: Integer; /** * A date range unit for the date filter. */ Unit?: DateRangeUnit; } export type DateRangeUnit = "DAYS"|string; export interface DeclineInvitationsRequest { /** * A list of account IDs specifying accounts whose invitations to Security Hub you want to decline. */ AccountIds?: AccountIdList; } export interface DeclineInvitationsResponse { /** * A list of account ID and email address pairs of the AWS accounts that could not be processed. */ UnprocessedAccounts?: ResultList; } export interface DeleteInsightRequest { /** * The ARN of the insight that you want to delete. */ InsightArn: NonEmptyString; } export interface DeleteInsightResponse { /** * The ARN of the insight that was deleted. */ InsightArn: NonEmptyString; } export interface DeleteInvitationsRequest { /** * A list of account IDs specifying accounts whose invitations to Security Hub you want to delete. */ AccountIds?: AccountIdList; } export interface DeleteInvitationsResponse { /** * A list of account ID and email address pairs of the AWS accounts that could not be processed. */ UnprocessedAccounts?: ResultList; } export interface DeleteMembersRequest { /** * A list of account IDs of the Security Hub member accounts that you want to delete. */ AccountIds?: AccountIdList; } export interface DeleteMembersResponse { /** * A list of account ID and email address pairs of the AWS accounts that could not be processed. */ UnprocessedAccounts?: ResultList; } export interface DisableImportFindingsForProductRequest { /** * The ARN of a resource that represents your subscription to a supported product. */ ProductSubscriptionArn: NonEmptyString; } export interface DisableImportFindingsForProductResponse { } export interface DisableSecurityHubRequest { } export interface DisableSecurityHubResponse { } export interface DisassociateFromMasterAccountRequest { } export interface DisassociateFromMasterAccountResponse { } export interface DisassociateMembersRequest { /** * The account IDs of the member accounts that you want to disassociate from the master account. */ AccountIds?: AccountIdList; } export interface DisassociateMembersResponse { } export type Double = number; export interface EnableImportFindingsForProductRequest { /** * The ARN of the product that generates findings that you want to import into Security Hub. */ ProductArn: NonEmptyString; } export interface EnableImportFindingsForProductResponse { /** * The ARN of a resource that represents your subscription to the product that generates the findings that you want to import into Security Hub. */ ProductSubscriptionArn?: NonEmptyString; } export interface EnableSecurityHubRequest { } export interface EnableSecurityHubResponse { } export type FieldMap = {[key: string]: NonEmptyString}; export interface GetEnabledStandardsRequest { /** * The list of standards subscription ARNS that you want to list and describe. */ StandardsSubscriptionArns?: StandardsSubscriptionArns; /** * Paginates results. Set the value of this parameter to NULL on your first call to the GetEnabledStandards operation. For subsequent calls to the operation, fill nextToken in the request with the value of nextToken from the previous response to continue listing data. */ NextToken?: NextToken; /** * Indicates the maximum number of items that you want in the response. */ MaxResults?: MaxResults; } export interface GetEnabledStandardsResponse { /** * The standards subscription details returned by the operation. */ StandardsSubscriptions?: StandardsSubscriptions; /** * The token that is required for pagination. */ NextToken?: NextToken; } export interface GetFindingsRequest { /** * A collection of attributes that is use for querying findings. */ Filters?: AwsSecurityFindingFilters; /** * A collection of attributes used for sorting findings. */ SortCriteria?: SortCriteria; /** * Paginates results. Set the value of this parameter to NULL on your first call to the GetFindings operation. For subsequent calls to the operation, fill nextToken in the request with the value of nextToken from the previous response to continue listing data. */ NextToken?: NextToken; /** * Indicates the maximum number of items that you want in the response. */ MaxResults?: MaxResults; } export interface GetFindingsResponse { /** * Findings details returned by the operation. */ Findings: AwsSecurityFindingList; /** * The token that is required for pagination. */ NextToken?: NextToken; } export interface GetInsightResultsRequest { /** * The ARN of the insight whose results you want to see. */ InsightArn: NonEmptyString; } export interface GetInsightResultsResponse { /** * The insight results returned by the operation. */ InsightResults: InsightResults; } export interface GetInsightsRequest { /** * The ARNS of the insights that you want to describe. */ InsightArns?: ArnList; /** * Paginates results. Set the value of this parameter to NULL on your first call to the GetInsights operation. For subsequent calls to the operation, fill nextToken in the request with the value of nextToken from the previous response to continue listing data. */ NextToken?: NextToken; /** * Indicates the maximum number of items that you want in the response. */ MaxResults?: MaxResults; } export interface GetInsightsResponse { /** * The insights returned by the operation. */ Insights: InsightList; /** * The token that is required for pagination. */ NextToken?: NextToken; } export interface GetInvitationsCountRequest { } export interface GetInvitationsCountResponse { /** * The number of all membership invitations sent to this Security Hub member account, not including the currently accepted invitation. */ InvitationsCount?: Integer; } export interface GetMasterAccountRequest { } export interface GetMasterAccountResponse { /** * A list of details about the Security Hub master account for the current member account. */ Master?: Invitation; } export interface GetMembersRequest { /** * A list of account IDs for the Security Hub member accounts on which you want to return the details. */ AccountIds: AccountIdList; } export interface GetMembersResponse { /** * A list of details about the Security Hub member accounts. */ Members?: MemberList; /** * A list of account ID and email address pairs of the AWS accounts that could not be processed. */ UnprocessedAccounts?: ResultList; } export interface ImportFindingsError { /** * The id of the error made during the BatchImportFindings operation. */ Id: NonEmptyString; /** * The code of the error made during the BatchImportFindings operation. */ ErrorCode: NonEmptyString; /** * The message of the error made during the BatchImportFindings operation. */ ErrorMessage: NonEmptyString; } export type ImportFindingsErrorList = ImportFindingsError[]; export interface Insight { /** * The ARN of a Security Hub insight. */ InsightArn: NonEmptyString; /** * The name of a Security Hub insight. */ Name: NonEmptyString; /** * 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. */ Filters: AwsSecurityFindingFilters; /** * The attribute by which the insight's findings are grouped. This attri