# StreamEncryption

What kind of server-side encryption to apply to this stream.

- Source: [`aws-kinesis/lib/stream.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-kinesis/lib/stream.ts#L1048)

## Example

```ts
const lambdaRole = new iam.Role(this, 'Role', {
  assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'),
  description: 'Example role...',
});

const stream = new kinesis.Stream(this, 'MyEncryptedStream', {
  encryption: kinesis.StreamEncryption.KMS,
});

// give lambda permissions to read stream
stream.grantRead(lambdaRole);
```

## Members

| Member | Description |
| --- | --- |
| `UNENCRYPTED` | Records in the stream are not encrypted. |
| `KMS` | Server-side encryption with a KMS key managed by the user. |
| `MANAGED` | Server-side encryption with a master key managed by Amazon Kinesis. |

## Referenced by

- [`StreamProps`](/v2/docs/aws-cdk-lib.aws_kinesis.StreamProps).encryption
