SDK for PHP 3.x

Client: Aws\SecurityLake\SecurityLakeClient
Service ID: securitylake
Version: 2018-05-10

This page describes the parameters and results for the operations of the Amazon Security Lake (2018-05-10), and shows how to use the Aws\SecurityLake\SecurityLakeClient object to call the described operations. This documentation is specific to the 2018-05-10 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

CreateAwsLogSource ( array $params = [] )
Adds a natively supported Amazon Web Services service as an Amazon Security Lake source.
CreateCustomLogSource ( array $params = [] )
Adds a third-party custom source in Amazon Security Lake, from the Amazon Web Services Region where you want to create a custom source.
CreateDataLake ( array $params = [] )
Initializes an Amazon Security Lake instance with the provided (or default) configuration.
CreateDataLakeExceptionSubscription ( array $params = [] )
Creates the specified notification subscription in Amazon Security Lake for the organization you specify.
CreateDataLakeOrganizationConfiguration ( array $params = [] )
Automatically enables Amazon Security Lake for new member accounts in your organization.
CreateSubscriber ( array $params = [] )
Creates a subscriber for accounts that are already enabled in Amazon Security Lake.
CreateSubscriberNotification ( array $params = [] )
Notifies the subscriber when new data is written to the data lake for the sources that the subscriber consumes in Security Lake.
DeleteAwsLogSource ( array $params = [] )
Removes a natively supported Amazon Web Services service as an Amazon Security Lake source.
DeleteCustomLogSource ( array $params = [] )
Removes a custom log source from Amazon Security Lake, to stop sending data from the custom source to Security Lake.
DeleteDataLake ( array $params = [] )
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.
DeleteDataLakeExceptionSubscription ( array $params = [] )
Deletes the specified notification subscription in Amazon Security Lake for the organization you specify.
DeleteDataLakeOrganizationConfiguration ( array $params = [] )
Turns off automatic enablement of Amazon Security Lake for member accounts that are added to an organization in Organizations.
DeleteSubscriber ( array $params = [] )
Deletes the subscription permission and all notification settings for accounts that are already enabled in Amazon Security Lake.
DeleteSubscriberNotification ( array $params = [] )
Deletes the specified subscription notification in Amazon Security Lake for the organization you specify.
DeregisterDataLakeDelegatedAdministrator ( array $params = [] )
Deletes the Amazon Security Lake delegated administrator account for the organization.
GetDataLakeExceptionSubscription ( array $params = [] )
Retrieves the protocol and endpoint that were provided when subscribing to Amazon SNS topics for exception notifications.
GetDataLakeOrganizationConfiguration ( array $params = [] )
Retrieves the configuration that will be automatically set up for accounts added to the organization after the organization has onboarded to Amazon Security Lake.
GetDataLakeSources ( array $params = [] )
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.
GetSubscriber ( array $params = [] )
Retrieves the subscription information for the specified subscription ID.
ListDataLakeExceptions ( array $params = [] )
Lists the Amazon Security Lake exceptions that you can use to find the source of problems and fix them.
ListDataLakes ( array $params = [] )
Retrieves the Amazon Security Lake configuration object for the specified Amazon Web Services Regions.
ListLogSources ( array $params = [] )
Retrieves the log sources.
ListSubscribers ( array $params = [] )
Lists all subscribers for the specific Amazon Security Lake account ID.
ListTagsForResource ( array $params = [] )
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.
RegisterDataLakeDelegatedAdministrator ( array $params = [] )
Designates the Amazon Security Lake delegated administrator account for the organization.
TagResource ( array $params = [] )
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.
UntagResource ( array $params = [] )
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.
UpdateDataLake ( array $params = [] )
You can use UpdateDataLake to specify where to store your security data, how it should be encrypted at rest and for how long.
UpdateDataLakeExceptionSubscription ( array $params = [] )
Updates the specified notification subscription in Amazon Security Lake for the organization you specify.
UpdateSubscriber ( array $params = [] )
Updates an existing subscription for the given Amazon Security Lake account ID.
UpdateSubscriberNotification ( array $params = [] )
Updates an existing notification method for the subscription (SQS or HTTPs endpoint) or switches the notification subscription endpoint for a subscriber.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

GetDataLakeSources
ListDataLakeExceptions
ListLogSources
ListSubscribers

Operations

CreateAwsLogSource

