aws-sdk-kms 1.63.0 → 1.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -275,6 +275,11 @@ module Aws::KMS
275
275
  # in the future.
276
276
  #
277
277
  #
278
+ # @option options [String] :sdk_ua_app_id
279
+ # A unique and opaque application ID that is appended to the
280
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
281
+ # maximum length of 50.
282
+ #
278
283
  # @option options [String] :secret_access_key
279
284
  #
280
285
  # @option options [String] :session_token
@@ -390,12 +395,12 @@ module Aws::KMS
390
395
  # key state. For details, see [Key states of KMS keys][2] in the *Key
391
396
  # Management Service Developer Guide*.
392
397
  #
393
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
398
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
394
399
  # key in a different Amazon Web Services account.
395
400
  #
396
- # **Required permissions**\: [kms:CancelKeyDeletion][3] (key policy)
401
+ # **Required permissions**: [kms:CancelKeyDeletion][3] (key policy)
397
402
  #
398
- # **Related operations**\: ScheduleKeyDeletion
403
+ # **Related operations**: ScheduleKeyDeletion
399
404
  #
400
405
  #
401
406
  #
@@ -527,10 +532,10 @@ module Aws::KMS
527
532
  # store, see [Troubleshooting an external key store][6] in the *Key
528
533
  # Management Service Developer Guide*.
529
534
  #
530
- # **Cross-account use**\: No. You cannot perform this operation on a
535
+ # **Cross-account use**: No. You cannot perform this operation on a
531
536
  # custom key store in a different Amazon Web Services account.
532
537
  #
533
- # **Required permissions**\: [kms:ConnectCustomKeyStore][7] (IAM policy)
538
+ # **Required permissions**: [kms:ConnectCustomKeyStore][7] (IAM policy)
534
539
  #
535
540
  # **Related operations**
536
541
  #
@@ -624,7 +629,7 @@ module Aws::KMS
624
629
  # key state. For details, see [Key states of KMS keys][4] in the *Key
625
630
  # Management Service Developer Guide*.
626
631
  #
627
- # **Cross-account use**\: No. You cannot perform this operation on an
632
+ # **Cross-account use**: No. You cannot perform this operation on an
628
633
  # alias in a different Amazon Web Services account.
629
634
  #
630
635
  # **Required permissions**
@@ -657,6 +662,10 @@ module Aws::KMS
657
662
  # Specifies the alias name. This value must begin with `alias/` followed
658
663
  # by a name, such as `alias/ExampleAlias`.
659
664
  #
665
+ # Do not include confidential or sensitive information in this field.
666
+ # This field may be displayed in plaintext in CloudTrail logs and other
667
+ # output.
668
+ #
660
669
  # The `AliasName` value must be string of 1-256 characters. It can
661
670
  # contain only alphanumeric characters, forward slashes (/), underscores
662
671
  # (\_), and dashes (-). The alias name cannot begin with `alias/aws/`.
@@ -788,10 +797,10 @@ module Aws::KMS
788
797
  # For help with failures, see [Troubleshooting a custom key store][7] in
789
798
  # the *Key Management Service Developer Guide*.
790
799
  #
791
- # **Cross-account use**\: No. You cannot perform this operation on a
800
+ # **Cross-account use**: No. You cannot perform this operation on a
792
801
  # custom key store in a different Amazon Web Services account.
793
802
  #
794
- # **Required permissions**\: [kms:CreateCustomKeyStore][9] (IAM policy).
803
+ # **Required permissions**: [kms:CreateCustomKeyStore][9] (IAM policy).
795
804
  #
796
805
  # **Related operations:**
797
806
  #
@@ -822,6 +831,10 @@ module Aws::KMS
822
831
  # unique in your Amazon Web Services account and Region. This parameter
823
832
  # is required for all custom key stores.
824
833
  #
834
+ # Do not include confidential or sensitive information in this field.
835
+ # This field may be displayed in plaintext in CloudTrail logs and other
836
+ # output.
837
+ #
825
838
  # @option params [String] :cloud_hsm_cluster_id
826
839
  # Identifies the CloudHSM cluster for an CloudHSM key store. This
827
840
  # parameter is required for custom key stores with `CustomKeyStoreType`
@@ -1018,7 +1031,7 @@ module Aws::KMS
1018
1031
  # # This example creates a custom key store that is associated with an AWS CloudHSM cluster.
1019
1032
  #
1020
1033
  # resp = client.create_custom_key_store({
1021
- # cloud_hsm_cluster_id: "cluster-1a23b4cdefg", # The ID of the CloudHSM cluster.
1034
+ # cloud_hsm_cluster_id: "cluster-234abcdefABC", # The ID of the CloudHSM cluster.
1022
1035
  # custom_key_store_name: "ExampleKeyStore", # A friendly name for the custom key store.
1023
1036
  # key_store_password: "kmsPswd", # The password for the kmsuser CU account in the specified cluster.
1024
1037
  # trust_anchor_certificate: "<certificate-goes-here>", # The content of the customerCA.crt file that you created when you initialized the cluster.
@@ -1140,11 +1153,11 @@ module Aws::KMS
1140
1153
  # key state. For details, see [Key states of KMS keys][4] in the *Key
1141
1154
  # Management Service Developer Guide*.
1142
1155
  #
1143
- # **Cross-account use**\: Yes. To perform this operation on a KMS key in
1156
+ # **Cross-account use**: Yes. To perform this operation on a KMS key in
1144
1157
  # a different Amazon Web Services account, specify the key ARN in the
1145
1158
  # value of the `KeyId` parameter.
1146
1159
  #
1147
- # **Required permissions**\: [kms:CreateGrant][5] (key policy)
1160
+ # **Required permissions**: [kms:CreateGrant][5] (key policy)
1148
1161
  #
1149
1162
  # **Related operations:**
1150
1163
  #
@@ -1235,22 +1248,19 @@ module Aws::KMS
1235
1248
  # @option params [Types::GrantConstraints] :constraints
1236
1249
  # Specifies a grant constraint.
1237
1250
  #
1251
+ # Do not include confidential or sensitive information in this field.
1252
+ # This field may be displayed in plaintext in CloudTrail logs and other
1253
+ # output.
1254
+ #
1238
1255
  # 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.
1256
+ # `EncryptionContextSubset` grant constraints, which allow the
1257
+ # permissions in the grant only when the encryption context in the
1258
+ # request matches (`EncryptionContextEquals`) or includes
1259
+ # (`EncryptionContextSubset`) the encryption context specified in the
1260
+ # constraint.
1251
1261
  #
1252
1262
  # The encryption context grant constraints are supported only on [grant
1253
- # operations][3] that include an `EncryptionContext` parameter, such as
1263
+ # operations][1] that include an `EncryptionContext` parameter, such as
1254
1264
  # cryptographic operations on symmetric encryption KMS keys. Grants with
1255
1265
  # grant constraints can include the DescribeKey and RetireGrant
1256
1266
  # operations, but the constraint doesn't apply to these operations. If
@@ -1261,15 +1271,20 @@ module Aws::KMS
1261
1271
  #
1262
1272
  # You cannot use an encryption context grant constraint for
1263
1273
  # cryptographic operations with asymmetric KMS keys or HMAC KMS keys.
1264
- # These keys don't support an encryption context.
1265
- #
1274
+ # Operations with these keys don't support an encryption context.
1266
1275
  #
1276
+ # Each constraint value can include up to 8 encryption context pairs.
1277
+ # The encryption context value in each constraint cannot exceed 384
1278
+ # characters. For information about grant constraints, see [Using grant
1279
+ # constraints][2] in the *Key Management Service Developer Guide*. For
1280
+ # more information about encryption context, see [Encryption context][3]
1281
+ # in the <i> <i>Key Management Service Developer Guide</i> </i>.
1267
1282
  #
1268
1283
  #
1269
1284
  #
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
1285
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations
1286
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/create-grant-overview.html#grant-constraints
1287
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
1273
1288
  #
1274
1289
  # @option params [Array<String>] :grant_tokens
1275
1290
  # A list of grant tokens.
@@ -1288,6 +1303,10 @@ module Aws::KMS
1288
1303
  # A friendly name for the grant. Use this value to prevent the
1289
1304
  # unintended creation of duplicate grants when retrying this request.
1290
1305
  #
1306
+ # Do not include confidential or sensitive information in this field.
1307
+ # This field may be displayed in plaintext in CloudTrail logs and other
1308
+ # output.
1309
+ #
1291
1310
  # When this value is absent, all `CreateGrant` requests result in a new
1292
1311
  # grant with a unique `GrantId` even if all the supplied parameters are
1293
1312
  # identical. This can result in unintended duplicates when you retry the
@@ -1552,13 +1571,13 @@ module Aws::KMS
1552
1571
  #
1553
1572
  # </note>
1554
1573
  #
1555
- # **Cross-account use**\: No. You cannot use this operation to create a
1574
+ # **Cross-account use**: No. You cannot use this operation to create a
1556
1575
  # KMS key in a different Amazon Web Services account.
1557
1576
  #
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*.
1577
+ # **Required permissions**: [kms:CreateKey][11] (IAM policy). To use the
1578
+ # `Tags` parameter, [kms:TagResource][11] (IAM policy). For examples and
1579
+ # information about related permissions, see [Allow a user to create KMS
1580
+ # keys][12] in the *Key Management Service Developer Guide*.
1562
1581
  #
1563
1582
  # **Related operations:**
1564
1583
  #
@@ -1621,11 +1640,13 @@ module Aws::KMS
1621
1640
  # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
1622
1641
  #
1623
1642
  # @option params [String] :description
1624
- # A description of the KMS key.
1643
+ # A description of the KMS key. Use a description that helps you decide
1644
+ # whether the KMS key is appropriate for a task. The default value is an
1645
+ # empty string (no description).
1625
1646
  #
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).
1647
+ # Do not include confidential or sensitive information in this field.
1648
+ # This field may be displayed in plaintext in CloudTrail logs and other
1649
+ # output.
1629
1650
  #
1630
1651
  # To set or change the description after the key is created, use
1631
1652
  # UpdateKeyDescription.
@@ -1813,6 +1834,10 @@ module Aws::KMS
1813
1834
  # KMS key when it is created. To tag an existing KMS key, use the
1814
1835
  # TagResource operation.
1815
1836
  #
