Data Encryption & KMS
KMS key management, encryption at rest and in transit, and S3 bucket security for Bedrock data.
Authoritative Sources
Key guidance documents from authoritative organizations. Click to view the original source.
Kwatra & Kaushik (Packt, 2024) cover encrypting Bedrock resources with customer-managed KMS keys across four areas: knowledge-base transient data and vector stores, model customization jobs (with separate builder/user IAM roles), agent resources using encryption context conditions, and guardrails. Each resource type has distinct KMS policy requirements; the chapter provides IAM policy examples for granting Bedrock the necessary Decrypt, GenerateDataKey, and CreateGrant permissions.
Customer Configuration Responsibilities
Configuration tasks the customer owns in the shared responsibility model. Use the verification commands below to validate settings.
2. Data Encryption (KMS Configuration)
Control customer-managed keys for Bedrock resources and connected data stores.
Custom model encryption
Set custom model KMS key IDs for model customization jobs.
Agent encryption
Configure customer encryption keys for agents.
Knowledge base data source encryption
Provide KMS keys for data source ingestion jobs.
Vector store encryption
Ensure OpenSearch or other vector stores use encryption at rest.
Evaluation job encryption
Provide customer-managed keys for evaluation jobs.
S3 SSE-KMS for datasets and outputs
Encrypt training, validation, and output data stored in S3 with SSE-KMS.
Secrets Manager encryption
Encrypt vector store credentials stored in Secrets Manager.
7. S3 Bucket Configuration
Secure buckets used for training, validation, and model artifacts.
Bucket policies for Bedrock access
Allow Bedrock service access and restrict principals by policy.
Disable bucket ACLs
Use bucket ownership controls and block public ACLs.
Cross-account access
Configure cross-account access for custom model import jobs when required.
Data access restrictions
Use VPC-based policy conditions to restrict access paths.
Verification Commands
Commands and queries for testing and verifying security configurations.
Encryption & KMS
2 commandsaws kms list-aliases aws kms describe-key --key-id KEY_ID S3 Configuration
4 commandsaws s3api get-bucket-encryption --bucket BUCKET_NAME aws s3api get-bucket-policy --bucket BUCKET_NAME aws s3api get-bucket-ownership-controls --bucket BUCKET_NAME aws s3api get-bucket-public-access-block --bucket BUCKET_NAME