Session encryption - Amazon Bedrock

Session encryption

By default, Amazon Bedrock uses AWS-managed keys for session encryption. For more information about the default encryption Amazon Bedrock uses, see Data encryption.

For an additional layer of security, you can encrypt session data with a customer managed key. To use your own key, specify the Amazon Resource Name (ARN) of the key for the KMSKeyArn in the CreateSession API operation. The user or role creating the session must have permission to use the key. You can use the following IAM policy to grant the required permissions.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:${region}:${account-id}:key/${key-id}", "Condition": { "StringLike": { "kms:EncryptionContext:aws:bedrock:session:arn": "arn:aws:bedrock:${region}:${account}:session/*" }, "StringEquals": { "kms:ViaService": "bedrock.${region}.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "kms:DescribeKey" ], "Resource": "arn:aws:kms:${region}:${account-id}:key/${key-id}", "Condition": { "StringEquals": { "kms:ViaService": "bedrock.${region}.amazonaws.com" } } } ] }