$result = $client->createAwsLogSource([/* ... */]);
$promise = $client->createAwsLogSourceAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->createAwsLogSource([
    'sources' => [ // REQUIRED
        [
            'accounts' => ['<string>', ...],
            'regions' => ['<string>', ...], // REQUIRED
            'sourceName' => 'ROUTE53|VPC_FLOW|SH_FINDINGS|CLOUD_TRAIL_MGMT|LAMBDA_EXECUTION|S3_DATA|EKS_AUDIT|WAF', // REQUIRED
            'sourceVersion' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
sources
Required: Yes
Type: Array of AwsLogSourceConfiguration structures

Specify the natively-supported Amazon Web Services service to add as a source in Security Lake.

Result Syntax

[
    'failed' => ['<string>', ...],
]

Result Details

Members
failed
Type: Array of strings

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.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

CreateCustomLogSource

$result = $client->createCustomLogSource([/* ... */]);
$promise = $client->createCustomLogSourceAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->createCustomLogSource([
    'configuration' => [ // REQUIRED
        'crawlerConfiguration' => [ // REQUIRED
            'roleArn' => '<string>', // REQUIRED
        ],
        'providerIdentity' => [ // REQUIRED
            'externalId' => '<string>', // REQUIRED
            'principal' => '<string>', // REQUIRED
        ],
    ],
    'eventClasses' => ['<string>', ...],
    'sourceName' => '<string>', // REQUIRED
    'sourceVersion' => '<string>',
]);

Parameter Details

Members
configuration
Required: Yes
Type: CustomLogSourceConfiguration structure

The configuration used for the third-party custom source.

eventClasses
Type: Array of strings

The Open Cybersecurity Schema Framework (OCSF) event classes which describes the type of data that the custom source will send to Security Lake. The supported event classes are:

  • ACCESS_ACTIVITY

  • FILE_ACTIVITY

  • KERNEL_ACTIVITY

  • KERNEL_EXTENSION

  • MEMORY_ACTIVITY

  • MODULE_ACTIVITY

  • PROCESS_ACTIVITY

  • REGISTRY_KEY_ACTIVITY

  • REGISTRY_VALUE_ACTIVITY

  • RESOURCE_ACTIVITY

  • SCHEDULED_JOB_ACTIVITY

  • SECURITY_FINDING

  • ACCOUNT_CHANGE

  • AUTHENTICATION

  • AUTHORIZATION

  • ENTITY_MANAGEMENT_AUDIT

  • DHCP_ACTIVITY

  • NETWORK_ACTIVITY

  • DNS_ACTIVITY

  • FTP_ACTIVITY

  • HTTP_ACTIVITY

  • RDP_ACTIVITY

  • SMB_ACTIVITY

  • SSH_ACTIVITY

  • CONFIG_STATE

  • INVENTORY_INFO

  • EMAIL_ACTIVITY

  • API_ACTIVITY

  • CLOUD_API

sourceName
Required: Yes
Type: string

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
Type: string

Specify the source version for the third-party custom source, to limit log collection to a specific version of custom data source.

Result Syntax

[
    'source' => [
        'attributes' => [
            'crawlerArn' => '<string>',
            'databaseArn' => '<string>',
            'tableArn' => '<string>',
        ],
        'provider' => [
            'location' => '<string>',
            'roleArn' => '<string>',
        ],
        'sourceName' => '<string>',
        'sourceVersion' => '<string>',
    ],
]

Result Details

Members
source
Type: CustomLogSourceResource structure

The third-party custom source that was created.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

CreateDataLake

$result = $client->createDataLake([/* ... */]);
$promise = $client->createDataLakeAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->createDataLake([
    'configurations' => [ // REQUIRED
        [
            'encryptionConfiguration' => [
                'kmsKeyId' => '<string>',
            ],
            'lifecycleConfiguration' => [
                'expiration' => [
                    'days' => <integer>,
                ],
                'transitions' => [
                    [
                        'days' => <integer>,
                        'storageClass' => '<string>',
                    ],
                    // ...
                ],
            ],
            'region' => '<string>', // REQUIRED
            'replicationConfiguration' => [
                'regions' => ['<string>', ...],
                'roleArn' => '<string>',
            ],
        ],
        // ...
    ],
    'metaStoreManagerRoleArn' => '<string>', // REQUIRED
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
configurations
Required: Yes
Type: Array of DataLakeConfiguration structures

Specify the Region or Regions that will contribute data to the rollup region.

metaStoreManagerRoleArn
Required: Yes
Type: 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.

tags
Type: Array of Tag structures

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.

Result Syntax

[
    'dataLakes' => [
        [
            'createStatus' => 'INITIALIZED|PENDING|COMPLETED|FAILED',
            'dataLakeArn' => '<string>',
            'encryptionConfiguration' => [
                'kmsKeyId' => '<string>',
            ],
            'lifecycleConfiguration' => [
                'expiration' => [
                    'days' => <integer>,
                ],
                'transitions' => [
                    [
                        'days' => <integer>,
                        'storageClass' => '<string>',
                    ],
                    // ...
                ],
            ],
            'region' => '<string>',
            'replicationConfiguration' => [
                'regions' => ['<string>', ...],
                'roleArn' => '<string>',
            ],
            's3BucketArn' => '<string>',
            'updateStatus' => [
                'exception' => [
                    'code' => '<string>',
                    'reason' => '<string>',
                ],
                'requestId' => '<string>',
                'status' => 'INITIALIZED|PENDING|COMPLETED|FAILED',
            ],
        ],
        // ...
    ],
]

Result Details

Members
dataLakes
Type: Array of DataLakeResource structures

The created Security Lake configuration object.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

CreateDataLakeExceptionSubscription

$result = $client->createDataLakeExceptionSubscription([/* ... */]);
$promise = $client->createDataLakeExceptionSubscriptionAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->createDataLakeExceptionSubscription([
    'exceptionTimeToLive' => <integer>,
    'notificationEndpoint' => '<string>', // REQUIRED
    'subscriptionProtocol' => '<string>', // REQUIRED
]);

Parameter Details

Members
exceptionTimeToLive
Type: long (int|float)

The expiration period and time-to-live (TTL). It is the duration of time until which the exception message remains.

notificationEndpoint
Required: Yes
Type: string

The Amazon Web Services account where you want to receive exception notifications.

subscriptionProtocol
Required: Yes
Type: string

The subscription protocol to which exception notifications are posted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

CreateDataLakeOrganizationConfiguration

$result = $client->createDataLakeOrganizationConfiguration([/* ... */]);
$promise = $client->createDataLakeOrganizationConfigurationAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->createDataLakeOrganizationConfiguration([
    'autoEnableNewAccount' => [
        [
            'region' => '<string>', // REQUIRED
            'sources' => [ // REQUIRED
                [
                    'sourceName' => 'ROUTE53|VPC_FLOW|SH_FINDINGS|CLOUD_TRAIL_MGMT|LAMBDA_EXECUTION|S3_DATA|EKS_AUDIT|WAF',
                    'sourceVersion' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
autoEnableNewAccount
Type: Array of DataLakeAutoEnableNewAccountConfiguration structures

Enable Security Lake with the specified configuration settings, to begin collecting security data for new accounts in your organization.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

CreateSubscriber

$result = $client->createSubscriber([/* ... */]);
$promise = $client->createSubscriberAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->createSubscriber([
    'accessTypes' => ['<string>', ...],
    'sources' => [ // REQUIRED
        [
            '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' => [ // REQUIRED
        'externalId' => '<string>', // REQUIRED
        'principal' => '<string>', // REQUIRED
    ],
    'subscriberName' => '<string>', // REQUIRED
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
accessTypes
Type: Array of strings

The Amazon S3 or Lake Formation access type.

sources
Required: Yes
Type: Array of LogSourceResource structures

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.

subscriberDescription
Type: string

The description for your subscriber account in Security Lake.

subscriberIdentity
Required: Yes
Type: AwsIdentity structure

The Amazon Web Services identity used to access your data.

subscriberName
Required: Yes
Type: string

The name of your Security Lake subscriber account.

tags
Type: Array of Tag structures

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.

Result Syntax

[
    'subscriber' => [
        'accessTypes' => ['<string>', ...],
        'createdAt' => <DateTime>,
        '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>,
    ],
]

Result Details

Members
subscriber
Type: SubscriberResource structure

Retrieve information about the subscriber created using the CreateSubscriber API.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

CreateSubscriberNotification

$result = $client->createSubscriberNotification([/* ... */]);
$promise = $client->createSubscriberNotificationAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->createSubscriberNotification([
    'configuration' => [ // REQUIRED
        'httpsNotificationConfiguration' => [
            'authorizationApiKeyName' => '<string>',
            'authorizationApiKeyValue' => '<string>',
            'endpoint' => '<string>', // REQUIRED
            'httpMethod' => 'POST|PUT',
            'targetRoleArn' => '<string>', // REQUIRED
        ],
        'sqsNotificationConfiguration' => [
        ],
    ],
    'subscriberId' => '<string>', // REQUIRED
]);

Parameter Details

Members
configuration
Required: Yes
Type: NotificationConfiguration structure

Specify the configuration using which you want to create the subscriber notification.

subscriberId
Required: Yes
Type: string

The subscriber ID for the notification subscription.

Result Syntax

[
    'subscriberEndpoint' => '<string>',
]

Result Details

Members
subscriberEndpoint
Type: string

The subscriber endpoint to which exception messages are posted.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

DeleteAwsLogSource

$result = $client->deleteAwsLogSource([/* ... */]);
$promise = $client->deleteAwsLogSourceAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->deleteAwsLogSource([
    'sources' => [ // REQUIRED
        [
            'accounts' => ['<string>', ...],
            'regions' => ['<string>', ...], // REQUIRED
            'sourceName' => 'ROUTE53|VPC_FLOW|SH_FINDINGS|CLOUD_TRAIL_MGMT|LAMBDA_EXECUTION|S3_DATA|EKS_AUDIT|WAF', // REQUIRED
            'sourceVersion' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
sources
Required: Yes
Type: Array of AwsLogSourceConfiguration structures

Specify the natively-supported Amazon Web Services service to remove as a source in Security Lake.

Result Syntax

[
    'failed' => ['<string>', ...],
]

Result Details

Members
failed
Type: Array of strings

Deletion of the Amazon Web Services sources failed as the account is not a part of the organization.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

DeleteCustomLogSource

$result = $client->deleteCustomLogSource([/* ... */]);
$promise = $client->deleteCustomLogSourceAsync([/* ... */]);

Removes a custom log source from Amazon Security Lake, to stop sending data from the custom source to Security Lake.

Parameter Syntax

$result = $client->deleteCustomLogSource([
    'sourceName' => '<string>', // REQUIRED
    'sourceVersion' => '<string>',
]);

Parameter Details

Members
sourceName
Required: Yes
Type: string

The source name of custom log source that you want to delete.

sourceVersion
Type: string

The source version for the third-party custom source. You can limit the custom source removal to the specified source version.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

DeleteDataLake

$result = $client->deleteDataLake([/* ... */]);
$promise = $client->deleteDataLakeAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->deleteDataLake([
    'regions' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
regions
Required: Yes
Type: Array of strings

The list of Regions where Security Lake is enabled.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

DeleteDataLakeExceptionSubscription

$result = $client->deleteDataLakeExceptionSubscription([/* ... */]);
$promise = $client->deleteDataLakeExceptionSubscriptionAsync([/* ... */]);

Deletes the specified notification subscription in Amazon Security Lake for the organization you specify.

Parameter Syntax

$result = $client->deleteDataLakeExceptionSubscription([
]);

Parameter Details

Members

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

DeleteDataLakeOrganizationConfiguration

$result = $client->deleteDataLakeOrganizationConfiguration([/* ... */]);
$promise = $client->deleteDataLakeOrganizationConfigurationAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->deleteDataLakeOrganizationConfiguration([
    'autoEnableNewAccount' => [
        [
            'region' => '<string>', // REQUIRED
            'sources' => [ // REQUIRED
                [
                    'sourceName' => 'ROUTE53|VPC_FLOW|SH_FINDINGS|CLOUD_TRAIL_MGMT|LAMBDA_EXECUTION|S3_DATA|EKS_AUDIT|WAF',
                    'sourceVersion' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
autoEnableNewAccount
Type: Array of DataLakeAutoEnableNewAccountConfiguration structures

Turns off automatic enablement of Security Lake for member accounts that are added to an organization.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

DeleteSubscriber

$result = $client->deleteSubscriber([/* ... */]);
$promise = $client->deleteSubscriberAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->deleteSubscriber([
    'subscriberId' => '<string>', // REQUIRED
]);

Parameter Details

Members
subscriberId
Required: Yes
Type: string

A value created by Security Lake that uniquely identifies your DeleteSubscriber API request.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

DeleteSubscriberNotification

$result = $client->deleteSubscriberNotification([/* ... */]);
$promise = $client->deleteSubscriberNotificationAsync([/* ... */]);

Deletes the specified subscription notification in Amazon Security Lake for the organization you specify.

Parameter Syntax

$result = $client->deleteSubscriberNotification([
    'subscriberId' => '<string>', // REQUIRED
]);

Parameter Details

Members
subscriberId
Required: Yes
Type: string

The ID of the Security Lake subscriber account.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

DeregisterDataLakeDelegatedAdministrator

$result = $client->deregisterDataLakeDelegatedAdministrator([/* ... */]);
$promise = $client->deregisterDataLakeDelegatedAdministratorAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->deregisterDataLakeDelegatedAdministrator([
]);

Parameter Details

Members

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

GetDataLakeExceptionSubscription

$result = $client->getDataLakeExceptionSubscription([/* ... */]);
$promise = $client->getDataLakeExceptionSubscriptionAsync([/* ... */]);

Retrieves the protocol and endpoint that were provided when subscribing to Amazon SNS topics for exception notifications.

Parameter Syntax

$result = $client->getDataLakeExceptionSubscription([
]);

Parameter Details

Members

Result Syntax

[
    'exceptionTimeToLive' => <integer>,
    'notificationEndpoint' => '<string>',
    'subscriptionProtocol' => '<string>',
]

Result Details

Members
exceptionTimeToLive
Type: long (int|float)

The expiration period and time-to-live (TTL). It is the duration of time until which the exception message remains.

notificationEndpoint
Type: string

The Amazon Web Services account where you receive exception notifications.

subscriptionProtocol
Type: string

The subscription protocol to which exception notifications are posted.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

GetDataLakeOrganizationConfiguration

$result = $client->getDataLakeOrganizationConfiguration([/* ... */]);
$promise = $client->getDataLakeOrganizationConfigurationAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->getDataLakeOrganizationConfiguration([
]);

Parameter Details

Members

Result Syntax

[
    'autoEnableNewAccount' => [
        [
            'region' => '<string>',
            'sources' => [
                [
                    'sourceName' => 'ROUTE53|VPC_FLOW|SH_FINDINGS|CLOUD_TRAIL_MGMT|LAMBDA_EXECUTION|S3_DATA|EKS_AUDIT|WAF',
                    'sourceVersion' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
autoEnableNewAccount
Type: Array of DataLakeAutoEnableNewAccountConfiguration structures

The configuration used for new accounts in Security Lake.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

GetDataLakeSources

$result = $client->getDataLakeSources([/* ... */]);
$promise = $client->getDataLakeSourcesAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->getDataLakeSources([
    'accounts' => ['<string>', ...],
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
accounts
Type: Array of strings

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.

maxResults
Type: int

The maximum limit of accounts for which the static snapshot of the current Region, including enabled accounts and log sources, is retrieved.

nextToken
Type: 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.

Result Syntax

[
    'dataLakeArn' => '<string>',
    'dataLakeSources' => [
        [
            'account' => '<string>',
            'eventClasses' => ['<string>', ...],
            'sourceName' => '<string>',
            'sourceStatuses' => [
                [
                    'resource' => '<string>',
                    'status' => 'COLLECTING|MISCONFIGURED|NOT_COLLECTING',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
dataLakeArn
Type: 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
Type: Array of DataLakeSource structures

The list of enabled accounts and enabled sources.

nextToken
Type: 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.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

GetSubscriber

$result = $client->getSubscriber([/* ... */]);
$promise = $client->getSubscriberAsync([/* ... */]);

Retrieves the subscription information for the specified subscription ID. You can get information about a specific subscriber.

Parameter Syntax

$result = $client->getSubscriber([
    'subscriberId' => '<string>', // REQUIRED
]);

Parameter Details

Members
subscriberId
Required: Yes
Type: string

A value created by Amazon Security Lake that uniquely identifies your GetSubscriber API request.

Result Syntax

[
    'subscriber' => [
        'accessTypes' => ['<string>', ...],
        'createdAt' => <DateTime>,
        '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>,
    ],
]

Result Details

Members
subscriber
Type: SubscriberResource structure

The subscriber information for the specified subscriber ID.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

ListDataLakeExceptions

$result = $client->listDataLakeExceptions([/* ... */]);
$promise = $client->listDataLakeExceptionsAsync([/* ... */]);

Lists the Amazon Security Lake exceptions that you can use to find the source of problems and fix them.

Parameter Syntax

$result = $client->listDataLakeExceptions([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'regions' => ['<string>', ...],
]);

Parameter Details

Members
maxResults
Type: int

Lists the maximum number of failures in Security Lake.

nextToken
Type: 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
Type: Array of strings

The Amazon Web Services Regions from which exceptions are retrieved.

Result Syntax

[
    'exceptions' => [
        [
            'exception' => '<string>',
            'region' => '<string>',
            'remediation' => '<string>',
            'timestamp' => <DateTime>,
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
exceptions
Type: Array of DataLakeException structures

Lists the failures that cannot be retried.

nextToken
Type: 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.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

ListDataLakes

$result = $client->listDataLakes([/* ... */]);
$promise = $client->listDataLakesAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->listDataLakes([
    'regions' => ['<string>', ...],
]);

Parameter Details

Members
regions
Type: Array of strings

The list of Regions where Security Lake is enabled.

Result Syntax

[
    'dataLakes' => [
        [
            'createStatus' => 'INITIALIZED|PENDING|COMPLETED|FAILED',
            'dataLakeArn' => '<string>',
            'encryptionConfiguration' => [
                'kmsKeyId' => '<string>',
            ],
            'lifecycleConfiguration' => [
                'expiration' => [
                    'days' => <integer>,
                ],
                'transitions' => [
                    [
                        'days' => <integer>,
                        'storageClass' => '<string>',
                    ],
                    // ...
                ],
            ],
            'region' => '<string>',
            'replicationConfiguration' => [
                'regions' => ['<string>', ...],
                'roleArn' => '<string>',
            ],
            's3BucketArn' => '<string>',
            'updateStatus' => [
                'exception' => [
                    'code' => '<string>',
                    'reason' => '<string>',
                ],
                'requestId' => '<string>',
                'status' => 'INITIALIZED|PENDING|COMPLETED|FAILED',
            ],
        ],
        // ...
    ],
]

Result Details

Members
dataLakes
Type: Array of DataLakeResource structures

Retrieves the Security Lake configuration object.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

ListLogSources

$result = $client->listLogSources([/* ... */]);
$promise = $client->listLogSourcesAsync([/* ... */]);

Retrieves the log sources.

Parameter Syntax

$result = $client->listLogSources([
    'accounts' => ['<string>', ...],
    'maxResults' => <integer>,
    '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>',
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
accounts
Type: Array of strings

The list of Amazon Web Services accounts for which log sources are displayed.

maxResults
Type: int

The maximum number of accounts for which the log sources are displayed.

nextToken
Type: 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
Type: Array of strings

The list of Regions for which log sources are displayed.

sources
Type: Array of LogSourceResource structures

The list of sources for which log sources are displayed.

Result 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>',
                    ],
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: 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
Type: Array of LogSource structures

The list of log sources in your organization that send data to the data lake.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

ListSubscribers

$result = $client->listSubscribers([/* ... */]);
$promise = $client->listSubscribersAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->listSubscribers([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of accounts for which the configuration is displayed.

nextToken
Type: string

If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page.

Result Syntax

[
    'nextToken' => '<string>',
    'subscribers' => [
        [
            'accessTypes' => ['<string>', ...],
            'createdAt' => <DateTime>,
            '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>,
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: 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
Type: Array of SubscriberResource structures

The subscribers available for the specified Security Lake account ID.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->listTagsForResource([
    'resourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the Amazon Security Lake resource for which you want to retrieve the tags.

Result Syntax

[
    'tags' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
tags
Type: Array of Tag structures

An array of objects, one for each tag (key and value) that’s associated with the Amazon Security Lake resource.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

RegisterDataLakeDelegatedAdministrator

$result = $client->registerDataLakeDelegatedAdministrator([/* ... */]);
$promise = $client->registerDataLakeDelegatedAdministratorAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->registerDataLakeDelegatedAdministrator([
    'accountId' => '<string>', // REQUIRED
]);

Parameter Details

Members
accountId
Required: Yes
Type: string

The Amazon Web Services account ID of the Security Lake delegated administrator.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->tagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tags' => [ // REQUIRED
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the Amazon Security Lake resource to add or update the tags for.

tags
Required: Yes
Type: Array of Tag structures

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.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->untagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the Amazon Security Lake resource to remove one or more tags from.

tagKeys
Required: Yes
Type: Array of strings

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.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

UpdateDataLake

$result = $client->updateDataLake([/* ... */]);
$promise = $client->updateDataLakeAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->updateDataLake([
    'configurations' => [ // REQUIRED
        [
            'encryptionConfiguration' => [
                'kmsKeyId' => '<string>',
            ],
            'lifecycleConfiguration' => [
                'expiration' => [
                    'days' => <integer>,
                ],
                'transitions' => [
                    [
                        'days' => <integer>,
                        'storageClass' => '<string>',
                    ],
                    // ...
                ],
            ],
            'region' => '<string>', // REQUIRED
            'replicationConfiguration' => [
                'regions' => ['<string>', ...],
                'roleArn' => '<string>',
            ],
        ],
        // ...
    ],
    'metaStoreManagerRoleArn' => '<string>',
]);

Parameter Details

Members
configurations
Required: Yes
Type: Array of DataLakeConfiguration structures

Specifies the Region or Regions that will contribute data to the rollup region.

metaStoreManagerRoleArn
Type: 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.

Result Syntax

[
    'dataLakes' => [
        [
            'createStatus' => 'INITIALIZED|PENDING|COMPLETED|FAILED',
            'dataLakeArn' => '<string>',
            'encryptionConfiguration' => [
                'kmsKeyId' => '<string>',
            ],
            'lifecycleConfiguration' => [
                'expiration' => [
                    'days' => <integer>,
                ],
                'transitions' => [
                    [
                        'days' => <integer>,
                        'storageClass' => '<string>',
                    ],
                    // ...
                ],
            ],
            'region' => '<string>',
            'replicationConfiguration' => [
                'regions' => ['<string>', ...],
                'roleArn' => '<string>',
            ],
            's3BucketArn' => '<string>',
            'updateStatus' => [
                'exception' => [
                    'code' => '<string>',
                    'reason' => '<string>',
                ],
                'requestId' => '<string>',
                'status' => 'INITIALIZED|PENDING|COMPLETED|FAILED',
            ],
        ],
        // ...
    ],
]

Result Details

Members
dataLakes
Type: Array of DataLakeResource structures

The created Security Lake configuration object.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

UpdateDataLakeExceptionSubscription

$result = $client->updateDataLakeExceptionSubscription([/* ... */]);
$promise = $client->updateDataLakeExceptionSubscriptionAsync([/* ... */]);

Updates the specified notification subscription in Amazon Security Lake for the organization you specify.

Parameter Syntax

$result = $client->updateDataLakeExceptionSubscription([
    'exceptionTimeToLive' => <integer>,
    'notificationEndpoint' => '<string>', // REQUIRED
    'subscriptionProtocol' => '<string>', // REQUIRED
]);

Parameter Details

Members
exceptionTimeToLive
Type: long (int|float)

The time-to-live (TTL) for the exception message to remain. It is the duration of time until which the exception message remains.

notificationEndpoint
Required: Yes
Type: string

The account that is subscribed to receive exception notifications.

subscriptionProtocol
Required: Yes
Type: string

The subscription protocol to which exception messages are posted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

UpdateSubscriber

$result = $client->updateSubscriber([/* ... */]);
$promise = $client->updateSubscriberAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->updateSubscriber([
    '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>', // REQUIRED
    'subscriberIdentity' => [
        'externalId' => '<string>', // REQUIRED
        'principal' => '<string>', // REQUIRED
    ],
    'subscriberName' => '<string>',
]);

Parameter Details

Members
sources
Type: Array of LogSourceResource structures

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.

subscriberDescription
Type: string

The description of the Security Lake account subscriber.

subscriberId
Required: Yes
Type: string

A value created by Security Lake that uniquely identifies your subscription.

subscriberIdentity
Type: AwsIdentity structure

The Amazon Web Services identity used to access your data.

subscriberName
Type: string

The name of the Security Lake account subscriber.

Result Syntax

[
    'subscriber' => [
        'accessTypes' => ['<string>', ...],
        'createdAt' => <DateTime>,
        '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>,
    ],
]

Result Details

Members
subscriber
Type: SubscriberResource structure

The updated subscriber information.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

UpdateSubscriberNotification

$result = $client->updateSubscriberNotification([/* ... */]);
$promise = $client->updateSubscriberNotificationAsync([/* ... */]);

Updates an existing notification method for the subscription (SQS or HTTPs endpoint) or switches the notification subscription endpoint for a subscriber.

Parameter Syntax

$result = $client->updateSubscriberNotification([
    'configuration' => [ // REQUIRED
        'httpsNotificationConfiguration' => [
            'authorizationApiKeyName' => '<string>',
            'authorizationApiKeyValue' => '<string>',
            'endpoint' => '<string>', // REQUIRED
            'httpMethod' => 'POST|PUT',
            'targetRoleArn' => '<string>', // REQUIRED
        ],
        'sqsNotificationConfiguration' => [
        ],
    ],
    'subscriberId' => '<string>', // REQUIRED
]);

Parameter Details

Members
configuration
Required: Yes
Type: NotificationConfiguration structure

The configuration for subscriber notification.

subscriberId
Required: Yes
Type: string

The subscription ID for which the subscription notification is specified.

Result Syntax

[
    'subscriberEndpoint' => '<string>',
]

Result Details

Members
subscriberEndpoint
Type: string

The subscriber endpoint to which exception messages are posted.

Errors

BadRequestException:

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

ResourceNotFoundException:

The resource could not be found.

InternalServerException:

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

AccessDeniedException:

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

ConflictException:

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

ThrottlingException:

The limit on the number of requests per second was exceeded.

Shapes

AccessDeniedException

Description

You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.

Members
errorCode
Type: string

A coded string to provide more information about the access denied exception. You can use the error code to check the exception type.

message
Type: string

AwsIdentity

Description

The Amazon Web Services identity.

Members
externalId
Required: Yes
Type: string

The external ID used to establish trust relationship with the Amazon Web Services identity.

principal
Required: Yes
Type: string

The Amazon Web Services identity principal.

AwsLogSourceConfiguration

Description

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.

Members
accounts
Type: Array of strings

Specify the Amazon Web Services account information where you want to enable Security Lake.

regions
Required: Yes
Type: Array of strings

Specify the Regions where you want to enable Security Lake.

sourceName
Required: Yes
Type: string

The name for a Amazon Web Services source.

sourceVersion
Type: string

The version for a Amazon Web Services source.

AwsLogSourceResource

Description

Amazon Security Lake can collect logs and events from natively-supported Amazon Web Services services.

Members
sourceName
Type: string

The name for a Amazon Web Services source. This must be a Regionally unique value.

sourceVersion
Type: string

The version for a Amazon Web Services source. This must be a Regionally unique value.

BadRequestException

Description

The request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

Members
message
Type: string

ConflictException

Description

Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

Members
message
Type: string
resourceName
Type: string

The resource name.

resourceType
Type: string

The resource type.

CustomLogSourceAttributes

Description

The attributes of a third-party custom source.

Members
crawlerArn
Type: string

The ARN of the Glue crawler.

databaseArn
Type: string

The ARN of the Glue database where results are written, such as: arn:aws:daylight:us-east-1::database/sometable/*.

tableArn
Type: string

The ARN of the Glue table.

CustomLogSourceConfiguration

Description

The configuration used for the third-party custom source.

Members
crawlerConfiguration
Required: Yes
Type: CustomLogSourceCrawlerConfiguration structure

The configuration used for the Glue Crawler for a third-party custom source.

providerIdentity
Required: Yes
Type: AwsIdentity structure

The identity of the log provider for the third-party custom source.

CustomLogSourceCrawlerConfiguration

Description

The configuration used for the Glue Crawler for a third-party custom source.

Members
roleArn
Required: Yes
Type: string

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

CustomLogSourceProvider

Description

The details of the log provider for a third-party custom source.

Members
location
Type: string

The location of the partition in the Amazon S3 bucket for Security Lake.

roleArn
Type: 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.

CustomLogSourceResource

Description

Amazon Security Lake can collect logs and events from third-party custom sources.

Members
attributes
Type: CustomLogSourceAttributes structure

The attributes of a third-party custom source.

provider
Type: CustomLogSourceProvider structure

The details of the log provider for a third-party custom source.

sourceName
Type: string

The name for a third-party custom source. This must be a Regionally unique value.

sourceVersion
Type: string

The version for a third-party custom source. This must be a Regionally unique value.

DataLakeAutoEnableNewAccountConfiguration

Description

Automatically enable new organization accounts as member accounts from an Amazon Security Lake administrator account.

Members
region
Required: Yes
Type: string

The Amazon Web Services Regions where Security Lake is automatically enabled.

sources
Required: Yes
Type: Array of AwsLogSourceResource structures

The Amazon Web Services sources that are automatically enabled in Security Lake.

DataLakeConfiguration

Description

Provides details of Amazon Security Lake object.

Members
encryptionConfiguration

Provides encryption details of Amazon Security Lake object.

lifecycleConfiguration

Provides lifecycle details of Amazon Security Lake object.

region
Required: Yes
Type: string

The Amazon Web Services Regions where Security Lake is automatically enabled.

replicationConfiguration

Provides replication details of Amazon Security Lake object.

DataLakeEncryptionConfiguration

Description

Provides encryption details of Amazon Security Lake object.

Members
kmsKeyId
Type: string

The identifier of KMS encryption key used by Amazon Security Lake to encrypt the Security Lake object.

DataLakeException

Description

The details for an Amazon Security Lake exception.

Members
exception
Type: string

The underlying exception of a Security Lake exception.

region
Type: string

The Amazon Web Services Regions where the exception occurred.

remediation
Type: string

List of all remediation steps for a Security Lake exception.

timestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

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.

DataLakeLifecycleConfiguration

Description

Provides lifecycle details of Amazon Security Lake object.

Members
expiration
Type: DataLakeLifecycleExpiration structure

Provides data expiration details of Amazon Security Lake object.

transitions
Type: Array of DataLakeLifecycleTransition structures

Provides data storage transition details of Amazon Security Lake object.

DataLakeLifecycleExpiration

Description

Provide expiration lifecycle details of Amazon Security Lake object.

Members
days
Type: int

Number of days before data expires in the Amazon Security Lake object.

DataLakeLifecycleTransition

Description

Provide transition lifecycle details of Amazon Security Lake object.

Members
days
Type: int

Number of days before data transitions to a different S3 Storage Class in the Amazon Security Lake object.

storageClass
Type: string

The range of storage classes that you can choose from based on the data access, resiliency, and cost requirements of your workloads.

DataLakeReplicationConfiguration

Description

Provides replication details for objects stored in the Amazon Security Lake data lake.

Members
regions
Type: Array of strings

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.

roleArn
Type: 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.

DataLakeResource

Description

Provides details of Amazon Security Lake object.

Members
createStatus
Type: string

Retrieves the status of the CreateDatalake API call for an account in Amazon Security Lake.

dataLakeArn
Required: Yes
Type: 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

Provides encryption details of Amazon Security Lake object.

lifecycleConfiguration

Provides lifecycle details of Amazon Security Lake object.

region
Required: Yes
Type: string

The Amazon Web Services Regions where Security Lake is enabled.

replicationConfiguration

Provides replication details of Amazon Security Lake object.

s3BucketArn
Type: string

The ARN for the Amazon Security Lake Amazon S3 bucket.

updateStatus
Type: DataLakeUpdateStatus structure

The status of the last UpdateDataLake or DeleteDataLake API request.

DataLakeSource

Description

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.

Members
account
Type: string

The ID of the Security Lake account for which logs are collected.

eventClasses
Type: Array of strings

The Open Cybersecurity Schema Framework (OCSF) event classes which describes the type of data that the custom source will send to Security Lake. The supported event classes are:

  • ACCESS_ACTIVITY

  • FILE_ACTIVITY

  • KERNEL_ACTIVITY

  • KERNEL_EXTENSION

  • MEMORY_ACTIVITY

  • MODULE_ACTIVITY

  • PROCESS_ACTIVITY

  • REGISTRY_KEY_ACTIVITY

  • REGISTRY_VALUE_ACTIVITY

  • RESOURCE_ACTIVITY

  • SCHEDULED_JOB_ACTIVITY

  • SECURITY_FINDING

  • ACCOUNT_CHANGE

  • AUTHENTICATION

  • AUTHORIZATION

  • ENTITY_MANAGEMENT_AUDIT

  • DHCP_ACTIVITY

  • NETWORK_ACTIVITY

  • DNS_ACTIVITY

  • FTP_ACTIVITY

  • HTTP_ACTIVITY

  • RDP_ACTIVITY

  • SMB_ACTIVITY

  • SSH_ACTIVITY

  • CONFIG_STATE

  • INVENTORY_INFO

  • EMAIL_ACTIVITY

  • API_ACTIVITY

  • CLOUD_API

sourceName
Type: 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
Type: Array of DataLakeSourceStatus structures

The log status for the Security Lake account.

DataLakeSourceStatus

Description

Retrieves the Logs status for the Amazon Security Lake account.

Members
resource
Type: string

Defines path the stored logs are available which has information on your systems, applications, and services.

status
Type: string

The health status of services, including error codes and patterns.

DataLakeUpdateException

Description

The details of the last UpdateDataLake or DeleteDataLake API request which failed.

Members
code
Type: string

The reason code for the exception of the last UpdateDataLake or DeleteDataLake API request.

reason
Type: string

The reason for the exception of the last UpdateDataLakeor DeleteDataLake API request.

DataLakeUpdateStatus

Description

The status of the last UpdateDataLake or DeleteDataLake API request. This is set to Completed after the configuration is updated, or removed if deletion of the data lake is successful.

Members
exception
Type: DataLakeUpdateException structure

The details of the last UpdateDataLakeor DeleteDataLake API request which failed.

requestId
Type: string

The unique ID for the last UpdateDataLake or DeleteDataLake API request.

status
Type: string

The status of the last UpdateDataLake or DeleteDataLake API request that was requested.

HttpsNotificationConfiguration

Description

The configurations used for HTTPS subscriber notification.

Members
authorizationApiKeyName
Type: string

The key name for the notification subscription.

authorizationApiKeyValue
Type: string

The key value for the notification subscription.

endpoint
Required: Yes
Type: string

The subscription endpoint in Security Lake. If you prefer notification with an HTTPs endpoint, populate this field.

httpMethod
Type: string

The HTTPS method used for the notification subscription.

targetRoleArn
Required: Yes
Type: string

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.

InternalServerException

Description

Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again.

Members
message
Type: string

LogSource

Description

Amazon Security Lake can collect logs and events from natively-supported Amazon Web Services services and custom sources.

Members
account
Type: string

Specify the account from which you want to collect logs.

region
Type: string

Specify the Regions from which you want to collect logs.

sources
Type: Array of LogSourceResource structures

Specify the sources from which you want to collect logs.

LogSourceResource

Description

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.

Members
awsLogSource
Type: AwsLogSourceResource structure

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.

customLogSource
Type: CustomLogSourceResource structure

Amazon Security Lake supports custom source types. For more information, see the Amazon Security Lake User Guide.

NotificationConfiguration

Description

Specify the configurations you want to use for subscriber notification to notify the subscriber when new data is written to the data lake for sources that the subscriber consumes in Security Lake.

Members
httpsNotificationConfiguration

The configurations used for HTTPS subscriber notification.

sqsNotificationConfiguration

The configurations for SQS subscriber notification.

ResourceNotFoundException

Description

The resource could not be found.

Members
message
Type: string
resourceName
Type: string

The name of the resource that could not be found.

resourceType
Type: string

The type of the resource that could not be found.

SqsNotificationConfiguration

Description

The configurations used for EventBridge subscriber notification.

Members

SubscriberResource

Description

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.

Members
accessTypes
Type: Array of strings

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.

createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the subscriber was created.

resourceShareArn
Type: 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
Type: string

The name of the resource share.

roleArn
Type: string

The Amazon Resource Name (ARN) specifying the role of the subscriber.

s3BucketArn
Type: string

The ARN for the Amazon S3 bucket.

sources
Required: Yes
Type: Array of LogSourceResource structures

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.

subscriberArn
Required: Yes
Type: string

The subscriber ARN of the Amazon Security Lake subscriber account.

subscriberDescription
Type: string

The subscriber descriptions for a subscriber account. The description for a subscriber includes subscriberName, accountID, externalID, and subscriberId.

subscriberEndpoint
Type: string

The subscriber endpoint to which exception messages are posted.

subscriberId
Required: Yes
Type: string

The subscriber ID of the Amazon Security Lake subscriber account.

subscriberIdentity
Required: Yes
Type: AwsIdentity structure

The Amazon Web Services identity used to access your data.

subscriberName
Required: Yes
Type: string

The name of your Amazon Security Lake subscriber account.

subscriberStatus
Type: string

The subscriber status of the Amazon Security Lake subscriber account.

updatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the subscriber was last updated.

Tag

Description

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.

Members
key
Required: Yes
Type: string

The name of the tag. This is a general label that acts as a category for a more specific tag value (value).

value
Required: Yes
Type: 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.

ThrottlingException

Description

The limit on the number of requests per second was exceeded.

Members
message
Type: string
quotaCode
Type: string

That the rate of requests to Security Lake is exceeding the request quotas for your Amazon Web Services account.

retryAfterSeconds
Type: int

Retry the request after the specified time.

serviceCode
Type: string

The code for the service in Service Quotas.