Note_Tech

All technological notes.


Project maintained by simonangel-fong Hosted on GitHub Pages — Theme by mattgraham

AWS - KMS

Back


AWS KMS (Key Management Service)


Keys Types



Key Rotation


Types Description Rotation
AWS Owned Keys SSE, default, free  
AWS Managed Keys aws/service-name, free 1Y
Customer managed Keys create, 1$/month 1Y, if enable
Customer managed Keys import, 1$/month manual, alias

Copying Snapshots across regions

kms_copying_snapshots_across_regions


Key Policies


Copying Snapshots across accounts

  1. Create a Snapshot, encrypted with your own KMS Key (Customer Managed Key)
  2. Attach a KMS Key Policy to authorize cross-account access
  3. Share the encrypted snapshot with target account.
  4. (in target account) Create a copy of the Snapshot, encrypt it with a CMK in your account
  5. Create a volume from the snapshot

kms_copying_snapshots_across_accounts.png


Multi-Region Keys

kms_multi_region_keys.png


DynamoDB Global Tables and KMS MultiRegion Keys Client-Side encryption

kms_multi_region_keys_dynamodb_global_tb


Global Aurora and KMS Multi-Region Keys Client-Side encryption

kms_multi_region_keys_aurora_global_tb.png


S3 Replication Encryption Considerations


AMI Sharing Process Encrypted via KMS

  1. AMI in Source Account is encrypted with KMS Key from Source Account
  2. Must modify the image attribute to add a Launch Permission which corresponds to the specified target AWS account
  3. Must share the KMS Keys used to encrypted the snapshot the AMI references with the target account / IAM Role
  4. The IAM Role/User in the target account must have the permissions to DescribeKey, ReEncrypted, CreateGrant, Decrypt
  5. When launching an EC2 instance from the AMI, optionally the target account can specify a new KMS key in its own account to re-encrypt the volumes

kms_ami_sharing


Hands-on

kms_handson01

kms_handson01

kms_handson01

kms_handson01

kms_handson01

kms_handson01

kms_handson01

kms_handson01

kms_handson01

kms_handson01


TOP