Encrypts plaintext into ciphertext by using a customer master key (CMK).
The Encrypt
operation has two primary use cases:
kms_encrypt(KeyId, Plaintext, EncryptionContext, GrantTokens)
[required] A unique identifier for the customer master key (CMK).
To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias
name, or alias ARN. When using an alias name, prefix it with "alias/"
.
To specify a CMK in a different AWS account, you must use the key ARN or
alias 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
Alias name: alias/ExampleAlias
Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.
[required] Data to be encrypted.
Name-value pair that specifies the encryption context to be used for
authenticated encryption. If used here, the same value must be supplied
to the Decrypt
API or decryption will fail. For more information, see
Encryption Context.
A list of grant tokens.
For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.
svc$encrypt( KeyId = "string", Plaintext = raw, EncryptionContext = list( "string" ), GrantTokens = list( "string" ) )
You can encrypt up to 4 kilobytes (4096 bytes) of arbitrary data such as an RSA key, a database password, or other sensitive information.
You can use the Encrypt
operation to move encrypted data from one
AWS region to another. In the first region, generate a data key and
use the plaintext key to encrypt the data. Then, in the new region,
call the Encrypt
method on same plaintext data key. Now, you can
safely move the encrypted data and encrypted data key to the new
region, and decrypt in the new region when necessary.
You don't need use this operation to encrypt a data key within a region. The GenerateDataKey and GenerateDataKeyWithoutPlaintext operations return an encrypted data key.
Also, you don't need to use this operation to encrypt data in your
application. You can use the plaintext and encrypted data keys that the
GenerateDataKey
operation returns.
The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.
To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter.
# NOT RUN {
# The following example encrypts data with the specified customer master
# key (CMK).
# }
# NOT RUN {
svc$encrypt(
KeyId = "1234abcd-12ab-34cd-56ef-1234567890ab",
Plaintext = "<binary data>"
)
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab