Control types for @turbot/aws-kms

AWS > KMS > Alias > Configured

Maintain KMS alias configuration

URI
tmod:@turbot/aws-kms#/control/types/aliasConfigured

AWS > KMS > Key > Active

Take an action when an AWS KMS key is not active based on the
AWS > KMS > Key > Active > * policies.

The Active control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated compliance
environment, it's common to end up with a wide range of alarms that are difficult
and time consuming to clear. The Active control brings automated, well-defined
control to this process.

The Active control checks the status of all defined Active policies for the
resource (AWS > KMS > Key > Active > *),
raises an alarm, and takes the defined enforcement action. Each Active
sub-policy can calculate a status of active, inactive or skipped. Generally,
if the resource appears to be Active for any reason it will be considered Active.

Note the contrast with Approved, where if the resource appears to be Unapproved
for any reason it will be considered Unapproved.

See Active for more information.

URI
tmod:@turbot/aws-kms#/control/types/keyActive

AWS > KMS > Key > Approved

Take an action when an AWS KMS key is not approved based on AWS > KMS > Key > Approved > * policies.

The Approved control checks the status of the defined Approved sub-policies for the resource. If the resource is not approved according to any of these policies, this control raises an alarm and takes the defined enforcement action.

For any enforcement actions that specify if new, e.g., Enforce: Delete unapproved if new, this control will only take the enforcement actions for resources created within the last 60 minutes.

See Approved for more information.

URI
tmod:@turbot/aws-kms#/control/types/keyApproved

AWS > KMS > Key > CMDB

Record and synchronize details for the AWS KMS key into the CMDB.

The CMDB control is responsible for populating and updating all the attributes for that resource type in the Guardrails CMDB.

If set to Skip then all changes to the CMDB are paused - no new resources will be discovered, no updates will be made and deleted resources will not be removed.

To cleanup resources and stop tracking changes, set this policy to "Enforce: Disabled".

CMDB controls also use the Regions policy associated with the resource. If region is not in AWS > KMS > Key > Regions policy, the CMDB control will delete the resource from the CMDB. (Note: Setting CMDB to Skip will also pause these changes.)

URI
tmod:@turbot/aws-kms#/control/types/keyCmdb
Category

AWS > KMS > Key > Configured

Maintain AWS > KMS > Key configuration.

Note: If the resource is managed by another stack, then the Skip/Check/Enforce values here are ignored
and inherit from the stack that owns it.

URI
tmod:@turbot/aws-kms#/control/types/keyConfigured

AWS > KMS > Key > Discovery

Discover all AWS KMS key resources and add them to the CMDB.

The Discovery control is responsible for finding resources of a specific type. It periodically searches for new resources and saves them to the CMDB. Once discovered, resources are then responsible for tracking changes to themselves through the CMDB control.

Note that Discovery and CMDB controls also use the Regions policy associated with the resource. If the region is not in AWS > KMS > Key > Regions policy, the CMDB control will delete the resource from the CMDB.

URI
tmod:@turbot/aws-kms#/control/types/keyDiscovery

AWS > KMS > Key > Policy Statements

URI
tmod:@turbot/aws-kms#/control/types/keyPolicyStatements
Category

AWS > KMS > Key > Policy Statements > Approved

Configure policy statements for KMS keys. This control defines whether to verify if the key policy statements are approved, as well as the subsequent action to take on unapproved statements.

If set to Enforce: Delete unapproved, any unapproved statements will be revoked from the key's policy.

Please note that if the policy is set to Enforce: Delete unapproved and the new key policy does not contain statements that allow the Guardrails role to continue to manage the key's policy, this control will fail to apply the new policy due to a best practice from AWS that prevents key administrators from removing their own access.

URI
tmod:@turbot/aws-kms#/control/types/keyPolicyStatementsRulesApproved

AWS > KMS > Key > Rotation

Check whether the Rotation Status of the Key is enabled or not.

URI
tmod:@turbot/aws-kms#/control/types/keyRotation
Category

AWS > KMS > Key > Tags

Take an action when an AWS KMS key tags is not updated based on the AWS > KMS > Key > Tags > * policies.

If the resource is not updated with the tags defined in AWS > KMS > Key > Tags > Template, this control raises an alarm and takes the defined enforcement action.

See Tags for more information.

URI
tmod:@turbot/aws-kms#/control/types/keyTags

AWS > KMS > Key > Usage

The Usage control determines whether the number of AWS KMS key resources exceeds the configured usage limit for this region.

You can configure the behavior of this control with the AWS > KMS > Key > Usage policy, and set the limit with the AWS > KMS > Key > Usage > Limit policy.

URI
tmod:@turbot/aws-kms#/control/types/keyUsage

AWS > Turbot > Encryption

URI
tmod:@turbot/aws-kms#/control/types/encryption
Category

AWS > Turbot > Encryption > KMS

Configure the set of resources in a Guardrails Stack per the AWS > Turbot > Encryption > Source > Source policy.

Guardrails Stacks are used to manage a set of resources via Terraform. Stacks are responsible for the creation and deletion of multiple resources, but once created, the resources are responsible for configuring themselves with their Configured control, using the Source from the parent stack.

The AWS > Turbot > Encryption > Source stack is responsible for configuring the kms key required for the encryption at rest.

URI
tmod:@turbot/aws-kms#/control/types/encryptionKmsKey
Category