1837
+ # Do not include confidential or sensitive information in this field.
1838
+ # This field may be displayed in plaintext in CloudTrail logs and other
1839
+ # output.
1840
+ #
1816
1841
  # <note markdown="1"> Tagging or untagging a KMS key can allow or deny permission to the KMS
1817
1842
  # key. For details, see [ABAC for KMS][1] in the *Key Management Service
1818
1843
  # Developer Guide*.
@@ -2125,7 +2150,7 @@ module Aws::KMS
2125
2150
  # key_metadata: {
2126
2151
  # aws_account_id: "111122223333",
2127
2152
  # arn: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
2128
- # cloud_hsm_cluster_id: "cluster-1a23b4cdefg",
2153
+ # cloud_hsm_cluster_id: "cluster-234abcdefABC",
2129
2154
  # creation_date: Time.parse("2019-12-02T07:48:55-07:00"),
2130
2155
  # custom_key_store_id: "cks-1234567890abcdef0",
2131
2156
  # customer_master_key_spec: "SYMMETRIC_DEFAULT",
@@ -2297,21 +2322,27 @@ module Aws::KMS
2297
2322
  # details, see [Best practices for IAM policies][4] in the *Key
2298
2323
  # Management Service Developer Guide*.
2299
2324
  #
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*.
2325
+ # `Decrypt` also supports [Amazon Web Services Nitro Enclaves][5], which
2326
+ # provide an isolated compute environment in Amazon EC2. To call
2327
+ # `Decrypt` for a Nitro enclave, use the [Amazon Web Services Nitro
2328
+ # Enclaves SDK][6] or any Amazon Web Services SDK. Use the `Recipient`
2329
+ # parameter to provide the attestation document for the enclave. Instead
2330
+ # of the plaintext data, the response includes the plaintext data
2331
+ # encrypted with the public key from the attestation document
2332
+ # (`CiphertextForRecipient`).For information about the interaction
2333
+ # between KMS and Amazon Web Services Nitro Enclaves, see [How Amazon
2334
+ # Web Services Nitro Enclaves uses KMS][7] in the *Key Management
2335
+ # Service Developer Guide*..
2305
2336
  #
2306
2337
  # 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
2338
+ # key state. For details, see [Key states of KMS keys][8] in the *Key
2308
2339
  # Management Service Developer Guide*.
2309
2340
  #
2310
- # **Cross-account use**\: Yes. If you use the `KeyId` parameter to
2341
+ # **Cross-account use**: Yes. If you use the `KeyId` parameter to
2311
2342
  # identify a KMS key in a different Amazon Web Services account, specify
2312
2343
  # the key ARN or the alias ARN of the KMS key.
2313
2344
  #
2314
- # **Required permissions**\: [kms:Decrypt][8] (key policy)
2345
+ # **Required permissions**: [kms:Decrypt][9] (key policy)
2315
2346
  #
2316
2347
  # **Related operations:**
2317
2348
  #
@@ -2329,10 +2360,11 @@ module Aws::KMS
2329
2360
  # [2]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
2330
2361
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
2331
2362
  # [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
2363
+ # [5]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
2364
+ # [6]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
2365
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2366
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2367
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2336
2368
  #
2337
2369
  # @option params [required, String, StringIO, File] :ciphertext_blob
2338
2370
  # Ciphertext to be decrypted. The blob includes metadata.
@@ -2417,16 +2449,44 @@ module Aws::KMS
2417
2449
  # represents the only supported algorithm that is valid for symmetric
2418
2450
  # encryption KMS keys.
2419
2451
  #
2452
+ # @option params [Types::RecipientInfo] :recipient
2453
+ # A signed [attestation document][1] from an Amazon Web Services Nitro
2454
+ # enclave and the encryption algorithm to use with the enclave's public
2455
+ # key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
2456
+ #
2457
+ # This parameter only supports attestation documents for Amazon Web
2458
+ # Services Nitro Enclaves. To include this parameter, use the [Amazon
2459
+ # Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
2460
+ #
2461
+ # When you use this parameter, instead of returning the plaintext data,
2462
+ # KMS encrypts the plaintext data with the public key in the attestation
2463
+ # document, and returns the resulting ciphertext in the
2464
+ # `CiphertextForRecipient` field in the response. This ciphertext can be
2465
+ # decrypted only with the private key in the enclave. The `Plaintext`
2466
+ # field in the response is null or empty.
2467
+ #
2468
+ # For information about the interaction between KMS and Amazon Web
2469
+ # Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
2470
+ # uses KMS][3] in the *Key Management Service Developer Guide*.
2471
+ #
2472
+ #
2473
+ #
2474
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
2475
+ # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
2476
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2477
+ #
2420
2478
  # @return [Types::DecryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2421
2479
  #
2422
2480
  # * {Types::DecryptResponse#key_id #key_id} => String
2423
2481
  # * {Types::DecryptResponse#plaintext #plaintext} => String
2424
2482
  # * {Types::DecryptResponse#encryption_algorithm #encryption_algorithm} => String
2483
+ # * {Types::DecryptResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
2425
2484
  #
2426
2485
  #
2427
- # @example Example: To decrypt data
2486
+ # @example Example: To decrypt data with a symmetric encryption KMS key
2428
2487
  #
2429
- # # The following example decrypts data that was encrypted with a KMS key.
2488
+ # # The following example decrypts data that was encrypted with a symmetric encryption KMS key. The KeyId is not required
2489
+ # # when decrypting with a symmetric encryption key, but it is a best practice.
2430
2490
  #
2431
2491
  # resp = client.decrypt({
2432
2492
  # ciphertext_blob: "<binary data>", # The encrypted data (ciphertext).
@@ -2435,10 +2495,51 @@ module Aws::KMS
2435
2495
  #
2436
2496
  # resp.to_h outputs the following:
2437
2497
  # {
2498
+ # 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
2499
  # 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
2500
  # plaintext: "<binary data>", # The decrypted (plaintext) data.
2440
2501
  # }
2441
2502
  #
2503
+ # @example Example: To decrypt data with an asymmetric encryption KMS key
2504
+ #
2505
+ # # The following example decrypts data that was encrypted with an asymmetric encryption KMS key. When the KMS encryption
2506
+ # # key is asymmetric, you must specify the KMS key ID and the encryption algorithm that was used to encrypt the data.
2507
+ #
2508
+ # resp = client.decrypt({
2509
+ # ciphertext_blob: "<binary data>", # The encrypted data (ciphertext).
2510
+ # 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.
2511
+ # 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.
2512
+ # })
2513
+ #
2514
+ # resp.to_h outputs the following:
2515
+ # {
2516
+ # encryption_algorithm: "RSAES_OAEP_SHA_256", # The encryption algorithm that was used to decrypt the ciphertext.
2517
+ # 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.
2518
+ # plaintext: "<binary data>", # The decrypted (plaintext) data.
2519
+ # }
2520
+ #
2521
+ # @example Example: To decrypt data for a Nitro enclave
2522
+ #
2523
+ # # The following Decrypt example includes the Recipient parameter with a signed attestation document from an AWS Nitro
2524
+ # # enclave. Instead of returning the decrypted data in plaintext (Plaintext), the operation returns the decrypted data
2525
+ # # encrypted by the public key from the attestation document (CiphertextForRecipient).
2526
+ #
2527
+ # resp = client.decrypt({
2528
+ # ciphertext_blob: "<binary data>", # The encrypted data. This ciphertext was encrypted with the KMS key
2529
+ # key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The KMS key to use to decrypt the ciphertext
2530
+ # recipient: {
2531
+ # attestation_document: "<attestation document>",
2532
+ # key_encryption_algorithm: "RSAES_OAEP_SHA_256",
2533
+ # }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
2534
+ # })
2535
+ #
2536
+ # resp.to_h outputs the following:
2537
+ # {
2538
+ # ciphertext_for_recipient: "<binary data>", # The decrypted CiphertextBlob encrypted with the public key from the attestation document
2539
+ # 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)
2540
+ # plaintext: "", # This field is null or empty
2541
+ # }
2542
+ #
2442
2543
  # @example Request syntax with placeholder values
2443
2544
  #
2444
2545
  # resp = client.decrypt({
@@ -2449,6 +2550,10 @@ module Aws::KMS
2449
2550
  # grant_tokens: ["GrantTokenType"],
2450
2551
  # key_id: "KeyIdType",
2451
2552
  # encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, SM2PKE
2553
+ # recipient: {
2554
+ # key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
2555
+ # attestation_document: "data",
2556
+ # },
2452
2557
  # })
2453
2558
  #
2454
2559
  # @example Response structure
@@ -2456,6 +2561,7 @@ module Aws::KMS
2456
2561
  # resp.key_id #=> String
2457
2562
  # resp.plaintext #=> String
2458
2563
  # resp.encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
2564
+ # resp.ciphertext_for_recipient #=> String
2459
2565
  #
2460
2566
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Decrypt AWS API Documentation
2461
2567
  #
@@ -2484,7 +2590,7 @@ module Aws::KMS
2484
2590
  # create a new alias. To associate an existing alias with a different
2485
2591
  # KMS key, call UpdateAlias.
2486
2592
  #
2487
- # **Cross-account use**\: No. You cannot perform this operation on an
2593
+ # **Cross-account use**: No. You cannot perform this operation on an
2488
2594
  # alias in a different Amazon Web Services account.
2489
2595
  #
2490
2596
  # **Required permissions**
@@ -2578,10 +2684,10 @@ module Aws::KMS
2578
2684
  # If the operation succeeds, it returns a JSON object with no
2579
2685
  # properties.
2580
2686
  #
2581
- # **Cross-account use**\: No. You cannot perform this operation on a
2687
+ # **Cross-account use**: No. You cannot perform this operation on a
2582
2688
  # custom key store in a different Amazon Web Services account.
2583
2689
  #
2584
- # **Required permissions**\: [kms:DeleteCustomKeyStore][5] (IAM policy)
2690
+ # **Required permissions**: [kms:DeleteCustomKeyStore][5] (IAM policy)
2585
2691
  #
2586
2692
  # **Related operations:**
2587
2693
  #
@@ -2655,10 +2761,10 @@ module Aws::KMS
2655
2761
  # key state. For details, see [Key states of KMS keys][2] in the *Key
2656
2762
  # Management Service Developer Guide*.
2657
2763
  #
2658
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
2764
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
2659
2765
  # key in a different Amazon Web Services account.
