kms:GenerateDataKeyPairWithoutPlaintext

Write

kms:GenerateDataKeyPairWithoutPlaintext is a Write access-level action in the kms service. Controls permission to use the AWS KMS key to generate data key pairs. Unlike the GenerateDataKeyPair operation, this operation returns an encrypted private key without a plaintext copy

Resource types

ARNs that kms:GenerateDataKeyPairWithoutPlaintext can be scoped to in an IAM policy.

arn:${Partition}:kms:${Region}:${Account}:key/${KeyId} required
key

Condition keys

Keys you can use in the Condition block of a policy that grants kms:GenerateDataKeyPairWithoutPlaintext.

kms:CallerAccount String

Filters access to specified AWS KMS operations based on the AWS account ID of the caller. You can use this condition key to allow or deny access to all IAM users and roles in an AWS account in a single policy statement

kms:DataKeyPairSpec String

Filters access to GenerateDataKeyPair and GenerateDataKeyPairWithoutPlaintext operations based on the value of the KeyPairSpec parameter in the request

kms:EncryptionAlgorithm String

Filters access to encryption operations based on the value of the encryption algorithm in the request

kms:EncryptionContext:${EncryptionContextKey} String

Filters access to a symmetric AWS KMS key based on the encryption context in a cryptographic operation. This condition evaluates the key and value in each key-value encryption context pair

kms:EncryptionContextKeys ArrayOfString

Filters access to a symmetric AWS KMS key based on the encryption context in a cryptographic operation. This condition key evaluates only the key in each key-value encryption context pair

kms:RequestAlias String

Filters access to cryptographic operations, DescribeKey, and GetPublicKey based on the alias in the request

kms:ViaService String

Filters access when a request made on the principal's behalf comes from a specified AWS service

aws:ResourceTag/${TagKey} String

Filters access to the specified AWS KMS operations based on tags assigned to the AWS KMS key

kms:KeyOrigin String

Filters access to an API operation based on the Origin property of the AWS KMS key created by or used in the operation. Use it to qualify authorization of the CreateKey operation or any operation that is authorized for a KMS key

kms:KeySpec String

Filters access to an API operation based on the KeySpec property of the AWS KMS key that is created by or used in the operation. Use it to qualify authorization of the CreateKey operation or any operation that is authorized for a KMS key resource

kms:KeyUsage String

Filters access to an API operation based on the KeyUsage property of the AWS KMS key created by or used in the operation. Use it to qualify authorization of the CreateKey operation or any operation that is authorized for a KMS key resource

kms:MultiRegion Bool

Filters access to an API operation based on the MultiRegion property of the AWS KMS key created by or used in the operation. Use it to qualify authorization of the CreateKey operation or any operation that is authorized for a KMS key resource

kms:MultiRegionKeyType String

Filters access to an API operation based on the MultiRegionKeyType property of the AWS KMS key created by or used in the operation. Use it to qualify authorization of the CreateKey operation or any operation that is authorized for a KMS key resource

kms:ResourceAliases ArrayOfString

Filters access to specified AWS KMS operations based on aliases associated with the AWS KMS key

Example IAM policy

A minimal policy that allows kms:GenerateDataKeyPairWithoutPlaintext. Replace "Resource": "*" with a specific ARN to follow least privilege.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowKmsGenerateDataKeyPairWithoutPlaintext",
      "Effect": "Allow",
      "Action": "kms:GenerateDataKeyPairWithoutPlaintext",
      "Resource": "*"
    }
  ]
}

Related actions in kms

View all kms actions →