aws-sdk-kms 1.63.0 → 1.64.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-kms/client.rb +576 -204
- data/lib/aws-sdk-kms/client_api.rb +15 -0
- data/lib/aws-sdk-kms/types.rb +341 -34
- data/lib/aws-sdk-kms.rb +1 -1
- metadata +2 -2
data/lib/aws-sdk-kms/client.rb
CHANGED
@@ -390,12 +390,12 @@ module Aws::KMS
|
|
390
390
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
391
391
|
# Management Service Developer Guide*.
|
392
392
|
#
|
393
|
-
# **Cross-account use
|
393
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
394
394
|
# key in a different Amazon Web Services account.
|
395
395
|
#
|
396
|
-
# **Required permissions
|
396
|
+
# **Required permissions**: [kms:CancelKeyDeletion][3] (key policy)
|
397
397
|
#
|
398
|
-
# **Related operations
|
398
|
+
# **Related operations**: ScheduleKeyDeletion
|
399
399
|
#
|
400
400
|
#
|
401
401
|
#
|
@@ -527,10 +527,10 @@ module Aws::KMS
|
|
527
527
|
# store, see [Troubleshooting an external key store][6] in the *Key
|
528
528
|
# Management Service Developer Guide*.
|
529
529
|
#
|
530
|
-
# **Cross-account use
|
530
|
+
# **Cross-account use**: No. You cannot perform this operation on a
|
531
531
|
# custom key store in a different Amazon Web Services account.
|
532
532
|
#
|
533
|
-
# **Required permissions
|
533
|
+
# **Required permissions**: [kms:ConnectCustomKeyStore][7] (IAM policy)
|
534
534
|
#
|
535
535
|
# **Related operations**
|
536
536
|
#
|
@@ -624,7 +624,7 @@ module Aws::KMS
|
|
624
624
|
# key state. For details, see [Key states of KMS keys][4] in the *Key
|
625
625
|
# Management Service Developer Guide*.
|
626
626
|
#
|
627
|
-
# **Cross-account use
|
627
|
+
# **Cross-account use**: No. You cannot perform this operation on an
|
628
628
|
# alias in a different Amazon Web Services account.
|
629
629
|
#
|
630
630
|
# **Required permissions**
|
@@ -657,6 +657,10 @@ module Aws::KMS
|
|
657
657
|
# Specifies the alias name. This value must begin with `alias/` followed
|
658
658
|
# by a name, such as `alias/ExampleAlias`.
|
659
659
|
#
|
660
|
+
# Do not include confidential or sensitive information in this field.
|
661
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
662
|
+
# output.
|
663
|
+
#
|
660
664
|
# The `AliasName` value must be string of 1-256 characters. It can
|
661
665
|
# contain only alphanumeric characters, forward slashes (/), underscores
|
662
666
|
# (\_), and dashes (-). The alias name cannot begin with `alias/aws/`.
|
@@ -788,10 +792,10 @@ module Aws::KMS
|
|
788
792
|
# For help with failures, see [Troubleshooting a custom key store][7] in
|
789
793
|
# the *Key Management Service Developer Guide*.
|
790
794
|
#
|
791
|
-
# **Cross-account use
|
795
|
+
# **Cross-account use**: No. You cannot perform this operation on a
|
792
796
|
# custom key store in a different Amazon Web Services account.
|
793
797
|
#
|
794
|
-
# **Required permissions
|
798
|
+
# **Required permissions**: [kms:CreateCustomKeyStore][9] (IAM policy).
|
795
799
|
#
|
796
800
|
# **Related operations:**
|
797
801
|
#
|
@@ -822,6 +826,10 @@ module Aws::KMS
|
|
822
826
|
# unique in your Amazon Web Services account and Region. This parameter
|
823
827
|
# is required for all custom key stores.
|
824
828
|
#
|
829
|
+
# Do not include confidential or sensitive information in this field.
|
830
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
831
|
+
# output.
|
832
|
+
#
|
825
833
|
# @option params [String] :cloud_hsm_cluster_id
|
826
834
|
# Identifies the CloudHSM cluster for an CloudHSM key store. This
|
827
835
|
# parameter is required for custom key stores with `CustomKeyStoreType`
|
@@ -1018,7 +1026,7 @@ module Aws::KMS
|
|
1018
1026
|
# # This example creates a custom key store that is associated with an AWS CloudHSM cluster.
|
1019
1027
|
#
|
1020
1028
|
# resp = client.create_custom_key_store({
|
1021
|
-
# cloud_hsm_cluster_id: "cluster-
|
1029
|
+
# cloud_hsm_cluster_id: "cluster-234abcdefABC", # The ID of the CloudHSM cluster.
|
1022
1030
|
# custom_key_store_name: "ExampleKeyStore", # A friendly name for the custom key store.
|
1023
1031
|
# key_store_password: "kmsPswd", # The password for the kmsuser CU account in the specified cluster.
|
1024
1032
|
# trust_anchor_certificate: "<certificate-goes-here>", # The content of the customerCA.crt file that you created when you initialized the cluster.
|
@@ -1140,11 +1148,11 @@ module Aws::KMS
|
|
1140
1148
|
# key state. For details, see [Key states of KMS keys][4] in the *Key
|
1141
1149
|
# Management Service Developer Guide*.
|
1142
1150
|
#
|
1143
|
-
# **Cross-account use
|
1151
|
+
# **Cross-account use**: Yes. To perform this operation on a KMS key in
|
1144
1152
|
# a different Amazon Web Services account, specify the key ARN in the
|
1145
1153
|
# value of the `KeyId` parameter.
|
1146
1154
|
#
|
1147
|
-
# **Required permissions
|
1155
|
+
# **Required permissions**: [kms:CreateGrant][5] (key policy)
|
1148
1156
|
#
|
1149
1157
|
# **Related operations:**
|
1150
1158
|
#
|
@@ -1235,22 +1243,19 @@ module Aws::KMS
|
|
1235
1243
|
# @option params [Types::GrantConstraints] :constraints
|
1236
1244
|
# Specifies a grant constraint.
|
1237
1245
|
#
|
1246
|
+
# Do not include confidential or sensitive information in this field.
|
1247
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
1248
|
+
# output.
|
1249
|
+
#
|
1238
1250
|
# KMS supports the `EncryptionContextEquals` and
|
1239
|
-
# `EncryptionContextSubset` grant constraints
|
1240
|
-
#
|
1241
|
-
#
|
1242
|
-
#
|
1243
|
-
#
|
1244
|
-
# encryption context, see [Encryption context][2] in the <i> <i>Key
|
1245
|
-
# Management Service Developer Guide</i> </i>.
|
1246
|
-
#
|
1247
|
-
# The encryption context grant constraints allow the permissions in the
|
1248
|
-
# grant only when the encryption context in the request matches
|
1249
|
-
# (`EncryptionContextEquals`) or includes (`EncryptionContextSubset`)
|
1250
|
-
# the encryption context specified in this structure.
|
1251
|
+
# `EncryptionContextSubset` grant constraints, which allow the
|
1252
|
+
# permissions in the grant only when the encryption context in the
|
1253
|
+
# request matches (`EncryptionContextEquals`) or includes
|
1254
|
+
# (`EncryptionContextSubset`) the encryption context specified in the
|
1255
|
+
# constraint.
|
1251
1256
|
#
|
1252
1257
|
# The encryption context grant constraints are supported only on [grant
|
1253
|
-
# operations][
|
1258
|
+
# operations][1] that include an `EncryptionContext` parameter, such as
|
1254
1259
|
# cryptographic operations on symmetric encryption KMS keys. Grants with
|
1255
1260
|
# grant constraints can include the DescribeKey and RetireGrant
|
1256
1261
|
# operations, but the constraint doesn't apply to these operations. If
|
@@ -1261,15 +1266,20 @@ module Aws::KMS
|
|
1261
1266
|
#
|
1262
1267
|
# You cannot use an encryption context grant constraint for
|
1263
1268
|
# cryptographic operations with asymmetric KMS keys or HMAC KMS keys.
|
1264
|
-
#
|
1265
|
-
#
|
1269
|
+
# Operations with these keys don't support an encryption context.
|
1266
1270
|
#
|
1271
|
+
# Each constraint value can include up to 8 encryption context pairs.
|
1272
|
+
# The encryption context value in each constraint cannot exceed 384
|
1273
|
+
# characters. For information about grant constraints, see [Using grant
|
1274
|
+
# constraints][2] in the *Key Management Service Developer Guide*. For
|
1275
|
+
# more information about encryption context, see [Encryption context][3]
|
1276
|
+
# in the <i> <i>Key Management Service Developer Guide</i> </i>.
|
1267
1277
|
#
|
1268
1278
|
#
|
1269
1279
|
#
|
1270
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
1271
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
1272
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
1280
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations
|
1281
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/create-grant-overview.html#grant-constraints
|
1282
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
|
1273
1283
|
#
|
1274
1284
|
# @option params [Array<String>] :grant_tokens
|
1275
1285
|
# A list of grant tokens.
|
@@ -1288,6 +1298,10 @@ module Aws::KMS
|
|
1288
1298
|
# A friendly name for the grant. Use this value to prevent the
|
1289
1299
|
# unintended creation of duplicate grants when retrying this request.
|
1290
1300
|
#
|
1301
|
+
# Do not include confidential or sensitive information in this field.
|
1302
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
1303
|
+
# output.
|
1304
|
+
#
|
1291
1305
|
# When this value is absent, all `CreateGrant` requests result in a new
|
1292
1306
|
# grant with a unique `GrantId` even if all the supplied parameters are
|
1293
1307
|
# identical. This can result in unintended duplicates when you retry the
|
@@ -1552,13 +1566,13 @@ module Aws::KMS
|
|
1552
1566
|
#
|
1553
1567
|
# </note>
|
1554
1568
|
#
|
1555
|
-
# **Cross-account use
|
1569
|
+
# **Cross-account use**: No. You cannot use this operation to create a
|
1556
1570
|
# KMS key in a different Amazon Web Services account.
|
1557
1571
|
#
|
1558
|
-
# **Required permissions
|
1559
|
-
#
|
1560
|
-
#
|
1561
|
-
#
|
1572
|
+
# **Required permissions**: [kms:CreateKey][11] (IAM policy). To use the
|
1573
|
+
# `Tags` parameter, [kms:TagResource][11] (IAM policy). For examples and
|
1574
|
+
# information about related permissions, see [Allow a user to create KMS
|
1575
|
+
# keys][12] in the *Key Management Service Developer Guide*.
|
1562
1576
|
#
|
1563
1577
|
# **Related operations:**
|
1564
1578
|
#
|
@@ -1621,11 +1635,13 @@ module Aws::KMS
|
|
1621
1635
|
# [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
|
1622
1636
|
#
|
1623
1637
|
# @option params [String] :description
|
1624
|
-
# A description of the KMS key.
|
1638
|
+
# A description of the KMS key. Use a description that helps you decide
|
1639
|
+
# whether the KMS key is appropriate for a task. The default value is an
|
1640
|
+
# empty string (no description).
|
1625
1641
|
#
|
1626
|
-
#
|
1627
|
-
#
|
1628
|
-
#
|
1642
|
+
# Do not include confidential or sensitive information in this field.
|
1643
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
1644
|
+
# output.
|
1629
1645
|
#
|
1630
1646
|
# To set or change the description after the key is created, use
|
1631
1647
|
# UpdateKeyDescription.
|
@@ -1813,6 +1829,10 @@ module Aws::KMS
|
|
1813
1829
|
# KMS key when it is created. To tag an existing KMS key, use the
|
1814
1830
|
# TagResource operation.
|
1815
1831
|
#
|
1832
|
+
# Do not include confidential or sensitive information in this field.
|
1833
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
1834
|
+
# output.
|
1835
|
+
#
|
1816
1836
|
# <note markdown="1"> Tagging or untagging a KMS key can allow or deny permission to the KMS
|
1817
1837
|
# key. For details, see [ABAC for KMS][1] in the *Key Management Service
|
1818
1838
|
# Developer Guide*.
|
@@ -2125,7 +2145,7 @@ module Aws::KMS
|
|
2125
2145
|
# key_metadata: {
|
2126
2146
|
# aws_account_id: "111122223333",
|
2127
2147
|
# arn: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
|
2128
|
-
# cloud_hsm_cluster_id: "cluster-
|
2148
|
+
# cloud_hsm_cluster_id: "cluster-234abcdefABC",
|
2129
2149
|
# creation_date: Time.parse("2019-12-02T07:48:55-07:00"),
|
2130
2150
|
# custom_key_store_id: "cks-1234567890abcdef0",
|
2131
2151
|
# customer_master_key_spec: "SYMMETRIC_DEFAULT",
|
@@ -2297,21 +2317,27 @@ module Aws::KMS
|
|
2297
2317
|
# details, see [Best practices for IAM policies][4] in the *Key
|
2298
2318
|
# Management Service Developer Guide*.
|
2299
2319
|
#
|
2300
|
-
#
|
2301
|
-
#
|
2302
|
-
#
|
2303
|
-
# Amazon Web Services
|
2304
|
-
#
|
2320
|
+
# `Decrypt` also supports [Amazon Web Services Nitro Enclaves][5], which
|
2321
|
+
# provide an isolated compute environment in Amazon EC2. To call
|
2322
|
+
# `Decrypt` for a Nitro enclave, use the [Amazon Web Services Nitro
|
2323
|
+
# Enclaves SDK][6] or any Amazon Web Services SDK. Use the `Recipient`
|
2324
|
+
# parameter to provide the attestation document for the enclave. Instead
|
2325
|
+
# of the plaintext data, the response includes the plaintext data
|
2326
|
+
# encrypted with the public key from the attestation document
|
2327
|
+
# (`CiphertextForRecipient`).For information about the interaction
|
2328
|
+
# between KMS and Amazon Web Services Nitro Enclaves, see [How Amazon
|
2329
|
+
# Web Services Nitro Enclaves uses KMS][7] in the *Key Management
|
2330
|
+
# Service Developer Guide*..
|
2305
2331
|
#
|
2306
2332
|
# The KMS key that you use for this operation must be in a compatible
|
2307
|
-
# key state. For details, see [Key states of KMS keys][
|
2333
|
+
# key state. For details, see [Key states of KMS keys][8] in the *Key
|
2308
2334
|
# Management Service Developer Guide*.
|
2309
2335
|
#
|
2310
|
-
# **Cross-account use
|
2336
|
+
# **Cross-account use**: Yes. If you use the `KeyId` parameter to
|
2311
2337
|
# identify a KMS key in a different Amazon Web Services account, specify
|
2312
2338
|
# the key ARN or the alias ARN of the KMS key.
|
2313
2339
|
#
|
2314
|
-
# **Required permissions
|
2340
|
+
# **Required permissions**: [kms:Decrypt][9] (key policy)
|
2315
2341
|
#
|
2316
2342
|
# **Related operations:**
|
2317
2343
|
#
|
@@ -2329,10 +2355,11 @@ module Aws::KMS
|
|
2329
2355
|
# [2]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
|
2330
2356
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
|
2331
2357
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policies-best-practices
|
2332
|
-
# [5]: https://
|
2333
|
-
# [6]: https://docs.aws.amazon.com/
|
2334
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
2335
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
2358
|
+
# [5]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
2359
|
+
# [6]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
2360
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
2361
|
+
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
2362
|
+
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
2336
2363
|
#
|
2337
2364
|
# @option params [required, String, StringIO, File] :ciphertext_blob
|
2338
2365
|
# Ciphertext to be decrypted. The blob includes metadata.
|
@@ -2417,16 +2444,44 @@ module Aws::KMS
|
|
2417
2444
|
# represents the only supported algorithm that is valid for symmetric
|
2418
2445
|
# encryption KMS keys.
|
2419
2446
|
#
|
2447
|
+
# @option params [Types::RecipientInfo] :recipient
|
2448
|
+
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
2449
|
+
# enclave and the encryption algorithm to use with the enclave's public
|
2450
|
+
# key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
|
2451
|
+
#
|
2452
|
+
# This parameter only supports attestation documents for Amazon Web
|
2453
|
+
# Services Nitro Enclaves. To include this parameter, use the [Amazon
|
2454
|
+
# Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
|
2455
|
+
#
|
2456
|
+
# When you use this parameter, instead of returning the plaintext data,
|
2457
|
+
# KMS encrypts the plaintext data with the public key in the attestation
|
2458
|
+
# document, and returns the resulting ciphertext in the
|
2459
|
+
# `CiphertextForRecipient` field in the response. This ciphertext can be
|
2460
|
+
# decrypted only with the private key in the enclave. The `Plaintext`
|
2461
|
+
# field in the response is null or empty.
|
2462
|
+
#
|
2463
|
+
# For information about the interaction between KMS and Amazon Web
|
2464
|
+
# Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
|
2465
|
+
# uses KMS][3] in the *Key Management Service Developer Guide*.
|
2466
|
+
#
|
2467
|
+
#
|
2468
|
+
#
|
2469
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
2470
|
+
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
2471
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
2472
|
+
#
|
2420
2473
|
# @return [Types::DecryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
2421
2474
|
#
|
2422
2475
|
# * {Types::DecryptResponse#key_id #key_id} => String
|
2423
2476
|
# * {Types::DecryptResponse#plaintext #plaintext} => String
|
2424
2477
|
# * {Types::DecryptResponse#encryption_algorithm #encryption_algorithm} => String
|
2478
|
+
# * {Types::DecryptResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
|
2425
2479
|
#
|
2426
2480
|
#
|
2427
|
-
# @example Example: To decrypt data
|
2481
|
+
# @example Example: To decrypt data with a symmetric encryption KMS key
|
2428
2482
|
#
|
2429
|
-
# # The following example decrypts data that was encrypted with a KMS key.
|
2483
|
+
# # The following example decrypts data that was encrypted with a symmetric encryption KMS key. The KeyId is not required
|
2484
|
+
# # when decrypting with a symmetric encryption key, but it is a best practice.
|
2430
2485
|
#
|
2431
2486
|
# resp = client.decrypt({
|
2432
2487
|
# ciphertext_blob: "<binary data>", # The encrypted data (ciphertext).
|
@@ -2435,10 +2490,51 @@ module Aws::KMS
|
|
2435
2490
|
#
|
2436
2491
|
# resp.to_h outputs the following:
|
2437
2492
|
# {
|
2493
|
+
# encryption_algorithm: "SYMMETRIC_DEFAULT", # The encryption algorithm that was used to decrypt the ciphertext. SYMMETRIC_DEFAULT is the only valid value for symmetric encryption in AWS KMS.
|
2438
2494
|
# key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The Amazon Resource Name (ARN) of the KMS key that was used to decrypt the data.
|
2439
2495
|
# plaintext: "<binary data>", # The decrypted (plaintext) data.
|
2440
2496
|
# }
|
2441
2497
|
#
|
2498
|
+
# @example Example: To decrypt data with an asymmetric encryption KMS key
|
2499
|
+
#
|
2500
|
+
# # The following example decrypts data that was encrypted with an asymmetric encryption KMS key. When the KMS encryption
|
2501
|
+
# # key is asymmetric, you must specify the KMS key ID and the encryption algorithm that was used to encrypt the data.
|
2502
|
+
#
|
2503
|
+
# resp = client.decrypt({
|
2504
|
+
# ciphertext_blob: "<binary data>", # The encrypted data (ciphertext).
|
2505
|
+
# encryption_algorithm: "RSAES_OAEP_SHA_256", # The encryption algorithm that was used to encrypt the data. This parameter is required to decrypt with an asymmetric KMS key.
|
2506
|
+
# key_id: "0987dcba-09fe-87dc-65ba-ab0987654321", # A key identifier for the KMS key to use to decrypt the data. This parameter is required to decrypt with an asymmetric KMS key.
|
2507
|
+
# })
|
2508
|
+
#
|
2509
|
+
# resp.to_h outputs the following:
|
2510
|
+
# {
|
2511
|
+
# encryption_algorithm: "RSAES_OAEP_SHA_256", # The encryption algorithm that was used to decrypt the ciphertext.
|
2512
|
+
# key_id: "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", # The Amazon Resource Name (ARN) of the KMS key that was used to decrypt the data.
|
2513
|
+
# plaintext: "<binary data>", # The decrypted (plaintext) data.
|
2514
|
+
# }
|
2515
|
+
#
|
2516
|
+
# @example Example: To decrypt data for a Nitro enclave
|
2517
|
+
#
|
2518
|
+
# # The following Decrypt example includes the Recipient parameter with a signed attestation document from an AWS Nitro
|
2519
|
+
# # enclave. Instead of returning the decrypted data in plaintext (Plaintext), the operation returns the decrypted data
|
2520
|
+
# # encrypted by the public key from the attestation document (CiphertextForRecipient).
|
2521
|
+
#
|
2522
|
+
# resp = client.decrypt({
|
2523
|
+
# ciphertext_blob: "<binary data>", # The encrypted data. This ciphertext was encrypted with the KMS key
|
2524
|
+
# key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The KMS key to use to decrypt the ciphertext
|
2525
|
+
# recipient: {
|
2526
|
+
# attestation_document: "<attestation document>",
|
2527
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
2528
|
+
# }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
|
2529
|
+
# })
|
2530
|
+
#
|
2531
|
+
# resp.to_h outputs the following:
|
2532
|
+
# {
|
2533
|
+
# ciphertext_for_recipient: "<binary data>", # The decrypted CiphertextBlob encrypted with the public key from the attestation document
|
2534
|
+
# key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The KMS key that was used to decrypt the encrypted data (CiphertextBlob)
|
2535
|
+
# plaintext: "", # This field is null or empty
|
2536
|
+
# }
|
2537
|
+
#
|
2442
2538
|
# @example Request syntax with placeholder values
|
2443
2539
|
#
|
2444
2540
|
# resp = client.decrypt({
|
@@ -2449,6 +2545,10 @@ module Aws::KMS
|
|
2449
2545
|
# grant_tokens: ["GrantTokenType"],
|
2450
2546
|
# key_id: "KeyIdType",
|
2451
2547
|
# encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, SM2PKE
|
2548
|
+
# recipient: {
|
2549
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
|
2550
|
+
# attestation_document: "data",
|
2551
|
+
# },
|
2452
2552
|
# })
|
2453
2553
|
#
|
2454
2554
|
# @example Response structure
|
@@ -2456,6 +2556,7 @@ module Aws::KMS
|
|
2456
2556
|
# resp.key_id #=> String
|
2457
2557
|
# resp.plaintext #=> String
|
2458
2558
|
# resp.encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
2559
|
+
# resp.ciphertext_for_recipient #=> String
|
2459
2560
|
#
|
2460
2561
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Decrypt AWS API Documentation
|
2461
2562
|
#
|
@@ -2484,7 +2585,7 @@ module Aws::KMS
|
|
2484
2585
|
# create a new alias. To associate an existing alias with a different
|
2485
2586
|
# KMS key, call UpdateAlias.
|
2486
2587
|
#
|
2487
|
-
# **Cross-account use
|
2588
|
+
# **Cross-account use**: No. You cannot perform this operation on an
|
2488
2589
|
# alias in a different Amazon Web Services account.
|
2489
2590
|
#
|
2490
2591
|
# **Required permissions**
|
@@ -2578,10 +2679,10 @@ module Aws::KMS
|
|
2578
2679
|
# If the operation succeeds, it returns a JSON object with no
|
2579
2680
|
# properties.
|
2580
2681
|
#
|
2581
|
-
# **Cross-account use
|
2682
|
+
# **Cross-account use**: No. You cannot perform this operation on a
|
2582
2683
|
# custom key store in a different Amazon Web Services account.
|
2583
2684
|
#
|
2584
|
-
# **Required permissions
|
2685
|
+
# **Required permissions**: [kms:DeleteCustomKeyStore][5] (IAM policy)
|
2585
2686
|
#
|
2586
2687
|
# **Related operations:**
|
2587
2688
|
#
|
@@ -2655,10 +2756,10 @@ module Aws::KMS
|
|
2655
2756
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
2656
2757
|
# Management Service Developer Guide*.
|
2657
2758
|
#
|
2658
|
-
# **Cross-account use
|
2759
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
2659
2760
|
# key in a different Amazon Web Services account.
|
2660
2761
|
#
|
2661
|
-
# **Required permissions
|
2762
|
+
# **Required permissions**: [kms:DeleteImportedKeyMaterial][3] (key
|
2662
2763
|
# policy)
|
2663
2764
|
#
|
2664
2765
|
# **Related operations:**
|
@@ -2750,10 +2851,10 @@ module Aws::KMS
|
|
2750
2851
|
# see the [Troubleshooting external key stores][3]. Both topics are in
|
2751
2852
|
# the *Key Management Service Developer Guide*.
|
2752
2853
|
#
|
2753
|
-
# **Cross-account use
|
2854
|
+
# **Cross-account use**: No. You cannot perform this operation on a
|
2754
2855
|
# custom key store in a different Amazon Web Services account.
|
2755
2856
|
#
|
2756
|
-
# **Required permissions
|
2857
|
+
# **Required permissions**: [kms:DescribeCustomKeyStores][4] (IAM
|
2757
2858
|
# policy)
|
2758
2859
|
#
|
2759
2860
|
# **Related operations:**
|
@@ -2839,7 +2940,7 @@ module Aws::KMS
|
|
2839
2940
|
# {
|
2840
2941
|
# custom_key_stores: [
|
2841
2942
|
# {
|
2842
|
-
# cloud_hsm_cluster_id: "cluster-
|
2943
|
+
# cloud_hsm_cluster_id: "cluster-234abcdefABC",
|
2843
2944
|
# connection_state: "CONNECTED",
|
2844
2945
|
# creation_date: Time.parse("1.499288695918E9"),
|
2845
2946
|
# custom_key_store_id: "cks-1234567890abcdef0",
|
@@ -2988,11 +3089,11 @@ module Aws::KMS
|
|
2988
3089
|
# services use `DescribeKey` to create [Amazon Web Services managed
|
2989
3090
|
# keys][2] from a *predefined Amazon Web Services alias* with no key ID.
|
2990
3091
|
#
|
2991
|
-
# **Cross-account use
|
3092
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
2992
3093
|
# in a different Amazon Web Services account, specify the key ARN or
|
2993
3094
|
# alias ARN in the value of the `KeyId` parameter.
|
2994
3095
|
#
|
2995
|
-
# **Required permissions
|
3096
|
+
# **Required permissions**: [kms:DescribeKey][4] (key policy)
|
2996
3097
|
#
|
2997
3098
|
# **Related operations:**
|
2998
3099
|
#
|
@@ -3224,7 +3325,7 @@ module Aws::KMS
|
|
3224
3325
|
# key_metadata: {
|
3225
3326
|
# aws_account_id: "123456789012",
|
3226
3327
|
# arn: "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab",
|
3227
|
-
# cloud_hsm_cluster_id: "cluster-
|
3328
|
+
# cloud_hsm_cluster_id: "cluster-234abcdefABC",
|
3228
3329
|
# creation_date: Time.parse(1646160362.664),
|
3229
3330
|
# custom_key_store_id: "cks-1234567890abcdef0",
|
3230
3331
|
# customer_master_key_spec: "SYMMETRIC_DEFAULT",
|
@@ -3339,12 +3440,12 @@ module Aws::KMS
|
|
3339
3440
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
3340
3441
|
# Management Service Developer Guide*.
|
3341
3442
|
#
|
3342
|
-
# **Cross-account use
|
3443
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
3343
3444
|
# key in a different Amazon Web Services account.
|
3344
3445
|
#
|
3345
|
-
# **Required permissions
|
3446
|
+
# **Required permissions**: [kms:DisableKey][3] (key policy)
|
3346
3447
|
#
|
3347
|
-
# **Related operations
|
3448
|
+
# **Related operations**: EnableKey
|
3348
3449
|
#
|
3349
3450
|
#
|
3350
3451
|
#
|
@@ -3419,10 +3520,10 @@ module Aws::KMS
|
|
3419
3520
|
# key state. For details, see [Key states of KMS keys][10] in the *Key
|
3420
3521
|
# Management Service Developer Guide*.
|
3421
3522
|
#
|
3422
|
-
# **Cross-account use
|
3523
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
3423
3524
|
# key in a different Amazon Web Services account.
|
3424
3525
|
#
|
3425
|
-
# **Required permissions
|
3526
|
+
# **Required permissions**: [kms:DisableKeyRotation][11] (key policy)
|
3426
3527
|
#
|
3427
3528
|
# **Related operations:**
|
3428
3529
|
#
|
@@ -3524,10 +3625,10 @@ module Aws::KMS
|
|
3524
3625
|
# If the operation succeeds, it returns a JSON object with no
|
3525
3626
|
# properties.
|
3526
3627
|
#
|
3527
|
-
# **Cross-account use
|
3628
|
+
# **Cross-account use**: No. You cannot perform this operation on a
|
3528
3629
|
# custom key store in a different Amazon Web Services account.
|
3529
3630
|
#
|
3530
|
-
# **Required permissions
|
3631
|
+
# **Required permissions**: [kms:DisconnectCustomKeyStore][3] (IAM
|
3531
3632
|
# policy)
|
3532
3633
|
#
|
3533
3634
|
# **Related operations:**
|
@@ -3593,12 +3694,12 @@ module Aws::KMS
|
|
3593
3694
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
3594
3695
|
# Management Service Developer Guide*.
|
3595
3696
|
#
|
3596
|
-
# **Cross-account use
|
3697
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
3597
3698
|
# key in a different Amazon Web Services account.
|
3598
3699
|
#
|
3599
|
-
# **Required permissions
|
3700
|
+
# **Required permissions**: [kms:EnableKey][3] (key policy)
|
3600
3701
|
#
|
3601
|
-
# **Related operations
|
3702
|
+
# **Related operations**: DisableKey
|
3602
3703
|
#
|
3603
3704
|
#
|
3604
3705
|
#
|
@@ -3685,10 +3786,10 @@ module Aws::KMS
|
|
3685
3786
|
# key state. For details, see [Key states of KMS keys][11] in the *Key
|
3686
3787
|
# Management Service Developer Guide*.
|
3687
3788
|
#
|
3688
|
-
# **Cross-account use
|
3789
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
3689
3790
|
# key in a different Amazon Web Services account.
|
3690
3791
|
#
|
3691
|
-
# **Required permissions
|
3792
|
+
# **Required permissions**: [kms:EnableKeyRotation][12] (key policy)
|
3692
3793
|
#
|
3693
3794
|
# **Related operations:**
|
3694
3795
|
#
|
@@ -3804,39 +3905,39 @@ module Aws::KMS
|
|
3804
3905
|
#
|
3805
3906
|
# * Symmetric encryption KMS keys
|
3806
3907
|
#
|
3807
|
-
# * `SYMMETRIC_DEFAULT
|
3908
|
+
# * `SYMMETRIC_DEFAULT`: 4096 bytes
|
3808
3909
|
#
|
3809
3910
|
# ^
|
3810
3911
|
#
|
3811
3912
|
# * `RSA_2048`
|
3812
3913
|
#
|
3813
|
-
# * `RSAES_OAEP_SHA_1
|
3914
|
+
# * `RSAES_OAEP_SHA_1`: 214 bytes
|
3814
3915
|
#
|
3815
|
-
# * `RSAES_OAEP_SHA_256
|
3916
|
+
# * `RSAES_OAEP_SHA_256`: 190 bytes
|
3816
3917
|
#
|
3817
3918
|
# * `RSA_3072`
|
3818
3919
|
#
|
3819
|
-
# * `RSAES_OAEP_SHA_1
|
3920
|
+
# * `RSAES_OAEP_SHA_1`: 342 bytes
|
3820
3921
|
#
|
3821
|
-
# * `RSAES_OAEP_SHA_256
|
3922
|
+
# * `RSAES_OAEP_SHA_256`: 318 bytes
|
3822
3923
|
#
|
3823
3924
|
# * `RSA_4096`
|
3824
3925
|
#
|
3825
|
-
# * `RSAES_OAEP_SHA_1
|
3926
|
+
# * `RSAES_OAEP_SHA_1`: 470 bytes
|
3826
3927
|
#
|
3827
|
-
# * `RSAES_OAEP_SHA_256
|
3928
|
+
# * `RSAES_OAEP_SHA_256`: 446 bytes
|
3828
3929
|
#
|
3829
|
-
# * `SM2PKE
|
3930
|
+
# * `SM2PKE`: 1024 bytes (China Regions only)
|
3830
3931
|
#
|
3831
3932
|
# The KMS key that you use for this operation must be in a compatible
|
3832
3933
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
3833
3934
|
# Management Service Developer Guide*.
|
3834
3935
|
#
|
3835
|
-
# **Cross-account use
|
3936
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
3836
3937
|
# in a different Amazon Web Services account, specify the key ARN or
|
3837
3938
|
# alias ARN in the value of the `KeyId` parameter.
|
3838
3939
|
#
|
3839
|
-
# **Required permissions
|
3940
|
+
# **Required permissions**: [kms:Encrypt][3] (key policy)
|
3840
3941
|
#
|
3841
3942
|
# **Related operations:**
|
3842
3943
|
#
|
@@ -3886,6 +3987,10 @@ module Aws::KMS
|
|
3886
3987
|
# asymmetric encryption algorithms and HMAC algorithms that KMS uses do
|
3887
3988
|
# not support an encryption context.
|
3888
3989
|
#
|
3990
|
+
# Do not include confidential or sensitive information in this field.
|
3991
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
3992
|
+
# output.
|
3993
|
+
#
|
3889
3994
|
# An *encryption context* is a collection of non-secret key-value pairs
|
3890
3995
|
# that represent additional authenticated data. When you use an
|
3891
3996
|
# encryption context to encrypt data, you must specify the same (an
|
@@ -3934,9 +4039,9 @@ module Aws::KMS
|
|
3934
4039
|
# * {Types::EncryptResponse#encryption_algorithm #encryption_algorithm} => String
|
3935
4040
|
#
|
3936
4041
|
#
|
3937
|
-
# @example Example: To encrypt data
|
4042
|
+
# @example Example: To encrypt data with a symmetric encryption KMS key
|
3938
4043
|
#
|
3939
|
-
# # The following example encrypts data with the specified KMS key.
|
4044
|
+
# # The following example encrypts data with the specified symmetric encryption KMS key.
|
3940
4045
|
#
|
3941
4046
|
# resp = client.encrypt({
|
3942
4047
|
# key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key to use for encryption. You can use the key ID or Amazon Resource Name (ARN) of the KMS key, or the name or ARN of an alias that refers to the KMS key.
|
@@ -3946,9 +4051,28 @@ module Aws::KMS
|
|
3946
4051
|
# resp.to_h outputs the following:
|
3947
4052
|
# {
|
3948
4053
|
# ciphertext_blob: "<binary data>", # The encrypted data (ciphertext).
|
4054
|
+
# encryption_algorithm: "SYMMETRIC_DEFAULT", # The encryption algorithm that was used in the operation. For symmetric encryption keys, the encryption algorithm is always SYMMETRIC_DEFAULT.
|
3949
4055
|
# key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The ARN of the KMS key that was used to encrypt the data.
|
3950
4056
|
# }
|
3951
4057
|
#
|
4058
|
+
# @example Example: To encrypt data with an asymmetric encryption KMS key
|
4059
|
+
#
|
4060
|
+
# # The following example encrypts data with the specified RSA asymmetric KMS key. When you encrypt with an asymmetric key,
|
4061
|
+
# # you must specify the encryption algorithm.
|
4062
|
+
#
|
4063
|
+
# resp = client.encrypt({
|
4064
|
+
# encryption_algorithm: "RSAES_OAEP_SHA_256", # The encryption algorithm to use in the operation.
|
4065
|
+
# key_id: "0987dcba-09fe-87dc-65ba-ab0987654321", # The identifier of the KMS key to use for encryption. You can use the key ID or Amazon Resource Name (ARN) of the KMS key, or the name or ARN of an alias that refers to the KMS key.
|
4066
|
+
# plaintext: "<binary data>", # The data to encrypt.
|
4067
|
+
# })
|
4068
|
+
#
|
4069
|
+
# resp.to_h outputs the following:
|
4070
|
+
# {
|
4071
|
+
# ciphertext_blob: "<binary data>", # The encrypted data (ciphertext).
|
4072
|
+
# encryption_algorithm: "RSAES_OAEP_SHA_256", # The encryption algorithm that was used in the operation.
|
4073
|
+
# key_id: "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", # The ARN of the KMS key that was used to encrypt the data.
|
4074
|
+
# }
|
4075
|
+
#
|
3952
4076
|
# @example Request syntax with placeholder values
|
3953
4077
|
#
|
3954
4078
|
# resp = client.encrypt({
|
@@ -4012,14 +4136,22 @@ module Aws::KMS
|
|
4012
4136
|
# information, see [Encryption Context][1] in the *Key Management
|
4013
4137
|
# Service Developer Guide*.
|
4014
4138
|
#
|
4015
|
-
#
|
4016
|
-
#
|
4017
|
-
#
|
4018
|
-
# Amazon Web Services Nitro Enclaves
|
4019
|
-
#
|
4139
|
+
# `GenerateDataKey` also supports [Amazon Web Services Nitro
|
4140
|
+
# Enclaves][2], which provide an isolated compute environment in Amazon
|
4141
|
+
# EC2. To call `GenerateDataKey` for an Amazon Web Services Nitro
|
4142
|
+
# enclave, use the [Amazon Web Services Nitro Enclaves SDK][3] or any
|
4143
|
+
# Amazon Web Services SDK. Use the `Recipient` parameter to provide the
|
4144
|
+
# attestation document for the enclave. `GenerateDataKey` returns a copy
|
4145
|
+
# of the data key encrypted under the specified KMS key, as usual. But
|
4146
|
+
# instead of a plaintext copy of the data key, the response includes a
|
4147
|
+
# copy of the data key encrypted under the public key from the
|
4148
|
+
# attestation document (`CiphertextForRecipient`). For information about
|
4149
|
+
# the interaction between KMS and Amazon Web Services Nitro Enclaves,
|
4150
|
+
# see [How Amazon Web Services Nitro Enclaves uses KMS][4] in the *Key
|
4151
|
+
# Management Service Developer Guide*..
|
4020
4152
|
#
|
4021
4153
|
# The KMS key that you use for this operation must be in a compatible
|
4022
|
-
# key state. For details, see [Key states of KMS keys][
|
4154
|
+
# key state. For details, see [Key states of KMS keys][5] in the *Key
|
4023
4155
|
# Management Service Developer Guide*.
|
4024
4156
|
#
|
4025
4157
|
# **How to use your data key**
|
@@ -4027,8 +4159,8 @@ module Aws::KMS
|
|
4027
4159
|
# We recommend that you use the following pattern to encrypt data
|
4028
4160
|
# locally in your application. You can write your own code or use a
|
4029
4161
|
# client-side encryption library, such as the [Amazon Web Services
|
4030
|
-
# Encryption SDK][
|
4031
|
-
# [Amazon S3 client-side encryption][
|
4162
|
+
# Encryption SDK][6], the [Amazon DynamoDB Encryption Client][7], or
|
4163
|
+
# [Amazon S3 client-side encryption][8] to do these tasks for you.
|
4032
4164
|
#
|
4033
4165
|
# To encrypt data outside of KMS:
|
4034
4166
|
#
|
@@ -4049,11 +4181,11 @@ module Aws::KMS
|
|
4049
4181
|
# 2. Use the plaintext data key to decrypt data outside of KMS, then
|
4050
4182
|
# erase the plaintext data key from memory.
|
4051
4183
|
#
|
4052
|
-
# **Cross-account use
|
4184
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
4053
4185
|
# in a different Amazon Web Services account, specify the key ARN or
|
4054
4186
|
# alias ARN in the value of the `KeyId` parameter.
|
4055
4187
|
#
|
4056
|
-
# **Required permissions
|
4188
|
+
# **Required permissions**: [kms:GenerateDataKey][9] (key policy)
|
4057
4189
|
#
|
4058
4190
|
# **Related operations:**
|
4059
4191
|
#
|
@@ -4070,13 +4202,14 @@ module Aws::KMS
|
|
4070
4202
|
#
|
4071
4203
|
#
|
4072
4204
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
|
4073
|
-
# [2]: https://
|
4074
|
-
# [3]: https://docs.aws.amazon.com/
|
4075
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
4076
|
-
# [5]: https://docs.aws.amazon.com/
|
4077
|
-
# [6]: https://docs.aws.amazon.com/
|
4078
|
-
# [7]: https://docs.aws.amazon.com/
|
4079
|
-
# [8]: https://docs.aws.amazon.com/
|
4205
|
+
# [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
4206
|
+
# [3]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
4207
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
4208
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
4209
|
+
# [6]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
|
4210
|
+
# [7]: https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/
|
4211
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
|
4212
|
+
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
4080
4213
|
#
|
4081
4214
|
# @option params [required, String] :key_id
|
4082
4215
|
# Specifies the symmetric encryption KMS key that encrypts the data key.
|
@@ -4107,6 +4240,10 @@ module Aws::KMS
|
|
4107
4240
|
# Specifies the encryption context that will be used when encrypting the
|
4108
4241
|
# data key.
|
4109
4242
|
#
|
4243
|
+
# Do not include confidential or sensitive information in this field.
|
4244
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
4245
|
+
# output.
|
4246
|
+
#
|
4110
4247
|
# An *encryption context* is a collection of non-secret key-value pairs
|
4111
4248
|
# that represent additional authenticated data. When you use an
|
4112
4249
|
# encryption context to encrypt data, you must specify the same (an
|
@@ -4152,11 +4289,40 @@ module Aws::KMS
|
|
4152
4289
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
4153
4290
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
|
4154
4291
|
#
|
4292
|
+
# @option params [Types::RecipientInfo] :recipient
|
4293
|
+
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
4294
|
+
# enclave and the encryption algorithm to use with the enclave's public
|
4295
|
+
# key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
|
4296
|
+
#
|
4297
|
+
# This parameter only supports attestation documents for Amazon Web
|
4298
|
+
# Services Nitro Enclaves. To include this parameter, use the [Amazon
|
4299
|
+
# Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
|
4300
|
+
#
|
4301
|
+
# When you use this parameter, instead of returning the plaintext data
|
4302
|
+
# key, KMS encrypts the plaintext data key under the public key in the
|
4303
|
+
# attestation document, and returns the resulting ciphertext in the
|
4304
|
+
# `CiphertextForRecipient` field in the response. This ciphertext can be
|
4305
|
+
# decrypted only with the private key in the enclave. The
|
4306
|
+
# `CiphertextBlob` field in the response contains a copy of the data key
|
4307
|
+
# encrypted under the KMS key specified by the `KeyId` parameter. The
|
4308
|
+
# `Plaintext` field in the response is null or empty.
|
4309
|
+
#
|
4310
|
+
# For information about the interaction between KMS and Amazon Web
|
4311
|
+
# Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
|
4312
|
+
# uses KMS][3] in the *Key Management Service Developer Guide*.
|
4313
|
+
#
|
4314
|
+
#
|
4315
|
+
#
|
4316
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
4317
|
+
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
4318
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
4319
|
+
#
|
4155
4320
|
# @return [Types::GenerateDataKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
4156
4321
|
#
|
4157
4322
|
# * {Types::GenerateDataKeyResponse#ciphertext_blob #ciphertext_blob} => String
|
4158
4323
|
# * {Types::GenerateDataKeyResponse#plaintext #plaintext} => String
|
4159
4324
|
# * {Types::GenerateDataKeyResponse#key_id #key_id} => String
|
4325
|
+
# * {Types::GenerateDataKeyResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
|
4160
4326
|
#
|
4161
4327
|
#
|
4162
4328
|
# @example Example: To generate a data key
|
@@ -4176,6 +4342,31 @@ module Aws::KMS
|
|
4176
4342
|
# plaintext: "<binary data>", # The unencrypted (plaintext) data key.
|
4177
4343
|
# }
|
4178
4344
|
#
|
4345
|
+
# @example Example: To generate a data key pair for a Nitro enclave
|
4346
|
+
#
|
4347
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave.
|
4348
|
+
# # Instead of returning a copy of the data key encrypted by the KMS key and a plaintext copy of the data key,
|
4349
|
+
# # GenerateDataKey returns one copy of the data key encrypted by the KMS key (CiphertextBlob) and one copy of the data key
|
4350
|
+
# # encrypted by the public key from the attestation document (CiphertextForRecipient). The operation doesn't return a
|
4351
|
+
# # plaintext data key.
|
4352
|
+
#
|
4353
|
+
# resp = client.generate_data_key({
|
4354
|
+
# key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # Identifies the KMS key used to encrypt the encrypted data key (CiphertextBlob)
|
4355
|
+
# key_spec: "AES_256", # Specifies the type of data key to return
|
4356
|
+
# recipient: {
|
4357
|
+
# attestation_document: "<attestation document>",
|
4358
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
4359
|
+
# }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
|
4360
|
+
# })
|
4361
|
+
#
|
4362
|
+
# resp.to_h outputs the following:
|
4363
|
+
# {
|
4364
|
+
# ciphertext_blob: "<binary data>", # The data key encrypted by the specified KMS key
|
4365
|
+
# ciphertext_for_recipient: "<binary data>", # The plaintext data key encrypted by the public key from the attestation document
|
4366
|
+
# key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The KMS key used to encrypt the CiphertextBlob (encrypted data key)
|
4367
|
+
# plaintext: "", # This field is null or empty
|
4368
|
+
# }
|
4369
|
+
#
|
4179
4370
|
# @example Request syntax with placeholder values
|
4180
4371
|
#
|
4181
4372
|
# resp = client.generate_data_key({
|
@@ -4186,6 +4377,10 @@ module Aws::KMS
|
|
4186
4377
|
# number_of_bytes: 1,
|
4187
4378
|
# key_spec: "AES_256", # accepts AES_256, AES_128
|
4188
4379
|
# grant_tokens: ["GrantTokenType"],
|
4380
|
+
# recipient: {
|
4381
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
|
4382
|
+
# attestation_document: "data",
|
4383
|
+
# },
|
4189
4384
|
# })
|
4190
4385
|
#
|
4191
4386
|
# @example Response structure
|
@@ -4193,6 +4388,7 @@ module Aws::KMS
|
|
4193
4388
|
# resp.ciphertext_blob #=> String
|
4194
4389
|
# resp.plaintext #=> String
|
4195
4390
|
# resp.key_id #=> String
|
4391
|
+
# resp.ciphertext_for_recipient #=> String
|
4196
4392
|
#
|
4197
4393
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKey AWS API Documentation
|
4198
4394
|
#
|
@@ -4245,23 +4441,38 @@ module Aws::KMS
|
|
4245
4441
|
# 5280][1]. The private key is a DER-encoded PKCS8 PrivateKeyInfo, as
|
4246
4442
|
# specified in [RFC 5958][2].
|
4247
4443
|
#
|
4444
|
+
# `GenerateDataKeyPair` also supports [Amazon Web Services Nitro
|
4445
|
+
# Enclaves][3], which provide an isolated compute environment in Amazon
|
4446
|
+
# EC2. To call `GenerateDataKeyPair` for an Amazon Web Services Nitro
|
4447
|
+
# enclave, use the [Amazon Web Services Nitro Enclaves SDK][4] or any
|
4448
|
+
# Amazon Web Services SDK. Use the `Recipient` parameter to provide the
|
4449
|
+
# attestation document for the enclave. `GenerateDataKeyPair` returns
|
4450
|
+
# the public data key and a copy of the private data key encrypted under
|
4451
|
+
# the specified KMS key, as usual. But instead of a plaintext copy of
|
4452
|
+
# the private data key (`PrivateKeyPlaintext`), the response includes a
|
4453
|
+
# copy of the private data key encrypted under the public key from the
|
4454
|
+
# attestation document (`CiphertextForRecipient`). For information about
|
4455
|
+
# the interaction between KMS and Amazon Web Services Nitro Enclaves,
|
4456
|
+
# see [How Amazon Web Services Nitro Enclaves uses KMS][5] in the *Key
|
4457
|
+
# Management Service Developer Guide*..
|
4458
|
+
#
|
4248
4459
|
# You can use an optional encryption context to add additional security
|
4249
4460
|
# to the encryption operation. If you specify an `EncryptionContext`,
|
4250
4461
|
# you must specify the same encryption context (a case-sensitive exact
|
4251
4462
|
# match) when decrypting the encrypted data key. Otherwise, the request
|
4252
4463
|
# to decrypt fails with an `InvalidCiphertextException`. For more
|
4253
|
-
# information, see [Encryption Context][
|
4464
|
+
# information, see [Encryption Context][6] in the *Key Management
|
4254
4465
|
# Service Developer Guide*.
|
4255
4466
|
#
|
4256
4467
|
# The KMS key that you use for this operation must be in a compatible
|
4257
|
-
# key state. For details, see [Key states of KMS keys][
|
4468
|
+
# key state. For details, see [Key states of KMS keys][7] in the *Key
|
4258
4469
|
# Management Service Developer Guide*.
|
4259
4470
|
#
|
4260
|
-
# **Cross-account use
|
4471
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
4261
4472
|
# in a different Amazon Web Services account, specify the key ARN or
|
4262
4473
|
# alias ARN in the value of the `KeyId` parameter.
|
4263
4474
|
#
|
4264
|
-
# **Required permissions
|
4475
|
+
# **Required permissions**: [kms:GenerateDataKeyPair][8] (key policy)
|
4265
4476
|
#
|
4266
4477
|
# **Related operations:**
|
4267
4478
|
#
|
@@ -4279,14 +4490,21 @@ module Aws::KMS
|
|
4279
4490
|
#
|
4280
4491
|
# [1]: https://tools.ietf.org/html/rfc5280
|
4281
4492
|
# [2]: https://tools.ietf.org/html/rfc5958
|
4282
|
-
# [3]: https://docs.aws.amazon.com/
|
4283
|
-
# [4]: https://docs.aws.amazon.com/
|
4284
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
4493
|
+
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
4494
|
+
# [4]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
4495
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
4496
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
|
4497
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
4498
|
+
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
4285
4499
|
#
|
4286
4500
|
# @option params [Hash<String,String>] :encryption_context
|
4287
4501
|
# Specifies the encryption context that will be used when encrypting the
|
4288
4502
|
# private key in the data key pair.
|
4289
4503
|
#
|
4504
|
+
# Do not include confidential or sensitive information in this field.
|
4505
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
4506
|
+
# output.
|
4507
|
+
#
|
4290
4508
|
# An *encryption context* is a collection of non-secret key-value pairs
|
4291
4509
|
# that represent additional authenticated data. When you use an
|
4292
4510
|
# encryption context to encrypt data, you must specify the same (an
|
@@ -4349,6 +4567,35 @@ module Aws::KMS
|
|
4349
4567
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
4350
4568
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
|
4351
4569
|
#
|
4570
|
+
# @option params [Types::RecipientInfo] :recipient
|
4571
|
+
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
4572
|
+
# enclave and the encryption algorithm to use with the enclave's public
|
4573
|
+
# key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
|
4574
|
+
#
|
4575
|
+
# This parameter only supports attestation documents for Amazon Web
|
4576
|
+
# Services Nitro Enclaves. To include this parameter, use the [Amazon
|
4577
|
+
# Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
|
4578
|
+
#
|
4579
|
+
# When you use this parameter, instead of returning a plaintext copy of
|
4580
|
+
# the private data key, KMS encrypts the plaintext private data key
|
4581
|
+
# under the public key in the attestation document, and returns the
|
4582
|
+
# resulting ciphertext in the `CiphertextForRecipient` field in the
|
4583
|
+
# response. This ciphertext can be decrypted only with the private key
|
4584
|
+
# in the enclave. The `CiphertextBlob` field in the response contains a
|
4585
|
+
# copy of the private data key encrypted under the KMS key specified by
|
4586
|
+
# the `KeyId` parameter. The `PrivateKeyPlaintext` field in the response
|
4587
|
+
# is null or empty.
|
4588
|
+
#
|
4589
|
+
# For information about the interaction between KMS and Amazon Web
|
4590
|
+
# Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
|
4591
|
+
# uses KMS][3] in the *Key Management Service Developer Guide*.
|
4592
|
+
#
|
4593
|
+
#
|
4594
|
+
#
|
4595
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
4596
|
+
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
4597
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
4598
|
+
#
|
4352
4599
|
# @return [Types::GenerateDataKeyPairResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
4353
4600
|
#
|
4354
4601
|
# * {Types::GenerateDataKeyPairResponse#private_key_ciphertext_blob #private_key_ciphertext_blob} => String
|
@@ -4356,6 +4603,7 @@ module Aws::KMS
|
|
4356
4603
|
# * {Types::GenerateDataKeyPairResponse#public_key #public_key} => String
|
4357
4604
|
# * {Types::GenerateDataKeyPairResponse#key_id #key_id} => String
|
4358
4605
|
# * {Types::GenerateDataKeyPairResponse#key_pair_spec #key_pair_spec} => String
|
4606
|
+
# * {Types::GenerateDataKeyPairResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
|
4359
4607
|
#
|
4360
4608
|
#
|
4361
4609
|
# @example Example: To generate an RSA key pair for encryption and decryption
|
@@ -4377,6 +4625,33 @@ module Aws::KMS
|
|
4377
4625
|
# public_key: "<binary data>", # The public key (plaintext) of the RSA data key pair.
|
4378
4626
|
# }
|
4379
4627
|
#
|
4628
|
+
# @example Example: To generate a data key pair for a Nitro enclave
|
4629
|
+
#
|
4630
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave.
|
4631
|
+
# # Instead of returning a plaintext copy of the private data key, GenerateDataKeyPair returns a copy of the private data
|
4632
|
+
# # key encrypted by the public key from the attestation document (CiphertextForRecipient). It returns the public data key
|
4633
|
+
# # (PublicKey) and a copy of private data key encrypted under the specified KMS key (PrivateKeyCiphertextBlob), as usual,
|
4634
|
+
# # but plaintext private data key field (PrivateKeyPlaintext) is null or empty.
|
4635
|
+
#
|
4636
|
+
# resp = client.generate_data_key_pair({
|
4637
|
+
# key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The key ID of the symmetric encryption KMS key that encrypts the private RSA key in the data key pair.
|
4638
|
+
# key_pair_spec: "RSA_3072", # The requested key spec of the RSA data key pair.
|
4639
|
+
# recipient: {
|
4640
|
+
# attestation_document: "<attestation document>",
|
4641
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
4642
|
+
# }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document.
|
4643
|
+
# })
|
4644
|
+
#
|
4645
|
+
# resp.to_h outputs the following:
|
4646
|
+
# {
|
4647
|
+
# ciphertext_for_recipient: "<binary data>", # The private key of the RSA data key pair encrypted by the public key from the attestation document
|
4648
|
+
# key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The key ARN of the symmetric encryption KMS key that was used to encrypt the PrivateKeyCiphertextBlob.
|
4649
|
+
# key_pair_spec: "RSA_3072", # The actual key spec of the RSA data key pair.
|
4650
|
+
# private_key_ciphertext_blob: "<binary data>", # The private key of the RSA data key pair encrypted by the KMS key.
|
4651
|
+
# private_key_plaintext: "", # This field is null or empty
|
4652
|
+
# public_key: "<binary data>", # The public key (plaintext) of the RSA data key pair.
|
4653
|
+
# }
|
4654
|
+
#
|
4380
4655
|
# @example Request syntax with placeholder values
|
4381
4656
|
#
|
4382
4657
|
# resp = client.generate_data_key_pair({
|
@@ -4386,6 +4661,10 @@ module Aws::KMS
|
|
4386
4661
|
# key_id: "KeyIdType", # required
|
4387
4662
|
# key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SM2
|
4388
4663
|
# grant_tokens: ["GrantTokenType"],
|
4664
|
+
# recipient: {
|
4665
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
|
4666
|
+
# attestation_document: "data",
|
4667
|
+
# },
|
4389
4668
|
# })
|
4390
4669
|
#
|
4391
4670
|
# @example Response structure
|
@@ -4395,6 +4674,7 @@ module Aws::KMS
|
|
4395
4674
|
# resp.public_key #=> String
|
4396
4675
|
# resp.key_id #=> String
|
4397
4676
|
# resp.key_pair_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SM2"
|
4677
|
+
# resp.ciphertext_for_recipient #=> String
|
4398
4678
|
#
|
4399
4679
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPair AWS API Documentation
|
4400
4680
|
#
|
@@ -4448,12 +4728,12 @@ module Aws::KMS
|
|
4448
4728
|
# key state. For details, see [Key states of KMS keys][3] in the *Key
|
4449
4729
|
# Management Service Developer Guide*.
|
4450
4730
|
#
|
4451
|
-
# **Cross-account use
|
4731
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
4452
4732
|
# in a different Amazon Web Services account, specify the key ARN or
|
4453
4733
|
# alias ARN in the value of the `KeyId` parameter.
|
4454
4734
|
#
|
4455
|
-
# **Required permissions
|
4456
|
-
#
|
4735
|
+
# **Required permissions**: [kms:GenerateDataKeyPairWithoutPlaintext][4]
|
4736
|
+
# (key policy)
|
4457
4737
|
#
|
4458
4738
|
# **Related operations:**
|
4459
4739
|
#
|
@@ -4478,6 +4758,10 @@ module Aws::KMS
|
|
4478
4758
|
# Specifies the encryption context that will be used when encrypting the
|
4479
4759
|
# private key in the data key pair.
|
4480
4760
|
#
|
4761
|
+
# Do not include confidential or sensitive information in this field.
|
4762
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
4763
|
+
# output.
|
4764
|
+
#
|
4481
4765
|
# An *encryption context* is a collection of non-secret key-value pairs
|
4482
4766
|
# that represent additional authenticated data. When you use an
|
4483
4767
|
# encryption context to encrypt data, you must specify the same (an
|
@@ -4629,7 +4913,7 @@ module Aws::KMS
|
|
4629
4913
|
# and 256-bit data keys, use the `KeySpec` parameter.
|
4630
4914
|
#
|
4631
4915
|
# To generate an SM4 data key (China Regions only), specify a `KeySpec`
|
4632
|
-
# value of `AES_128` or `NumberOfBytes` value of `
|
4916
|
+
# value of `AES_128` or `NumberOfBytes` value of `16`. The symmetric
|
4633
4917
|
# encryption key used in China Regions to encrypt your data key is an
|
4634
4918
|
# SM4 encryption key.
|
4635
4919
|
#
|
@@ -4648,11 +4932,11 @@ module Aws::KMS
|
|
4648
4932
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
4649
4933
|
# Management Service Developer Guide*.
|
4650
4934
|
#
|
4651
|
-
# **Cross-account use
|
4935
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
4652
4936
|
# in a different Amazon Web Services account, specify the key ARN or
|
4653
4937
|
# alias ARN in the value of the `KeyId` parameter.
|
4654
4938
|
#
|
4655
|
-
# **Required permissions
|
4939
|
+
# **Required permissions**: [kms:GenerateDataKeyWithoutPlaintext][3]
|
4656
4940
|
# (key policy)
|
4657
4941
|
#
|
4658
4942
|
# **Related operations:**
|
@@ -4702,6 +4986,10 @@ module Aws::KMS
|
|
4702
4986
|
# Specifies the encryption context that will be used when encrypting the
|
4703
4987
|
# data key.
|
4704
4988
|
#
|
4989
|
+
# Do not include confidential or sensitive information in this field.
|
4990
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
4991
|
+
# output.
|
4992
|
+
#
|
4705
4993
|
# An *encryption context* is a collection of non-secret key-value pairs
|
4706
4994
|
# that represent additional authenticated data. When you use an
|
4707
4995
|
# encryption context to encrypt data, you must specify the same (an
|
@@ -4815,13 +5103,13 @@ module Aws::KMS
|
|
4815
5103
|
# key state. For details, see [Key states of KMS keys][3] in the *Key
|
4816
5104
|
# Management Service Developer Guide*.
|
4817
5105
|
#
|
4818
|
-
# **Cross-account use
|
5106
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
4819
5107
|
# in a different Amazon Web Services account, specify the key ARN or
|
4820
5108
|
# alias ARN in the value of the `KeyId` parameter.
|
4821
5109
|
#
|
4822
|
-
# **Required permissions
|
5110
|
+
# **Required permissions**: [kms:GenerateMac][4] (key policy)
|
4823
5111
|
#
|
4824
|
-
# **Related operations
|
5112
|
+
# **Related operations**: VerifyMac
|
4825
5113
|
#
|
4826
5114
|
#
|
4827
5115
|
#
|
@@ -4927,26 +5215,33 @@ module Aws::KMS
|
|
4927
5215
|
# the byte string in the CloudHSM cluster associated with an CloudHSM
|
4928
5216
|
# key store, use the `CustomKeyStoreId` parameter.
|
4929
5217
|
#
|
4930
|
-
#
|
4931
|
-
#
|
4932
|
-
#
|
4933
|
-
#
|
4934
|
-
#
|
5218
|
+
# `GenerateRandom` also supports [Amazon Web Services Nitro
|
5219
|
+
# Enclaves][1], which provide an isolated compute environment in Amazon
|
5220
|
+
# EC2. To call `GenerateRandom` for a Nitro enclave, use the [Amazon Web
|
5221
|
+
# Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK. Use
|
5222
|
+
# the `Recipient` parameter to provide the attestation document for the
|
5223
|
+
# enclave. Instead of plaintext bytes, the response includes the
|
5224
|
+
# plaintext bytes encrypted under the public key from the attestation
|
5225
|
+
# document (`CiphertextForRecipient`).For information about the
|
5226
|
+
# interaction between KMS and Amazon Web Services Nitro Enclaves, see
|
5227
|
+
# [How Amazon Web Services Nitro Enclaves uses KMS][3] in the *Key
|
5228
|
+
# Management Service Developer Guide*.
|
4935
5229
|
#
|
4936
5230
|
# For more information about entropy and random number generation, see
|
4937
|
-
# [Key Management Service Cryptographic Details][
|
5231
|
+
# [Key Management Service Cryptographic Details][4].
|
4938
5232
|
#
|
4939
|
-
# **Cross-account use
|
5233
|
+
# **Cross-account use**: Not applicable. `GenerateRandom` does not use
|
4940
5234
|
# any account-specific resources, such as KMS keys.
|
4941
5235
|
#
|
4942
|
-
# **Required permissions
|
5236
|
+
# **Required permissions**: [kms:GenerateRandom][5] (IAM policy)
|
4943
5237
|
#
|
4944
5238
|
#
|
4945
5239
|
#
|
4946
|
-
# [1]: https://
|
4947
|
-
# [2]: https://docs.aws.amazon.com/
|
4948
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/
|
4949
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/
|
5240
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
5241
|
+
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
5242
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
5243
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/cryptographic-details/
|
5244
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
4950
5245
|
#
|
4951
5246
|
# @option params [Integer] :number_of_bytes
|
4952
5247
|
# The length of the random byte string. This parameter is required.
|
@@ -4960,9 +5255,36 @@ module Aws::KMS
|
|
4960
5255
|
# specify the ID of an external key store, `GenerateRandom` throws an
|
4961
5256
|
# `UnsupportedOperationException`.
|
4962
5257
|
#
|
5258
|
+
# @option params [Types::RecipientInfo] :recipient
|
5259
|
+
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
5260
|
+
# enclave and the encryption algorithm to use with the enclave's public
|
5261
|
+
# key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
|
5262
|
+
#
|
5263
|
+
# This parameter only supports attestation documents for Amazon Web
|
5264
|
+
# Services Nitro Enclaves. To include this parameter, use the [Amazon
|
5265
|
+
# Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
|
5266
|
+
#
|
5267
|
+
# When you use this parameter, instead of returning plaintext bytes, KMS
|
5268
|
+
# encrypts the plaintext bytes under the public key in the attestation
|
5269
|
+
# document, and returns the resulting ciphertext in the
|
5270
|
+
# `CiphertextForRecipient` field in the response. This ciphertext can be
|
5271
|
+
# decrypted only with the private key in the enclave. The `Plaintext`
|
5272
|
+
# field in the response is null or empty.
|
5273
|
+
#
|
5274
|
+
# For information about the interaction between KMS and Amazon Web
|
5275
|
+
# Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
|
5276
|
+
# uses KMS][3] in the *Key Management Service Developer Guide*.
|
5277
|
+
#
|
5278
|
+
#
|
5279
|
+
#
|
5280
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
5281
|
+
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
5282
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
5283
|
+
#
|
4963
5284
|
# @return [Types::GenerateRandomResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
4964
5285
|
#
|
4965
5286
|
# * {Types::GenerateRandomResponse#plaintext #plaintext} => String
|
5287
|
+
# * {Types::GenerateRandomResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
|
4966
5288
|
#
|
4967
5289
|
#
|
4968
5290
|
# @example Example: To generate random data
|
@@ -4978,16 +5300,41 @@ module Aws::KMS
|
|
4978
5300
|
# plaintext: "<binary data>", # The random data.
|
4979
5301
|
# }
|
4980
5302
|
#
|
5303
|
+
# @example Example: To generate random data
|
5304
|
+
#
|
5305
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave.
|
5306
|
+
# # Instead of returning a plaintext (unencrypted) byte string, GenerateRandom returns the byte string encrypted by the
|
5307
|
+
# # public key from the enclave's attestation document.
|
5308
|
+
#
|
5309
|
+
# resp = client.generate_random({
|
5310
|
+
# number_of_bytes: 1024, # The length of the random byte string
|
5311
|
+
# recipient: {
|
5312
|
+
# attestation_document: "<attestation document>",
|
5313
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
5314
|
+
# }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
|
5315
|
+
# })
|
5316
|
+
#
|
5317
|
+
# resp.to_h outputs the following:
|
5318
|
+
# {
|
5319
|
+
# ciphertext_for_recipient: "<binary data>", # The random data encrypted under the public key from the attestation document
|
5320
|
+
# plaintext: "", # This field is null or empty
|
5321
|
+
# }
|
5322
|
+
#
|
4981
5323
|
# @example Request syntax with placeholder values
|
4982
5324
|
#
|
4983
5325
|
# resp = client.generate_random({
|
4984
5326
|
# number_of_bytes: 1,
|
4985
5327
|
# custom_key_store_id: "CustomKeyStoreIdType",
|
5328
|
+
# recipient: {
|
5329
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
|
5330
|
+
# attestation_document: "data",
|
5331
|
+
# },
|
4986
5332
|
# })
|
4987
5333
|
#
|
4988
5334
|
# @example Response structure
|
4989
5335
|
#
|
4990
5336
|
# resp.plaintext #=> String
|
5337
|
+
# resp.ciphertext_for_recipient #=> String
|
4991
5338
|
#
|
4992
5339
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandom AWS API Documentation
|
4993
5340
|
#
|
@@ -5000,12 +5347,12 @@ module Aws::KMS
|
|
5000
5347
|
|
5001
5348
|
# Gets a key policy attached to the specified KMS key.
|
5002
5349
|
#
|
5003
|
-
# **Cross-account use
|
5350
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
5004
5351
|
# key in a different Amazon Web Services account.
|
5005
5352
|
#
|
5006
|
-
# **Required permissions
|
5353
|
+
# **Required permissions**: [kms:GetKeyPolicy][1] (key policy)
|
5007
5354
|
#
|
5008
|
-
# **Related operations
|
5355
|
+
# **Related operations**: PutKeyPolicy
|
5009
5356
|
#
|
5010
5357
|
#
|
5011
5358
|
#
|
@@ -5116,11 +5463,11 @@ module Aws::KMS
|
|
5116
5463
|
# If you cancel the deletion, the original key rotation status returns
|
5117
5464
|
# to `true`.
|
5118
5465
|
#
|
5119
|
-
# **Cross-account use
|
5466
|
+
# **Cross-account use**: Yes. To perform this operation on a KMS key in
|
5120
5467
|
# a different Amazon Web Services account, specify the key ARN in the
|
5121
5468
|
# value of the `KeyId` parameter.
|
5122
5469
|
#
|
5123
|
-
# **Required permissions
|
5470
|
+
# **Required permissions**: [kms:GetKeyRotationStatus][11] (key policy)
|
5124
5471
|
#
|
5125
5472
|
# **Related operations:**
|
5126
5473
|
#
|
@@ -5223,11 +5570,10 @@ module Aws::KMS
|
|
5223
5570
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
5224
5571
|
# Management Service Developer Guide*.
|
5225
5572
|
#
|
5226
|
-
# **Cross-account use
|
5573
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
5227
5574
|
# key in a different Amazon Web Services account.
|
5228
5575
|
#
|
5229
|
-
# **Required permissions
|
5230
|
-
# policy)
|
5576
|
+
# **Required permissions**: [kms:GetParametersForImport][3] (key policy)
|
5231
5577
|
#
|
5232
5578
|
# **Related operations:**
|
5233
5579
|
#
|
@@ -5348,12 +5694,12 @@ module Aws::KMS
|
|
5348
5694
|
# returns important information about the public key in the response,
|
5349
5695
|
# including:
|
5350
5696
|
#
|
5351
|
-
# * [KeySpec][2]
|
5697
|
+
# * [KeySpec][2]: The type of key material in the public key, such as
|
5352
5698
|
# `RSA_4096` or `ECC_NIST_P521`.
|
5353
5699
|
#
|
5354
|
-
# * [KeyUsage][3]
|
5700
|
+
# * [KeyUsage][3]: Whether the key is used for encryption or signing.
|
5355
5701
|
#
|
5356
|
-
# * [EncryptionAlgorithms][4] or [SigningAlgorithms][5]
|
5702
|
+
# * [EncryptionAlgorithms][4] or [SigningAlgorithms][5]: A list of the
|
5357
5703
|
# encryption algorithms or the signing algorithms for the key.
|
5358
5704
|
#
|
5359
5705
|
# Although KMS cannot enforce these restrictions on external operations,
|
@@ -5373,13 +5719,13 @@ module Aws::KMS
|
|
5373
5719
|
# key state. For details, see [Key states of KMS keys][7] in the *Key
|
5374
5720
|
# Management Service Developer Guide*.
|
5375
5721
|
#
|
5376
|
-
# **Cross-account use
|
5722
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
5377
5723
|
# in a different Amazon Web Services account, specify the key ARN or
|
5378
5724
|
# alias ARN in the value of the `KeyId` parameter.
|
5379
5725
|
#
|
5380
|
-
# **Required permissions
|
5726
|
+
# **Required permissions**: [kms:GetPublicKey][8] (key policy)
|
5381
5727
|
#
|
5382
|
-
# **Related operations
|
5728
|
+
# **Related operations**: CreateKey
|
5383
5729
|
#
|
5384
5730
|
#
|
5385
5731
|
#
|
@@ -5544,10 +5890,10 @@ module Aws::KMS
|
|
5544
5890
|
# key state. For details, see [Key states of KMS keys][4] in the *Key
|
5545
5891
|
# Management Service Developer Guide*.
|
5546
5892
|
#
|
5547
|
-
# **Cross-account use
|
5893
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
5548
5894
|
# key in a different Amazon Web Services account.
|
5549
5895
|
#
|
5550
|
-
# **Required permissions
|
5896
|
+
# **Required permissions**: [kms:ImportKeyMaterial][5] (key policy)
|
5551
5897
|
#
|
5552
5898
|
# **Related operations:**
|
5553
5899
|
#
|
@@ -5679,10 +6025,10 @@ module Aws::KMS
|
|
5679
6025
|
# Web Services creates in your account, including predefined aliases, do
|
5680
6026
|
# not count against your [KMS aliases quota][1].
|
5681
6027
|
#
|
5682
|
-
# **Cross-account use
|
6028
|
+
# **Cross-account use**: No. `ListAliases` does not return aliases in
|
5683
6029
|
# other Amazon Web Services accounts.
|
5684
6030
|
#
|
5685
|
-
# **Required permissions
|
6031
|
+
# **Required permissions**: [kms:ListAliases][2] (IAM policy)
|
5686
6032
|
#
|
5687
6033
|
# For details, see [Controlling access to aliases][3] in the *Key
|
5688
6034
|
# Management Service Developer Guide*.
|
@@ -5843,11 +6189,11 @@ module Aws::KMS
|
|
5843
6189
|
#
|
5844
6190
|
# </note>
|
5845
6191
|
#
|
5846
|
-
# **Cross-account use
|
6192
|
+
# **Cross-account use**: Yes. To perform this operation on a KMS key in
|
5847
6193
|
# a different Amazon Web Services account, specify the key ARN in the
|
5848
6194
|
# value of the `KeyId` parameter.
|
5849
6195
|
#
|
5850
|
-
# **Required permissions
|
6196
|
+
# **Required permissions**: [kms:ListGrants][4] (key policy)
|
5851
6197
|
#
|
5852
6198
|
# **Related operations:**
|
5853
6199
|
#
|
@@ -6022,10 +6368,10 @@ module Aws::KMS
|
|
6022
6368
|
# GetKeyPolicy operation. However, the only valid policy name is
|
6023
6369
|
# `default`.
|
6024
6370
|
#
|
6025
|
-
# **Cross-account use
|
6371
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
6026
6372
|
# key in a different Amazon Web Services account.
|
6027
6373
|
#
|
6028
|
-
# **Required permissions
|
6374
|
+
# **Required permissions**: [kms:ListKeyPolicies][1] (key policy)
|
6029
6375
|
#
|
6030
6376
|
# **Related operations:**
|
6031
6377
|
#
|
@@ -6120,10 +6466,10 @@ module Aws::KMS
|
|
6120
6466
|
# Gets a list of all KMS keys in the caller's Amazon Web Services
|
6121
6467
|
# account and Region.
|
6122
6468
|
#
|
6123
|
-
# **Cross-account use
|
6469
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
6124
6470
|
# key in a different Amazon Web Services account.
|
6125
6471
|
#
|
6126
|
-
# **Required permissions
|
6472
|
+
# **Required permissions**: [kms:ListKeys][1] (IAM policy)
|
6127
6473
|
#
|
6128
6474
|
# **Related operations:**
|
6129
6475
|
#
|
@@ -6235,10 +6581,10 @@ module Aws::KMS
|
|
6235
6581
|
# Services General Reference*. For information about using tags in KMS,
|
6236
6582
|
# see [Tagging keys][2].
|
6237
6583
|
#
|
6238
|
-
# **Cross-account use
|
6584
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
6239
6585
|
# key in a different Amazon Web Services account.
|
6240
6586
|
#
|
6241
|
-
# **Required permissions
|
6587
|
+
# **Required permissions**: [kms:ListResourceTags][3] (key policy)
|
6242
6588
|
#
|
6243
6589
|
# **Related operations:**
|
6244
6590
|
#
|
@@ -6362,14 +6708,14 @@ module Aws::KMS
|
|
6362
6708
|
# Guide</i> </i>. For examples of working with grants in several
|
6363
6709
|
# programming languages, see [Programming grants][2].
|
6364
6710
|
#
|
6365
|
-
# **Cross-account use
|
6366
|
-
#
|
6711
|
+
# **Cross-account use**: You must specify a principal in your Amazon Web
|
6712
|
+
# Services account. However, this operation can return grants in any
|
6367
6713
|
# Amazon Web Services account. You do not need `kms:ListRetirableGrants`
|
6368
6714
|
# permission (or any other additional permission) in any Amazon Web
|
6369
6715
|
# Services account other than your own.
|
6370
6716
|
#
|
6371
|
-
# **Required permissions
|
6372
|
-
#
|
6717
|
+
# **Required permissions**: [kms:ListRetirableGrants][3] (IAM policy) in
|
6718
|
+
# your Amazon Web Services account.
|
6373
6719
|
#
|
6374
6720
|
# **Related operations:**
|
6375
6721
|
#
|
@@ -6498,12 +6844,12 @@ module Aws::KMS
|
|
6498
6844
|
# programming languages, see [Setting a key policy][3] in the *Key
|
6499
6845
|
# Management Service Developer Guide*.
|
6500
6846
|
#
|
6501
|
-
# **Cross-account use
|
6847
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
6502
6848
|
# key in a different Amazon Web Services account.
|
6503
6849
|
#
|
6504
|
-
# **Required permissions
|
6850
|
+
# **Required permissions**: [kms:PutKeyPolicy][4] (key policy)
|
6505
6851
|
#
|
6506
|
-
# **Related operations
|
6852
|
+
# **Related operations**: GetKeyPolicy
|
6507
6853
|
#
|
6508
6854
|
#
|
6509
6855
|
#
|
@@ -6686,12 +7032,12 @@ module Aws::KMS
|
|
6686
7032
|
# key state. For details, see [Key states of KMS keys][6] in the *Key
|
6687
7033
|
# Management Service Developer Guide*.
|
6688
7034
|
#
|
6689
|
-
# **Cross-account use
|
6690
|
-
#
|
6691
|
-
#
|
6692
|
-
#
|
7035
|
+
# **Cross-account use**: Yes. The source KMS key and destination KMS key
|
7036
|
+
# can be in different Amazon Web Services accounts. Either or both KMS
|
7037
|
+
# keys can be in a different account than the caller. To specify a KMS
|
7038
|
+
# key in a different account, you must use its key ARN or alias ARN.
|
6693
7039
|
#
|
6694
|
-
# **Required permissions
|
7040
|
+
# **Required permissions**:
|
6695
7041
|
#
|
6696
7042
|
# * [kms:ReEncryptFrom][7] permission on the source KMS key (key policy)
|
6697
7043
|
#
|
@@ -6812,6 +7158,10 @@ module Aws::KMS
|
|
6812
7158
|
# Specifies that encryption context to use when the reencrypting the
|
6813
7159
|
# data.
|
6814
7160
|
#
|
7161
|
+
# Do not include confidential or sensitive information in this field.
|
7162
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
7163
|
+
# output.
|
7164
|
+
#
|
6815
7165
|
# A destination encryption context is valid only when the destination
|
6816
7166
|
# KMS key is a symmetric encryption KMS key. The standard ciphertext
|
6817
7167
|
# format for asymmetric KMS keys does not include fields for metadata.
|
@@ -6992,10 +7342,10 @@ module Aws::KMS
|
|
6992
7342
|
#
|
6993
7343
|
# </note>
|
6994
7344
|
#
|
6995
|
-
# **Cross-account use
|
7345
|
+
# **Cross-account use**: No. You cannot use this operation to create a
|
6996
7346
|
# replica key in a different Amazon Web Services account.
|
6997
7347
|
#
|
6998
|
-
# **Required permissions
|
7348
|
+
# **Required permissions**:
|
6999
7349
|
#
|
7000
7350
|
# * `kms:ReplicateKey` on the primary key (in the primary key's
|
7001
7351
|
# Region). Include this permission in the primary key's key policy.
|
@@ -7153,6 +7503,10 @@ module Aws::KMS
|
|
7153
7503
|
# A description of the KMS key. The default value is an empty string (no
|
7154
7504
|
# description).
|
7155
7505
|
#
|
7506
|
+
# Do not include confidential or sensitive information in this field.
|
7507
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
7508
|
+
# output.
|
7509
|
+
#
|
7156
7510
|
# The description is not a shared property of multi-Region keys. You can
|
7157
7511
|
# specify the same description or a different description for each key
|
7158
7512
|
# in a set of related multi-Region keys. KMS does not synchronize this
|
@@ -7163,6 +7517,10 @@ module Aws::KMS
|
|
7163
7517
|
# the KMS key when it is created. To tag an existing KMS key, use the
|
7164
7518
|
# TagResource operation.
|
7165
7519
|
#
|
7520
|
+
# Do not include confidential or sensitive information in this field.
|
7521
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
7522
|
+
# output.
|
7523
|
+
#
|
7166
7524
|
# <note markdown="1"> Tagging or untagging a KMS key can allow or deny permission to the KMS
|
7167
7525
|
# key. For details, see [ABAC for KMS][1] in the *Key Management Service
|
7168
7526
|
# Developer Guide*.
|
@@ -7327,10 +7685,10 @@ module Aws::KMS
|
|
7327
7685
|
# Guide</i> </i>. For examples of working with grants in several
|
7328
7686
|
# programming languages, see [Programming grants][4].
|
7329
7687
|
#
|
7330
|
-
# **Cross-account use
|
7688
|
+
# **Cross-account use**: Yes. You can retire a grant on a KMS key in a
|
7331
7689
|
# different Amazon Web Services account.
|
7332
7690
|
#
|
7333
|
-
# **Required permissions
|
7691
|
+
# **Required permissions:**:Permission to retire a grant is determined
|
7334
7692
|
# primarily by the grant. For details, see [Retiring and revoking
|
7335
7693
|
# grants][2] in the *Key Management Service Developer Guide*.
|
7336
7694
|
#
|
@@ -7425,11 +7783,11 @@ module Aws::KMS
|
|
7425
7783
|
# Guide</i> </i>. For examples of working with grants in several
|
7426
7784
|
# programming languages, see [Programming grants][4].
|
7427
7785
|
#
|
7428
|
-
# **Cross-account use
|
7786
|
+
# **Cross-account use**: Yes. To perform this operation on a KMS key in
|
7429
7787
|
# a different Amazon Web Services account, specify the key ARN in the
|
7430
7788
|
# value of the `KeyId` parameter.
|
7431
7789
|
#
|
7432
|
-
# **Required permissions
|
7790
|
+
# **Required permissions**: [kms:RevokeGrant][5] (key policy).
|
7433
7791
|
#
|
7434
7792
|
# **Related operations:**
|
7435
7793
|
#
|
@@ -7546,10 +7904,10 @@ module Aws::KMS
|
|
7546
7904
|
# key state. For details, see [Key states of KMS keys][6] in the *Key
|
7547
7905
|
# Management Service Developer Guide*.
|
7548
7906
|
#
|
7549
|
-
# **Cross-account use
|
7907
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
7550
7908
|
# key in a different Amazon Web Services account.
|
7551
7909
|
#
|
7552
|
-
# **Required permissions
|
7910
|
+
# **Required permissions**: kms:ScheduleKeyDeletion (key policy)
|
7553
7911
|
#
|
7554
7912
|
# **Related operations**
|
7555
7913
|
#
|
@@ -7689,13 +8047,13 @@ module Aws::KMS
|
|
7689
8047
|
# key state. For details, see [Key states of KMS keys][3] in the *Key
|
7690
8048
|
# Management Service Developer Guide*.
|
7691
8049
|
#
|
7692
|
-
# **Cross-account use
|
8050
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
7693
8051
|
# in a different Amazon Web Services account, specify the key ARN or
|
7694
8052
|
# alias ARN in the value of the `KeyId` parameter.
|
7695
8053
|
#
|
7696
|
-
# **Required permissions
|
8054
|
+
# **Required permissions**: [kms:Sign][4] (key policy)
|
7697
8055
|
#
|
7698
|
-
# **Related operations
|
8056
|
+
# **Related operations**: Verify
|
7699
8057
|
#
|
7700
8058
|
#
|
7701
8059
|
#
|
@@ -7899,10 +8257,10 @@ module Aws::KMS
|
|
7899
8257
|
# key state. For details, see [Key states of KMS keys][9] in the *Key
|
7900
8258
|
# Management Service Developer Guide*.
|
7901
8259
|
#
|
7902
|
-
# **Cross-account use
|
8260
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
7903
8261
|
# key in a different Amazon Web Services account.
|
7904
8262
|
#
|
7905
|
-
# **Required permissions
|
8263
|
+
# **Required permissions**: [kms:TagResource][10] (key policy)
|
7906
8264
|
#
|
7907
8265
|
# **Related operations**
|
7908
8266
|
#
|
@@ -7943,10 +8301,12 @@ module Aws::KMS
|
|
7943
8301
|
# DescribeKey.
|
7944
8302
|
#
|
7945
8303
|
# @option params [required, Array<Types::Tag>] :tags
|
7946
|
-
# One or more tags.
|
8304
|
+
# One or more tags. Each tag consists of a tag key and a tag value. The
|
8305
|
+
# tag value can be an empty (null) string.
|
7947
8306
|
#
|
7948
|
-
#
|
7949
|
-
#
|
8307
|
+
# Do not include confidential or sensitive information in this field.
|
8308
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
8309
|
+
# output.
|
7950
8310
|
#
|
7951
8311
|
# You cannot have more than one tag on a KMS key with the same tag key.
|
7952
8312
|
# If you specify an existing tag key with a different tag value, KMS
|
@@ -8013,10 +8373,10 @@ module Aws::KMS
|
|
8013
8373
|
# key state. For details, see [Key states of KMS keys][5] in the *Key
|
8014
8374
|
# Management Service Developer Guide*.
|
8015
8375
|
#
|
8016
|
-
# **Cross-account use
|
8376
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
8017
8377
|
# key in a different Amazon Web Services account.
|
8018
8378
|
#
|
8019
|
-
# **Required permissions
|
8379
|
+
# **Required permissions**: [kms:UntagResource][6] (key policy)
|
8020
8380
|
#
|
8021
8381
|
# **Related operations**
|
8022
8382
|
#
|
@@ -8117,7 +8477,7 @@ module Aws::KMS
|
|
8117
8477
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
8118
8478
|
# Management Service Developer Guide*.
|
8119
8479
|
#
|
8120
|
-
# **Cross-account use
|
8480
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
8121
8481
|
# key in a different Amazon Web Services account.
|
8122
8482
|
#
|
8123
8483
|
# **Required permissions**
|
@@ -8152,6 +8512,10 @@ module Aws::KMS
|
|
8152
8512
|
# `alias/ExampleAlias`. You cannot use `UpdateAlias` to change the alias
|
8153
8513
|
# name.
|
8154
8514
|
#
|
8515
|
+
# Do not include confidential or sensitive information in this field.
|
8516
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
8517
|
+
# output.
|
8518
|
+
#
|
8155
8519
|
# @option params [required, String] :target_key_id
|
8156
8520
|
# Identifies the [customer managed key][1] to associate with the alias.
|
8157
8521
|
# You don't have permission to associate an alias with an [Amazon Web
|
@@ -8289,10 +8653,10 @@ module Aws::KMS
|
|
8289
8653
|
# If the operation succeeds, it returns a JSON object with no
|
8290
8654
|
# properties.
|
8291
8655
|
#
|
8292
|
-
# **Cross-account use
|
8656
|
+
# **Cross-account use**: No. You cannot perform this operation on a
|
8293
8657
|
# custom key store in a different Amazon Web Services account.
|
8294
8658
|
#
|
8295
|
-
# **Required permissions
|
8659
|
+
# **Required permissions**: [kms:UpdateCustomKeyStore][2] (IAM policy)
|
8296
8660
|
#
|
8297
8661
|
# **Related operations:**
|
8298
8662
|
#
|
@@ -8321,6 +8685,10 @@ module Aws::KMS
|
|
8321
8685
|
# you specify. The custom key store name must be unique in the Amazon
|
8322
8686
|
# Web Services account.
|
8323
8687
|
#
|
8688
|
+
# Do not include confidential or sensitive information in this field.
|
8689
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
8690
|
+
# output.
|
8691
|
+
#
|
8324
8692
|
# To change this value, an CloudHSM key store must be disconnected. An
|
8325
8693
|
# external key store can be connected or disconnected.
|
8326
8694
|
#
|
@@ -8474,7 +8842,7 @@ module Aws::KMS
|
|
8474
8842
|
# # worked, use the DescribeCustomKeyStores operation.
|
8475
8843
|
#
|
8476
8844
|
# resp = client.update_custom_key_store({
|
8477
|
-
# cloud_hsm_cluster_id: "cluster-
|
8845
|
+
# cloud_hsm_cluster_id: "cluster-234abcdefABC", # The ID of the AWS CloudHSM cluster that you want to associate with the custom key store. This cluster must be related to the original CloudHSM cluster for this key store.
|
8478
8846
|
# custom_key_store_id: "cks-1234567890abcdef0", # The ID of the custom key store that you are updating.
|
8479
8847
|
# })
|
8480
8848
|
#
|
@@ -8565,10 +8933,10 @@ module Aws::KMS
|
|
8565
8933
|
# key state. For details, see [Key states of KMS keys][1] in the *Key
|
8566
8934
|
# Management Service Developer Guide*.
|
8567
8935
|
#
|
8568
|
-
# **Cross-account use
|
8936
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
8569
8937
|
# key in a different Amazon Web Services account.
|
8570
8938
|
#
|
8571
|
-
# **Required permissions
|
8939
|
+
# **Required permissions**: [kms:UpdateKeyDescription][2] (key policy)
|
8572
8940
|
#
|
8573
8941
|
# **Related operations**
|
8574
8942
|
#
|
@@ -8599,6 +8967,10 @@ module Aws::KMS
|
|
8599
8967
|
# @option params [required, String] :description
|
8600
8968
|
# New description for the KMS key.
|
8601
8969
|
#
|
8970
|
+
# Do not include confidential or sensitive information in this field.
|
8971
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
8972
|
+
# output.
|
8973
|
+
#
|
8602
8974
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
8603
8975
|
#
|
8604
8976
|
#
|
@@ -8681,10 +9053,10 @@ module Aws::KMS
|
|
8681
9053
|
# This operation does not return any output. To verify that primary key
|
8682
9054
|
# is changed, use the DescribeKey operation.
|
8683
9055
|
#
|
8684
|
-
# **Cross-account use
|
9056
|
+
# **Cross-account use**: No. You cannot use this operation in a
|
8685
9057
|
# different Amazon Web Services account.
|
8686
9058
|
#
|
8687
|
-
# **Required permissions
|
9059
|
+
# **Required permissions**:
|
8688
9060
|
#
|
8689
9061
|
# * `kms:UpdatePrimaryRegion` on the current primary key (in the primary
|
8690
9062
|
# key's Region). Include this permission primary key's key policy.
|
@@ -8810,13 +9182,13 @@ module Aws::KMS
|
|
8810
9182
|
# key state. For details, see [Key states of KMS keys][3] in the *Key
|
8811
9183
|
# Management Service Developer Guide*.
|
8812
9184
|
#
|
8813
|
-
# **Cross-account use
|
9185
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
8814
9186
|
# in a different Amazon Web Services account, specify the key ARN or
|
8815
9187
|
# alias ARN in the value of the `KeyId` parameter.
|
8816
9188
|
#
|
8817
|
-
# **Required permissions
|
9189
|
+
# **Required permissions**: [kms:Verify][4] (key policy)
|
8818
9190
|
#
|
8819
|
-
# **Related operations
|
9191
|
+
# **Related operations**: Sign
|
8820
9192
|
#
|
8821
9193
|
#
|
8822
9194
|
#
|
@@ -9015,13 +9387,13 @@ module Aws::KMS
|
|
9015
9387
|
# key state. For details, see [Key states of KMS keys][3] in the *Key
|
9016
9388
|
# Management Service Developer Guide*.
|
9017
9389
|
#
|
9018
|
-
# **Cross-account use
|
9390
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
9019
9391
|
# in a different Amazon Web Services account, specify the key ARN or
|
9020
9392
|
# alias ARN in the value of the `KeyId` parameter.
|
9021
9393
|
#
|
9022
|
-
# **Required permissions
|
9394
|
+
# **Required permissions**: [kms:VerifyMac][4] (key policy)
|
9023
9395
|
#
|
9024
|
-
# **Related operations
|
9396
|
+
# **Related operations**: GenerateMac
|
9025
9397
|
#
|
9026
9398
|
#
|
9027
9399
|
#
|
@@ -9132,7 +9504,7 @@ module Aws::KMS
|
|
9132
9504
|
params: params,
|
9133
9505
|
config: config)
|
9134
9506
|
context[:gem_name] = 'aws-sdk-kms'
|
9135
|
-
context[:gem_version] = '1.
|
9507
|
+
context[:gem_version] = '1.64.0'
|
9136
9508
|
Seahorse::Client::Request.new(handlers, context)
|
9137
9509
|
end
|
9138
9510
|
|