2660
2766
  #
2661
- # **Required permissions**\: [kms:DeleteImportedKeyMaterial][3] (key
2767
+ # **Required permissions**: [kms:DeleteImportedKeyMaterial][3] (key
2662
2768
  # policy)
2663
2769
  #
2664
2770
  # **Related operations:**
@@ -2750,10 +2856,10 @@ module Aws::KMS
2750
2856
  # see the [Troubleshooting external key stores][3]. Both topics are in
2751
2857
  # the *Key Management Service Developer Guide*.
2752
2858
  #
2753
- # **Cross-account use**\: No. You cannot perform this operation on a
2859
+ # **Cross-account use**: No. You cannot perform this operation on a
2754
2860
  # custom key store in a different Amazon Web Services account.
2755
2861
  #
2756
- # **Required permissions**\: [kms:DescribeCustomKeyStores][4] (IAM
2862
+ # **Required permissions**: [kms:DescribeCustomKeyStores][4] (IAM
2757
2863
  # policy)
2758
2864
  #
2759
2865
  # **Related operations:**
@@ -2839,7 +2945,7 @@ module Aws::KMS
2839
2945
  # {
2840
2946
  # custom_key_stores: [
2841
2947
  # {
2842
- # cloud_hsm_cluster_id: "cluster-1a23b4cdefg",
2948
+ # cloud_hsm_cluster_id: "cluster-234abcdefABC",
2843
2949
  # connection_state: "CONNECTED",
2844
2950
  # creation_date: Time.parse("1.499288695918E9"),
2845
2951
  # custom_key_store_id: "cks-1234567890abcdef0",
@@ -2988,11 +3094,11 @@ module Aws::KMS
2988
3094
  # services use `DescribeKey` to create [Amazon Web Services managed
2989
3095
  # keys][2] from a *predefined Amazon Web Services alias* with no key ID.
2990
3096
  #
2991
- # **Cross-account use**\: Yes. To perform this operation with a KMS key
3097
+ # **Cross-account use**: Yes. To perform this operation with a KMS key
2992
3098
  # in a different Amazon Web Services account, specify the key ARN or
2993
3099
  # alias ARN in the value of the `KeyId` parameter.
2994
3100
  #
2995
- # **Required permissions**\: [kms:DescribeKey][4] (key policy)
3101
+ # **Required permissions**: [kms:DescribeKey][4] (key policy)
2996
3102
  #
2997
3103
  # **Related operations:**
2998
3104
  #
@@ -3224,7 +3330,7 @@ module Aws::KMS
3224
3330
  # key_metadata: {
3225
3331
  # aws_account_id: "123456789012",
3226
3332
  # arn: "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab",
3227
- # cloud_hsm_cluster_id: "cluster-1a23b4cdefg",
3333
+ # cloud_hsm_cluster_id: "cluster-234abcdefABC",
3228
3334
  # creation_date: Time.parse(1646160362.664),
3229
3335
  # custom_key_store_id: "cks-1234567890abcdef0",
3230
3336
  # customer_master_key_spec: "SYMMETRIC_DEFAULT",
@@ -3339,12 +3445,12 @@ module Aws::KMS
3339
3445
  # key state. For details, see [Key states of KMS keys][2] in the *Key
3340
3446
  # Management Service Developer Guide*.
3341
3447
  #
3342
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
3448
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
3343
3449
  # key in a different Amazon Web Services account.
3344
3450
  #
3345
- # **Required permissions**\: [kms:DisableKey][3] (key policy)
3451
+ # **Required permissions**: [kms:DisableKey][3] (key policy)
3346
3452
  #
3347
- # **Related operations**\: EnableKey
3453
+ # **Related operations**: EnableKey
3348
3454
  #
3349
3455
  #
3350
3456
  #
@@ -3419,10 +3525,10 @@ module Aws::KMS
3419
3525
  # key state. For details, see [Key states of KMS keys][10] in the *Key
3420
3526
  # Management Service Developer Guide*.
3421
3527
  #
3422
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
3528
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
3423
3529
  # key in a different Amazon Web Services account.
3424
3530
  #
3425
- # **Required permissions**\: [kms:DisableKeyRotation][11] (key policy)
3531
+ # **Required permissions**: [kms:DisableKeyRotation][11] (key policy)
3426
3532
  #
3427
3533
  # **Related operations:**
3428
3534
  #
@@ -3524,10 +3630,10 @@ module Aws::KMS
3524
3630
  # If the operation succeeds, it returns a JSON object with no
3525
3631
  # properties.
3526
3632
  #
3527
- # **Cross-account use**\: No. You cannot perform this operation on a
3633
+ # **Cross-account use**: No. You cannot perform this operation on a
3528
3634
  # custom key store in a different Amazon Web Services account.
3529
3635
  #
3530
- # **Required permissions**\: [kms:DisconnectCustomKeyStore][3] (IAM
3636
+ # **Required permissions**: [kms:DisconnectCustomKeyStore][3] (IAM
3531
3637
  # policy)
3532
3638
  #
3533
3639
  # **Related operations:**
@@ -3593,12 +3699,12 @@ module Aws::KMS
3593
3699
  # key state. For details, see [Key states of KMS keys][2] in the *Key
3594
3700
  # Management Service Developer Guide*.
3595
3701
  #
3596
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
3702
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
3597
3703
  # key in a different Amazon Web Services account.
3598
3704
  #
3599
- # **Required permissions**\: [kms:EnableKey][3] (key policy)
3705
+ # **Required permissions**: [kms:EnableKey][3] (key policy)
3600
3706
  #
3601
- # **Related operations**\: DisableKey
3707
+ # **Related operations**: DisableKey
3602
3708
  #
3603
3709
  #
3604
3710
  #
@@ -3685,10 +3791,10 @@ module Aws::KMS
3685
3791
  # key state. For details, see [Key states of KMS keys][11] in the *Key
3686
3792
  # Management Service Developer Guide*.
3687
3793
  #
3688
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
3794
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
3689
3795
  # key in a different Amazon Web Services account.
3690
3796
  #
3691
- # **Required permissions**\: [kms:EnableKeyRotation][12] (key policy)
3797
+ # **Required permissions**: [kms:EnableKeyRotation][12] (key policy)
3692
3798
  #
3693
3799
  # **Related operations:**
3694
3800
  #
@@ -3804,39 +3910,39 @@ module Aws::KMS
3804
3910
  #
3805
3911
  # * Symmetric encryption KMS keys
3806
3912
  #
3807
- # * `SYMMETRIC_DEFAULT`\: 4096 bytes
3913
+ # * `SYMMETRIC_DEFAULT`: 4096 bytes
3808
3914
  #
3809
3915
  # ^
3810
3916
  #
3811
3917
  # * `RSA_2048`
3812
3918
  #
3813
- # * `RSAES_OAEP_SHA_1`\: 214 bytes
3919
+ # * `RSAES_OAEP_SHA_1`: 214 bytes
3814
3920
  #
3815
- # * `RSAES_OAEP_SHA_256`\: 190 bytes
3921
+ # * `RSAES_OAEP_SHA_256`: 190 bytes
3816
3922
  #
3817
3923
  # * `RSA_3072`
3818
3924
  #
3819
- # * `RSAES_OAEP_SHA_1`\: 342 bytes
3925
+ # * `RSAES_OAEP_SHA_1`: 342 bytes
3820
3926
  #
3821
- # * `RSAES_OAEP_SHA_256`\: 318 bytes
3927
+ # * `RSAES_OAEP_SHA_256`: 318 bytes
3822
3928
  #
3823
3929
  # * `RSA_4096`
3824
3930
  #
3825
- # * `RSAES_OAEP_SHA_1`\: 470 bytes
3931
+ # * `RSAES_OAEP_SHA_1`: 470 bytes
3826
3932
  #
3827
- # * `RSAES_OAEP_SHA_256`\: 446 bytes
3933
+ # * `RSAES_OAEP_SHA_256`: 446 bytes
3828
3934
  #
3829
- # * `SM2PKE`\: 1024 bytes (China Regions only)
3935
+ # * `SM2PKE`: 1024 bytes (China Regions only)
3830
3936
  #
3831
3937
  # The KMS key that you use for this operation must be in a compatible
3832
3938
  # key state. For details, see [Key states of KMS keys][2] in the *Key
3833
3939
  # Management Service Developer Guide*.
3834
3940
  #
3835
- # **Cross-account use**\: Yes. To perform this operation with a KMS key
3941
+ # **Cross-account use**: Yes. To perform this operation with a KMS key
3836
3942
  # in a different Amazon Web Services account, specify the key ARN or
3837
3943
  # alias ARN in the value of the `KeyId` parameter.
3838
3944
  #
3839
- # **Required permissions**\: [kms:Encrypt][3] (key policy)
3945
+ # **Required permissions**: [kms:Encrypt][3] (key policy)
3840
3946
  #
3841
3947
  # **Related operations:**
3842
3948
  #
@@ -3886,6 +3992,10 @@ module Aws::KMS
3886
3992
  # asymmetric encryption algorithms and HMAC algorithms that KMS uses do
3887
3993
  # not support an encryption context.
3888
3994
  #
3995
+ # Do not include confidential or sensitive information in this field.
3996
+ # This field may be displayed in plaintext in CloudTrail logs and other
3997
+ # output.
3998
+ #
3889
3999
  # An *encryption context* is a collection of non-secret key-value pairs
3890
4000
  # that represent additional authenticated data. When you use an
3891
4001
  # encryption context to encrypt data, you must specify the same (an
@@ -3934,9 +4044,9 @@ module Aws::KMS
3934
4044
  # * {Types::EncryptResponse#encryption_algorithm #encryption_algorithm} => String
3935
4045
  #
3936
4046
  #
3937
- # @example Example: To encrypt data
4047
+ # @example Example: To encrypt data with a symmetric encryption KMS key
3938
4048
  #
3939
- # # The following example encrypts data with the specified KMS key.
4049
+ # # The following example encrypts data with the specified symmetric encryption KMS key.
3940
4050
  #
3941
4051
  # resp = client.encrypt({
3942
4052
  # 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 +4056,28 @@ module Aws::KMS
3946
4056
  # resp.to_h outputs the following:
3947
4057
  # {
3948
4058
  # ciphertext_blob: "<binary data>", # The encrypted data (ciphertext).
4059
+ # 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
4060
  # 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
