SecurityLake ************ Client ====== class SecurityLake.Client A low-level client representing Amazon Security Lake Amazon Security Lake is a fully managed security data lake service. You can use Security Lake to automatically centralize security data from cloud, on-premises, and custom sources into a data lake that's stored in your Amazon Web Services account. Amazon Web Services Organizations is an account management service that lets you consolidate multiple Amazon Web Services accounts into an organization that you create and centrally manage. With Organizations, you can create member accounts and invite existing accounts to join your organization. Security Lake helps you analyze security data for a more complete understanding of your security posture across the entire organization. It can also help you improve the protection of your workloads, applications, and data. The data lake is backed by Amazon Simple Storage Service (Amazon S3) buckets, and you retain ownership over your data. Amazon Security Lake integrates with CloudTrail, a service that provides a record of actions taken by a user, role, or an Amazon Web Services service. In Security Lake, CloudTrail captures API calls for Security Lake as events. The calls captured include calls from the Security Lake console and code calls to the Security Lake API operations. If you create a trail, you can enable continuous delivery of CloudTrail events to an Amazon S3 bucket, including events for Security Lake. If you don't configure a trail, you can still view the most recent events in the CloudTrail console in Event history. Using the information collected by CloudTrail you can determine the request that was made to Security Lake, the IP address from which the request was made, who made the request, when it was made, and additional details. To learn more about Security Lake information in CloudTrail, see the Amazon Security Lake User Guide. Security Lake automates the collection of security-related log and event data from integrated Amazon Web Services services and third- party services. It also helps you manage the lifecycle of data with customizable retention and replication settings. Security Lake converts ingested data into Apache Parquet format and a standard open-source schema called the Open Cybersecurity Schema Framework (OCSF). Other Amazon Web Services services and third-party services can subscribe to the data that's stored in Security Lake for incident response and security data analytics. import boto3 client = boto3.client('securitylake') These are the available methods: * can_paginate * close * create_aws_log_source * create_custom_log_source * create_data_lake * create_data_lake_exception_subscription * create_data_lake_organization_configuration * create_subscriber * create_subscriber_notification * delete_aws_log_source * delete_custom_log_source * delete_data_lake * delete_data_lake_exception_subscription * delete_data_lake_organization_configuration * delete_subscriber * delete_subscriber_notification * deregister_data_lake_delegated_administrator * get_data_lake_exception_subscription * get_data_lake_organization_configuration * get_data_lake_sources * get_paginator * get_subscriber * get_waiter * list_data_lake_exceptions * list_data_lakes * list_log_sources * list_subscribers * list_tags_for_resource * register_data_lake_delegated_administrator * tag_resource * untag_resource * update_data_lake * update_data_lake_exception_subscription * update_subscriber * update_subscriber_notification Paginators ========== Paginators are available on a client instance via the "get_paginator" method. For more detailed instructions and examples on the usage of paginators, see the paginators user guide. The available paginators are: * GetDataLakeSources * ListDataLakeExceptions * ListLogSources * ListSubscribers SecurityLake / Paginator / ListLogSources ListLogSources ************** class SecurityLake.Paginator.ListLogSources paginator = client.get_paginator('list_log_sources') paginate(**kwargs) Creates an iterator that will paginate through responses from "SecurityLake.Client.list_log_sources()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( accounts=[ 'string', ], regions=[ 'string', ], sources=[ { 'awsLogSource': { 'sourceName': 'ROUTE53'|'VPC_FLOW'|'SH_FINDINGS'|'CLOUD_TRAIL_MGMT'|'LAMBDA_EXECUTION'|'S3_DATA'|'EKS_AUDIT'|'WAF', 'sourceVersion': 'string' }, 'customLogSource': { 'attributes': { 'crawlerArn': 'string', 'databaseArn': 'string', 'tableArn': 'string' }, 'provider': { 'location': 'string', 'roleArn': 'string' }, 'sourceName': 'string', 'sourceVersion': 'string' } }, ], PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **accounts** (*list*) -- The list of Amazon Web Services accounts for which log sources are displayed. * *(string) --* * **regions** (*list*) -- The list of Regions for which log sources are displayed. * *(string) --* * **sources** (*list*) -- The list of sources for which log sources are displayed. * *(dict) --* The supported source types from which logs and events are collected in Amazon Security Lake. For a list of supported Amazon Web Services services, see the Amazon Security Lake User Guide. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "awsLogSource", "customLogSource". * **awsLogSource** *(dict) --* Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. * **sourceName** *(string) --* The name for a Amazon Web Services source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a Amazon Web Services source. This must be a Regionally unique value. * **customLogSource** *(dict) --* Amazon Security Lake supports custom source types. For more information, see the Amazon Security Lake User Guide. * **attributes** *(dict) --* The attributes of a third-party custom source. * **crawlerArn** *(string) --* The ARN of the Glue crawler. * **databaseArn** *(string) --* The ARN of the Glue database where results are written, such as: "arn:aws:daylight:us- east-1::database/sometable/*". * **tableArn** *(string) --* The ARN of the Glue table. * **provider** *(dict) --* The details of the log provider for a third-party custom source. * **location** *(string) --* The location of the partition in the Amazon S3 bucket for Security Lake. * **roleArn** *(string) --* The ARN of the IAM role to be used by the entity putting logs into your custom source partition. Security Lake will apply the correct access policies to this role, but you must first manually create the trust policy for this role. The IAM role name must start with the text 'Security Lake'. The IAM role must trust the "logProviderAccountId" to assume the role. * **sourceName** *(string) --* The name for a third-party custom source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a third-party custom source. This must be a Regionally unique value. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'sources': [ { 'account': 'string', 'region': 'string', 'sources': [ { 'awsLogSource': { 'sourceName': 'ROUTE53'|'VPC_FLOW'|'SH_FINDINGS'|'CLOUD_TRAIL_MGMT'|'LAMBDA_EXECUTION'|'S3_DATA'|'EKS_AUDIT'|'WAF', 'sourceVersion': 'string' }, 'customLogSource': { 'attributes': { 'crawlerArn': 'string', 'databaseArn': 'string', 'tableArn': 'string' }, 'provider': { 'location': 'string', 'roleArn': 'string' }, 'sourceName': 'string', 'sourceVersion': 'string' } }, ] }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **sources** *(list) --* The list of log sources in your organization that send data to the data lake. * *(dict) --* Amazon Security Lake can collect logs and events from natively-supported Amazon Web Services services and custom sources. * **account** *(string) --* Specify the account from which you want to collect logs. * **region** *(string) --* Specify the Regions from which you want to collect logs. * **sources** *(list) --* Specify the sources from which you want to collect logs. * *(dict) --* The supported source types from which logs and events are collected in Amazon Security Lake. For a list of supported Amazon Web Services services, see the Amazon Security Lake User Guide. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "awsLogSource", "customLogSource". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **awsLogSource** *(dict) --* Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. * **sourceName** *(string) --* The name for a Amazon Web Services source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a Amazon Web Services source. This must be a Regionally unique value. * **customLogSource** *(dict) --* Amazon Security Lake supports custom source types. For more information, see the Amazon Security Lake User Guide. * **attributes** *(dict) --* The attributes of a third-party custom source. * **crawlerArn** *(string) --* The ARN of the Glue crawler. * **databaseArn** *(string) --* The ARN of the Glue database where results are written, such as: "arn:aws:daylight:us- east-1::database/sometable/*". * **tableArn** *(string) --* The ARN of the Glue table. * **provider** *(dict) --* The details of the log provider for a third- party custom source. * **location** *(string) --* The location of the partition in the Amazon S3 bucket for Security Lake. * **roleArn** *(string) --* The ARN of the IAM role to be used by the entity putting logs into your custom source partition. Security Lake will apply the correct access policies to this role, but you must first manually create the trust policy for this role. The IAM role name must start with the text 'Security Lake'. The IAM role must trust the "logProviderAccountId" to assume the role. * **sourceName** *(string) --* The name for a third-party custom source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a third-party custom source. This must be a Regionally unique value. * **NextToken** *(string) --* A token to resume pagination. SecurityLake / Paginator / ListDataLakeExceptions ListDataLakeExceptions ********************** class SecurityLake.Paginator.ListDataLakeExceptions paginator = client.get_paginator('list_data_lake_exceptions') paginate(**kwargs) Creates an iterator that will paginate through responses from "SecurityLake.Client.list_data_lake_exceptions()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( regions=[ 'string', ], PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **regions** (*list*) -- The Amazon Web Services Regions from which exceptions are retrieved. * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'exceptions': [ { 'exception': 'string', 'region': 'string', 'remediation': 'string', 'timestamp': datetime(2015, 1, 1) }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **exceptions** *(list) --* Lists the failures that cannot be retried. * *(dict) --* The details for an Amazon Security Lake exception. * **exception** *(string) --* The underlying exception of a Security Lake exception. * **region** *(string) --* The Amazon Web Services Regions where the exception occurred. * **remediation** *(string) --* List of all remediation steps for a Security Lake exception. * **timestamp** *(datetime) --* This error can occur if you configure the wrong timestamp format, or if the subset of entries used for validation had errors or missing values. * **NextToken** *(string) --* A token to resume pagination. SecurityLake / Paginator / ListSubscribers ListSubscribers *************** class SecurityLake.Paginator.ListSubscribers paginator = client.get_paginator('list_subscribers') paginate(**kwargs) Creates an iterator that will paginate through responses from "SecurityLake.Client.list_subscribers()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max- items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'subscribers': [ { 'accessTypes': [ 'LAKEFORMATION'|'S3', ], 'createdAt': datetime(2015, 1, 1), 'resourceShareArn': 'string', 'resourceShareName': 'string', 'roleArn': 'string', 's3BucketArn': 'string', 'sources': [ { 'awsLogSource': { 'sourceName': 'ROUTE53'|'VPC_FLOW'|'SH_FINDINGS'|'CLOUD_TRAIL_MGMT'|'LAMBDA_EXECUTION'|'S3_DATA'|'EKS_AUDIT'|'WAF', 'sourceVersion': 'string' }, 'customLogSource': { 'attributes': { 'crawlerArn': 'string', 'databaseArn': 'string', 'tableArn': 'string' }, 'provider': { 'location': 'string', 'roleArn': 'string' }, 'sourceName': 'string', 'sourceVersion': 'string' } }, ], 'subscriberArn': 'string', 'subscriberDescription': 'string', 'subscriberEndpoint': 'string', 'subscriberId': 'string', 'subscriberIdentity': { 'externalId': 'string', 'principal': 'string' }, 'subscriberName': 'string', 'subscriberStatus': 'ACTIVE'|'DEACTIVATED'|'PENDING'|'READY', 'updatedAt': datetime(2015, 1, 1) }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **subscribers** *(list) --* The subscribers available for the specified Security Lake account ID. * *(dict) --* Provides details about the Amazon Security Lake account subscription. Subscribers are notified of new objects for a source as the data is written to your Amazon S3 bucket for Security Lake. * **accessTypes** *(list) --* You can choose to notify subscribers of new objects with an Amazon Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber. Subscribers can consume data by directly querying Lake Formation tables in your Amazon S3 bucket through services like Amazon Athena. This subscription type is defined as "LAKEFORMATION". * *(string) --* * **createdAt** *(datetime) --* The date and time when the subscriber was created. * **resourceShareArn** *(string) --* The Amazon Resource Name (ARN) which uniquely defines the Amazon Web Services RAM resource share. Before accepting the RAM resource share invitation, you can view details related to the RAM resource share. This field is available only for Lake Formation subscribers created after March 8, 2023. * **resourceShareName** *(string) --* The name of the resource share. * **roleArn** *(string) --* The Amazon Resource Name (ARN) specifying the role of the subscriber. * **s3BucketArn** *(string) --* The ARN for the Amazon S3 bucket. * **sources** *(list) --* Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. * *(dict) --* The supported source types from which logs and events are collected in Amazon Security Lake. For a list of supported Amazon Web Services services, see the Amazon Security Lake User Guide. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "awsLogSource", "customLogSource". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **awsLogSource** *(dict) --* Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. * **sourceName** *(string) --* The name for a Amazon Web Services source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a Amazon Web Services source. This must be a Regionally unique value. * **customLogSource** *(dict) --* Amazon Security Lake supports custom source types. For more information, see the Amazon Security Lake User Guide. * **attributes** *(dict) --* The attributes of a third-party custom source. * **crawlerArn** *(string) --* The ARN of the Glue crawler. * **databaseArn** *(string) --* The ARN of the Glue database where results are written, such as: "arn:aws:daylight:us- east-1::database/sometable/*". * **tableArn** *(string) --* The ARN of the Glue table. * **provider** *(dict) --* The details of the log provider for a third- party custom source. * **location** *(string) --* The location of the partition in the Amazon S3 bucket for Security Lake. * **roleArn** *(string) --* The ARN of the IAM role to be used by the entity putting logs into your custom source partition. Security Lake will apply the correct access policies to this role, but you must first manually create the trust policy for this role. The IAM role name must start with the text 'Security Lake'. The IAM role must trust the "logProviderAccountId" to assume the role. * **sourceName** *(string) --* The name for a third-party custom source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a third-party custom source. This must be a Regionally unique value. * **subscriberArn** *(string) --* The subscriber ARN of the Amazon Security Lake subscriber account. * **subscriberDescription** *(string) --* The subscriber descriptions for a subscriber account. The description for a subscriber includes "subscriberName", "accountID", "externalID", and "subscriberId". * **subscriberEndpoint** *(string) --* The subscriber endpoint to which exception messages are posted. * **subscriberId** *(string) --* The subscriber ID of the Amazon Security Lake subscriber account. * **subscriberIdentity** *(dict) --* The Amazon Web Services identity used to access your data. * **externalId** *(string) --* The external ID used to establish trust relationship with the Amazon Web Services identity. * **principal** *(string) --* The Amazon Web Services identity principal. * **subscriberName** *(string) --* The name of your Amazon Security Lake subscriber account. * **subscriberStatus** *(string) --* The subscriber status of the Amazon Security Lake subscriber account. * **updatedAt** *(datetime) --* The date and time when the subscriber was last updated. * **NextToken** *(string) --* A token to resume pagination. SecurityLake / Paginator / GetDataLakeSources GetDataLakeSources ****************** class SecurityLake.Paginator.GetDataLakeSources paginator = client.get_paginator('get_data_lake_sources') paginate(**kwargs) Creates an iterator that will paginate through responses from "SecurityLake.Client.get_data_lake_sources()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( accounts=[ 'string', ], PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **accounts** (*list*) -- The Amazon Web Services account ID for which a static snapshot of the current Amazon Web Services Region, including enabled accounts and log sources, is retrieved. * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'dataLakeArn': 'string', 'dataLakeSources': [ { 'account': 'string', 'eventClasses': [ 'string', ], 'sourceName': 'string', 'sourceStatuses': [ { 'resource': 'string', 'status': 'COLLECTING'|'MISCONFIGURED'|'NOT_COLLECTING' }, ] }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **dataLakeArn** *(string) --* The Amazon Resource Name (ARN) created by you to provide to the subscriber. For more information about ARNs and how to use them in policies, see the Amazon Security Lake User Guide. * **dataLakeSources** *(list) --* The list of enabled accounts and enabled sources. * *(dict) --* Amazon Security Lake collects logs and events from supported Amazon Web Services services and custom sources. For the list of supported Amazon Web Services services, see the Amazon Security Lake User Guide. * **account** *(string) --* The ID of the Security Lake account for which logs are collected. * **eventClasses** *(list) --* The Open Cybersecurity Schema Framework (OCSF) event classes describes the type of data that the custom source will send to Security Lake. For the list of supported event classes, see Supported OCSF Event classes in the Amazon Security Lake User Guide. * *(string) --* * **sourceName** *(string) --* The supported Amazon Web Services services from which logs and events are collected. Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. * **sourceStatuses** *(list) --* The log status for the Security Lake account. * *(dict) --* Retrieves the Logs status for the Amazon Security Lake account. * **resource** *(string) --* Defines path the stored logs are available which has information on your systems, applications, and services. * **status** *(string) --* The health status of services, including error codes and patterns. * **NextToken** *(string) --* A token to resume pagination. SecurityLake / Client / get_paginator get_paginator ************* SecurityLake.Client.get_paginator(operation_name) Create a paginator for an operation. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Raises: **OperationNotPageableError** -- Raised if the operation is not pageable. You can use the "client.can_paginate" method to check if an operation is pageable. Return type: "botocore.paginate.Paginator" Returns: A paginator object. SecurityLake / Client / can_paginate can_paginate ************ SecurityLake.Client.can_paginate(operation_name) Check if an operation can be paginated. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Returns: "True" if the operation can be paginated, "False" otherwise. SecurityLake / Client / delete_custom_log_source delete_custom_log_source ************************ SecurityLake.Client.delete_custom_log_source(**kwargs) Removes a custom log source from Amazon Security Lake, to stop sending data from the custom source to Security Lake. See also: AWS API Documentation **Request Syntax** response = client.delete_custom_log_source( sourceName='string', sourceVersion='string' ) Parameters: * **sourceName** (*string*) -- **[REQUIRED]** The source name of custom log source that you want to delete. * **sourceVersion** (*string*) -- The source version for the third-party custom source. You can limit the custom source removal to the specified source version. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / delete_data_lake delete_data_lake **************** SecurityLake.Client.delete_data_lake(**kwargs) When you disable Amazon Security Lake from your account, Security Lake is disabled in all Amazon Web Services Regions and it stops collecting data from your sources. Also, this API automatically takes steps to remove the account from Security Lake. However, Security Lake retains all of your existing settings and the resources that it created in your Amazon Web Services account in the current Amazon Web Services Region. The "DeleteDataLake" operation does not delete the data that is stored in your Amazon S3 bucket, which is owned by your Amazon Web Services account. For more information, see the Amazon Security Lake User Guide. See also: AWS API Documentation **Request Syntax** response = client.delete_data_lake( regions=[ 'string', ] ) Parameters: **regions** (*list*) -- **[REQUIRED]** The list of Regions where Security Lake is enabled. * *(string) --* Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / create_subscriber_notification create_subscriber_notification ****************************** SecurityLake.Client.create_subscriber_notification(**kwargs) Notifies the subscriber when new data is written to the data lake for the sources that the subscriber consumes in Security Lake. You can create only one subscriber notification per subscriber. See also: AWS API Documentation **Request Syntax** response = client.create_subscriber_notification( configuration={ 'httpsNotificationConfiguration': { 'authorizationApiKeyName': 'string', 'authorizationApiKeyValue': 'string', 'endpoint': 'string', 'httpMethod': 'POST'|'PUT', 'targetRoleArn': 'string' }, 'sqsNotificationConfiguration': {} }, subscriberId='string' ) Parameters: * **configuration** (*dict*) -- **[REQUIRED]** Specify the configuration using which you want to create the subscriber notification. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "httpsNotificationConfiguration", "sqsNotificationConfiguration". * **httpsNotificationConfiguration** *(dict) --* The configurations used for HTTPS subscriber notification. * **authorizationApiKeyName** *(string) --* The key name for the notification subscription. * **authorizationApiKeyValue** *(string) --* The key value for the notification subscription. * **endpoint** *(string) --* **[REQUIRED]** The subscription endpoint in Security Lake. If you prefer notification with an HTTPs endpoint, populate this field. * **httpMethod** *(string) --* The HTTPS method used for the notification subscription. * **targetRoleArn** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role that you created. For more information about ARNs and how to use them in policies, see Managing data access and Amazon Web Services Managed Policies in the *Amazon Security Lake User Guide*. * **sqsNotificationConfiguration** *(dict) --* The configurations for SQS subscriber notification. * **subscriberId** (*string*) -- **[REQUIRED]** The subscriber ID for the notification subscription. Return type: dict Returns: **Response Syntax** { 'subscriberEndpoint': 'string' } **Response Structure** * *(dict) --* * **subscriberEndpoint** *(string) --* The subscriber endpoint to which exception messages are posted. **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / get_data_lake_exception_subscription get_data_lake_exception_subscription ************************************ SecurityLake.Client.get_data_lake_exception_subscription() Retrieves the protocol and endpoint that were provided when subscribing to Amazon SNS topics for exception notifications. See also: AWS API Documentation **Request Syntax** response = client.get_data_lake_exception_subscription() Return type: dict Returns: **Response Syntax** { 'exceptionTimeToLive': 123, 'notificationEndpoint': 'string', 'subscriptionProtocol': 'string' } **Response Structure** * *(dict) --* * **exceptionTimeToLive** *(integer) --* The expiration period and time-to-live (TTL). It is the duration of time until which the exception message remains. * **notificationEndpoint** *(string) --* The Amazon Web Services account where you receive exception notifications. * **subscriptionProtocol** *(string) --* The subscription protocol to which exception notifications are posted. **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / update_subscriber update_subscriber ***************** SecurityLake.Client.update_subscriber(**kwargs) Updates an existing subscription for the given Amazon Security Lake account ID. You can update a subscriber by changing the sources that the subscriber consumes data from. See also: AWS API Documentation **Request Syntax** response = client.update_subscriber( sources=[ { 'awsLogSource': { 'sourceName': 'ROUTE53'|'VPC_FLOW'|'SH_FINDINGS'|'CLOUD_TRAIL_MGMT'|'LAMBDA_EXECUTION'|'S3_DATA'|'EKS_AUDIT'|'WAF', 'sourceVersion': 'string' }, 'customLogSource': { 'attributes': { 'crawlerArn': 'string', 'databaseArn': 'string', 'tableArn': 'string' }, 'provider': { 'location': 'string', 'roleArn': 'string' }, 'sourceName': 'string', 'sourceVersion': 'string' } }, ], subscriberDescription='string', subscriberId='string', subscriberIdentity={ 'externalId': 'string', 'principal': 'string' }, subscriberName='string' ) Parameters: * **sources** (*list*) -- The supported Amazon Web Services services from which logs and events are collected. For the list of supported Amazon Web Services services, see the Amazon Security Lake User Guide. * *(dict) --* The supported source types from which logs and events are collected in Amazon Security Lake. For a list of supported Amazon Web Services services, see the Amazon Security Lake User Guide. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "awsLogSource", "customLogSource". * **awsLogSource** *(dict) --* Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. * **sourceName** *(string) --* The name for a Amazon Web Services source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a Amazon Web Services source. This must be a Regionally unique value. * **customLogSource** *(dict) --* Amazon Security Lake supports custom source types. For more information, see the Amazon Security Lake User Guide. * **attributes** *(dict) --* The attributes of a third-party custom source. * **crawlerArn** *(string) --* The ARN of the Glue crawler. * **databaseArn** *(string) --* The ARN of the Glue database where results are written, such as: "arn:aws:daylight:us- east-1::database/sometable/*". * **tableArn** *(string) --* The ARN of the Glue table. * **provider** *(dict) --* The details of the log provider for a third-party custom source. * **location** *(string) --* The location of the partition in the Amazon S3 bucket for Security Lake. * **roleArn** *(string) --* The ARN of the IAM role to be used by the entity putting logs into your custom source partition. Security Lake will apply the correct access policies to this role, but you must first manually create the trust policy for this role. The IAM role name must start with the text 'Security Lake'. The IAM role must trust the "logProviderAccountId" to assume the role. * **sourceName** *(string) --* The name for a third-party custom source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a third-party custom source. This must be a Regionally unique value. * **subscriberDescription** (*string*) -- The description of the Security Lake account subscriber. * **subscriberId** (*string*) -- **[REQUIRED]** A value created by Security Lake that uniquely identifies your subscription. * **subscriberIdentity** (*dict*) -- The Amazon Web Services identity used to access your data. * **externalId** *(string) --* **[REQUIRED]** The external ID used to establish trust relationship with the Amazon Web Services identity. * **principal** *(string) --* **[REQUIRED]** The Amazon Web Services identity principal. * **subscriberName** (*string*) -- The name of the Security Lake account subscriber. Return type: dict Returns: **Response Syntax** { 'subscriber': { 'accessTypes': [ 'LAKEFORMATION'|'S3', ], 'createdAt': datetime(2015, 1, 1), 'resourceShareArn': 'string', 'resourceShareName': 'string', 'roleArn': 'string', 's3BucketArn': 'string', 'sources': [ { 'awsLogSource': { 'sourceName': 'ROUTE53'|'VPC_FLOW'|'SH_FINDINGS'|'CLOUD_TRAIL_MGMT'|'LAMBDA_EXECUTION'|'S3_DATA'|'EKS_AUDIT'|'WAF', 'sourceVersion': 'string' }, 'customLogSource': { 'attributes': { 'crawlerArn': 'string', 'databaseArn': 'string', 'tableArn': 'string' }, 'provider': { 'location': 'string', 'roleArn': 'string' }, 'sourceName': 'string', 'sourceVersion': 'string' } }, ], 'subscriberArn': 'string', 'subscriberDescription': 'string', 'subscriberEndpoint': 'string', 'subscriberId': 'string', 'subscriberIdentity': { 'externalId': 'string', 'principal': 'string' }, 'subscriberName': 'string', 'subscriberStatus': 'ACTIVE'|'DEACTIVATED'|'PENDING'|'READY', 'updatedAt': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **subscriber** *(dict) --* The updated subscriber information. * **accessTypes** *(list) --* You can choose to notify subscribers of new objects with an Amazon Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber. Subscribers can consume data by directly querying Lake Formation tables in your Amazon S3 bucket through services like Amazon Athena. This subscription type is defined as "LAKEFORMATION". * *(string) --* * **createdAt** *(datetime) --* The date and time when the subscriber was created. * **resourceShareArn** *(string) --* The Amazon Resource Name (ARN) which uniquely defines the Amazon Web Services RAM resource share. Before accepting the RAM resource share invitation, you can view details related to the RAM resource share. This field is available only for Lake Formation subscribers created after March 8, 2023. * **resourceShareName** *(string) --* The name of the resource share. * **roleArn** *(string) --* The Amazon Resource Name (ARN) specifying the role of the subscriber. * **s3BucketArn** *(string) --* The ARN for the Amazon S3 bucket. * **sources** *(list) --* Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. * *(dict) --* The supported source types from which logs and events are collected in Amazon Security Lake. For a list of supported Amazon Web Services services, see the Amazon Security Lake User Guide. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "awsLogSource", "customLogSource". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **awsLogSource** *(dict) --* Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. * **sourceName** *(string) --* The name for a Amazon Web Services source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a Amazon Web Services source. This must be a Regionally unique value. * **customLogSource** *(dict) --* Amazon Security Lake supports custom source types. For more information, see the Amazon Security Lake User Guide. * **attributes** *(dict) --* The attributes of a third-party custom source. * **crawlerArn** *(string) --* The ARN of the Glue crawler. * **databaseArn** *(string) --* The ARN of the Glue database where results are written, such as: "arn:aws:daylight:us- east-1::database/sometable/*". * **tableArn** *(string) --* The ARN of the Glue table. * **provider** *(dict) --* The details of the log provider for a third-party custom source. * **location** *(string) --* The location of the partition in the Amazon S3 bucket for Security Lake. * **roleArn** *(string) --* The ARN of the IAM role to be used by the entity putting logs into your custom source partition. Security Lake will apply the correct access policies to this role, but you must first manually create the trust policy for this role. The IAM role name must start with the text 'Security Lake'. The IAM role must trust the "logProviderAccountId" to assume the role. * **sourceName** *(string) --* The name for a third-party custom source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a third-party custom source. This must be a Regionally unique value. * **subscriberArn** *(string) --* The subscriber ARN of the Amazon Security Lake subscriber account. * **subscriberDescription** *(string) --* The subscriber descriptions for a subscriber account. The description for a subscriber includes "subscriberName", "accountID", "externalID", and "subscriberId". * **subscriberEndpoint** *(string) --* The subscriber endpoint to which exception messages are posted. * **subscriberId** *(string) --* The subscriber ID of the Amazon Security Lake subscriber account. * **subscriberIdentity** *(dict) --* The Amazon Web Services identity used to access your data. * **externalId** *(string) --* The external ID used to establish trust relationship with the Amazon Web Services identity. * **principal** *(string) --* The Amazon Web Services identity principal. * **subscriberName** *(string) --* The name of your Amazon Security Lake subscriber account. * **subscriberStatus** *(string) --* The subscriber status of the Amazon Security Lake subscriber account. * **updatedAt** *(datetime) --* The date and time when the subscriber was last updated. **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / list_tags_for_resource list_tags_for_resource ********************** SecurityLake.Client.list_tags_for_resource(**kwargs) Retrieves the tags (keys and values) that are associated with an Amazon Security Lake resource: a subscriber, or the data lake configuration for your Amazon Web Services account in a particular Amazon Web Services Region. See also: AWS API Documentation **Request Syntax** response = client.list_tags_for_resource( resourceArn='string' ) Parameters: **resourceArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the Amazon Security Lake resource for which you want to retrieve the tags. Return type: dict Returns: **Response Syntax** { 'tags': [ { 'key': 'string', 'value': 'string' }, ] } **Response Structure** * *(dict) --* * **tags** *(list) --* An array of objects, one for each tag (key and value) that’s associated with the Amazon Security Lake resource. * *(dict) --* A *tag* is a label that you can define and associate with Amazon Web Services resources, including certain types of Amazon Security Lake resources. Tags can help you identify, categorize, and manage resources in different ways, such as by owner, environment, or other criteria. You can associate tags with the following types of Security Lake resources: subscribers, and the data lake configuration for your Amazon Web Services account in individual Amazon Web Services Regions. A resource can have up to 50 tags. Each tag consists of a required *tag key* and an associated *tag value*. A *tag key* is a general label that acts as a category for a more specific tag value. Each tag key must be unique and it can have only one tag value. A *tag value* acts as a descriptor for a tag key. Tag keys and values are case sensitive. They can contain letters, numbers, spaces, or the following symbols: _ . : / = + @ - For more information, see Tagging Amazon Security Lake resources in the *Amazon Security Lake User Guide*. * **key** *(string) --* The name of the tag. This is a general label that acts as a category for a more specific tag value ( "value"). * **value** *(string) --* The value that’s associated with the specified tag key ( "key"). This value acts as a descriptor for the tag key. A tag value cannot be null, but it can be an empty string. **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / update_data_lake_exception_subscription update_data_lake_exception_subscription *************************************** SecurityLake.Client.update_data_lake_exception_subscription(**kwargs) Updates the specified notification subscription in Amazon Security Lake for the organization you specify. See also: AWS API Documentation **Request Syntax** response = client.update_data_lake_exception_subscription( exceptionTimeToLive=123, notificationEndpoint='string', subscriptionProtocol='string' ) Parameters: * **exceptionTimeToLive** (*integer*) -- The time-to-live (TTL) for the exception message to remain. It is the duration of time until which the exception message remains. * **notificationEndpoint** (*string*) -- **[REQUIRED]** The account that is subscribed to receive exception notifications. * **subscriptionProtocol** (*string*) -- **[REQUIRED]** The subscription protocol to which exception messages are posted. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / create_data_lake create_data_lake **************** SecurityLake.Client.create_data_lake(**kwargs) Initializes an Amazon Security Lake instance with the provided (or default) configuration. You can enable Security Lake in Amazon Web Services Regions with customized settings before enabling log collection in Regions. To specify particular Regions, configure these Regions using the "configurations" parameter. If you have already enabled Security Lake in a Region when you call this command, the command will update the Region if you provide new configuration parameters. If you have not already enabled Security Lake in the Region when you call this API, it will set up the data lake in the Region with the specified configurations. When you enable Security Lake, it starts ingesting security data after the "CreateAwsLogSource" call and after you create subscribers using the "CreateSubscriber" API. This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also enables all the existing settings and resources that it stores or maintains for your Amazon Web Services account in the current Region, including security log and event data. For more information, see the Amazon Security Lake User Guide. See also: AWS API Documentation **Request Syntax** response = client.create_data_lake( configurations=[ { 'encryptionConfiguration': { 'kmsKeyId': 'string' }, 'lifecycleConfiguration': { 'expiration': { 'days': 123 }, 'transitions': [ { 'days': 123, 'storageClass': 'string' }, ] }, 'region': 'string', 'replicationConfiguration': { 'regions': [ 'string', ], 'roleArn': 'string' } }, ], metaStoreManagerRoleArn='string', tags=[ { 'key': 'string', 'value': 'string' }, ] ) Parameters: * **configurations** (*list*) -- **[REQUIRED]** Specify the Region or Regions that will contribute data to the rollup region. * *(dict) --* Provides details of Amazon Security Lake object. * **encryptionConfiguration** *(dict) --* Provides encryption details of Amazon Security Lake object. * **kmsKeyId** *(string) --* The identifier of KMS encryption key used by Amazon Security Lake to encrypt the Security Lake object. * **lifecycleConfiguration** *(dict) --* Provides lifecycle details of Amazon Security Lake object. * **expiration** *(dict) --* Provides data expiration details of Amazon Security Lake object. * **days** *(integer) --* Number of days before data expires in the Amazon Security Lake object. * **transitions** *(list) --* Provides data storage transition details of Amazon Security Lake object. * *(dict) --* Provide transition lifecycle details of Amazon Security Lake object. * **days** *(integer) --* Number of days before data transitions to a different S3 Storage Class in the Amazon Security Lake object. * **storageClass** *(string) --* The range of storage classes that you can choose from based on the data access, resiliency, and cost requirements of your workloads. * **region** *(string) --* **[REQUIRED]** The Amazon Web Services Regions where Security Lake is automatically enabled. * **replicationConfiguration** *(dict) --* Provides replication details of Amazon Security Lake object. * **regions** *(list) --* Specifies one or more centralized rollup Regions. The Amazon Web Services Region specified in the "region" parameter of the CreateDataLake or UpdateDataLake operations contributes data to the rollup Region or Regions specified in this parameter. Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets. S3 buckets that are configured for object replication can be owned by the same Amazon Web Services account or by different accounts. You can replicate objects to a single destination bucket or to multiple destination buckets. The destination buckets can be in different Regions or within the same Region as the source bucket. * *(string) --* * **roleArn** *(string) --* Replication settings for the Amazon S3 buckets. This parameter uses the Identity and Access Management (IAM) role you created that is managed by Security Lake, to ensure the replication setting is correct. * **metaStoreManagerRoleArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) used to create and update the Glue table. This table contains partitions generated by the ingestion and normalization of Amazon Web Services log sources and custom sources. * **tags** (*list*) -- An array of objects, one for each tag to associate with the data lake configuration. For each tag, you must specify both a tag key and a tag value. A tag value cannot be null, but it can be an empty string. * *(dict) --* A *tag* is a label that you can define and associate with Amazon Web Services resources, including certain types of Amazon Security Lake resources. Tags can help you identify, categorize, and manage resources in different ways, such as by owner, environment, or other criteria. You can associate tags with the following types of Security Lake resources: subscribers, and the data lake configuration for your Amazon Web Services account in individual Amazon Web Services Regions. A resource can have up to 50 tags. Each tag consists of a required *tag key* and an associated *tag value*. A *tag key* is a general label that acts as a category for a more specific tag value. Each tag key must be unique and it can have only one tag value. A *tag value* acts as a descriptor for a tag key. Tag keys and values are case sensitive. They can contain letters, numbers, spaces, or the following symbols: _ . : / = + @ - For more information, see Tagging Amazon Security Lake resources in the *Amazon Security Lake User Guide*. * **key** *(string) --* **[REQUIRED]** The name of the tag. This is a general label that acts as a category for a more specific tag value ( "value"). * **value** *(string) --* **[REQUIRED]** The value that’s associated with the specified tag key ( "key"). This value acts as a descriptor for the tag key. A tag value cannot be null, but it can be an empty string. Return type: dict Returns: **Response Syntax** { 'dataLakes': [ { 'createStatus': 'INITIALIZED'|'PENDING'|'COMPLETED'|'FAILED', 'dataLakeArn': 'string', 'encryptionConfiguration': { 'kmsKeyId': 'string' }, 'lifecycleConfiguration': { 'expiration': { 'days': 123 }, 'transitions': [ { 'days': 123, 'storageClass': 'string' }, ] }, 'region': 'string', 'replicationConfiguration': { 'regions': [ 'string', ], 'roleArn': 'string' }, 's3BucketArn': 'string', 'updateStatus': { 'exception': { 'code': 'string', 'reason': 'string' }, 'requestId': 'string', 'status': 'INITIALIZED'|'PENDING'|'COMPLETED'|'FAILED' } }, ] } **Response Structure** * *(dict) --* * **dataLakes** *(list) --* The created Security Lake configuration object. * *(dict) --* Provides details of Amazon Security Lake object. * **createStatus** *(string) --* Retrieves the status of the "CreateDatalake" API call for an account in Amazon Security Lake. * **dataLakeArn** *(string) --* The Amazon Resource Name (ARN) created by you to provide to the subscriber. For more information about ARNs and how to use them in policies, see the Amazon Security Lake User Guide. * **encryptionConfiguration** *(dict) --* Provides encryption details of Amazon Security Lake object. * **kmsKeyId** *(string) --* The identifier of KMS encryption key used by Amazon Security Lake to encrypt the Security Lake object. * **lifecycleConfiguration** *(dict) --* Provides lifecycle details of Amazon Security Lake object. * **expiration** *(dict) --* Provides data expiration details of Amazon Security Lake object. * **days** *(integer) --* Number of days before data expires in the Amazon Security Lake object. * **transitions** *(list) --* Provides data storage transition details of Amazon Security Lake object. * *(dict) --* Provide transition lifecycle details of Amazon Security Lake object. * **days** *(integer) --* Number of days before data transitions to a different S3 Storage Class in the Amazon Security Lake object. * **storageClass** *(string) --* The range of storage classes that you can choose from based on the data access, resiliency, and cost requirements of your workloads. * **region** *(string) --* The Amazon Web Services Regions where Security Lake is enabled. * **replicationConfiguration** *(dict) --* Provides replication details of Amazon Security Lake object. * **regions** *(list) --* Specifies one or more centralized rollup Regions. The Amazon Web Services Region specified in the "region" parameter of the CreateDataLake or UpdateDataLake operations contributes data to the rollup Region or Regions specified in this parameter. Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets. S3 buckets that are configured for object replication can be owned by the same Amazon Web Services account or by different accounts. You can replicate objects to a single destination bucket or to multiple destination buckets. The destination buckets can be in different Regions or within the same Region as the source bucket. * *(string) --* * **roleArn** *(string) --* Replication settings for the Amazon S3 buckets. This parameter uses the Identity and Access Management (IAM) role you created that is managed by Security Lake, to ensure the replication setting is correct. * **s3BucketArn** *(string) --* The ARN for the Amazon Security Lake Amazon S3 bucket. * **updateStatus** *(dict) --* The status of the last "UpdateDataLake ``or ``DeleteDataLake" API request. * **exception** *(dict) --* The details of the last "UpdateDataLake``or ``DeleteDataLake" API request which failed. * **code** *(string) --* The reason code for the exception of the last "UpdateDataLake" or "DeleteDataLake" API request. * **reason** *(string) --* The reason for the exception of the last "UpdateDataLake``or ``DeleteDataLake" API request. * **requestId** *(string) --* The unique ID for the last "UpdateDataLake" or "DeleteDataLake" API request. * **status** *(string) --* The status of the last "UpdateDataLake" or "DeleteDataLake" API request that was requested. **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / untag_resource untag_resource ************** SecurityLake.Client.untag_resource(**kwargs) Removes one or more tags (keys and values) from an Amazon Security Lake resource: a subscriber, or the data lake configuration for your Amazon Web Services account in a particular Amazon Web Services Region. See also: AWS API Documentation **Request Syntax** response = client.untag_resource( resourceArn='string', tagKeys=[ 'string', ] ) Parameters: * **resourceArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the Amazon Security Lake resource to remove one or more tags from. * **tagKeys** (*list*) -- **[REQUIRED]** A list of one or more tag keys. For each value in the list, specify the tag key for a tag to remove from the Amazon Security Lake resource. * *(string) --* Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / list_subscribers list_subscribers **************** SecurityLake.Client.list_subscribers(**kwargs) Lists all subscribers for the specific Amazon Security Lake account ID. You can retrieve a list of subscriptions associated with a specific organization or Amazon Web Services account. See also: AWS API Documentation **Request Syntax** response = client.list_subscribers( maxResults=123, nextToken='string' ) Parameters: * **maxResults** (*integer*) -- The maximum number of accounts for which the configuration is displayed. * **nextToken** (*string*) -- If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page. Return type: dict Returns: **Response Syntax** { 'nextToken': 'string', 'subscribers': [ { 'accessTypes': [ 'LAKEFORMATION'|'S3', ], 'createdAt': datetime(2015, 1, 1), 'resourceShareArn': 'string', 'resourceShareName': 'string', 'roleArn': 'string', 's3BucketArn': 'string', 'sources': [ { 'awsLogSource': { 'sourceName': 'ROUTE53'|'VPC_FLOW'|'SH_FINDINGS'|'CLOUD_TRAIL_MGMT'|'LAMBDA_EXECUTION'|'S3_DATA'|'EKS_AUDIT'|'WAF', 'sourceVersion': 'string' }, 'customLogSource': { 'attributes': { 'crawlerArn': 'string', 'databaseArn': 'string', 'tableArn': 'string' }, 'provider': { 'location': 'string', 'roleArn': 'string' }, 'sourceName': 'string', 'sourceVersion': 'string' } }, ], 'subscriberArn': 'string', 'subscriberDescription': 'string', 'subscriberEndpoint': 'string', 'subscriberId': 'string', 'subscriberIdentity': { 'externalId': 'string', 'principal': 'string' }, 'subscriberName': 'string', 'subscriberStatus': 'ACTIVE'|'DEACTIVATED'|'PENDING'|'READY', 'updatedAt': datetime(2015, 1, 1) }, ] } **Response Structure** * *(dict) --* * **nextToken** *(string) --* If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page. * **subscribers** *(list) --* The subscribers available for the specified Security Lake account ID. * *(dict) --* Provides details about the Amazon Security Lake account subscription. Subscribers are notified of new objects for a source as the data is written to your Amazon S3 bucket for Security Lake. * **accessTypes** *(list) --* You can choose to notify subscribers of new objects with an Amazon Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber. Subscribers can consume data by directly querying Lake Formation tables in your Amazon S3 bucket through services like Amazon Athena. This subscription type is defined as "LAKEFORMATION". * *(string) --* * **createdAt** *(datetime) --* The date and time when the subscriber was created. * **resourceShareArn** *(string) --* The Amazon Resource Name (ARN) which uniquely defines the Amazon Web Services RAM resource share. Before accepting the RAM resource share invitation, you can view details related to the RAM resource share. This field is available only for Lake Formation subscribers created after March 8, 2023. * **resourceShareName** *(string) --* The name of the resource share. * **roleArn** *(string) --* The Amazon Resource Name (ARN) specifying the role of the subscriber. * **s3BucketArn** *(string) --* The ARN for the Amazon S3 bucket. * **sources** *(list) --* Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. * *(dict) --* The supported source types from which logs and events are collected in Amazon Security Lake. For a list of supported Amazon Web Services services, see the Amazon Security Lake User Guide. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "awsLogSource", "customLogSource". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **awsLogSource** *(dict) --* Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. * **sourceName** *(string) --* The name for a Amazon Web Services source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a Amazon Web Services source. This must be a Regionally unique value. * **customLogSource** *(dict) --* Amazon Security Lake supports custom source types. For more information, see the Amazon Security Lake User Guide. * **attributes** *(dict) --* The attributes of a third-party custom source. * **crawlerArn** *(string) --* The ARN of the Glue crawler. * **databaseArn** *(string) --* The ARN of the Glue database where results are written, such as: "arn:aws:daylight:us- east-1::database/sometable/*". * **tableArn** *(string) --* The ARN of the Glue table. * **provider** *(dict) --* The details of the log provider for a third-party custom source. * **location** *(string) --* The location of the partition in the Amazon S3 bucket for Security Lake. * **roleArn** *(string) --* The ARN of the IAM role to be used by the entity putting logs into your custom source partition. Security Lake will apply the correct access policies to this role, but you must first manually create the trust policy for this role. The IAM role name must start with the text 'Security Lake'. The IAM role must trust the "logProviderAccountId" to assume the role. * **sourceName** *(string) --* The name for a third-party custom source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a third-party custom source. This must be a Regionally unique value. * **subscriberArn** *(string) --* The subscriber ARN of the Amazon Security Lake subscriber account. * **subscriberDescription** *(string) --* The subscriber descriptions for a subscriber account. The description for a subscriber includes "subscriberName", "accountID", "externalID", and "subscriberId". * **subscriberEndpoint** *(string) --* The subscriber endpoint to which exception messages are posted. * **subscriberId** *(string) --* The subscriber ID of the Amazon Security Lake subscriber account. * **subscriberIdentity** *(dict) --* The Amazon Web Services identity used to access your data. * **externalId** *(string) --* The external ID used to establish trust relationship with the Amazon Web Services identity. * **principal** *(string) --* The Amazon Web Services identity principal. * **subscriberName** *(string) --* The name of your Amazon Security Lake subscriber account. * **subscriberStatus** *(string) --* The subscriber status of the Amazon Security Lake subscriber account. * **updatedAt** *(datetime) --* The date and time when the subscriber was last updated. **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / list_data_lakes list_data_lakes *************** SecurityLake.Client.list_data_lakes(**kwargs) Retrieves the Amazon Security Lake configuration object for the specified Amazon Web Services Regions. You can use this operation to determine whether Security Lake is enabled for a Region. See also: AWS API Documentation **Request Syntax** response = client.list_data_lakes( regions=[ 'string', ] ) Parameters: **regions** (*list*) -- The list of Regions where Security Lake is enabled. * *(string) --* Return type: dict Returns: **Response Syntax** { 'dataLakes': [ { 'createStatus': 'INITIALIZED'|'PENDING'|'COMPLETED'|'FAILED', 'dataLakeArn': 'string', 'encryptionConfiguration': { 'kmsKeyId': 'string' }, 'lifecycleConfiguration': { 'expiration': { 'days': 123 }, 'transitions': [ { 'days': 123, 'storageClass': 'string' }, ] }, 'region': 'string', 'replicationConfiguration': { 'regions': [ 'string', ], 'roleArn': 'string' }, 's3BucketArn': 'string', 'updateStatus': { 'exception': { 'code': 'string', 'reason': 'string' }, 'requestId': 'string', 'status': 'INITIALIZED'|'PENDING'|'COMPLETED'|'FAILED' } }, ] } **Response Structure** * *(dict) --* * **dataLakes** *(list) --* Retrieves the Security Lake configuration object. * *(dict) --* Provides details of Amazon Security Lake object. * **createStatus** *(string) --* Retrieves the status of the "CreateDatalake" API call for an account in Amazon Security Lake. * **dataLakeArn** *(string) --* The Amazon Resource Name (ARN) created by you to provide to the subscriber. For more information about ARNs and how to use them in policies, see the Amazon Security Lake User Guide. * **encryptionConfiguration** *(dict) --* Provides encryption details of Amazon Security Lake object. * **kmsKeyId** *(string) --* The identifier of KMS encryption key used by Amazon Security Lake to encrypt the Security Lake object. * **lifecycleConfiguration** *(dict) --* Provides lifecycle details of Amazon Security Lake object. * **expiration** *(dict) --* Provides data expiration details of Amazon Security Lake object. * **days** *(integer) --* Number of days before data expires in the Amazon Security Lake object. * **transitions** *(list) --* Provides data storage transition details of Amazon Security Lake object. * *(dict) --* Provide transition lifecycle details of Amazon Security Lake object. * **days** *(integer) --* Number of days before data transitions to a different S3 Storage Class in the Amazon Security Lake object. * **storageClass** *(string) --* The range of storage classes that you can choose from based on the data access, resiliency, and cost requirements of your workloads. * **region** *(string) --* The Amazon Web Services Regions where Security Lake is enabled. * **replicationConfiguration** *(dict) --* Provides replication details of Amazon Security Lake object. * **regions** *(list) --* Specifies one or more centralized rollup Regions. The Amazon Web Services Region specified in the "region" parameter of the CreateDataLake or UpdateDataLake operations contributes data to the rollup Region or Regions specified in this parameter. Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets. S3 buckets that are configured for object replication can be owned by the same Amazon Web Services account or by different accounts. You can replicate objects to a single destination bucket or to multiple destination buckets. The destination buckets can be in different Regions or within the same Region as the source bucket. * *(string) --* * **roleArn** *(string) --* Replication settings for the Amazon S3 buckets. This parameter uses the Identity and Access Management (IAM) role you created that is managed by Security Lake, to ensure the replication setting is correct. * **s3BucketArn** *(string) --* The ARN for the Amazon Security Lake Amazon S3 bucket. * **updateStatus** *(dict) --* The status of the last "UpdateDataLake ``or ``DeleteDataLake" API request. * **exception** *(dict) --* The details of the last "UpdateDataLake``or ``DeleteDataLake" API request which failed. * **code** *(string) --* The reason code for the exception of the last "UpdateDataLake" or "DeleteDataLake" API request. * **reason** *(string) --* The reason for the exception of the last "UpdateDataLake``or ``DeleteDataLake" API request. * **requestId** *(string) --* The unique ID for the last "UpdateDataLake" or "DeleteDataLake" API request. * **status** *(string) --* The status of the last "UpdateDataLake" or "DeleteDataLake" API request that was requested. **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / create_data_lake_exception_subscription create_data_lake_exception_subscription *************************************** SecurityLake.Client.create_data_lake_exception_subscription(**kwargs) Creates the specified notification subscription in Amazon Security Lake for the organization you specify. The notification subscription is created for exceptions that cannot be resolved by Security Lake automatically. See also: AWS API Documentation **Request Syntax** response = client.create_data_lake_exception_subscription( exceptionTimeToLive=123, notificationEndpoint='string', subscriptionProtocol='string' ) Parameters: * **exceptionTimeToLive** (*integer*) -- The expiration period and time-to-live (TTL). It is the duration of time until which the exception message remains. * **notificationEndpoint** (*string*) -- **[REQUIRED]** The Amazon Web Services account where you want to receive exception notifications. * **subscriptionProtocol** (*string*) -- **[REQUIRED]** The subscription protocol to which exception notifications are posted. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / get_waiter get_waiter ********** SecurityLake.Client.get_waiter(waiter_name) Returns an object that can wait for some condition. Parameters: **waiter_name** (*str*) -- The name of the waiter to get. See the waiters section of the service docs for a list of available waiters. Returns: The specified waiter object. Return type: "botocore.waiter.Waiter" SecurityLake / Client / update_subscriber_notification update_subscriber_notification ****************************** SecurityLake.Client.update_subscriber_notification(**kwargs) Updates an existing notification method for the subscription (SQS or HTTPs endpoint) or switches the notification subscription endpoint for a subscriber. See also: AWS API Documentation **Request Syntax** response = client.update_subscriber_notification( configuration={ 'httpsNotificationConfiguration': { 'authorizationApiKeyName': 'string', 'authorizationApiKeyValue': 'string', 'endpoint': 'string', 'httpMethod': 'POST'|'PUT', 'targetRoleArn': 'string' }, 'sqsNotificationConfiguration': {} }, subscriberId='string' ) Parameters: * **configuration** (*dict*) -- **[REQUIRED]** The configuration for subscriber notification. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "httpsNotificationConfiguration", "sqsNotificationConfiguration". * **httpsNotificationConfiguration** *(dict) --* The configurations used for HTTPS subscriber notification. * **authorizationApiKeyName** *(string) --* The key name for the notification subscription. * **authorizationApiKeyValue** *(string) --* The key value for the notification subscription. * **endpoint** *(string) --* **[REQUIRED]** The subscription endpoint in Security Lake. If you prefer notification with an HTTPs endpoint, populate this field. * **httpMethod** *(string) --* The HTTPS method used for the notification subscription. * **targetRoleArn** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role that you created. For more information about ARNs and how to use them in policies, see Managing data access and Amazon Web Services Managed Policies in the *Amazon Security Lake User Guide*. * **sqsNotificationConfiguration** *(dict) --* The configurations for SQS subscriber notification. * **subscriberId** (*string*) -- **[REQUIRED]** The subscription ID for which the subscription notification is specified. Return type: dict Returns: **Response Syntax** { 'subscriberEndpoint': 'string' } **Response Structure** * *(dict) --* * **subscriberEndpoint** *(string) --* The subscriber endpoint to which exception messages are posted. **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / delete_data_lake_exception_subscription delete_data_lake_exception_subscription *************************************** SecurityLake.Client.delete_data_lake_exception_subscription() Deletes the specified notification subscription in Amazon Security Lake for the organization you specify. See also: AWS API Documentation **Request Syntax** response = client.delete_data_lake_exception_subscription() Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / get_data_lake_organization_configuration get_data_lake_organization_configuration **************************************** SecurityLake.Client.get_data_lake_organization_configuration() Retrieves the configuration that will be automatically set up for accounts added to the organization after the organization has onboarded to Amazon Security Lake. This API does not take input parameters. See also: AWS API Documentation **Request Syntax** response = client.get_data_lake_organization_configuration() Return type: dict Returns: **Response Syntax** { 'autoEnableNewAccount': [ { 'region': 'string', 'sources': [ { 'sourceName': 'ROUTE53'|'VPC_FLOW'|'SH_FINDINGS'|'CLOUD_TRAIL_MGMT'|'LAMBDA_EXECUTION'|'S3_DATA'|'EKS_AUDIT'|'WAF', 'sourceVersion': 'string' }, ] }, ] } **Response Structure** * *(dict) --* * **autoEnableNewAccount** *(list) --* The configuration used for new accounts in Security Lake. * *(dict) --* Automatically enable new organization accounts as member accounts from an Amazon Security Lake administrator account. * **region** *(string) --* The Amazon Web Services Regions where Security Lake is automatically enabled. * **sources** *(list) --* The Amazon Web Services sources that are automatically enabled in Security Lake. * *(dict) --* Amazon Security Lake can collect logs and events from natively-supported Amazon Web Services services. * **sourceName** *(string) --* The name for a Amazon Web Services source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a Amazon Web Services source. This must be a Regionally unique value. **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / delete_subscriber delete_subscriber ***************** SecurityLake.Client.delete_subscriber(**kwargs) Deletes the subscription permission and all notification settings for accounts that are already enabled in Amazon Security Lake. When you run "DeleteSubscriber", the subscriber will no longer consume data from Security Lake and the subscriber is removed. This operation deletes the subscriber and removes access to data in the current Amazon Web Services Region. See also: AWS API Documentation **Request Syntax** response = client.delete_subscriber( subscriberId='string' ) Parameters: **subscriberId** (*string*) -- **[REQUIRED]** A value created by Security Lake that uniquely identifies your "DeleteSubscriber" API request. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / deregister_data_lake_delegated_administrator deregister_data_lake_delegated_administrator ******************************************** SecurityLake.Client.deregister_data_lake_delegated_administrator() Deletes the Amazon Security Lake delegated administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account. See also: AWS API Documentation **Request Syntax** response = client.deregister_data_lake_delegated_administrator() Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / create_subscriber create_subscriber ***************** SecurityLake.Client.create_subscriber(**kwargs) Creates a subscriber for accounts that are already enabled in Amazon Security Lake. You can create a subscriber with access to data in the current Amazon Web Services Region. See also: AWS API Documentation **Request Syntax** response = client.create_subscriber( accessTypes=[ 'LAKEFORMATION'|'S3', ], sources=[ { 'awsLogSource': { 'sourceName': 'ROUTE53'|'VPC_FLOW'|'SH_FINDINGS'|'CLOUD_TRAIL_MGMT'|'LAMBDA_EXECUTION'|'S3_DATA'|'EKS_AUDIT'|'WAF', 'sourceVersion': 'string' }, 'customLogSource': { 'attributes': { 'crawlerArn': 'string', 'databaseArn': 'string', 'tableArn': 'string' }, 'provider': { 'location': 'string', 'roleArn': 'string' }, 'sourceName': 'string', 'sourceVersion': 'string' } }, ], subscriberDescription='string', subscriberIdentity={ 'externalId': 'string', 'principal': 'string' }, subscriberName='string', tags=[ { 'key': 'string', 'value': 'string' }, ] ) Parameters: * **accessTypes** (*list*) -- The Amazon S3 or Lake Formation access type. * *(string) --* * **sources** (*list*) -- **[REQUIRED]** The supported Amazon Web Services services from which logs and events are collected. Security Lake supports log and event collection for natively supported Amazon Web Services services. * *(dict) --* The supported source types from which logs and events are collected in Amazon Security Lake. For a list of supported Amazon Web Services services, see the Amazon Security Lake User Guide. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "awsLogSource", "customLogSource". * **awsLogSource** *(dict) --* Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. * **sourceName** *(string) --* The name for a Amazon Web Services source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a Amazon Web Services source. This must be a Regionally unique value. * **customLogSource** *(dict) --* Amazon Security Lake supports custom source types. For more information, see the Amazon Security Lake User Guide. * **attributes** *(dict) --* The attributes of a third-party custom source. * **crawlerArn** *(string) --* The ARN of the Glue crawler. * **databaseArn** *(string) --* The ARN of the Glue database where results are written, such as: "arn:aws:daylight:us- east-1::database/sometable/*". * **tableArn** *(string) --* The ARN of the Glue table. * **provider** *(dict) --* The details of the log provider for a third-party custom source. * **location** *(string) --* The location of the partition in the Amazon S3 bucket for Security Lake. * **roleArn** *(string) --* The ARN of the IAM role to be used by the entity putting logs into your custom source partition. Security Lake will apply the correct access policies to this role, but you must first manually create the trust policy for this role. The IAM role name must start with the text 'Security Lake'. The IAM role must trust the "logProviderAccountId" to assume the role. * **sourceName** *(string) --* The name for a third-party custom source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a third-party custom source. This must be a Regionally unique value. * **subscriberDescription** (*string*) -- The description for your subscriber account in Security Lake. * **subscriberIdentity** (*dict*) -- **[REQUIRED]** The Amazon Web Services identity used to access your data. * **externalId** *(string) --* **[REQUIRED]** The external ID used to establish trust relationship with the Amazon Web Services identity. * **principal** *(string) --* **[REQUIRED]** The Amazon Web Services identity principal. * **subscriberName** (*string*) -- **[REQUIRED]** The name of your Security Lake subscriber account. * **tags** (*list*) -- An array of objects, one for each tag to associate with the subscriber. For each tag, you must specify both a tag key and a tag value. A tag value cannot be null, but it can be an empty string. * *(dict) --* A *tag* is a label that you can define and associate with Amazon Web Services resources, including certain types of Amazon Security Lake resources. Tags can help you identify, categorize, and manage resources in different ways, such as by owner, environment, or other criteria. You can associate tags with the following types of Security Lake resources: subscribers, and the data lake configuration for your Amazon Web Services account in individual Amazon Web Services Regions. A resource can have up to 50 tags. Each tag consists of a required *tag key* and an associated *tag value*. A *tag key* is a general label that acts as a category for a more specific tag value. Each tag key must be unique and it can have only one tag value. A *tag value* acts as a descriptor for a tag key. Tag keys and values are case sensitive. They can contain letters, numbers, spaces, or the following symbols: _ . : / = + @ - For more information, see Tagging Amazon Security Lake resources in the *Amazon Security Lake User Guide*. * **key** *(string) --* **[REQUIRED]** The name of the tag. This is a general label that acts as a category for a more specific tag value ( "value"). * **value** *(string) --* **[REQUIRED]** The value that’s associated with the specified tag key ( "key"). This value acts as a descriptor for the tag key. A tag value cannot be null, but it can be an empty string. Return type: dict Returns: **Response Syntax** { 'subscriber': { 'accessTypes': [ 'LAKEFORMATION'|'S3', ], 'createdAt': datetime(2015, 1, 1), 'resourceShareArn': 'string', 'resourceShareName': 'string', 'roleArn': 'string', 's3BucketArn': 'string', 'sources': [ { 'awsLogSource': { 'sourceName': 'ROUTE53'|'VPC_FLOW'|'SH_FINDINGS'|'CLOUD_TRAIL_MGMT'|'LAMBDA_EXECUTION'|'S3_DATA'|'EKS_AUDIT'|'WAF', 'sourceVersion': 'string' }, 'customLogSource': { 'attributes': { 'crawlerArn': 'string', 'databaseArn': 'string', 'tableArn': 'string' }, 'provider': { 'location': 'string', 'roleArn': 'string' }, 'sourceName': 'string', 'sourceVersion': 'string' } }, ], 'subscriberArn': 'string', 'subscriberDescription': 'string', 'subscriberEndpoint': 'string', 'subscriberId': 'string', 'subscriberIdentity': { 'externalId': 'string', 'principal': 'string' }, 'subscriberName': 'string', 'subscriberStatus': 'ACTIVE'|'DEACTIVATED'|'PENDING'|'READY', 'updatedAt': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **subscriber** *(dict) --* Retrieve information about the subscriber created using the "CreateSubscriber" API. * **accessTypes** *(list) --* You can choose to notify subscribers of new objects with an Amazon Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber. Subscribers can consume data by directly querying Lake Formation tables in your Amazon S3 bucket through services like Amazon Athena. This subscription type is defined as "LAKEFORMATION". * *(string) --* * **createdAt** *(datetime) --* The date and time when the subscriber was created. * **resourceShareArn** *(string) --* The Amazon Resource Name (ARN) which uniquely defines the Amazon Web Services RAM resource share. Before accepting the RAM resource share invitation, you can view details related to the RAM resource share. This field is available only for Lake Formation subscribers created after March 8, 2023. * **resourceShareName** *(string) --* The name of the resource share. * **roleArn** *(string) --* The Amazon Resource Name (ARN) specifying the role of the subscriber. * **s3BucketArn** *(string) --* The ARN for the Amazon S3 bucket. * **sources** *(list) --* Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. * *(dict) --* The supported source types from which logs and events are collected in Amazon Security Lake. For a list of supported Amazon Web Services services, see the Amazon Security Lake User Guide. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "awsLogSource", "customLogSource". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **awsLogSource** *(dict) --* Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. * **sourceName** *(string) --* The name for a Amazon Web Services source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a Amazon Web Services source. This must be a Regionally unique value. * **customLogSource** *(dict) --* Amazon Security Lake supports custom source types. For more information, see the Amazon Security Lake User Guide. * **attributes** *(dict) --* The attributes of a third-party custom source. * **crawlerArn** *(string) --* The ARN of the Glue crawler. * **databaseArn** *(string) --* The ARN of the Glue database where results are written, such as: "arn:aws:daylight:us- east-1::database/sometable/*". * **tableArn** *(string) --* The ARN of the Glue table. * **provider** *(dict) --* The details of the log provider for a third-party custom source. * **location** *(string) --* The location of the partition in the Amazon S3 bucket for Security Lake. * **roleArn** *(string) --* The ARN of the IAM role to be used by the entity putting logs into your custom source partition. Security Lake will apply the correct access policies to this role, but you must first manually create the trust policy for this role. The IAM role name must start with the text 'Security Lake'. The IAM role must trust the "logProviderAccountId" to assume the role. * **sourceName** *(string) --* The name for a third-party custom source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a third-party custom source. This must be a Regionally unique value. * **subscriberArn** *(string) --* The subscriber ARN of the Amazon Security Lake subscriber account. * **subscriberDescription** *(string) --* The subscriber descriptions for a subscriber account. The description for a subscriber includes "subscriberName", "accountID", "externalID", and "subscriberId". * **subscriberEndpoint** *(string) --* The subscriber endpoint to which exception messages are posted. * **subscriberId** *(string) --* The subscriber ID of the Amazon Security Lake subscriber account. * **subscriberIdentity** *(dict) --* The Amazon Web Services identity used to access your data. * **externalId** *(string) --* The external ID used to establish trust relationship with the Amazon Web Services identity. * **principal** *(string) --* The Amazon Web Services identity principal. * **subscriberName** *(string) --* The name of your Amazon Security Lake subscriber account. * **subscriberStatus** *(string) --* The subscriber status of the Amazon Security Lake subscriber account. * **updatedAt** *(datetime) --* The date and time when the subscriber was last updated. **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / delete_subscriber_notification delete_subscriber_notification ****************************** SecurityLake.Client.delete_subscriber_notification(**kwargs) Deletes the specified subscription notification in Amazon Security Lake for the organization you specify. See also: AWS API Documentation **Request Syntax** response = client.delete_subscriber_notification( subscriberId='string' ) Parameters: **subscriberId** (*string*) -- **[REQUIRED]** The ID of the Security Lake subscriber account. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / list_data_lake_exceptions list_data_lake_exceptions ************************* SecurityLake.Client.list_data_lake_exceptions(**kwargs) Lists the Amazon Security Lake exceptions that you can use to find the source of problems and fix them. See also: AWS API Documentation **Request Syntax** response = client.list_data_lake_exceptions( maxResults=123, nextToken='string', regions=[ 'string', ] ) Parameters: * **maxResults** (*integer*) -- Lists the maximum number of failures in Security Lake. * **nextToken** (*string*) -- Lists if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. * **regions** (*list*) -- The Amazon Web Services Regions from which exceptions are retrieved. * *(string) --* Return type: dict Returns: **Response Syntax** { 'exceptions': [ { 'exception': 'string', 'region': 'string', 'remediation': 'string', 'timestamp': datetime(2015, 1, 1) }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **exceptions** *(list) --* Lists the failures that cannot be retried. * *(dict) --* The details for an Amazon Security Lake exception. * **exception** *(string) --* The underlying exception of a Security Lake exception. * **region** *(string) --* The Amazon Web Services Regions where the exception occurred. * **remediation** *(string) --* List of all remediation steps for a Security Lake exception. * **timestamp** *(datetime) --* This error can occur if you configure the wrong timestamp format, or if the subset of entries used for validation had errors or missing values. * **nextToken** *(string) --* Lists if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / register_data_lake_delegated_administrator register_data_lake_delegated_administrator ****************************************** SecurityLake.Client.register_data_lake_delegated_administrator(**kwargs) Designates the Amazon Security Lake delegated administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account. See also: AWS API Documentation **Request Syntax** response = client.register_data_lake_delegated_administrator( accountId='string' ) Parameters: **accountId** (*string*) -- **[REQUIRED]** The Amazon Web Services account ID of the Security Lake delegated administrator. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / close close ***** SecurityLake.Client.close() Closes underlying endpoint connections. SecurityLake / Client / update_data_lake update_data_lake **************** SecurityLake.Client.update_data_lake(**kwargs) You can use "UpdateDataLake" to specify where to store your security data, how it should be encrypted at rest and for how long. You can add a Rollup Region to consolidate data from multiple Amazon Web Services Regions, replace default encryption (SSE-S3) with Customer Manged Key, or specify transition and expiration actions through storage Lifecycle management. The "UpdateDataLake" API works as an "upsert" operation that performs an insert if the specified item or record does not exist, or an update if it already exists. Security Lake securely stores your data at rest using Amazon Web Services encryption solutions. For more details, see Data protection in Amazon Security Lake. For example, omitting the key "encryptionConfiguration" from a Region that is included in an update call that currently uses KMS will leave that Region's KMS key in place, but specifying "encryptionConfiguration: {kmsKeyId: 'S3_MANAGED_KEY'}" for that same Region will reset the key to "S3-managed". For more details about lifecycle management and how to update retention settings for one or more Regions after enabling Security Lake, see the Amazon Security Lake User Guide. See also: AWS API Documentation **Request Syntax** response = client.update_data_lake( configurations=[ { 'encryptionConfiguration': { 'kmsKeyId': 'string' }, 'lifecycleConfiguration': { 'expiration': { 'days': 123 }, 'transitions': [ { 'days': 123, 'storageClass': 'string' }, ] }, 'region': 'string', 'replicationConfiguration': { 'regions': [ 'string', ], 'roleArn': 'string' } }, ], metaStoreManagerRoleArn='string' ) Parameters: * **configurations** (*list*) -- **[REQUIRED]** Specifies the Region or Regions that will contribute data to the rollup region. * *(dict) --* Provides details of Amazon Security Lake object. * **encryptionConfiguration** *(dict) --* Provides encryption details of Amazon Security Lake object. * **kmsKeyId** *(string) --* The identifier of KMS encryption key used by Amazon Security Lake to encrypt the Security Lake object. * **lifecycleConfiguration** *(dict) --* Provides lifecycle details of Amazon Security Lake object. * **expiration** *(dict) --* Provides data expiration details of Amazon Security Lake object. * **days** *(integer) --* Number of days before data expires in the Amazon Security Lake object. * **transitions** *(list) --* Provides data storage transition details of Amazon Security Lake object. * *(dict) --* Provide transition lifecycle details of Amazon Security Lake object. * **days** *(integer) --* Number of days before data transitions to a different S3 Storage Class in the Amazon Security Lake object. * **storageClass** *(string) --* The range of storage classes that you can choose from based on the data access, resiliency, and cost requirements of your workloads. * **region** *(string) --* **[REQUIRED]** The Amazon Web Services Regions where Security Lake is automatically enabled. * **replicationConfiguration** *(dict) --* Provides replication details of Amazon Security Lake object. * **regions** *(list) --* Specifies one or more centralized rollup Regions. The Amazon Web Services Region specified in the "region" parameter of the CreateDataLake or UpdateDataLake operations contributes data to the rollup Region or Regions specified in this parameter. Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets. S3 buckets that are configured for object replication can be owned by the same Amazon Web Services account or by different accounts. You can replicate objects to a single destination bucket or to multiple destination buckets. The destination buckets can be in different Regions or within the same Region as the source bucket. * *(string) --* * **roleArn** *(string) --* Replication settings for the Amazon S3 buckets. This parameter uses the Identity and Access Management (IAM) role you created that is managed by Security Lake, to ensure the replication setting is correct. * **metaStoreManagerRoleArn** (*string*) -- The Amazon Resource Name (ARN) used to create and update the Glue table. This table contains partitions generated by the ingestion and normalization of Amazon Web Services log sources and custom sources. Return type: dict Returns: **Response Syntax** { 'dataLakes': [ { 'createStatus': 'INITIALIZED'|'PENDING'|'COMPLETED'|'FAILED', 'dataLakeArn': 'string', 'encryptionConfiguration': { 'kmsKeyId': 'string' }, 'lifecycleConfiguration': { 'expiration': { 'days': 123 }, 'transitions': [ { 'days': 123, 'storageClass': 'string' }, ] }, 'region': 'string', 'replicationConfiguration': { 'regions': [ 'string', ], 'roleArn': 'string' }, 's3BucketArn': 'string', 'updateStatus': { 'exception': { 'code': 'string', 'reason': 'string' }, 'requestId': 'string', 'status': 'INITIALIZED'|'PENDING'|'COMPLETED'|'FAILED' } }, ] } **Response Structure** * *(dict) --* * **dataLakes** *(list) --* The created Security Lake configuration object. * *(dict) --* Provides details of Amazon Security Lake object. * **createStatus** *(string) --* Retrieves the status of the "CreateDatalake" API call for an account in Amazon Security Lake. * **dataLakeArn** *(string) --* The Amazon Resource Name (ARN) created by you to provide to the subscriber. For more information about ARNs and how to use them in policies, see the Amazon Security Lake User Guide. * **encryptionConfiguration** *(dict) --* Provides encryption details of Amazon Security Lake object. * **kmsKeyId** *(string) --* The identifier of KMS encryption key used by Amazon Security Lake to encrypt the Security Lake object. * **lifecycleConfiguration** *(dict) --* Provides lifecycle details of Amazon Security Lake object. * **expiration** *(dict) --* Provides data expiration details of Amazon Security Lake object. * **days** *(integer) --* Number of days before data expires in the Amazon Security Lake object. * **transitions** *(list) --* Provides data storage transition details of Amazon Security Lake object. * *(dict) --* Provide transition lifecycle details of Amazon Security Lake object. * **days** *(integer) --* Number of days before data transitions to a different S3 Storage Class in the Amazon Security Lake object. * **storageClass** *(string) --* The range of storage classes that you can choose from based on the data access, resiliency, and cost requirements of your workloads. * **region** *(string) --* The Amazon Web Services Regions where Security Lake is enabled. * **replicationConfiguration** *(dict) --* Provides replication details of Amazon Security Lake object. * **regions** *(list) --* Specifies one or more centralized rollup Regions. The Amazon Web Services Region specified in the "region" parameter of the CreateDataLake or UpdateDataLake operations contributes data to the rollup Region or Regions specified in this parameter. Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets. S3 buckets that are configured for object replication can be owned by the same Amazon Web Services account or by different accounts. You can replicate objects to a single destination bucket or to multiple destination buckets. The destination buckets can be in different Regions or within the same Region as the source bucket. * *(string) --* * **roleArn** *(string) --* Replication settings for the Amazon S3 buckets. This parameter uses the Identity and Access Management (IAM) role you created that is managed by Security Lake, to ensure the replication setting is correct. * **s3BucketArn** *(string) --* The ARN for the Amazon Security Lake Amazon S3 bucket. * **updateStatus** *(dict) --* The status of the last "UpdateDataLake ``or ``DeleteDataLake" API request. * **exception** *(dict) --* The details of the last "UpdateDataLake``or ``DeleteDataLake" API request which failed. * **code** *(string) --* The reason code for the exception of the last "UpdateDataLake" or "DeleteDataLake" API request. * **reason** *(string) --* The reason for the exception of the last "UpdateDataLake``or ``DeleteDataLake" API request. * **requestId** *(string) --* The unique ID for the last "UpdateDataLake" or "DeleteDataLake" API request. * **status** *(string) --* The status of the last "UpdateDataLake" or "DeleteDataLake" API request that was requested. **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / delete_data_lake_organization_configuration delete_data_lake_organization_configuration ******************************************* SecurityLake.Client.delete_data_lake_organization_configuration(**kwargs) Turns off automatic enablement of Amazon Security Lake for member accounts that are added to an organization in Organizations. Only the delegated Security Lake administrator for an organization can perform this operation. If the delegated Security Lake administrator performs this operation, new member accounts won't automatically contribute data to the data lake. See also: AWS API Documentation **Request Syntax** response = client.delete_data_lake_organization_configuration( autoEnableNewAccount=[ { 'region': 'string', 'sources': [ { 'sourceName': 'ROUTE53'|'VPC_FLOW'|'SH_FINDINGS'|'CLOUD_TRAIL_MGMT'|'LAMBDA_EXECUTION'|'S3_DATA'|'EKS_AUDIT'|'WAF', 'sourceVersion': 'string' }, ] }, ] ) Parameters: **autoEnableNewAccount** (*list*) -- Turns off automatic enablement of Security Lake for member accounts that are added to an organization. * *(dict) --* Automatically enable new organization accounts as member accounts from an Amazon Security Lake administrator account. * **region** *(string) --* **[REQUIRED]** The Amazon Web Services Regions where Security Lake is automatically enabled. * **sources** *(list) --* **[REQUIRED]** The Amazon Web Services sources that are automatically enabled in Security Lake. * *(dict) --* Amazon Security Lake can collect logs and events from natively-supported Amazon Web Services services. * **sourceName** *(string) --* The name for a Amazon Web Services source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a Amazon Web Services source. This must be a Regionally unique value. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / get_data_lake_sources get_data_lake_sources ********************* SecurityLake.Client.get_data_lake_sources(**kwargs) Retrieves a snapshot of the current Region, including whether Amazon Security Lake is enabled for those accounts and which sources Security Lake is collecting data from. See also: AWS API Documentation **Request Syntax** response = client.get_data_lake_sources( accounts=[ 'string', ], maxResults=123, nextToken='string' ) Parameters: * **accounts** (*list*) -- The Amazon Web Services account ID for which a static snapshot of the current Amazon Web Services Region, including enabled accounts and log sources, is retrieved. * *(string) --* * **maxResults** (*integer*) -- The maximum limit of accounts for which the static snapshot of the current Region, including enabled accounts and log sources, is retrieved. * **nextToken** (*string*) -- Lists if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. Return type: dict Returns: **Response Syntax** { 'dataLakeArn': 'string', 'dataLakeSources': [ { 'account': 'string', 'eventClasses': [ 'string', ], 'sourceName': 'string', 'sourceStatuses': [ { 'resource': 'string', 'status': 'COLLECTING'|'MISCONFIGURED'|'NOT_COLLECTING' }, ] }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **dataLakeArn** *(string) --* The Amazon Resource Name (ARN) created by you to provide to the subscriber. For more information about ARNs and how to use them in policies, see the Amazon Security Lake User Guide. * **dataLakeSources** *(list) --* The list of enabled accounts and enabled sources. * *(dict) --* Amazon Security Lake collects logs and events from supported Amazon Web Services services and custom sources. For the list of supported Amazon Web Services services, see the Amazon Security Lake User Guide. * **account** *(string) --* The ID of the Security Lake account for which logs are collected. * **eventClasses** *(list) --* The Open Cybersecurity Schema Framework (OCSF) event classes describes the type of data that the custom source will send to Security Lake. For the list of supported event classes, see Supported OCSF Event classes in the Amazon Security Lake User Guide. * *(string) --* * **sourceName** *(string) --* The supported Amazon Web Services services from which logs and events are collected. Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. * **sourceStatuses** *(list) --* The log status for the Security Lake account. * *(dict) --* Retrieves the Logs status for the Amazon Security Lake account. * **resource** *(string) --* Defines path the stored logs are available which has information on your systems, applications, and services. * **status** *(string) --* The health status of services, including error codes and patterns. * **nextToken** *(string) --* Lists if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / create_custom_log_source create_custom_log_source ************************ SecurityLake.Client.create_custom_log_source(**kwargs) Adds a third-party custom source in Amazon Security Lake, from the Amazon Web Services Region where you want to create a custom source. Security Lake can collect logs and events from third-party custom sources. After creating the appropriate IAM role to invoke Glue crawler, use this API to add a custom source name in Security Lake. This operation creates a partition in the Amazon S3 bucket for Security Lake as the target location for log files from the custom source. In addition, this operation also creates an associated Glue table and an Glue crawler. See also: AWS API Documentation **Request Syntax** response = client.create_custom_log_source( configuration={ 'crawlerConfiguration': { 'roleArn': 'string' }, 'providerIdentity': { 'externalId': 'string', 'principal': 'string' } }, eventClasses=[ 'string', ], sourceName='string', sourceVersion='string' ) Parameters: * **configuration** (*dict*) -- **[REQUIRED]** The configuration used for the third-party custom source. * **crawlerConfiguration** *(dict) --* **[REQUIRED]** The configuration used for the Glue Crawler for a third- party custom source. * **roleArn** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role to be used by the Glue crawler. The recommended IAM policies are: * The managed policy "AWSGlueServiceRole" * A custom policy granting access to your Amazon S3 Data Lake * **providerIdentity** *(dict) --* **[REQUIRED]** The identity of the log provider for the third-party custom source. * **externalId** *(string) --* **[REQUIRED]** The external ID used to establish trust relationship with the Amazon Web Services identity. * **principal** *(string) --* **[REQUIRED]** The Amazon Web Services identity principal. * **eventClasses** (*list*) -- The Open Cybersecurity Schema Framework (OCSF) event classes which describes the type of data that the custom source will send to Security Lake. For the list of supported event classes, see the Amazon Security Lake User Guide. * *(string) --* * **sourceName** (*string*) -- **[REQUIRED]** Specify the name for a third-party custom source. This must be a Regionally unique value. The "sourceName" you enter here, is used in the "LogProviderRole" name which follows the convention "AmazonSecurityLake-Provider-{name of the custom source}-{region}". You must use a "CustomLogSource" name that is shorter than or equal to 20 characters. This ensures that the "LogProviderRole" name is below the 64 character limit. * **sourceVersion** (*string*) -- Specify the source version for the third-party custom source, to limit log collection to a specific version of custom data source. Return type: dict Returns: **Response Syntax** { 'source': { 'attributes': { 'crawlerArn': 'string', 'databaseArn': 'string', 'tableArn': 'string' }, 'provider': { 'location': 'string', 'roleArn': 'string' }, 'sourceName': 'string', 'sourceVersion': 'string' } } **Response Structure** * *(dict) --* * **source** *(dict) --* The third-party custom source that was created. * **attributes** *(dict) --* The attributes of a third-party custom source. * **crawlerArn** *(string) --* The ARN of the Glue crawler. * **databaseArn** *(string) --* The ARN of the Glue database where results are written, such as: "arn:aws:daylight:us- east-1::database/sometable/*". * **tableArn** *(string) --* The ARN of the Glue table. * **provider** *(dict) --* The details of the log provider for a third-party custom source. * **location** *(string) --* The location of the partition in the Amazon S3 bucket for Security Lake. * **roleArn** *(string) --* The ARN of the IAM role to be used by the entity putting logs into your custom source partition. Security Lake will apply the correct access policies to this role, but you must first manually create the trust policy for this role. The IAM role name must start with the text 'Security Lake'. The IAM role must trust the "logProviderAccountId" to assume the role. * **sourceName** *(string) --* The name for a third-party custom source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a third-party custom source. This must be a Regionally unique value. **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / create_data_lake_organization_configuration create_data_lake_organization_configuration ******************************************* SecurityLake.Client.create_data_lake_organization_configuration(**kwargs) Automatically enables Amazon Security Lake for new member accounts in your organization. Security Lake is not automatically enabled for any existing member accounts in your organization. This operation merges the new data lake organization configuration with the existing configuration for Security Lake in your organization. If you want to create a new data lake organization configuration, you must delete the existing one using DeleteDataLakeOrganizationConfiguration. See also: AWS API Documentation **Request Syntax** response = client.create_data_lake_organization_configuration( autoEnableNewAccount=[ { 'region': 'string', 'sources': [ { 'sourceName': 'ROUTE53'|'VPC_FLOW'|'SH_FINDINGS'|'CLOUD_TRAIL_MGMT'|'LAMBDA_EXECUTION'|'S3_DATA'|'EKS_AUDIT'|'WAF', 'sourceVersion': 'string' }, ] }, ] ) Parameters: **autoEnableNewAccount** (*list*) -- Enable Security Lake with the specified configuration settings, to begin collecting security data for new accounts in your organization. * *(dict) --* Automatically enable new organization accounts as member accounts from an Amazon Security Lake administrator account. * **region** *(string) --* **[REQUIRED]** The Amazon Web Services Regions where Security Lake is automatically enabled. * **sources** *(list) --* **[REQUIRED]** The Amazon Web Services sources that are automatically enabled in Security Lake. * *(dict) --* Amazon Security Lake can collect logs and events from natively-supported Amazon Web Services services. * **sourceName** *(string) --* The name for a Amazon Web Services source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a Amazon Web Services source. This must be a Regionally unique value. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / get_subscriber get_subscriber ************** SecurityLake.Client.get_subscriber(**kwargs) Retrieves the subscription information for the specified subscription ID. You can get information about a specific subscriber. See also: AWS API Documentation **Request Syntax** response = client.get_subscriber( subscriberId='string' ) Parameters: **subscriberId** (*string*) -- **[REQUIRED]** A value created by Amazon Security Lake that uniquely identifies your "GetSubscriber" API request. Return type: dict Returns: **Response Syntax** { 'subscriber': { 'accessTypes': [ 'LAKEFORMATION'|'S3', ], 'createdAt': datetime(2015, 1, 1), 'resourceShareArn': 'string', 'resourceShareName': 'string', 'roleArn': 'string', 's3BucketArn': 'string', 'sources': [ { 'awsLogSource': { 'sourceName': 'ROUTE53'|'VPC_FLOW'|'SH_FINDINGS'|'CLOUD_TRAIL_MGMT'|'LAMBDA_EXECUTION'|'S3_DATA'|'EKS_AUDIT'|'WAF', 'sourceVersion': 'string' }, 'customLogSource': { 'attributes': { 'crawlerArn': 'string', 'databaseArn': 'string', 'tableArn': 'string' }, 'provider': { 'location': 'string', 'roleArn': 'string' }, 'sourceName': 'string', 'sourceVersion': 'string' } }, ], 'subscriberArn': 'string', 'subscriberDescription': 'string', 'subscriberEndpoint': 'string', 'subscriberId': 'string', 'subscriberIdentity': { 'externalId': 'string', 'principal': 'string' }, 'subscriberName': 'string', 'subscriberStatus': 'ACTIVE'|'DEACTIVATED'|'PENDING'|'READY', 'updatedAt': datetime(2015, 1, 1) } } **Response Structure** * *(dict) --* * **subscriber** *(dict) --* The subscriber information for the specified subscriber ID. * **accessTypes** *(list) --* You can choose to notify subscribers of new objects with an Amazon Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber. Subscribers can consume data by directly querying Lake Formation tables in your Amazon S3 bucket through services like Amazon Athena. This subscription type is defined as "LAKEFORMATION". * *(string) --* * **createdAt** *(datetime) --* The date and time when the subscriber was created. * **resourceShareArn** *(string) --* The Amazon Resource Name (ARN) which uniquely defines the Amazon Web Services RAM resource share. Before accepting the RAM resource share invitation, you can view details related to the RAM resource share. This field is available only for Lake Formation subscribers created after March 8, 2023. * **resourceShareName** *(string) --* The name of the resource share. * **roleArn** *(string) --* The Amazon Resource Name (ARN) specifying the role of the subscriber. * **s3BucketArn** *(string) --* The ARN for the Amazon S3 bucket. * **sources** *(list) --* Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. * *(dict) --* The supported source types from which logs and events are collected in Amazon Security Lake. For a list of supported Amazon Web Services services, see the Amazon Security Lake User Guide. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "awsLogSource", "customLogSource". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **awsLogSource** *(dict) --* Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. * **sourceName** *(string) --* The name for a Amazon Web Services source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a Amazon Web Services source. This must be a Regionally unique value. * **customLogSource** *(dict) --* Amazon Security Lake supports custom source types. For more information, see the Amazon Security Lake User Guide. * **attributes** *(dict) --* The attributes of a third-party custom source. * **crawlerArn** *(string) --* The ARN of the Glue crawler. * **databaseArn** *(string) --* The ARN of the Glue database where results are written, such as: "arn:aws:daylight:us- east-1::database/sometable/*". * **tableArn** *(string) --* The ARN of the Glue table. * **provider** *(dict) --* The details of the log provider for a third-party custom source. * **location** *(string) --* The location of the partition in the Amazon S3 bucket for Security Lake. * **roleArn** *(string) --* The ARN of the IAM role to be used by the entity putting logs into your custom source partition. Security Lake will apply the correct access policies to this role, but you must first manually create the trust policy for this role. The IAM role name must start with the text 'Security Lake'. The IAM role must trust the "logProviderAccountId" to assume the role. * **sourceName** *(string) --* The name for a third-party custom source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a third-party custom source. This must be a Regionally unique value. * **subscriberArn** *(string) --* The subscriber ARN of the Amazon Security Lake subscriber account. * **subscriberDescription** *(string) --* The subscriber descriptions for a subscriber account. The description for a subscriber includes "subscriberName", "accountID", "externalID", and "subscriberId". * **subscriberEndpoint** *(string) --* The subscriber endpoint to which exception messages are posted. * **subscriberId** *(string) --* The subscriber ID of the Amazon Security Lake subscriber account. * **subscriberIdentity** *(dict) --* The Amazon Web Services identity used to access your data. * **externalId** *(string) --* The external ID used to establish trust relationship with the Amazon Web Services identity. * **principal** *(string) --* The Amazon Web Services identity principal. * **subscriberName** *(string) --* The name of your Amazon Security Lake subscriber account. * **subscriberStatus** *(string) --* The subscriber status of the Amazon Security Lake subscriber account. * **updatedAt** *(datetime) --* The date and time when the subscriber was last updated. **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / list_log_sources list_log_sources **************** SecurityLake.Client.list_log_sources(**kwargs) Retrieves the log sources. See also: AWS API Documentation **Request Syntax** response = client.list_log_sources( accounts=[ 'string', ], maxResults=123, nextToken='string', regions=[ 'string', ], sources=[ { 'awsLogSource': { 'sourceName': 'ROUTE53'|'VPC_FLOW'|'SH_FINDINGS'|'CLOUD_TRAIL_MGMT'|'LAMBDA_EXECUTION'|'S3_DATA'|'EKS_AUDIT'|'WAF', 'sourceVersion': 'string' }, 'customLogSource': { 'attributes': { 'crawlerArn': 'string', 'databaseArn': 'string', 'tableArn': 'string' }, 'provider': { 'location': 'string', 'roleArn': 'string' }, 'sourceName': 'string', 'sourceVersion': 'string' } }, ] ) Parameters: * **accounts** (*list*) -- The list of Amazon Web Services accounts for which log sources are displayed. * *(string) --* * **maxResults** (*integer*) -- The maximum number of accounts for which the log sources are displayed. * **nextToken** (*string*) -- If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page. * **regions** (*list*) -- The list of Regions for which log sources are displayed. * *(string) --* * **sources** (*list*) -- The list of sources for which log sources are displayed. * *(dict) --* The supported source types from which logs and events are collected in Amazon Security Lake. For a list of supported Amazon Web Services services, see the Amazon Security Lake User Guide. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "awsLogSource", "customLogSource". * **awsLogSource** *(dict) --* Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. * **sourceName** *(string) --* The name for a Amazon Web Services source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a Amazon Web Services source. This must be a Regionally unique value. * **customLogSource** *(dict) --* Amazon Security Lake supports custom source types. For more information, see the Amazon Security Lake User Guide. * **attributes** *(dict) --* The attributes of a third-party custom source. * **crawlerArn** *(string) --* The ARN of the Glue crawler. * **databaseArn** *(string) --* The ARN of the Glue database where results are written, such as: "arn:aws:daylight:us- east-1::database/sometable/*". * **tableArn** *(string) --* The ARN of the Glue table. * **provider** *(dict) --* The details of the log provider for a third-party custom source. * **location** *(string) --* The location of the partition in the Amazon S3 bucket for Security Lake. * **roleArn** *(string) --* The ARN of the IAM role to be used by the entity putting logs into your custom source partition. Security Lake will apply the correct access policies to this role, but you must first manually create the trust policy for this role. The IAM role name must start with the text 'Security Lake'. The IAM role must trust the "logProviderAccountId" to assume the role. * **sourceName** *(string) --* The name for a third-party custom source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a third-party custom source. This must be a Regionally unique value. Return type: dict Returns: **Response Syntax** { 'nextToken': 'string', 'sources': [ { 'account': 'string', 'region': 'string', 'sources': [ { 'awsLogSource': { 'sourceName': 'ROUTE53'|'VPC_FLOW'|'SH_FINDINGS'|'CLOUD_TRAIL_MGMT'|'LAMBDA_EXECUTION'|'S3_DATA'|'EKS_AUDIT'|'WAF', 'sourceVersion': 'string' }, 'customLogSource': { 'attributes': { 'crawlerArn': 'string', 'databaseArn': 'string', 'tableArn': 'string' }, 'provider': { 'location': 'string', 'roleArn': 'string' }, 'sourceName': 'string', 'sourceVersion': 'string' } }, ] }, ] } **Response Structure** * *(dict) --* * **nextToken** *(string) --* If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page. * **sources** *(list) --* The list of log sources in your organization that send data to the data lake. * *(dict) --* Amazon Security Lake can collect logs and events from natively-supported Amazon Web Services services and custom sources. * **account** *(string) --* Specify the account from which you want to collect logs. * **region** *(string) --* Specify the Regions from which you want to collect logs. * **sources** *(list) --* Specify the sources from which you want to collect logs. * *(dict) --* The supported source types from which logs and events are collected in Amazon Security Lake. For a list of supported Amazon Web Services services, see the Amazon Security Lake User Guide. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "awsLogSource", "customLogSource". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **awsLogSource** *(dict) --* Amazon Security Lake supports log and event collection for natively supported Amazon Web Services services. For more information, see the Amazon Security Lake User Guide. * **sourceName** *(string) --* The name for a Amazon Web Services source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a Amazon Web Services source. This must be a Regionally unique value. * **customLogSource** *(dict) --* Amazon Security Lake supports custom source types. For more information, see the Amazon Security Lake User Guide. * **attributes** *(dict) --* The attributes of a third-party custom source. * **crawlerArn** *(string) --* The ARN of the Glue crawler. * **databaseArn** *(string) --* The ARN of the Glue database where results are written, such as: "arn:aws:daylight:us- east-1::database/sometable/*". * **tableArn** *(string) --* The ARN of the Glue table. * **provider** *(dict) --* The details of the log provider for a third-party custom source. * **location** *(string) --* The location of the partition in the Amazon S3 bucket for Security Lake. * **roleArn** *(string) --* The ARN of the IAM role to be used by the entity putting logs into your custom source partition. Security Lake will apply the correct access policies to this role, but you must first manually create the trust policy for this role. The IAM role name must start with the text 'Security Lake'. The IAM role must trust the "logProviderAccountId" to assume the role. * **sourceName** *(string) --* The name for a third-party custom source. This must be a Regionally unique value. * **sourceVersion** *(string) --* The version for a third-party custom source. This must be a Regionally unique value. **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / tag_resource tag_resource ************ SecurityLake.Client.tag_resource(**kwargs) Adds or updates one or more tags that are associated with an Amazon Security Lake resource: a subscriber, or the data lake configuration for your Amazon Web Services account in a particular Amazon Web Services Region. A *tag* is a label that you can define and associate with Amazon Web Services resources. Each tag consists of a required *tag key* and an associated *tag value*. A *tag key* is a general label that acts as a category for a more specific tag value. A *tag value* acts as a descriptor for a tag key. Tags can help you identify, categorize, and manage resources in different ways, such as by owner, environment, or other criteria. For more information, see Tagging Amazon Security Lake resources in the *Amazon Security Lake User Guide*. See also: AWS API Documentation **Request Syntax** response = client.tag_resource( resourceArn='string', tags=[ { 'key': 'string', 'value': 'string' }, ] ) Parameters: * **resourceArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the Amazon Security Lake resource to add or update the tags for. * **tags** (*list*) -- **[REQUIRED]** An array of objects, one for each tag (key and value) to associate with the Amazon Security Lake resource. For each tag, you must specify both a tag key and a tag value. A tag value cannot be null, but it can be an empty string. * *(dict) --* A *tag* is a label that you can define and associate with Amazon Web Services resources, including certain types of Amazon Security Lake resources. Tags can help you identify, categorize, and manage resources in different ways, such as by owner, environment, or other criteria. You can associate tags with the following types of Security Lake resources: subscribers, and the data lake configuration for your Amazon Web Services account in individual Amazon Web Services Regions. A resource can have up to 50 tags. Each tag consists of a required *tag key* and an associated *tag value*. A *tag key* is a general label that acts as a category for a more specific tag value. Each tag key must be unique and it can have only one tag value. A *tag value* acts as a descriptor for a tag key. Tag keys and values are case sensitive. They can contain letters, numbers, spaces, or the following symbols: _ . : / = + @ - For more information, see Tagging Amazon Security Lake resources in the *Amazon Security Lake User Guide*. * **key** *(string) --* **[REQUIRED]** The name of the tag. This is a general label that acts as a category for a more specific tag value ( "value"). * **value** *(string) --* **[REQUIRED]** The value that’s associated with the specified tag key ( "key"). This value acts as a descriptor for the tag key. A tag value cannot be null, but it can be an empty string. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / create_aws_log_source create_aws_log_source ********************* SecurityLake.Client.create_aws_log_source(**kwargs) Adds a natively supported Amazon Web Services service as an Amazon Security Lake source. Enables source types for member accounts in required Amazon Web Services Regions, based on the parameters you specify. You can choose any source type in any Region for either accounts that are part of a trusted organization or standalone accounts. Once you add an Amazon Web Services service as a source, Security Lake starts collecting logs and events from it. You can use this API only to enable natively supported Amazon Web Services services as a source. Use "CreateCustomLogSource" to enable data collection from a custom source. See also: AWS API Documentation **Request Syntax** response = client.create_aws_log_source( sources=[ { 'accounts': [ 'string', ], 'regions': [ 'string', ], 'sourceName': 'ROUTE53'|'VPC_FLOW'|'SH_FINDINGS'|'CLOUD_TRAIL_MGMT'|'LAMBDA_EXECUTION'|'S3_DATA'|'EKS_AUDIT'|'WAF', 'sourceVersion': 'string' }, ] ) Parameters: **sources** (*list*) -- **[REQUIRED]** Specify the natively-supported Amazon Web Services service to add as a source in Security Lake. * *(dict) --* To add a natively-supported Amazon Web Services service as a log source, use these parameters to specify the configuration settings for the log source. * **accounts** *(list) --* Specify the Amazon Web Services account information where you want to enable Security Lake. * *(string) --* * **regions** *(list) --* **[REQUIRED]** Specify the Regions where you want to enable Security Lake. * *(string) --* * **sourceName** *(string) --* **[REQUIRED]** The name for a Amazon Web Services source. * **sourceVersion** *(string) --* The version for a Amazon Web Services source. Return type: dict Returns: **Response Syntax** { 'failed': [ 'string', ] } **Response Structure** * *(dict) --* * **failed** *(list) --* Lists all accounts in which enabling a natively supported Amazon Web Services service as a Security Lake source failed. The failure occurred as these accounts are not part of an organization. * *(string) --* **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException" SecurityLake / Client / delete_aws_log_source delete_aws_log_source ********************* SecurityLake.Client.delete_aws_log_source(**kwargs) Removes a natively supported Amazon Web Services service as an Amazon Security Lake source. You can remove a source for one or more Regions. When you remove the source, Security Lake stops collecting data from that source in the specified Regions and accounts, and subscribers can no longer consume new data from the source. However, subscribers can still consume data that Security Lake collected from the source before removal. You can choose any source type in any Amazon Web Services Region for either accounts that are part of a trusted organization or standalone accounts. See also: AWS API Documentation **Request Syntax** response = client.delete_aws_log_source( sources=[ { 'accounts': [ 'string', ], 'regions': [ 'string', ], 'sourceName': 'ROUTE53'|'VPC_FLOW'|'SH_FINDINGS'|'CLOUD_TRAIL_MGMT'|'LAMBDA_EXECUTION'|'S3_DATA'|'EKS_AUDIT'|'WAF', 'sourceVersion': 'string' }, ] ) Parameters: **sources** (*list*) -- **[REQUIRED]** Specify the natively-supported Amazon Web Services service to remove as a source in Security Lake. * *(dict) --* To add a natively-supported Amazon Web Services service as a log source, use these parameters to specify the configuration settings for the log source. * **accounts** *(list) --* Specify the Amazon Web Services account information where you want to enable Security Lake. * *(string) --* * **regions** *(list) --* **[REQUIRED]** Specify the Regions where you want to enable Security Lake. * *(string) --* * **sourceName** *(string) --* **[REQUIRED]** The name for a Amazon Web Services source. * **sourceVersion** *(string) --* The version for a Amazon Web Services source. Return type: dict Returns: **Response Syntax** { 'failed': [ 'string', ] } **Response Structure** * *(dict) --* * **failed** *(list) --* Deletion of the Amazon Web Services sources failed as the account is not a part of the organization. * *(string) --* **Exceptions** * "SecurityLake.Client.exceptions.BadRequestException" * "SecurityLake.Client.exceptions.ResourceNotFoundException" * "SecurityLake.Client.exceptions.InternalServerException" * "SecurityLake.Client.exceptions.AccessDeniedException" * "SecurityLake.Client.exceptions.ConflictException" * "SecurityLake.Client.exceptions.ThrottlingException"