Skip to main content

replica_keys

Creates, updates, deletes or gets a replica_key resource or lists replica_keys in a region

Overview

Namereplica_keys
TypeResource
DescriptionThe AWS::KMS::ReplicaKey resource specifies a multi-region replica AWS KMS key in AWS Key Management Service (AWS KMS).
Idaws.kms.replica_keys

Fields

NameDatatypeDescription
descriptionstringA description of the AWS KMS key. Use a description that helps you to distinguish this AWS KMS key from others in the account, such as its intended use.
pending_window_in_daysintegerSpecifies the number of days in the waiting period before AWS KMS deletes an AWS KMS key that has been removed from a CloudFormation stack. Enter a value between 7 and 30 days. The default value is 30 days.
key_policyobjectThe key policy that authorizes use of the AWS KMS key. The key policy must observe the following rules.
primary_key_arnstringIdentifies the primary AWS KMS key to create a replica of. Specify the Amazon Resource Name (ARN) of the AWS KMS key. You cannot specify an alias or key ID. For help finding the ARN, see Finding the Key ID and ARN in the AWS Key Management Service Developer Guide.
enabledbooleanSpecifies whether the AWS KMS key is enabled. Disabled AWS KMS keys cannot be used in cryptographic operations.
key_idstring
arnstring
tagsarrayAn array of key-value pairs to apply to this resource.
regionstringAWS region.

Methods

NameAccessible byRequired Params
create_resourceINSERTPrimaryKeyArn, KeyPolicy, region
delete_resourceDELETEdata__Identifier, region
update_resourceUPDATEdata__Identifier, data__PatchDocument, region
list_resourcesSELECTregion
get_resourceSELECTdata__Identifier, region

SELECT examples

Gets all replica_keys in a region.

SELECT
region,
description,
pending_window_in_days,
key_policy,
primary_key_arn,
enabled,
key_id,
arn,
tags
FROM aws.kms.replica_keys
WHERE region = 'us-east-1';

Gets all properties from an individual replica_key.

SELECT
region,
description,
pending_window_in_days,
key_policy,
primary_key_arn,
enabled,
key_id,
arn,
tags
FROM aws.kms.replica_keys
WHERE region = 'us-east-1' AND data__Identifier = '<KeyId>';

INSERT example

Use the following StackQL query and manifest file to create a new replica_key resource, using stack-deploy.

/*+ create */
INSERT INTO aws.kms.replica_keys (
KeyPolicy,
PrimaryKeyArn,
region
)
SELECT
'{{ KeyPolicy }}',
'{{ PrimaryKeyArn }}',
'{{ region }}';

DELETE example

/*+ delete */
DELETE FROM aws.kms.replica_keys
WHERE data__Identifier = '<KeyId>'
AND region = 'us-east-1';

Permissions

To operate on the replica_keys resource, the following permissions are required:

Read

kms:DescribeKey,
kms:GetKeyPolicy,
kms:ListResourceTags

Create

kms:ReplicateKey,
kms:CreateKey,
kms:DescribeKey,
kms:DisableKey,
kms:TagResource

Update

kms:DescribeKey,
kms:DisableKey,
kms:EnableKey,
kms:PutKeyPolicy,
kms:TagResource,
kms:UntagResource,
kms:UpdateKeyDescription

List

kms:ListKeys,
kms:DescribeKey

Delete

kms:DescribeKey,
kms:ScheduleKeyDeletion