A collection of AWS Security controls for AWS KMS. Controls include configuration to create KMS keys, IAM policies, CloudWatch events and alarms for monitoring as well as Config rules. Configuration templates are available in AWS CloudFormation, AWS CLI and Terraform
Configuration to create an AWS KMS Customer Master Key (CMK).
Configuration to create an AWS KMS Customer Master Key (CMK) with automatic key rotation enabled.
Configuration to create a Multi-Region AWS KMS Customer Master Key (CMK) with automatic key rotation enabled
Configuration to create an AWS KMS Replica Customer Key based on an existing multi-region key
This template creates a multi-Region replica key in the local Region based on a multi-Region primary key in the US West (Oregon) (us-west-2) Region. The template specifies a description, a key policy, and a waiting period for key deletion (PendingWindowInDays). These properties are independent of the primary key and related replica keys in other AWS Regions.
This template creates a multi-Region primary key. The key policy allows a specific IAM user to manage the key and another IAM user to view and use the key in cryptographic operations. The template enables key rotation and sets a pending window of 10 days.
This template creates an with Key Policy for Users and Administrators. The key policy allows a specific IAM user to manage the key and another IAM user to generate and verify MACs using the key.
This template creates an RSA asymmetric KMS key for signing and verification. The key policy allows a specific IAM user to manage the key and another IAM user to use the key for signing and verification.
This template creates a symmetric encryption KMS key with a resource tag. The key policy allows a specific IAM user to manage the key.
This template creates a symmetric encryption KMS key. The key policy allows a specific IAM user to manage the key and another IAM user to view and use the key in cryptographic operations. The template also enables key rotation and sets a pending window of 20 days.
This template creates an alias for a KMS key. The alias is identified by the name 'alias/exampleAlias' and is associated with the KMS key referenced by 'myKey'.
Creates a basic AWS KMS Custom Key Store using a CloudHSM cluster ID, a custom name, a key store password, and a trust anchor certificate.
Creates a symmetric encryption KMS key with an embedded policy for key administration and usage.
Defines a symmetric encryption KMS key and separates the key policy into a standalone resource.
Creates an asymmetric KMS key specifically for signing and verification tasks with detailed key administration policies.
Sets up an HMAC KMS key for generating and verifying tokens, including detailed administrative permissions.
Configures a multi-Region primary KMS key with policies for key management and operational actions.
This template creates an AWS KMS key and attaches a policy to it that allows all KMS actions for all IAM users.
Creates a multi-region KMS external key and its replica in different AWS regions using the same external key material.
Creates a multi-region primary KMS key in the US East (N. Virginia) region and a replica key in the US West (Oregon) region.
A config rule that checks that key rotation is enabled for each customer master key (CMK). The rule is COMPLIANT, if the key rotation is enabled for specific key object. The rule is not applicable to CMKs that have imported key material.
A config rule that checks that Customer Managed keys are not scheduled for deletion
Alarm if customer created CMKs get disabled or scheduled for deletion.
A CloudWatch Alarm that triggers on changes to customer created CMKs: Key creation, deletion, or enabling/disabling operations, as well as updates to CMK Key policies.
A CloudWatch Event Rule that detects KMS Customer Master Key (CMK) changes and publishes change events to an SNS topic for notification.
A CloudWatch Event Rule that triggers on AWS KMS Customer Master Key (CMK) deletion events.
A CloudWatch Event Rule that triggers on AWS KMS Customer Master Key (CMK) rotation events.
A CloudWatch Event Rule that triggers on AWS KMS Customer Master Key (CMK) imported material expiration events.
An IAM policy that allows IAM users read-only access to the AWS KMS console. That is, users can use the console to view all CMKs, but they cannot make changes to any CMKs or create new ones.
An IAM policy that allows IAM users to successfully request that AWS KMS encrypt and decrypt data with any CMK in the specified AWS account and region.
An IAM policy that allows IAM users to successfully request that AWS KMS encrypt and decrypt data with a specific CMK.
An IAM policy that prevents a user from disabling or deleting any CMKs, even when another IAM policy or a key policy allows these permissions.