4061
  # }
3951
4062
  #
4063
+ # @example Example: To encrypt data with an asymmetric encryption KMS key
4064
+ #
4065
+ # # The following example encrypts data with the specified RSA asymmetric KMS key. When you encrypt with an asymmetric key,
4066
+ # # you must specify the encryption algorithm.
4067
+ #
4068
+ # resp = client.encrypt({
4069
+ # encryption_algorithm: "RSAES_OAEP_SHA_256", # The encryption algorithm to use in the operation.
4070
+ # 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.
4071
+ # plaintext: "<binary data>", # The data to encrypt.
4072
+ # })
4073
+ #
4074
+ # resp.to_h outputs the following:
4075
+ # {
4076
+ # ciphertext_blob: "<binary data>", # The encrypted data (ciphertext).
4077
+ # encryption_algorithm: "RSAES_OAEP_SHA_256", # The encryption algorithm that was used in the operation.
4078
+ # 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.
4079
+ # }
4080
+ #
3952
4081
  # @example Request syntax with placeholder values
3953
4082
  #
3954
4083
  # resp = client.encrypt({
@@ -4012,14 +4141,22 @@ module Aws::KMS
4012
4141
  # information, see [Encryption Context][1] in the *Key Management
4013
4142
  # Service Developer Guide*.
4014
4143
  #
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*.
4144
+ # `GenerateDataKey` also supports [Amazon Web Services Nitro
4145
+ # Enclaves][2], which provide an isolated compute environment in Amazon
4146
+ # EC2. To call `GenerateDataKey` for an Amazon Web Services Nitro
4147
+ # enclave, use the [Amazon Web Services Nitro Enclaves SDK][3] or any
4148
+ # Amazon Web Services SDK. Use the `Recipient` parameter to provide the
4149
+ # attestation document for the enclave. `GenerateDataKey` returns a copy
4150
+ # of the data key encrypted under the specified KMS key, as usual. But
4151
+ # instead of a plaintext copy of the data key, the response includes a
4152
+ # copy of the data key encrypted under the public key from the
4153
+ # attestation document (`CiphertextForRecipient`). For information about
4154
+ # the interaction between KMS and Amazon Web Services Nitro Enclaves,
4155
+ # see [How Amazon Web Services Nitro Enclaves uses KMS][4] in the *Key
4156
+ # Management Service Developer Guide*..
4020
4157
  #
4021
4158
  # 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
4159
+ # key state. For details, see [Key states of KMS keys][5] in the *Key
4023
4160
  # Management Service Developer Guide*.
4024
4161
  #
4025
4162
  # **How to use your data key**
@@ -4027,8 +4164,8 @@ module Aws::KMS
4027
4164
  # We recommend that you use the following pattern to encrypt data
4028
4165
  # locally in your application. You can write your own code or use a
4029
4166
  # 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.
4167
+ # Encryption SDK][6], the [Amazon DynamoDB Encryption Client][7], or
4168
+ # [Amazon S3 client-side encryption][8] to do these tasks for you.
4032
4169
  #
4033
4170
  # To encrypt data outside of KMS:
4034
4171
  #
@@ -4049,11 +4186,11 @@ module Aws::KMS
4049
4186
  # 2. Use the plaintext data key to decrypt data outside of KMS, then
4050
4187
  # erase the plaintext data key from memory.
4051
4188
  #
4052
- # **Cross-account use**\: Yes. To perform this operation with a KMS key
4189
+ # **Cross-account use**: Yes. To perform this operation with a KMS key
4053
4190
  # in a different Amazon Web Services account, specify the key ARN or
4054
4191
  # alias ARN in the value of the `KeyId` parameter.
4055
4192
  #
4056
- # **Required permissions**\: [kms:GenerateDataKey][8] (key policy)
4193
+ # **Required permissions**: [kms:GenerateDataKey][9] (key policy)
4057
4194
  #
4058
4195
  # **Related operations:**
4059
4196
  #
@@ -4070,13 +4207,14 @@ module Aws::KMS
4070
4207
  #
4071
4208
  #
4072
4209
  # [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
4210
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
4211
+ # [3]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
4212
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
4213
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4214
+ # [6]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
4215
+ # [7]: https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/
4216
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
4217
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4080
4218
  #
4081
4219
  # @option params [required, String] :key_id
4082
4220
  # Specifies the symmetric encryption KMS key that encrypts the data key.
@@ -4107,6 +4245,10 @@ module Aws::KMS
4107
4245
  # Specifies the encryption context that will be used when encrypting the
4108
4246
  # data key.
4109
4247
  #
4248
+ # Do not include confidential or sensitive information in this field.
4249
+ # This field may be displayed in plaintext in CloudTrail logs and other
4250
+ # output.
4251
+ #
4110
4252
  # An *encryption context* is a collection of non-secret key-value pairs
4111
4253
  # that represent additional authenticated data. When you use an
4112
4254
  # encryption context to encrypt data, you must specify the same (an
@@ -4152,11 +4294,40 @@ module Aws::KMS
4152
4294
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
4153
4295
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
4154
4296
  #
4297
+ # @option params [Types::RecipientInfo] :recipient
4298
+ # A signed [attestation document][1] from an Amazon Web Services Nitro
4299
+ # enclave and the encryption algorithm to use with the enclave's public
4300
+ # key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
4301
+ #
4302
+ # This parameter only supports attestation documents for Amazon Web
4303
+ # Services Nitro Enclaves. To include this parameter, use the [Amazon
4304
+ # Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
4305
+ #
4306
+ # When you use this parameter, instead of returning the plaintext data
4307
+ # key, KMS encrypts the plaintext data key under the public key in the
4308
+ # attestation document, and returns the resulting ciphertext in the
4309
+ # `CiphertextForRecipient` field in the response. This ciphertext can be
4310
+ # decrypted only with the private key in the enclave. The
4311
+ # `CiphertextBlob` field in the response contains a copy of the data key
4312
+ # encrypted under the KMS key specified by the `KeyId` parameter. The
4313
+ # `Plaintext` field in the response is null or empty.
4314
+ #
4315
+ # For information about the interaction between KMS and Amazon Web
4316
+ # Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
4317
+ # uses KMS][3] in the *Key Management Service Developer Guide*.
4318
+ #
4319
+ #
4320
+ #
4321
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
4322
+ # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
4323
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
4324
+ #
4155
4325
  # @return [Types::GenerateDataKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4156
4326
  #
4157
4327
  # * {Types::GenerateDataKeyResponse#ciphertext_blob #ciphertext_blob} => String
4158
4328
  # * {Types::GenerateDataKeyResponse#plaintext #plaintext} => String
4159
4329
  # * {Types::GenerateDataKeyResponse#key_id #key_id} => String
4330
+ # * {Types::GenerateDataKeyResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
4160
4331
  #
4161
4332
  #
4162
4333
  # @example Example: To generate a data key
@@ -4176,6 +4347,31 @@ module Aws::KMS
4176
4347
  # plaintext: "<binary data>", # The unencrypted (plaintext) data key.
4177
4348
  # }
4178
4349
  #
4350
+ # @example Example: To generate a data key pair for a Nitro enclave
4351
+ #
4352
+ # # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave.
4353
+ # # Instead of returning a copy of the data key encrypted by the KMS key and a plaintext copy of the data key,
4354
+ # # GenerateDataKey returns one copy of the data key encrypted by the KMS key (CiphertextBlob) and one copy of the data key
4355
+ # # encrypted by the public key from the attestation document (CiphertextForRecipient). The operation doesn't return a
4356
+ # # plaintext data key.
4357
+ #
4358
+ # resp = client.generate_data_key({
4359
+ # 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)
4360
+ # key_spec: "AES_256", # Specifies the type of data key to return
4361
+ # recipient: {
4362
+ # attestation_document: "<attestation document>",
4363
+ # key_encryption_algorithm: "RSAES_OAEP_SHA_256",
4364
+ # }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
4365
+ # })
4366
+ #
4367
+ # resp.to_h outputs the following:
4368
+ # {
4369
+ # ciphertext_blob: "<binary data>", # The data key encrypted by the specified KMS key
4370
+ # ciphertext_for_recipient: "<binary data>", # The plaintext data key encrypted by the public key from the attestation document
4371
+ # 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)
4372
+ # plaintext: "", # This field is null or empty
4373
+ # }
4374
+ #
4179
4375
  # @example Request syntax with placeholder values
4180
4376
  #
4181
4377
  # resp = client.generate_data_key({
@@ -4186,6 +4382,10 @@ module Aws::KMS
4186
4382
  # number_of_bytes: 1,
4187
4383
  # key_spec: "AES_256", # accepts AES_256, AES_128
4188
4384
  # grant_tokens: ["GrantTokenType"],
4385
+ # recipient: {
4386
+ # key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
4387
+ # attestation_document: "data",
4388
+ # },
4189
4389
  # })
4190
4390
  #
4191
4391
  # @example Response structure
@@ -4193,6 +4393,7 @@ module Aws::KMS
4193
4393
  # resp.ciphertext_blob #=> String
4194
4394
  # resp.plaintext #=> String
4195
4395
  # resp.key_id #=> String
4396
+ # resp.ciphertext_for_recipient #=> String
4196
4397
  #
4197
4398
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKey AWS API Documentation
4198
4399
  #
@@ -4245,23 +4446,38 @@ module Aws::KMS
4245
4446
  # 5280][1]. The private key is a DER-encoded PKCS8 PrivateKeyInfo, as
4246
4447
  # specified in [RFC 5958][2].
4247
4448
  #
4449
+ # `GenerateDataKeyPair` also supports [Amazon Web Services Nitro
4450
+ # Enclaves][3], which provide an isolated compute environment in Amazon
4451
+ # EC2. To call `GenerateDataKeyPair` for an Amazon Web Services Nitro
4452
+ # enclave, use the [Amazon Web Services Nitro Enclaves SDK][4] or any
4453
+ # Amazon Web Services SDK. Use the `Recipient` parameter to provide the
4454
+ # attestation document for the enclave. `GenerateDataKeyPair` returns
4455
+ # the public data key and a copy of the private data key encrypted under
4456
+ # the specified KMS key, as usual. But instead of a plaintext copy of
4457
+ # the private data key (`PrivateKeyPlaintext`), the response includes a
4458
+ # copy of the private data key encrypted under the public key from the
4459
+ # attestation document (`CiphertextForRecipient`). For information about
4460
+ # the interaction between KMS and Amazon Web Services Nitro Enclaves,
4461
+ # see [How Amazon Web Services Nitro Enclaves uses KMS][5] in the *Key
4462
+ # Management Service Developer Guide*..
4463
+ #
4248
4464
  # You can use an optional encryption context to add additional security
