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" } } } ] }