Kinesis / Client / start_stream_encryption
start_stream_encryption#
- Kinesis.Client.start_stream_encryption(**kwargs)#
- Enables or updates server-side encryption using an Amazon Web Services KMS key for a specified stream. - Note- When invoking this API, you must use either the - StreamARNor the- StreamNameparameter, or both. It is recommended that you use the- StreamARNinput parameter when you invoke this API.- Starting encryption is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to - UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to- ACTIVE. Updating or applying encryption normally takes a few seconds to complete, but it can take minutes. You can continue to read and write data to your stream while its status is- UPDATING. Once the status of the stream is- ACTIVE, encryption begins for records written to the stream.- API Limits: You can successfully apply a new Amazon Web Services KMS key for server-side encryption 25 times in a rolling 24-hour period. - Note: It can take up to 5 seconds after the stream is in an - ACTIVEstatus before all records written to the stream are encrypted. After you enable encryption, you can verify that encryption is applied by inspecting the API response from- PutRecordor- PutRecords.- See also: AWS API Documentation - Request Syntax- response = client.start_stream_encryption( StreamName='string', EncryptionType='NONE'|'KMS', KeyId='string', StreamARN='string' ) - Parameters:
- StreamName (string) – The name of the stream for which to start encrypting records. 
- EncryptionType (string) – - [REQUIRED] - The encryption type to use. The only valid value is - KMS.
- KeyId (string) – - [REQUIRED] - The GUID for the customer-managed Amazon Web Services KMS key to use for encryption. This value can be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either an alias or a key, or an alias name prefixed by “alias/”.You can also use a master key owned by Kinesis Data Streams by specifying the alias - aws/kinesis.- Key ARN example: - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
- Alias ARN example: - arn:aws:kms:us-east-1:123456789012:alias/MyAliasName
- Globally unique key ID example: - 12345678-1234-1234-1234-123456789012
- Alias name example: - alias/MyAliasName
- Master key owned by Kinesis Data Streams: - alias/aws/kinesis
 
- StreamARN (string) – The ARN of the stream. 
 
- Returns:
- None 
 - Exceptions- Kinesis.Client.exceptions.InvalidArgumentException
- Kinesis.Client.exceptions.LimitExceededException
- Kinesis.Client.exceptions.ResourceInUseException
- Kinesis.Client.exceptions.ResourceNotFoundException
- Kinesis.Client.exceptions.KMSDisabledException
- Kinesis.Client.exceptions.KMSInvalidStateException
- Kinesis.Client.exceptions.KMSAccessDeniedException
- Kinesis.Client.exceptions.KMSNotFoundException
- Kinesis.Client.exceptions.KMSOptInRequired
- Kinesis.Client.exceptions.KMSThrottlingException
- Kinesis.Client.exceptions.AccessDeniedException