4249
4465
  # to the encryption operation. If you specify an `EncryptionContext`,
4250
4466
  # you must specify the same encryption context (a case-sensitive exact
4251
4467
  # match) when decrypting the encrypted data key. Otherwise, the request
4252
4468
  # to decrypt fails with an `InvalidCiphertextException`. For more
4253
- # information, see [Encryption Context][3] in the *Key Management
4469
+ # information, see [Encryption Context][6] in the *Key Management
4254
4470
  # Service Developer Guide*.
4255
4471
  #
4256
4472
  # 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
4473
+ # key state. For details, see [Key states of KMS keys][7] in the *Key
4258
4474
  # Management Service Developer Guide*.
4259
4475
  #
4260
- # **Cross-account use**\: Yes. To perform this operation with a KMS key
4476
+ # **Cross-account use**: Yes. To perform this operation with a KMS key
4261
4477
  # in a different Amazon Web Services account, specify the key ARN or
4262
4478
  # alias ARN in the value of the `KeyId` parameter.
4263
4479
  #
4264
- # **Required permissions**\: [kms:GenerateDataKeyPair][5] (key policy)
4480
+ # **Required permissions**: [kms:GenerateDataKeyPair][8] (key policy)
4265
4481
  #
4266
4482
  # **Related operations:**
4267
4483
  #
@@ -4279,14 +4495,21 @@ module Aws::KMS
4279
4495
  #
4280
4496
  # [1]: https://tools.ietf.org/html/rfc5280
4281
4497
  # [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
4498
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
4499
+ # [4]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
4500
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
4501
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4502
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4503
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4285
4504
  #
4286
4505
  # @option params [Hash<String,String>] :encryption_context
4287
4506
  # Specifies the encryption context that will be used when encrypting the
4288
4507
  # private key in the data key pair.
4289
4508
  #
4509
+ # Do not include confidential or sensitive information in this field.
4510
+ # This field may be displayed in plaintext in CloudTrail logs and other
4511
+ # output.
4512
+ #
4290
4513
  # An *encryption context* is a collection of non-secret key-value pairs
4291
4514
  # that represent additional authenticated data. When you use an
4292
4515
  # encryption context to encrypt data, you must specify the same (an
@@ -4349,6 +4572,35 @@ module Aws::KMS
4349
4572
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
4350
4573
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
4351
4574
  #
4575
+ # @option params [Types::RecipientInfo] :recipient
4576
+ # A signed [attestation document][1] from an Amazon Web Services Nitro
4577
+ # enclave and the encryption algorithm to use with the enclave's public
4578
+ # key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
4579
+ #
4580
+ # This parameter only supports attestation documents for Amazon Web
4581
+ # Services Nitro Enclaves. To include this parameter, use the [Amazon
4582
+ # Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
4583
+ #
4584
+ # When you use this parameter, instead of returning a plaintext copy of
4585
+ # the private data key, KMS encrypts the plaintext private data key
4586
+ # under the public key in the attestation document, and returns the
4587
+ # resulting ciphertext in the `CiphertextForRecipient` field in the
4588
+ # response. This ciphertext can be decrypted only with the private key
4589
+ # in the enclave. The `CiphertextBlob` field in the response contains a
4590
+ # copy of the private data key encrypted under the KMS key specified by
4591
+ # the `KeyId` parameter. The `PrivateKeyPlaintext` field in the response
4592
+ # is null or empty.
4593
+ #
4594
+ # For information about the interaction between KMS and Amazon Web
4595
+ # Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
4596
+ # uses KMS][3] in the *Key Management Service Developer Guide*.
4597
+ #
4598
+ #
4599
+ #
4600
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
4601
+ # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
4602
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
4603
+ #
4352
4604
  # @return [Types::GenerateDataKeyPairResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4353
4605
  #
4354
4606
  # * {Types::GenerateDataKeyPairResponse#private_key_ciphertext_blob #private_key_ciphertext_blob} => String
@@ -4356,6 +4608,7 @@ module Aws::KMS
4356
4608
  # * {Types::GenerateDataKeyPairResponse#public_key #public_key} => String
4357
4609
  # * {Types::GenerateDataKeyPairResponse#key_id #key_id} => String
4358
4610
  # * {Types::GenerateDataKeyPairResponse#key_pair_spec #key_pair_spec} => String
4611
+ # * {Types::GenerateDataKeyPairResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
4359
4612
  #
4360
4613
  #
4361
4614
  # @example Example: To generate an RSA key pair for encryption and decryption
@@ -4377,6 +4630,33 @@ module Aws::KMS
4377
4630
  # public_key: "<binary data>", # The public key (plaintext) of the RSA data key pair.
4378
4631
  # }
4379
4632
  #
4633
+ # @example Example: To generate a data key pair for a Nitro enclave
4634
+ #
4635
+ # # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave.
4636
+ # # Instead of returning a plaintext copy of the private data key, GenerateDataKeyPair returns a copy of the private data
4637
+ # # key encrypted by the public key from the attestation document (CiphertextForRecipient). It returns the public data key
4638
+ # # (PublicKey) and a copy of private data key encrypted under the specified KMS key (PrivateKeyCiphertextBlob), as usual,
4639
+ # # but plaintext private data key field (PrivateKeyPlaintext) is null or empty.
4640
+ #
4641
+ # resp = client.generate_data_key_pair({
4642
+ # 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.
4643
+ # key_pair_spec: "RSA_3072", # The requested key spec of the RSA data key pair.
4644
+ # recipient: {
4645
+ # attestation_document: "<attestation document>",
4646
+ # key_encryption_algorithm: "RSAES_OAEP_SHA_256",
4647
+ # }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document.
4648
+ # })
4649
+ #
4650
+ # resp.to_h outputs the following:
4651
+ # {
4652
+ # ciphertext_for_recipient: "<binary data>", # The private key of the RSA data key pair encrypted by the public key from the attestation document
4653
+ # 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.
4654
+ # key_pair_spec: "RSA_3072", # The actual key spec of the RSA data key pair.
4655
+ # private_key_ciphertext_blob: "<binary data>", # The private key of the RSA data key pair encrypted by the KMS key.
4656
+ # private_key_plaintext: "", # This field is null or empty
4657
+ # public_key: "<binary data>", # The public key (plaintext) of the RSA data key pair.
4658
+ # }
4659
+ #
4380
4660
  # @example Request syntax with placeholder values
4381
4661
  #
4382
4662
  # resp = client.generate_data_key_pair({
@@ -4386,6 +4666,10 @@ module Aws::KMS
4386
4666
  # key_id: "KeyIdType", # required
4387
4667
  # 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
4668
  # grant_tokens: ["GrantTokenType"],
4669
+ # recipient: {
4670
+ # key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
4671
+ # attestation_document: "data",
4672
+ # },
4389
4673
  # })
4390
4674
  #
4391
4675
  # @example Response structure
@@ -4395,6 +4679,7 @@ module Aws::KMS
4395
4679
  # resp.public_key #=> String
4396
4680
  # resp.key_id #=> String
4397
4681
  # 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"
4682
+ # resp.ciphertext_for_recipient #=> String
4398
4683
  #
4399
4684
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPair AWS API Documentation
4400
4685
  #
@@ -4448,12 +4733,12 @@ module Aws::KMS
4448
4733
  # key state. For details, see [Key states of KMS keys][3] in the *Key
4449
4734
  # Management Service Developer Guide*.
4450
4735
  #
4451
- # **Cross-account use**\: Yes. To perform this operation with a KMS key
4736
+ # **Cross-account use**: Yes. To perform this operation with a KMS key
4452
4737
  # in a different Amazon Web Services account, specify the key ARN or
4453
4738
  # alias ARN in the value of the `KeyId` parameter.
4454
4739
  #
4455
- # **Required permissions**\:
4456
- # [kms:GenerateDataKeyPairWithoutPlaintext][4] (key policy)
4740
+ # **Required permissions**: [kms:GenerateDataKeyPairWithoutPlaintext][4]
4741
+ # (key policy)
4457
4742
  #
4458
4743
  # **Related operations:**
4459
4744
  #
@@ -4478,6 +4763,10 @@ module Aws::KMS
4478
4763
  # Specifies the encryption context that will be used when encrypting the
4479
4764
  # private key in the data key pair.
4480
4765
  #
4766
+ # Do not include confidential or sensitive information in this field.
4767
+ # This field may be displayed in plaintext in CloudTrail logs and other
4768
+ # output.
4769
+ #
4481
4770
  # An *encryption context* is a collection of non-secret key-value pairs
4482
4771
  # that represent additional authenticated data. When you use an
4483
4772
  # encryption context to encrypt data, you must specify the same (an
@@ -4629,7 +4918,7 @@ module Aws::KMS
4629
4918
  # and 256-bit data keys, use the `KeySpec` parameter.
4630
4919
  #
4631
4920
  # To generate an SM4 data key (China Regions only), specify a `KeySpec`
4632
- # value of `AES_128` or `NumberOfBytes` value of `128`. The symmetric
4921
+ # value of `AES_128` or `NumberOfBytes` value of `16`. The symmetric
4633
4922
  # encryption key used in China Regions to encrypt your data key is an
4634
4923
  # SM4 encryption key.
4635
4924
  #
@@ -4648,11 +4937,11 @@ module Aws::KMS
4648
4937
  # key state. For details, see [Key states of KMS keys][2] in the *Key
4649
4938
  # Management Service Developer Guide*.
4650
4939
  #
4651
- # **Cross-account use**\: Yes. To perform this operation with a KMS key
4940
+ # **Cross-account use**: Yes. To perform this operation with a KMS key
4652
4941
  # in a different Amazon Web Services account, specify the key ARN or
4653
4942
  # alias ARN in the value of the `KeyId` parameter.
4654
4943
  #
4655
- # **Required permissions**\: [kms:GenerateDataKeyWithoutPlaintext][3]
4944
+ # **Required permissions**: [kms:GenerateDataKeyWithoutPlaintext][3]
4656
4945
  # (key policy)
4657
4946
  #
