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.
@@ -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**\: No. You cannot perform this operation on a KMS
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**\: [kms:CancelKeyDeletion][3] (key policy)
396
+ # **Required permissions**: [kms:CancelKeyDeletion][3] (key policy)
397
397
  #
398
- # **Related operations**\: ScheduleKeyDeletion
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**\: No. You cannot perform this operation on a
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**\: [kms:ConnectCustomKeyStore][7] (IAM policy)
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**\: No. You cannot perform this operation on an
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**\: No. You cannot perform this operation on a
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**\: [kms:CreateCustomKeyStore][9] (IAM policy).
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-1a23b4cdefg", # The ID of the CloudHSM 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**\: Yes. To perform this operation on a KMS key in
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**\: [kms:CreateGrant][5] (key policy)
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. Each constraint value can
1240
- # include up to 8 encryption context pairs. The encryption context value
1241
- # in each constraint cannot exceed 384 characters. For information about
1242
- # grant constraints, see [Using grant constraints][1] in the *Key
1243
- # Management Service Developer Guide*. For more information about
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][3] that include an `EncryptionContext` parameter, such as
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
- # These keys don't support an encryption context.
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/create-grant-overview.html#grant-constraints
1271
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
1272
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations
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**\: No. You cannot use this operation to create a
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**\: [kms:CreateKey][11] (IAM policy). To use
1559
- # the `Tags` parameter, [kms:TagResource][11] (IAM policy). For examples
1560
- # and information about related permissions, see [Allow a user to create
1561
- # KMS keys][12] in the *Key Management Service Developer Guide*.
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
- # Use a description that helps you decide whether the KMS key is
1627
- # appropriate for a task. The default value is an empty string (no
1628
- # description).
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-1a23b4cdefg",
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
- # Applications in Amazon Web Services Nitro Enclaves can call this
2301
- # operation by using the [Amazon Web Services Nitro Enclaves Development
2302
- # Kit][5]. For information about the supporting parameters, see [How
2303
- # Amazon Web Services Nitro Enclaves use KMS][6] in the *Key Management
2304
- # Service Developer Guide*.
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][7] in the *Key
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**\: Yes. If you use the `KeyId` parameter to
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**\: [kms:Decrypt][8] (key policy)
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://github.com/aws/aws-nitro-enclaves-sdk-c
2333
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2334
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2335
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
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**\: No. You cannot perform this operation on an
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**\: No. You cannot perform this operation on a
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**\: [kms:DeleteCustomKeyStore][5] (IAM policy)
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**\: No. You cannot perform this operation on a KMS
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**\: [kms:DeleteImportedKeyMaterial][3] (key
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**\: No. You cannot perform this operation on a
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**\: [kms:DescribeCustomKeyStores][4] (IAM
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-1a23b4cdefg",
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**\: Yes. To perform this operation with a KMS key
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**\: [kms:DescribeKey][4] (key policy)
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-1a23b4cdefg",
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**\: No. You cannot perform this operation on a KMS
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**\: [kms:DisableKey][3] (key policy)
3446
+ # **Required permissions**: [kms:DisableKey][3] (key policy)
3346
3447
  #
3347
- # **Related operations**\: EnableKey
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**\: No. You cannot perform this operation on a KMS
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**\: [kms:DisableKeyRotation][11] (key policy)
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**\: No. You cannot perform this operation on a
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**\: [kms:DisconnectCustomKeyStore][3] (IAM
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**\: No. You cannot perform this operation on a KMS
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**\: [kms:EnableKey][3] (key policy)
3700
+ # **Required permissions**: [kms:EnableKey][3] (key policy)
3600
3701
  #
3601
- # **Related operations**\: DisableKey
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**\: No. You cannot perform this operation on a KMS
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**\: [kms:EnableKeyRotation][12] (key policy)
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`\: 4096 bytes
3908
+ # * `SYMMETRIC_DEFAULT`: 4096 bytes
3808
3909
  #
3809
3910
  # ^
3810
3911
  #
3811
3912
  # * `RSA_2048`
3812
3913
  #
3813
- # * `RSAES_OAEP_SHA_1`\: 214 bytes
3914
+ # * `RSAES_OAEP_SHA_1`: 214 bytes
3814
3915
  #
3815
- # * `RSAES_OAEP_SHA_256`\: 190 bytes
3916
+ # * `RSAES_OAEP_SHA_256`: 190 bytes
3816
3917
  #
3817
3918
  # * `RSA_3072`
3818
3919
  #
3819
- # * `RSAES_OAEP_SHA_1`\: 342 bytes
3920
+ # * `RSAES_OAEP_SHA_1`: 342 bytes
3820
3921
  #
3821
- # * `RSAES_OAEP_SHA_256`\: 318 bytes
3922
+ # * `RSAES_OAEP_SHA_256`: 318 bytes
3822
3923
  #
3823
3924
  # * `RSA_4096`
3824
3925
  #
3825
- # * `RSAES_OAEP_SHA_1`\: 470 bytes
3926
+ # * `RSAES_OAEP_SHA_1`: 470 bytes
3826
3927
  #
3827
- # * `RSAES_OAEP_SHA_256`\: 446 bytes
3928
+ # * `RSAES_OAEP_SHA_256`: 446 bytes
3828
3929
  #
3829
- # * `SM2PKE`\: 1024 bytes (China Regions only)
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**\: Yes. To perform this operation with a KMS key
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**\: [kms:Encrypt][3] (key policy)
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
- # Applications in Amazon Web Services Nitro Enclaves can call this
4016
- # operation by using the [Amazon Web Services Nitro Enclaves Development
4017
- # Kit][2]. For information about the supporting parameters, see [How
4018
- # Amazon Web Services Nitro Enclaves use KMS][3] in the *Key Management
4019
- # Service Developer Guide*.
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][4] in the *Key
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][5], the [Amazon DynamoDB Encryption Client][6], or
4031
- # [Amazon S3 client-side encryption][7] to do these tasks for you.
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**\: Yes. To perform this operation with a KMS key
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**\: [kms:GenerateDataKey][8] (key policy)
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://github.com/aws/aws-nitro-enclaves-sdk-c
4074
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
4075
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4076
- # [5]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
4077
- # [6]: https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/
4078
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
4079
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
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][3] in the *Key Management
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][4] in the *Key
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**\: Yes. To perform this operation with a KMS key
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**\: [kms:GenerateDataKeyPair][5] (key policy)
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/kms/latest/developerguide/concepts.html#encrypt_context
4283
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4284
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
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**\: Yes. To perform this operation with a KMS key
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
- # [kms:GenerateDataKeyPairWithoutPlaintext][4] (key policy)
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 `128`. The symmetric
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**\: Yes. To perform this operation with a KMS key
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**\: [kms:GenerateDataKeyWithoutPlaintext][3]
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**\: Yes. To perform this operation with a KMS key
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**\: [kms:GenerateMac][4] (key policy)
5110
+ # **Required permissions**: [kms:GenerateMac][4] (key policy)
4823
5111
  #
4824
- # **Related operations**\: VerifyMac
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
- # Applications in Amazon Web Services Nitro Enclaves can call this
4931
- # operation by using the [Amazon Web Services Nitro Enclaves Development
4932
- # Kit][1]. For information about the supporting parameters, see [How
4933
- # Amazon Web Services Nitro Enclaves use KMS][2] in the *Key Management
4934
- # Service Developer Guide*.
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][3].
5231
+ # [Key Management Service Cryptographic Details][4].
4938
5232
  #
4939
- # **Cross-account use**\: Not applicable. `GenerateRandom` does not 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**\: [kms:GenerateRandom][4] (IAM policy)
5236
+ # **Required permissions**: [kms:GenerateRandom][5] (IAM policy)
4943
5237
  #
4944
5238
  #
4945
5239
  #
4946
- # [1]: https://github.com/aws/aws-nitro-enclaves-sdk-c
4947
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
4948
- # [3]: https://docs.aws.amazon.com/kms/latest/cryptographic-details/
4949
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
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**\: No. You cannot perform this operation on a KMS
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**\: [kms:GetKeyPolicy][1] (key policy)
5353
+ # **Required permissions**: [kms:GetKeyPolicy][1] (key policy)
5007
5354
  #
5008
- # **Related operations**\: PutKeyPolicy
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**\: Yes. To perform this operation on a KMS key in
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**\: [kms:GetKeyRotationStatus][11] (key policy)
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**\: No. You cannot perform this operation on a KMS
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**\: [kms:GetParametersForImport][3] (key
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]\: The type of key material in the public key, such as
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]\: Whether the key is used for encryption or signing.
5700
+ # * [KeyUsage][3]: Whether the key is used for encryption or signing.
5355
5701
  #
5356
- # * [EncryptionAlgorithms][4] or [SigningAlgorithms][5]\: A list of the
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**\: Yes. To perform this operation with a KMS key
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**\: [kms:GetPublicKey][8] (key policy)
5726
+ # **Required permissions**: [kms:GetPublicKey][8] (key policy)
5381
5727
  #
5382
- # **Related operations**\: CreateKey
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**\: No. You cannot perform this operation on a KMS
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**\: [kms:ImportKeyMaterial][5] (key policy)
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**\: No. `ListAliases` does not return aliases in
6028
+ # **Cross-account use**: No. `ListAliases` does not return aliases in
5683
6029
  # other Amazon Web Services accounts.
5684
6030
  #
5685
- # **Required permissions**\: [kms:ListAliases][2] (IAM policy)
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**\: Yes. To perform this operation on a KMS key in
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**\: [kms:ListGrants][4] (key policy)
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**\: No. You cannot perform this operation on a KMS
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**\: [kms:ListKeyPolicies][1] (key policy)
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**\: No. You cannot perform this operation on a KMS
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**\: [kms:ListKeys][1] (IAM policy)
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**\: No. You cannot perform this operation on a KMS
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**\: [kms:ListResourceTags][3] (key policy)
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**\: You must specify a principal in your Amazon
6366
- # Web Services account. However, this operation can return grants in any
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**\: [kms:ListRetirableGrants][3] (IAM policy)
6372
- # in your Amazon Web Services account.
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**\: No. You cannot perform this operation on a KMS
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**\: [kms:PutKeyPolicy][4] (key policy)
6850
+ # **Required permissions**: [kms:PutKeyPolicy][4] (key policy)
6505
6851
  #
6506
- # **Related operations**\: GetKeyPolicy
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**\: Yes. The source KMS key and destination KMS
6690
- # key can be in different Amazon Web Services accounts. Either or both
6691
- # KMS keys can be in a different account than the caller. To specify a
6692
- # KMS key in a different account, you must use its key ARN or alias ARN.
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**\: No. You cannot use this operation to create a
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**\: Yes. You can retire a grant on a KMS key in a
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:**\:Permission to retire a grant is determined
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**\: Yes. To perform this operation on a KMS key in
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**\: [kms:RevokeGrant][5] (key policy).
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**\: No. You cannot perform this operation on a KMS
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**\: kms:ScheduleKeyDeletion (key policy)
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**\: Yes. To perform this operation with a KMS key
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**\: [kms:Sign][4] (key policy)
8054
+ # **Required permissions**: [kms:Sign][4] (key policy)
7697
8055
  #
7698
- # **Related operations**\: Verify
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**\: No. You cannot perform this operation on a KMS
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**\: [kms:TagResource][10] (key policy)
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
- # Each tag consists of a tag key and a tag value. The tag value can be
7949
- # an empty (null) string.
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**\: No. You cannot perform this operation on a KMS
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**\: [kms:UntagResource][6] (key policy)
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**\: No. You cannot perform this operation on a KMS
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**\: No. You cannot perform this operation on a
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**\: [kms:UpdateCustomKeyStore][2] (IAM policy)
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-1a23b4cdefg", # 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.
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**\: No. You cannot perform this operation on a KMS
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**\: [kms:UpdateKeyDescription][2] (key policy)
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**\: No. You cannot use this operation in a
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**\: Yes. To perform this operation with a KMS key
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**\: [kms:Verify][4] (key policy)
9189
+ # **Required permissions**: [kms:Verify][4] (key policy)
8818
9190
  #
8819
- # **Related operations**\: Sign
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**\: Yes. To perform this operation with a KMS key
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**\: [kms:VerifyMac][4] (key policy)
9394
+ # **Required permissions**: [kms:VerifyMac][4] (key policy)
9023
9395
  #
9024
- # **Related operations**\: GenerateMac
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.63.0'
9507
+ context[:gem_version] = '1.64.0'
9136
9508
  Seahorse::Client::Request.new(handlers, context)
9137
9509
  end
9138
9510