[ aws . kms ]



Gets a Boolean value that indicates whether automatic rotation of the key material is enabled for the specified KMS key.

You cannot enable automatic rotation of asymmetric KMS keys , KMS keys with imported key material , or KMS keys in a custom key store . To enable or disable automatic rotation of a set of related multi-Region keys , set the property on the primary key. The key rotation status for these KMS keys is always false .

The KMS key that you use for this operation must be in a compatible key state. For details, see Key state: Effect on your KMS key in the Key Management Service Developer Guide .

  • Disabled: The key rotation status does not change when you disable a KMS key. However, while the KMS key is disabled, KMS does not rotate the key material.

  • Pending deletion: While a KMS key is pending deletion, its key rotation status is false and KMS does not rotate the key material. If you cancel the deletion, the original key rotation status is restored.

Cross-account use : Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key ARN in the value of the KeyId parameter.

Required permissions : kms:GetKeyRotationStatus (key policy)

Related operations:

  • DisableKeyRotation

  • EnableKeyRotation

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


--key-id <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]


--key-id (string)

Gets the rotation status for the specified KMS key.

Specify the key ID or key ARN of the KMS key. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey .

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.


To determine whether a customer master key (CMK) is automatically rotated.

The following get-key-rotation-status example determines whether a CMK is automatically rotated. You can use this command on customer managed CMKs and AWS managed CMKs. However, all AWS managed CMKs are automatically rotated every three years.

To specify the CMK, use the key-id parameter. This example uses a key ARN value, but you can use a key ID or key ARN in this command.

Before running this command, replace the example key ARN with a valid one.

aws kms get-key-rotation-status \
    --key-id 1234abcd-12ab-34cd-56ef-1234567890ab


    "KeyRotationEnabled": true

For more information, see Rotating Keys in the AWS Key Management Service Developer Guide.


KeyRotationEnabled -> (boolean)

A Boolean value that specifies whether key rotation is enabled.