4658
4947
  # **Related operations:**
@@ -4702,6 +4991,10 @@ module Aws::KMS
4702
4991
  # Specifies the encryption context that will be used when encrypting the
4703
4992
  # data key.
4704
4993
  #
4994
+ # Do not include confidential or sensitive information in this field.
4995
+ # This field may be displayed in plaintext in CloudTrail logs and other
4996
+ # output.
4997
+ #
4705
4998
  # An *encryption context* is a collection of non-secret key-value pairs
4706
4999
  # that represent additional authenticated data. When you use an
4707
5000
  # encryption context to encrypt data, you must specify the same (an
@@ -4815,13 +5108,13 @@ module Aws::KMS
4815
5108
  # key state. For details, see [Key states of KMS keys][3] in the *Key
4816
5109
  # Management Service Developer Guide*.
4817
5110
  #
4818
- # **Cross-account use**\: Yes. To perform this operation with a KMS key
5111
+ # **Cross-account use**: Yes. To perform this operation with a KMS key
4819
5112
  # in a different Amazon Web Services account, specify the key ARN or
4820
5113
  # alias ARN in the value of the `KeyId` parameter.
4821
5114
  #
4822
- # **Required permissions**\: [kms:GenerateMac][4] (key policy)
5115
+ # **Required permissions**: [kms:GenerateMac][4] (key policy)
4823
5116
  #
4824
- # **Related operations**\: VerifyMac
5117
+ # **Related operations**: VerifyMac
4825
5118
  #
4826
5119
  #
4827
5120
  #
@@ -4927,26 +5220,33 @@ module Aws::KMS
4927
5220
  # the byte string in the CloudHSM cluster associated with an CloudHSM
4928
5221
  # key store, use the `CustomKeyStoreId` parameter.
4929
5222
  #
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*.
5223
+ # `GenerateRandom` also supports [Amazon Web Services Nitro
5224
+ # Enclaves][1], which provide an isolated compute environment in Amazon
5225
+ # EC2. To call `GenerateRandom` for a Nitro enclave, use the [Amazon Web
5226
+ # Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK. Use
5227
+ # the `Recipient` parameter to provide the attestation document for the
5228
+ # enclave. Instead of plaintext bytes, the response includes the
5229
+ # plaintext bytes encrypted under the public key from the attestation
5230
+ # document (`CiphertextForRecipient`).For information about the
5231
+ # interaction between KMS and Amazon Web Services Nitro Enclaves, see
5232
+ # [How Amazon Web Services Nitro Enclaves uses KMS][3] in the *Key
5233
+ # Management Service Developer Guide*.
4935
5234
  #
4936
5235
  # For more information about entropy and random number generation, see
4937
- # [Key Management Service Cryptographic Details][3].
5236
+ # [Key Management Service Cryptographic Details][4].
4938
5237
  #
4939
- # **Cross-account use**\: Not applicable. `GenerateRandom` does not use
5238
+ # **Cross-account use**: Not applicable. `GenerateRandom` does not use
4940
5239
  # any account-specific resources, such as KMS keys.
4941
5240
  #
4942
- # **Required permissions**\: [kms:GenerateRandom][4] (IAM policy)
5241
+ # **Required permissions**: [kms:GenerateRandom][5] (IAM policy)
4943
5242
  #
4944
5243
  #
4945
5244
  #
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
5245
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
5246
+ # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
5247
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
5248
+ # [4]: https://docs.aws.amazon.com/kms/latest/cryptographic-details/
5249
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4950
5250
  #
4951
5251
  # @option params [Integer] :number_of_bytes
4952
5252
  # The length of the random byte string. This parameter is required.
@@ -4960,9 +5260,36 @@ module Aws::KMS
4960
5260
  # specify the ID of an external key store, `GenerateRandom` throws an
4961
5261
  # `UnsupportedOperationException`.
4962
5262
  #
5263
+ # @option params [Types::RecipientInfo] :recipient
5264
+ # A signed [attestation document][1] from an Amazon Web Services Nitro
5265
+ # enclave and the encryption algorithm to use with the enclave's public
5266
+ # key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
5267
+ #
5268
+ # This parameter only supports attestation documents for Amazon Web
5269
+ # Services Nitro Enclaves. To include this parameter, use the [Amazon
5270
+ # Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
5271
+ #
5272
+ # When you use this parameter, instead of returning plaintext bytes, KMS
5273
+ # encrypts the plaintext bytes under the public key in the attestation
5274
+ # document, and returns the resulting ciphertext in the
5275
+ # `CiphertextForRecipient` field in the response. This ciphertext can be
5276
+ # decrypted only with the private key in the enclave. The `Plaintext`
5277
+ # field in the response is null or empty.
5278
+ #
5279
+ # For information about the interaction between KMS and Amazon Web
5280
+ # Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
5281
+ # uses KMS][3] in the *Key Management Service Developer Guide*.
5282
+ #
5283
+ #
5284
+ #
5285
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
5286
+ # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
5287
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
5288
+ #
4963
5289
  # @return [Types::GenerateRandomResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4964
5290
  #
4965
5291
  # * {Types::GenerateRandomResponse#plaintext #plaintext} => String
5292
+ # * {Types::GenerateRandomResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
4966
5293
  #
4967
5294
  #
4968
5295
  # @example Example: To generate random data
@@ -4978,16 +5305,41 @@ module Aws::KMS
4978
5305
  # plaintext: "<binary data>", # The random data.
4979
5306
  # }
4980
5307
  #
5308
+ # @example Example: To generate random data
5309
+ #
5310
+ # # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave.
5311
+ # # Instead of returning a plaintext (unencrypted) byte string, GenerateRandom returns the byte string encrypted by the
5312
+ # # public key from the enclave's attestation document.
5313
+ #
5314
+ # resp = client.generate_random({
5315
+ # number_of_bytes: 1024, # The length of the random byte string
5316
+ # recipient: {
5317
+ # attestation_document: "<attestation document>",
5318
+ # key_encryption_algorithm: "RSAES_OAEP_SHA_256",
5319
+ # }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
5320
+ # })
5321
+ #
5322
+ # resp.to_h outputs the following:
5323
+ # {
5324
+ # ciphertext_for_recipient: "<binary data>", # The random data encrypted under the public key from the attestation document
5325
+ # plaintext: "", # This field is null or empty
5326
+ # }
5327
+ #
4981
5328
  # @example Request syntax with placeholder values
4982
5329
  #
4983
5330
  # resp = client.generate_random({
4984
5331
  # number_of_bytes: 1,
4985
5332
  # custom_key_store_id: "CustomKeyStoreIdType",
5333
+ # recipient: {
5334
+ # key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
5335
+ # attestation_document: "data",
5336
+ # },
4986
5337
  # })
4987
5338
  #
4988
5339
  # @example Response structure
4989
5340
  #
4990
5341
  # resp.plaintext #=> String
5342
+ # resp.ciphertext_for_recipient #=> String
4991
5343
  #
4992
5344
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandom AWS API Documentation
4993
5345
  #
@@ -5000,12 +5352,12 @@ module Aws::KMS
5000
5352
 
5001
5353
  # Gets a key policy attached to the specified KMS key.
5002
5354
  #
5003
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
5355
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
5004
5356
  # key in a different Amazon Web Services account.
5005
5357
  #
5006
- # **Required permissions**\: [kms:GetKeyPolicy][1] (key policy)
5358
+ # **Required permissions**: [kms:GetKeyPolicy][1] (key policy)
5007
5359
  #
5008
- # **Related operations**\: PutKeyPolicy
5360
+ # **Related operations**: PutKeyPolicy
5009
5361
  #
5010
5362
  #
5011
5363
  #
@@ -5116,11 +5468,11 @@ module Aws::KMS
5116
5468
  # If you cancel the deletion, the original key rotation status returns
5117
5469
  # to `true`.
5118
5470
  #
5119
- # **Cross-account use**\: Yes. To perform this operation on a KMS key in
5471
+ # **Cross-account use**: Yes. To perform this operation on a KMS key in
5120
5472
  # a different Amazon Web Services account, specify the key ARN in the
5121
5473
  # value of the `KeyId` parameter.
5122
5474
  #
5123
- # **Required permissions**\: [kms:GetKeyRotationStatus][11] (key policy)
5475
+ # **Required permissions**: [kms:GetKeyRotationStatus][11] (key policy)
5124
5476
  #
5125
5477
  # **Related operations:**
5126
5478
  #
@@ -5223,11 +5575,10 @@ module Aws::KMS
5223
5575
  # key state. For details, see [Key states of KMS keys][2] in the *Key
5224
5576
  # Management Service Developer Guide*.
5225
5577
  #
5226
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
5578
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
5227
5579
  # key in a different Amazon Web Services account.
5228
5580
  #
5229
- # **Required permissions**\: [kms:GetParametersForImport][3] (key
5230
- # policy)
5581
+ # **Required permissions**: [kms:GetParametersForImport][3] (key policy)
5231
5582
  #
5232
5583
  # **Related operations:**
5233
5584
  #
@@ -5348,12 +5699,12 @@ module Aws::KMS
5348
5699
  # returns important information about the public key in the response,
5349
5700
  # including:
5350
5701
  #
5351
- # * [KeySpec][2]\: The type of key material in the public key, such as
5702
+ # * [KeySpec][2]: The type of key material in the public key, such as
5352
5703
  # `RSA_4096` or `ECC_NIST_P521`.
5353
5704
  #
5354
- # * [KeyUsage][3]\: Whether the key is used for encryption or signing.
5705
+ # * [KeyUsage][3]: Whether the key is used for encryption or signing.
5355
5706
  #
5356
- # * [EncryptionAlgorithms][4] or [SigningAlgorithms][5]\: A list of the
5707
+ # * [EncryptionAlgorithms][4] or [SigningAlgorithms][5]: A list of the
5357
5708
  # encryption algorithms or the signing algorithms for the key.
5358
5709
  #
5359
5710
  # Although KMS cannot enforce these restrictions on external operations,
@@ -5373,13 +5724,13 @@ module Aws::KMS
5373
5724
  # key state. For details, see [Key states of KMS keys][7] in the *Key
5374
5725
  # Management Service Developer Guide*.
5375
5726
  #
5376
- # **Cross-account use**\: Yes. To perform this operation with a KMS key
5727
+ # **Cross-account use**: Yes. To perform this operation with a KMS key
5377
5728
  # in a different Amazon Web Services account, specify the key ARN or
5378
5729
  # alias ARN in the value of the `KeyId` parameter.
5379
5730
  #
5380
- # **Required permissions**\: [kms:GetPublicKey][8] (key policy)
5731
+ # **Required permissions**: [kms:GetPublicKey][8] (key policy)
5381
5732
  #
5382
- # **Related operations**\: CreateKey
5733
+ # **Related operations**: CreateKey
5383
5734
  #
5384
5735
  #
5385
5736
  #
@@ -5544,10 +5895,10 @@ module Aws::KMS
5544
5895
  # key state. For details, see [Key states of KMS keys][4] in the *Key
5545
5896
  # Management Service Developer Guide*.
5546
5897
  #
5547
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
5898
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
5548
5899
  # key in a different Amazon Web Services account.
5549
5900
  #
5550
- # **Required permissions**\: [kms:ImportKeyMaterial][5] (key policy)
5901
+ # **Required permissions**: [kms:ImportKeyMaterial][5] (key policy)
5551
5902
  #
5552
5903
  # **Related operations:**
5553
5904
  #
@@ -5679,10 +6030,10 @@ module Aws::KMS
5679
6030
  # Web Services creates in your account, including predefined aliases, do
5680
6031
  # not count against your [KMS aliases quota][1].
5681
6032
  #
5682
- # **Cross-account use**\: No. `ListAliases` does not return aliases in
6033
+ # **Cross-account use**: No. `ListAliases` does not return aliases in
5683
6034
  # other Amazon Web Services accounts.
5684
6035
  #
5685
- # **Required permissions**\: [kms:ListAliases][2] (IAM policy)
6036
+ # **Required permissions**: [kms:ListAliases][2] (IAM policy)
5686
6037
  #
5687
6038
  # For details, see [Controlling access to aliases][3] in the *Key
5688
6039
  # Management Service Developer Guide*.
@@ -5843,11 +6194,11 @@ module Aws::KMS
5843
6194
  #
5844
6195
  # </note>
5845
6196
  #
5846
- # **Cross-account use**\: Yes. To perform this operation on a KMS key in
6197
+ # **Cross-account use**: Yes. To perform this operation on a KMS key in
5847
6198
  # a different Amazon Web Services account, specify the key ARN in the
5848
6199
  # value of the `KeyId` parameter.
5849
6200
  #
5850
- # **Required permissions**\: [kms:ListGrants][4] (key policy)
6201
+ # **Required permissions**: [kms:ListGrants][4] (key policy)
5851
6202
  #
5852
6203
  # **Related operations:**
5853
6204
  #
@@ -6022,10 +6373,10 @@ module Aws::KMS
6022
6373
  # GetKeyPolicy operation. However, the only valid policy name is
6023
6374
  # `default`.
6024
6375
  #
6025
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
6376
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
6026
6377
  # key in a different Amazon Web Services account.
6027
6378
  #
6028
- # **Required permissions**\: [kms:ListKeyPolicies][1] (key policy)
6379
+ # **Required permissions**: [kms:ListKeyPolicies][1] (key policy)
6029
6380
  #
6030
6381
  # **Related operations:**
6031
6382
  #
@@ -6120,10 +6471,10 @@ module Aws::KMS
6120
6471
  # Gets a list of all KMS keys in the caller's Amazon Web Services
6121
6472
  # account and Region.
6122
6473
  #
6123
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
6474
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
6124
6475
  # key in a different Amazon Web Services account.
6125
6476
  #
6126
- # **Required permissions**\: [kms:ListKeys][1] (IAM policy)
6477
+ # **Required permissions**: [kms:ListKeys][1] (IAM policy)
6127
6478
  #
6128
6479
  # **Related operations:**
6129
6480
  #
@@ -6235,10 +6586,10 @@ module Aws::KMS
6235
6586
  # Services General Reference*. For information about using tags in KMS,
6236
6587
  # see [Tagging keys][2].
6237
6588
  #
6238
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
6589
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
6239
6590
  # key in a different Amazon Web Services account.
6240
6591
  #
6241
- # **Required permissions**\: [kms:ListResourceTags][3] (key policy)
6592
+ # **Required permissions**: [kms:ListResourceTags][3] (key policy)
6242
6593
  #
6243
6594
  # **Related operations:**
6244
6595
  #
@@ -6362,14 +6713,14 @@ module Aws::KMS
6362
6713
  # Guide</i> </i>. For examples of working with grants in several
6363
6714
  # programming languages, see [Programming grants][2].
6364
6715
  #
6365
- # **Cross-account use**\: You must specify a principal in your Amazon
6366
- # Web Services account. However, this operation can return grants in any
6716
+ # **Cross-account use**: You must specify a principal in your Amazon Web
6717
+ # Services account. However, this operation can return grants in any
6367
6718
  # Amazon Web Services account. You do not need `kms:ListRetirableGrants`
6368
6719
  # permission (or any other additional permission) in any Amazon Web
6369
6720
  # Services account other than your own.
6370
6721
  #
6371
- # **Required permissions**\: [kms:ListRetirableGrants][3] (IAM policy)
6372
- # in your Amazon Web Services account.
6722
+ # **Required permissions**: [kms:ListRetirableGrants][3] (IAM policy) in
6723
+ # your Amazon Web Services account.
6373
6724
  #
6374
6725
  # **Related operations:**
6375
6726
  #
@@ -6498,12 +6849,12 @@ module Aws::KMS
6498
6849
  # programming languages, see [Setting a key policy][3] in the *Key
6499
6850
  # Management Service Developer Guide*.
6500
6851
  #
6501
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
6852
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
6502
6853
  # key in a different Amazon Web Services account.
6503
6854
  #
6504
- # **Required permissions**\: [kms:PutKeyPolicy][4] (key policy)
6855
+ # **Required permissions**: [kms:PutKeyPolicy][4] (key policy)
6505
6856
  #
6506
- # **Related operations**\: GetKeyPolicy
6857
+ # **Related operations**: GetKeyPolicy
6507
6858
  #
6508
6859
  #
6509
6860
  #
@@ -6686,12 +7037,12 @@ module Aws::KMS
6686
7037
  # key state. For details, see [Key states of KMS keys][6] in the *Key
6687
7038
  # Management Service Developer Guide*.
6688
7039
  #
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.
7040
+ # **Cross-account use**: Yes. The source KMS key and destination KMS key
7041
+ # can be in different Amazon Web Services accounts. Either or both KMS
7042
+ # keys can be in a different account than the caller. To specify a KMS
7043
+ # key in a different account, you must use its key ARN or alias ARN.
6693
7044
  #
6694
- # **Required permissions**\:
7045
+ # **Required permissions**:
6695
7046
  #
6696
7047
  # * [kms:ReEncryptFrom][7] permission on the source KMS key (key policy)
6697
7048
  #
@@ -6812,6 +7163,10 @@ module Aws::KMS
6812
7163
  # Specifies that encryption context to use when the reencrypting the
6813
7164
  # data.
6814
7165
  #
7166
+ # Do not include confidential or sensitive information in this field.
7167
+ # This field may be displayed in plaintext in CloudTrail logs and other
7168
+ # output.
7169
+ #
6815
7170
  # A destination encryption context is valid only when the destination
6816
7171
  # KMS key is a symmetric encryption KMS key. The standard ciphertext
6817
7172
  # format for asymmetric KMS keys does not include fields for metadata.
@@ -6992,10 +7347,10 @@ module Aws::KMS
6992
7347
  #
6993
7348
  # </note>
6994
7349
  #
6995
- # **Cross-account use**\: No. You cannot use this operation to create a
7350
+ # **Cross-account use**: No. You cannot use this operation to create a
6996
7351
  # replica key in a different Amazon Web Services account.
6997
7352
  #
6998
- # **Required permissions**\:
7353
+ # **Required permissions**:
6999
7354
  #
7000
7355
  # * `kms:ReplicateKey` on the primary key (in the primary key's
7001
7356
  # Region). Include this permission in the primary key's key policy.
@@ -7153,6 +7508,10 @@ module Aws::KMS
7153
7508
  # A description of the KMS key. The default value is an empty string (no
7154
7509
  # description).
7155
7510
  #
7511
+ # Do not include confidential or sensitive information in this field.
7512
+ # This field may be displayed in plaintext in CloudTrail logs and other
7513
+ # output.
7514
+ #
7156
7515
  # The description is not a shared property of multi-Region keys. You can
7157
7516
  # specify the same description or a different description for each key
7158
7517
  # in a set of related multi-Region keys. KMS does not synchronize this
@@ -7163,6 +7522,10 @@ module Aws::KMS
7163
7522
  # the KMS key when it is created. To tag an existing KMS key, use the
7164
7523
  # TagResource operation.
7165
7524
  #
7525
+ # Do not include confidential or sensitive information in this field.
7526
+ # This field may be displayed in plaintext in CloudTrail logs and other
7527
+ # output.
7528
+ #
7166
7529
  # <note markdown="1"> Tagging or untagging a KMS key can allow or deny permission to the KMS
7167
7530
  # key. For details, see [ABAC for KMS][1] in the *Key Management Service
7168
7531
  # Developer Guide*.
@@ -7327,10 +7690,10 @@ module Aws::KMS
7327
7690
  # Guide</i> </i>. For examples of working with grants in several
7328
7691
  # programming languages, see [Programming grants][4].
7329
7692
  #
7330
- # **Cross-account use**\: Yes. You can retire a grant on a KMS key in a
7693
+ # **Cross-account use**: Yes. You can retire a grant on a KMS key in a
7331
7694
  # different Amazon Web Services account.
7332
7695
  #
7333
- # **Required permissions:**\:Permission to retire a grant is determined
7696
+ # **Required permissions:**:Permission to retire a grant is determined
7334
7697
  # primarily by the grant. For details, see [Retiring and revoking
7335
7698
  # grants][2] in the *Key Management Service Developer Guide*.
7336
7699
  #
@@ -7425,11 +7788,11 @@ module Aws::KMS
7425
7788
  # Guide</i> </i>. For examples of working with grants in several
7426
7789
  # programming languages, see [Programming grants][4].
7427
7790
  #
7428
- # **Cross-account use**\: Yes. To perform this operation on a KMS key in
7791
+ # **Cross-account use**: Yes. To perform this operation on a KMS key in
7429
7792
  # a different Amazon Web Services account, specify the key ARN in the
7430
7793
  # value of the `KeyId` parameter.
7431
7794
  #
7432
- # **Required permissions**\: [kms:RevokeGrant][5] (key policy).
7795
+ # **Required permissions**: [kms:RevokeGrant][5] (key policy).
7433
7796
  #
7434
7797
  # **Related operations:**
7435
7798
  #
@@ -7546,10 +7909,10 @@ module Aws::KMS
7546
7909
  # key state. For details, see [Key states of KMS keys][6] in the *Key
7547
7910
  # Management Service Developer Guide*.
7548
7911
  #
7549
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
7912
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
7550
7913
  # key in a different Amazon Web Services account.
7551
7914
  #
7552
- # **Required permissions**\: kms:ScheduleKeyDeletion (key policy)
7915
+ # **Required permissions**: kms:ScheduleKeyDeletion (key policy)
7553
7916
  #
7554
7917
  # **Related operations**
7555
7918
  #
@@ -7689,13 +8052,13 @@ module Aws::KMS
7689
8052
  # key state. For details, see [Key states of KMS keys][3] in the *Key
7690
8053
  # Management Service Developer Guide*.
7691
8054
  #
7692
- # **Cross-account use**\: Yes. To perform this operation with a KMS key
8055
+ # **Cross-account use**: Yes. To perform this operation with a KMS key
7693
8056
  # in a different Amazon Web Services account, specify the key ARN or
7694
8057
  # alias ARN in the value of the `KeyId` parameter.
7695
8058
  #
7696
- # **Required permissions**\: [kms:Sign][4] (key policy)
8059
+ # **Required permissions**: [kms:Sign][4] (key policy)
7697
8060
  #
7698
- # **Related operations**\: Verify
8061
+ # **Related operations**: Verify
7699
8062
  #
7700
8063
  #
7701
8064
  #
@@ -7899,10 +8262,10 @@ module Aws::KMS
7899
8262
  # key state. For details, see [Key states of KMS keys][9] in the *Key
7900
8263
  # Management Service Developer Guide*.
7901
8264
  #
7902
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
8265
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
7903
8266
  # key in a different Amazon Web Services account.
7904
8267
  #
7905
- # **Required permissions**\: [kms:TagResource][10] (key policy)
8268
+ # **Required permissions**: [kms:TagResource][10] (key policy)
7906
8269
  #
7907
8270
  # **Related operations**
7908
8271
  #
@@ -7943,10 +8306,12 @@ module Aws::KMS
7943
8306
  # DescribeKey.
7944
8307
  #
7945
8308
  # @option params [required, Array<Types::Tag>] :tags
7946
- # One or more tags.
8309
+ # One or more tags. Each tag consists of a tag key and a tag value. The
8310
+ # tag value can be an empty (null) string.
7947
8311
  #
7948
- # Each tag consists of a tag key and a tag value. The tag value can be
7949
- # an empty (null) string.
8312
+ # Do not include confidential or sensitive information in this field.
8313
+ # This field may be displayed in plaintext in CloudTrail logs and other
8314
+ # output.
7950
8315
  #
7951
8316
  # You cannot have more than one tag on a KMS key with the same tag key.
7952
8317
  # If you specify an existing tag key with a different tag value, KMS
@@ -8013,10 +8378,10 @@ module Aws::KMS
8013
8378
  # key state. For details, see [Key states of KMS keys][5] in the *Key
8014
8379
  # Management Service Developer Guide*.
8015
8380
  #
8016
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
8381
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
8017
8382
  # key in a different Amazon Web Services account.
8018
8383
  #
8019
- # **Required permissions**\: [kms:UntagResource][6] (key policy)
8384
+ # **Required permissions**: [kms:UntagResource][6] (key policy)
8020
8385
  #
8021
8386
  # **Related operations**
8022
8387
  #
@@ -8117,7 +8482,7 @@ module Aws::KMS
8117
8482
  # key state. For details, see [Key states of KMS keys][2] in the *Key
8118
8483
  # Management Service Developer Guide*.
8119
8484
  #
8120
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
8485
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
8121
8486
  # key in a different Amazon Web Services account.
8122
8487
  #
8123
8488
  # **Required permissions**
@@ -8152,6 +8517,10 @@ module Aws::KMS
8152
8517
  # `alias/ExampleAlias`. You cannot use `UpdateAlias` to change the alias
8153
8518
  # name.
8154
8519
  #
8520
+ # Do not include confidential or sensitive information in this field.
8521
+ # This field may be displayed in plaintext in CloudTrail logs and other
8522
+ # output.
8523
+ #
8155
8524
  # @option params [required, String] :target_key_id
8156
8525
  # Identifies the [customer managed key][1] to associate with the alias.
8157
8526
  # You don't have permission to associate an alias with an [Amazon Web
@@ -8289,10 +8658,10 @@ module Aws::KMS
8289
8658
  # If the operation succeeds, it returns a JSON object with no
8290
8659
  # properties.
8291
8660
  #
8292
- # **Cross-account use**\: No. You cannot perform this operation on a
8661
+ # **Cross-account use**: No. You cannot perform this operation on a
8293
8662
  # custom key store in a different Amazon Web Services account.
8294
8663
  #
8295
- # **Required permissions**\: [kms:UpdateCustomKeyStore][2] (IAM policy)
8664
+ # **Required permissions**: [kms:UpdateCustomKeyStore][2] (IAM policy)
8296
8665
  #
8297
8666
  # **Related operations:**
8298
8667
  #
@@ -8321,6 +8690,10 @@ module Aws::KMS
8321
8690
  # you specify. The custom key store name must be unique in the Amazon
8322
8691
  # Web Services account.
8323
8692
  #
8693
+ # Do not include confidential or sensitive information in this field.
8694
+ # This field may be displayed in plaintext in CloudTrail logs and other
8695
+ # output.
8696
+ #
8324
8697
  # To change this value, an CloudHSM key store must be disconnected. An
8325
8698
  # external key store can be connected or disconnected.
8326
8699
  #
@@ -8474,7 +8847,7 @@ module Aws::KMS
8474
8847
  # # worked, use the DescribeCustomKeyStores operation.
8475
8848
  #
8476
8849
  # 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.
8850
+ # 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
8851
  # custom_key_store_id: "cks-1234567890abcdef0", # The ID of the custom key store that you are updating.
8479
8852
  # })
8480
8853
  #
@@ -8565,10 +8938,10 @@ module Aws::KMS
8565
8938
  # key state. For details, see [Key states of KMS keys][1] in the *Key
8566
8939
  # Management Service Developer Guide*.
8567
8940
  #
8568
- # **Cross-account use**\: No. You cannot perform this operation on a KMS
8941
+ # **Cross-account use**: No. You cannot perform this operation on a KMS
8569
8942
  # key in a different Amazon Web Services account.
8570
8943
  #
8571
- # **Required permissions**\: [kms:UpdateKeyDescription][2] (key policy)
8944
+ # **Required permissions**: [kms:UpdateKeyDescription][2] (key policy)
8572
8945
  #
8573
8946
  # **Related operations**
8574
8947
  #
@@ -8599,6 +8972,10 @@ module Aws::KMS
8599
8972
  # @option params [required, String] :description
8600
8973
  # New description for the KMS key.
8601
8974
  #
8975
+ # Do not include confidential or sensitive information in this field.
8976
+ # This field may be displayed in plaintext in CloudTrail logs and other
8977
+ # output.
8978
+ #
8602
8979
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8603
8980
  #
8604
8981
  #
@@ -8681,10 +9058,10 @@ module Aws::KMS
8681
9058
  # This operation does not return any output. To verify that primary key
8682
9059
  # is changed, use the DescribeKey operation.
8683
9060
  #
8684
- # **Cross-account use**\: No. You cannot use this operation in a
9061
+ # **Cross-account use**: No. You cannot use this operation in a
8685
9062
  # different Amazon Web Services account.
8686
9063
  #
8687
- # **Required permissions**\:
9064
+ # **Required permissions**:
8688
9065
  #
8689
9066
  # * `kms:UpdatePrimaryRegion` on the current primary key (in the primary
8690
9067
  # key's Region). Include this permission primary key's key policy.
@@ -8810,13 +9187,13 @@ module Aws::KMS
8810
9187
  # key state. For details, see [Key states of KMS keys][3] in the *Key
8811
9188
  # Management Service Developer Guide*.
8812
9189
  #
8813
- # **Cross-account use**\: Yes. To perform this operation with a KMS key
9190
+ # **Cross-account use**: Yes. To perform this operation with a KMS key
8814
9191
  # in a different Amazon Web Services account, specify the key ARN or
8815
9192
  # alias ARN in the value of the `KeyId` parameter.
8816
9193
  #
8817
- # **Required permissions**\: [kms:Verify][4] (key policy)
9194
+ # **Required permissions**: [kms:Verify][4] (key policy)
8818
9195
  #
8819
- # **Related operations**\: Sign
9196
+ # **Related operations**: Sign
8820
9197
  #
8821
9198
  #
8822
9199
  #
@@ -9015,13 +9392,13 @@ module Aws::KMS
9015
9392
  # key state. For details, see [Key states of KMS keys][3] in the *Key
9016
9393
  # Management Service Developer Guide*.
9017
9394
  #
9018
- # **Cross-account use**\: Yes. To perform this operation with a KMS key
9395
+ # **Cross-account use**: Yes. To perform this operation with a KMS key
9019
9396
  # in a different Amazon Web Services account, specify the key ARN or
9020
9397
  # alias ARN in the value of the `KeyId` parameter.
9021
9398
  #
9022
- # **Required permissions**\: [kms:VerifyMac][4] (key policy)
9399
+ # **Required permissions**: [kms:VerifyMac][4] (key policy)
9023
9400
  #
9024
- # **Related operations**\: GenerateMac
9401
+ # **Related operations**: GenerateMac
9025
9402
  #
9026
9403
  #
9027
9404
  #
@@ -9132,7 +9509,7 @@ module Aws::KMS
9132
9509
  params: params,
9133
9510
  config: config)
9134
9511
  context[:gem_name] = 'aws-sdk-kms'
9135
- context[:gem_version] = '1.63.0'
9512
+ context[:gem_version] = '1.65.0'
9136
9513
  Seahorse::Client::Request.new(handlers, context)
9137
9514
  end
9138
9515