aws-sdk-kms 1.112.0 → 1.113.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 39bb3641d554be76180707213ce486c3f1f851e431ad347cbda770cb05fa5ab9
4
- data.tar.gz: fe1c1627087016b9ab3b17f357413c76a58916866074b21dcfca2dd0d4c75a56
3
+ metadata.gz: 6194c2d6e6313e30760803626454700604df320336130717c3891514aaa0322d
4
+ data.tar.gz: 01fe36449660e22be20c7269a7d37b5b9aa0d9718897f60718370d29b0fcd947
5
5
  SHA512:
6
- metadata.gz: 59bd018b67e77c146597c75c5f1a9863f1bdb34ef17e3ead0344f4d9fa6907056e8799015359d8ec7da831b57db095b024fc9f4eac4e9833b9deb39ca98610d2
7
- data.tar.gz: 4020c5f853a6f72ff27b5225e3ff823a8181152e2a7a08a8c9a9e9e3caa1bc18327c918a62d6c644263c67db948d19dd11627fb143a9de23ce1b2fcb8862bbf2
6
+ metadata.gz: eb712957b199abb2b20071436c37c46720429d53da7a154c1de6af4d2872f857cd30b40b6477b91af36be1006917e3a972078e8bb40d3564dc47d8f20742bd98
7
+ data.tar.gz: b607ae20f945b7f0d6cb4634e5b7cca3c67a5c4d13a9e2d410d34013c7e5e3660ca7b421e080f0248839d2364cc89fc648a2736e60ca82b984218aceab313995
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.113.0 (2025-09-24)
5
+ ------------------
6
+
7
+ * Feature - Documentation only updates for KMS.
8
+
4
9
  1.112.0 (2025-08-27)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.112.0
1
+ 1.113.0
@@ -1804,8 +1804,10 @@ module Aws::KMS
1804
1804
  # Determines the [cryptographic operations][1] for which you can use the
1805
1805
  # KMS key. The default value is `ENCRYPT_DECRYPT`. This parameter is
1806
1806
  # optional when you are creating a symmetric encryption KMS key;
1807
- # otherwise, it is required. You can't change the `KeyUsage` value
1808
- # after the KMS key is created.
1807
+ # otherwise, it is required. You can't change the [ `KeyUsage` ][2]
1808
+ # value after the KMS key is created. Each KMS key can have only one key
1809
+ # usage. This follows key usage best practices according to [NIST SP
1810
+ # 800-57 Recommendations for Key Management][3], section 5.2, Key usage.
1809
1811
  #
1810
1812
  # Select only one valid value.
1811
1813
  #
@@ -1832,6 +1834,8 @@ module Aws::KMS
1832
1834
  #
1833
1835
  #
1834
1836
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
1837
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#key-usage
1838
+ # [3]: https://csrc.nist.gov/pubs/sp/800/57/pt1/r5/final
1835
1839
  #
1836
1840
  # @option params [String] :customer_master_key_spec
1837
1841
  # Instead, use the `KeySpec` parameter.
@@ -2520,17 +2524,17 @@ module Aws::KMS
2520
2524
  # keys or particular trusted accounts. For details, see [Best practices
2521
2525
  # for IAM policies][4] in the *Key Management Service Developer Guide*.
2522
2526
  #
2523
- # `Decrypt` also supports [Amazon Web Services Nitro Enclaves][5], which
2524
- # provide an isolated compute environment in Amazon EC2. To call
2525
- # `Decrypt` for a Nitro enclave, use the [Amazon Web Services Nitro
2526
- # Enclaves SDK][6] or any Amazon Web Services SDK. Use the `Recipient`
2527
- # parameter to provide the attestation document for the enclave. Instead
2528
- # of the plaintext data, the response includes the plaintext data
2529
- # encrypted with the public key from the attestation document
2530
- # (`CiphertextForRecipient`). For information about the interaction
2531
- # between KMS and Amazon Web Services Nitro Enclaves, see [How Amazon
2532
- # Web Services Nitro Enclaves uses KMS][7] in the *Key Management
2533
- # Service Developer Guide*.
2527
+ # `Decrypt` also supports [Amazon Web Services Nitro Enclaves][5] and
2528
+ # NitroTPM, which provide attested environments in Amazon EC2. To call
2529
+ # `Decrypt` for a Nitro enclave or NitroTPM, use the [Amazon Web
2530
+ # Services Nitro Enclaves SDK][6] or any Amazon Web Services SDK. Use
2531
+ # the `Recipient` parameter to provide the attestation document for the
2532
+ # attested environment. Instead of the plaintext data, the response
2533
+ # includes the plaintext data encrypted with the public key from the
2534
+ # attestation document (`CiphertextForRecipient`). For information about
2535
+ # the interaction between KMS and Amazon Web Services Nitro Enclaves or
2536
+ # Amazon Web Services NitroTPM, see [Cryptographic attestation support
2537
+ # in KMS][7] in the *Key Management Service Developer Guide*.
2534
2538
  #
2535
2539
  # The KMS key that you use for this operation must be in a compatible
2536
2540
  # key state. For details, see [Key states of KMS keys][8] in the *Key
@@ -2563,7 +2567,7 @@ module Aws::KMS
2563
2567
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policies-best-practices
2564
2568
  # [5]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
2565
2569
  # [6]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
2566
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2570
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
2567
2571
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2568
2572
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2569
2573
  # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
@@ -2653,29 +2657,32 @@ module Aws::KMS
2653
2657
  #
2654
2658
  # @option params [Types::RecipientInfo] :recipient
2655
2659
  # A signed [attestation document][1] from an Amazon Web Services Nitro
2656
- # enclave and the encryption algorithm to use with the enclave's public
2657
- # key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
2660
+ # enclave or NitroTPM, and the encryption algorithm to use with the
2661
+ # public key in the attestation document. The only valid encryption
2662
+ # algorithm is `RSAES_OAEP_SHA_256`.
2658
2663
  #
2659
- # This parameter only supports attestation documents for Amazon Web
2660
- # Services Nitro Enclaves. To include this parameter, use the [Amazon
2661
- # Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
2664
+ # This parameter supports the [Amazon Web Services Nitro Enclaves
2665
+ # SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
2666
+ # Enclaves. It supports any Amazon Web Services SDK for Amazon Web
2667
+ # Services NitroTPM.
2662
2668
  #
2663
2669
  # When you use this parameter, instead of returning the plaintext data,
2664
2670
  # KMS encrypts the plaintext data with the public key in the attestation
2665
2671
  # document, and returns the resulting ciphertext in the
2666
2672
  # `CiphertextForRecipient` field in the response. This ciphertext can be
2667
- # decrypted only with the private key in the enclave. The `Plaintext`
2668
- # field in the response is null or empty.
2673
+ # decrypted only with the private key in the attested environment. The
2674
+ # `Plaintext` field in the response is null or empty.
2669
2675
  #
2670
2676
  # For information about the interaction between KMS and Amazon Web
2671
- # Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
2672
- # uses KMS][3] in the *Key Management Service Developer Guide*.
2677
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM, see
2678
+ # [Cryptographic attestation support in KMS][3] in the *Key Management
2679
+ # Service Developer Guide*.
2673
2680
  #
2674
2681
  #
2675
2682
  #
2676
2683
  # [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-concepts.html#term-attestdoc
2677
2684
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
2678
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2685
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
2679
2686
  #
2680
2687
  # @option params [Boolean] :dry_run
2681
2688
  # Checks if your request will succeed. `DryRun` is an optional
@@ -2733,11 +2740,11 @@ module Aws::KMS
2733
2740
  # plaintext: "<binary data>", # The decrypted (plaintext) data.
2734
2741
  # }
2735
2742
  #
2736
- # @example Example: To decrypt data for a Nitro enclave
2743
+ # @example Example: To decrypt data for a Nitro enclave or NitroTPM
2737
2744
  #
2738
2745
  # # The following Decrypt example includes the Recipient parameter with a signed attestation document from an AWS Nitro
2739
- # # enclave. Instead of returning the decrypted data in plaintext (Plaintext), the operation returns the decrypted data
2740
- # # encrypted by the public key from the attestation document (CiphertextForRecipient).
2746
+ # # enclave or NitroTPM. Instead of returning the decrypted data in plaintext (Plaintext), the operation returns the
2747
+ # # decrypted data encrypted by the public key from the attestation document (CiphertextForRecipient).
2741
2748
  #
2742
2749
  # resp = client.decrypt({
2743
2750
  # ciphertext_blob: "<binary data>", # The encrypted data. This ciphertext was encrypted with the KMS key
@@ -2745,7 +2752,7 @@ module Aws::KMS
2745
2752
  # recipient: {
2746
2753
  # attestation_document: "<attestation document>",
2747
2754
  # key_encryption_algorithm: "RSAES_OAEP_SHA_256",
2748
- # }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
2755
+ # }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document
2749
2756
  # })
2750
2757
  #
2751
2758
  # resp.to_h outputs the following:
@@ -3245,35 +3252,40 @@ module Aws::KMS
3245
3252
  #
3246
3253
  # @option params [Types::RecipientInfo] :recipient
3247
3254
  # A signed [attestation document][1] from an Amazon Web Services Nitro
3248
- # enclave and the encryption algorithm to use with the enclave's public
3249
- # key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
3255
+ # enclave or NitroTPM, and the encryption algorithm to use with the
3256
+ # public key in the attestation document. The only valid encryption
3257
+ # algorithm is `RSAES_OAEP_SHA_256`.
3250
3258
  #
3251
3259
  # This parameter only supports attestation documents for Amazon Web
3252
- # Services Nitro Enclaves. To call DeriveSharedSecret for an Amazon Web
3253
- # Services Nitro Enclaves, use the [Amazon Web Services Nitro Enclaves
3254
- # SDK][2] to generate the attestation document and then use the
3255
- # Recipient parameter from any Amazon Web Services SDK to provide the
3256
- # attestation document for the enclave.
3260
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
3261
+ # DeriveSharedSecret generate an attestation document use either [Amazon
3262
+ # Web Services Nitro Enclaves SDK][2] for an Amazon Web Services Nitro
3263
+ # Enclaves or [Amazon Web Services NitroTPM tools][3] for Amazon Web
3264
+ # Services NitroTPM. Then use the Recipient parameter from any Amazon
3265
+ # Web Services SDK to provide the attestation document for the attested
3266
+ # environment.
3257
3267
  #
3258
3268
  # When you use this parameter, instead of returning a plaintext copy of
3259
3269
  # the shared secret, KMS encrypts the plaintext shared secret under the
3260
3270
  # public key in the attestation document, and returns the resulting
3261
3271
  # ciphertext in the `CiphertextForRecipient` field in the response. This
3262
- # ciphertext can be decrypted only with the private key in the enclave.
3263
- # The `CiphertextBlob` field in the response contains the encrypted
3264
- # shared secret derived from the KMS key specified by the `KeyId`
3265
- # parameter and public key specified by the `PublicKey` parameter. The
3266
- # `SharedSecret` field in the response is null or empty.
3272
+ # ciphertext can be decrypted only with the private key in the attested
3273
+ # environment. The `CiphertextBlob` field in the response contains the
3274
+ # encrypted shared secret derived from the KMS key specified by the
3275
+ # `KeyId` parameter and public key specified by the `PublicKey`
3276
+ # parameter. The `SharedSecret` field in the response is null or empty.
3267
3277
  #
3268
3278
  # For information about the interaction between KMS and Amazon Web
3269
- # Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
3270
- # uses KMS][3] in the *Key Management Service Developer Guide*.
3279
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM, see
3280
+ # [Cryptographic attestation support in KMS][4] in the *Key Management
3281
+ # Service Developer Guide*.
3271
3282
  #
3272
3283
  #
3273
3284
  #
3274
3285
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
3275
3286
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
3276
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
3287
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html
3288
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
3277
3289
  #
3278
3290
  # @return [Types::DeriveSharedSecretResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3279
3291
  #
@@ -3302,6 +3314,31 @@ module Aws::KMS
3302
3314
  # shared_secret: "MEYCIQCKZLWyTk5runarx6XiAkU9gv3lbwPO/pHa+DXFehzdDwIhANwpsIV2g/9SPWLLsF6p/hiSskuIXMTRwqrMdVKWTMHG", # The raw secret derived from the specified key agreement algorithm, private key in the asymmetric KMS key, and your peer's public key.
3303
3315
  # }
3304
3316
  #
3317
+ # @example Example: To derive a shared secret for a Nitro enclave or NitroTPM
3318
+ #
3319
+ # # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
3320
+ # # NitroTPM. Instead of returning a plaintext shared secret, DeriveSharedSecret returns the shared secret encrypted by the
3321
+ # # public key from the attestation document.
3322
+ #
3323
+ # resp = client.derive_shared_secret({
3324
+ # key_agreement_algorithm: "ECDH", # The key agreement algorithm used to derive the shared secret. The only valid value is ECDH.
3325
+ # key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The key identifier for an asymmetric KMS key pair. The private key in the specified key pair is used to derive the shared secret.
3326
+ # public_key: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvH3Yj0wbkLEpUl95Cv1cJVjsVNSjwGq3tCLnzXfhVwVvmzGN8pYj3U8nKwgouaHbBWNJYjP5VutbbkKS4Kv4GojwZBJyHN17kmxo8yTjRmjR15SKIQ8cqRA2uaERMLnpztIXdZp232PQPbWGxDyXYJ0aJ5EFSag", # The public key in your peer's asymmetric key pair.
3327
+ # recipient: {
3328
+ # attestation_document: "<attestation document>",
3329
+ # key_encryption_algorithm: "RSAES_OAEP_SHA_256",
3330
+ # }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document
3331
+ # })
3332
+ #
3333
+ # resp.to_h outputs the following:
3334
+ # {
3335
+ # ciphertext_for_recipient: "<binary data>", # The shared secret encrypted by the public key from the attestation document
3336
+ # key_agreement_algorithm: "ECDH", # The key agreement algorithm used to derive the shared secret.
3337
+ # key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The asymmetric KMS key pair used to derive the shared secret.
3338
+ # key_origin: "AWS_KMS", # The source of the key material for the specified KMS key.
3339
+ # shared_secret: "", # This field is null or empty
3340
+ # }
3341
+ #
3305
3342
  # @example Request syntax with placeholder values
3306
3343
  #
3307
3344
  # resp = client.derive_shared_secret({
@@ -4740,16 +4777,17 @@ module Aws::KMS
4740
4777
  # `GenerateDataKey` also supports [Amazon Web Services Nitro
4741
4778
  # Enclaves][2], which provide an isolated compute environment in Amazon
4742
4779
  # EC2. To call `GenerateDataKey` for an Amazon Web Services Nitro
4743
- # enclave, use the [Amazon Web Services Nitro Enclaves SDK][3] or any
4744
- # Amazon Web Services SDK. Use the `Recipient` parameter to provide the
4745
- # attestation document for the enclave. `GenerateDataKey` returns a copy
4746
- # of the data key encrypted under the specified KMS key, as usual. But
4747
- # instead of a plaintext copy of the data key, the response includes a
4748
- # copy of the data key encrypted under the public key from the
4749
- # attestation document (`CiphertextForRecipient`). For information about
4750
- # the interaction between KMS and Amazon Web Services Nitro Enclaves,
4751
- # see [How Amazon Web Services Nitro Enclaves uses KMS][4] in the *Key
4752
- # Management Service Developer Guide*..
4780
+ # enclave or NitroTPM, use the [Amazon Web Services Nitro Enclaves
4781
+ # SDK][3] or any Amazon Web Services SDK. Use the `Recipient` parameter
4782
+ # to provide the attestation document for the attested environment.
4783
+ # `GenerateDataKey` returns a copy of the data key encrypted under the
4784
+ # specified KMS key, as usual. But instead of a plaintext copy of the
4785
+ # data key, the response includes a copy of the data key encrypted under
4786
+ # the public key from the attestation document
4787
+ # (`CiphertextForRecipient`). For information about the interaction
4788
+ # between KMS and Amazon Web Services Nitro Enclaves or Amazon Web
4789
+ # Services NitroTPM, see [Cryptographic attestation support in KMS][4]
4790
+ # in the *Key Management Service Developer Guide*.
4753
4791
  #
4754
4792
  # The KMS key that you use for this operation must be in a compatible
4755
4793
  # key state. For details, see [Key states of KMS keys][5] in the *Key
@@ -4808,7 +4846,7 @@ module Aws::KMS
4808
4846
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
4809
4847
  # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
4810
4848
  # [3]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
4811
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
4849
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
4812
4850
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4813
4851
  # [6]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
4814
4852
  # [7]: https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/
@@ -4896,12 +4934,14 @@ module Aws::KMS
4896
4934
  #
4897
4935
  # @option params [Types::RecipientInfo] :recipient
4898
4936
  # A signed [attestation document][1] from an Amazon Web Services Nitro
4899
- # enclave and the encryption algorithm to use with the enclave's public
4900
- # key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
4937
+ # enclave or NitroTPM, and the encryption algorithm to use with the
4938
+ # public key in the attestation document. The only valid encryption
4939
+ # algorithm is `RSAES_OAEP_SHA_256`.
4901
4940
  #
4902
- # This parameter only supports attestation documents for Amazon Web
4903
- # Services Nitro Enclaves. To include this parameter, use the [Amazon
4904
- # Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
4941
+ # This parameter supports the [Amazon Web Services Nitro Enclaves
4942
+ # SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
4943
+ # Enclaves. It supports any Amazon Web Services SDK for Amazon Web
4944
+ # Services NitroTPM.
4905
4945
  #
4906
4946
  # When you use this parameter, instead of returning the plaintext data
4907
4947
  # key, KMS encrypts the plaintext data key under the public key in the
@@ -4913,14 +4953,15 @@ module Aws::KMS
4913
4953
  # `Plaintext` field in the response is null or empty.
4914
4954
  #
4915
4955
  # For information about the interaction between KMS and Amazon Web
4916
- # Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
4917
- # uses KMS][3] in the *Key Management Service Developer Guide*.
4956
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM, see
4957
+ # [Cryptographic attestation support in KMS][3] in the *Key Management
4958
+ # Service Developer Guide*.
4918
4959
  #
4919
4960
  #
4920
4961
  #
4921
4962
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
4922
4963
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
4923
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
4964
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
4924
4965
  #
4925
4966
  # @option params [Boolean] :dry_run
4926
4967
  # Checks if your request will succeed. `DryRun` is an optional
@@ -4960,10 +5001,10 @@ module Aws::KMS
4960
5001
  # plaintext: "<binary data>", # The unencrypted (plaintext) data key.
4961
5002
  # }
4962
5003
  #
4963
- # @example Example: To generate a data key pair for a Nitro enclave
5004
+ # @example Example: To generate a data key for a Nitro enclave or NitroTPM
4964
5005
  #
4965
- # # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave.
4966
- # # Instead of returning a copy of the data key encrypted by the KMS key and a plaintext copy of the data key,
5006
+ # # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
5007
+ # # NitroTPM. Instead of returning a copy of the data key encrypted by the KMS key and a plaintext copy of the data key,
4967
5008
  # # GenerateDataKey returns one copy of the data key encrypted by the KMS key (CiphertextBlob) and one copy of the data key
4968
5009
  # # encrypted by the public key from the attestation document (CiphertextForRecipient). The operation doesn't return a
4969
5010
  # # plaintext data key.
@@ -4974,7 +5015,7 @@ module Aws::KMS
4974
5015
  # recipient: {
4975
5016
  # attestation_document: "<attestation document>",
4976
5017
  # key_encryption_algorithm: "RSAES_OAEP_SHA_256",
4977
- # }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
5018
+ # }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document
4978
5019
  # })
4979
5020
  #
4980
5021
  # resp.to_h outputs the following:
@@ -5065,17 +5106,18 @@ module Aws::KMS
5065
5106
  # `GenerateDataKeyPair` also supports [Amazon Web Services Nitro
5066
5107
  # Enclaves][3], which provide an isolated compute environment in Amazon
5067
5108
  # EC2. To call `GenerateDataKeyPair` for an Amazon Web Services Nitro
5068
- # enclave, use the [Amazon Web Services Nitro Enclaves SDK][4] or any
5069
- # Amazon Web Services SDK. Use the `Recipient` parameter to provide the
5070
- # attestation document for the enclave. `GenerateDataKeyPair` returns
5071
- # the public data key and a copy of the private data key encrypted under
5072
- # the specified KMS key, as usual. But instead of a plaintext copy of
5073
- # the private data key (`PrivateKeyPlaintext`), the response includes a
5074
- # copy of the private data key encrypted under the public key from the
5075
- # attestation document (`CiphertextForRecipient`). For information about
5076
- # the interaction between KMS and Amazon Web Services Nitro Enclaves,
5077
- # see [How Amazon Web Services Nitro Enclaves uses KMS][5] in the *Key
5078
- # Management Service Developer Guide*..
5109
+ # enclave or NitroTPM, use the [Amazon Web Services Nitro Enclaves
5110
+ # SDK][4] or any Amazon Web Services SDK. Use the `Recipient` parameter
5111
+ # to provide the attestation document for the attested environment.
5112
+ # `GenerateDataKeyPair` returns the public data key and a copy of the
5113
+ # private data key encrypted under the specified KMS key, as usual. But
5114
+ # instead of a plaintext copy of the private data key
5115
+ # (`PrivateKeyPlaintext`), the response includes a copy of the private
5116
+ # data key encrypted under the public key from the attestation document
5117
+ # (`CiphertextForRecipient`). For information about the interaction
5118
+ # between KMS and Amazon Web Services Nitro Enclaves or Amazon Web
5119
+ # Services NitroTPM, see [Cryptographic attestation support in KMS][5]
5120
+ # in the *Key Management Service Developer Guide*.
5079
5121
  #
5080
5122
  # You can use an optional encryption context to add additional security
5081
5123
  # to the encryption operation. If you specify an `EncryptionContext`,
@@ -5116,7 +5158,7 @@ module Aws::KMS
5116
5158
  # [2]: https://tools.ietf.org/html/rfc5958
5117
5159
  # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
5118
5160
  # [4]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
5119
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
5161
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
5120
5162
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5121
5163
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5122
5164
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
@@ -5195,35 +5237,40 @@ module Aws::KMS
5195
5237
  #
5196
5238
  # @option params [Types::RecipientInfo] :recipient
5197
5239
  # A signed [attestation document][1] from an Amazon Web Services Nitro
5198
- # enclave and the encryption algorithm to use with the enclave's public
5199
- # key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
5240
+ # enclave or NitroTPM, and the encryption algorithm to use with the
5241
+ # public key in the attestation document. The only valid encryption
5242
+ # algorithm is `RSAES_OAEP_SHA_256`.
5200
5243
  #
5201
5244
  # This parameter only supports attestation documents for Amazon Web
5202
- # Services Nitro Enclaves. To call DeriveSharedSecret for an Amazon Web
5203
- # Services Nitro Enclaves, use the [Amazon Web Services Nitro Enclaves
5204
- # SDK][2] to generate the attestation document and then use the
5205
- # Recipient parameter from any Amazon Web Services SDK to provide the
5206
- # attestation document for the enclave.
5245
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
5246
+ # GenerateDataKeyPair generate an attestation document use either
5247
+ # [Amazon Web Services Nitro Enclaves SDK][2] for an Amazon Web Services
5248
+ # Nitro Enclaves or [Amazon Web Services NitroTPM tools][3] for Amazon
5249
+ # Web Services NitroTPM. Then use the Recipient parameter from any
5250
+ # Amazon Web Services SDK to provide the attestation document for the
5251
+ # attested environment.
5207
5252
  #
5208
5253
  # When you use this parameter, instead of returning a plaintext copy of
5209
5254
  # the private data key, KMS encrypts the plaintext private data key
5210
5255
  # under the public key in the attestation document, and returns the
5211
5256
  # resulting ciphertext in the `CiphertextForRecipient` field in the
5212
5257
  # response. This ciphertext can be decrypted only with the private key
5213
- # in the enclave. The `CiphertextBlob` field in the response contains a
5214
- # copy of the private data key encrypted under the KMS key specified by
5215
- # the `KeyId` parameter. The `PrivateKeyPlaintext` field in the response
5216
- # is null or empty.
5258
+ # in the attested environment. The `CiphertextBlob` field in the
5259
+ # response contains a copy of the private data key encrypted under the
5260
+ # KMS key specified by the `KeyId` parameter. The `PrivateKeyPlaintext`
5261
+ # field in the response is null or empty.
5217
5262
  #
5218
5263
  # For information about the interaction between KMS and Amazon Web
5219
- # Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
5220
- # uses KMS][3] in the *Key Management Service Developer Guide*.
5264
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM, see
5265
+ # [Cryptographic attestation support in KMS][4] in the *Key Management
5266
+ # Service Developer Guide*.
5221
5267
  #
5222
5268
  #
5223
5269
  #
5224
5270
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
5225
5271
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
5226
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
5272
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html
5273
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
5227
5274
  #
5228
5275
  # @option params [Boolean] :dry_run
5229
5276
  # Checks if your request will succeed. `DryRun` is an optional
@@ -5267,13 +5314,13 @@ module Aws::KMS
5267
5314
  # public_key: "<binary data>", # The public key (plaintext) of the RSA data key pair.
5268
5315
  # }
5269
5316
  #
5270
- # @example Example: To generate a data key pair for a Nitro enclave
5317
+ # @example Example: To generate a data key pair for a Nitro enclave or NitroTPM
5271
5318
  #
5272
- # # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave.
5273
- # # Instead of returning a plaintext copy of the private data key, GenerateDataKeyPair returns a copy of the private data
5274
- # # key encrypted by the public key from the attestation document (CiphertextForRecipient). It returns the public data key
5275
- # # (PublicKey) and a copy of private data key encrypted under the specified KMS key (PrivateKeyCiphertextBlob), as usual,
5276
- # # but plaintext private data key field (PrivateKeyPlaintext) is null or empty.
5319
+ # # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
5320
+ # # NitroTPM. Instead of returning a plaintext copy of the private data key, GenerateDataKeyPair returns a copy of the
5321
+ # # private data key encrypted by the public key from the attestation document (CiphertextForRecipient). It returns the
5322
+ # # public data key (PublicKey) and a copy of private data key encrypted under the specified KMS key
5323
+ # # (PrivateKeyCiphertextBlob), as usual, but plaintext private data key field (PrivateKeyPlaintext) is null or empty.
5277
5324
  #
5278
5325
  # resp = client.generate_data_key_pair({
5279
5326
  # 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.
@@ -5281,7 +5328,7 @@ module Aws::KMS
5281
5328
  # recipient: {
5282
5329
  # attestation_document: "<attestation document>",
5283
5330
  # key_encryption_algorithm: "RSAES_OAEP_SHA_256",
5284
- # }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document.
5331
+ # }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document.
5285
5332
  # })
5286
5333
  #
5287
5334
  # resp.to_h outputs the following:
@@ -5917,15 +5964,15 @@ module Aws::KMS
5917
5964
  #
5918
5965
  # `GenerateRandom` also supports [Amazon Web Services Nitro
5919
5966
  # Enclaves][1], which provide an isolated compute environment in Amazon
5920
- # EC2. To call `GenerateRandom` for a Nitro enclave, use the [Amazon Web
5921
- # Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK. Use
5922
- # the `Recipient` parameter to provide the attestation document for the
5923
- # enclave. Instead of plaintext bytes, the response includes the
5924
- # plaintext bytes encrypted under the public key from the attestation
5925
- # document (`CiphertextForRecipient`).For information about the
5926
- # interaction between KMS and Amazon Web Services Nitro Enclaves, see
5927
- # [How Amazon Web Services Nitro Enclaves uses KMS][3] in the *Key
5928
- # Management Service Developer Guide*.
5967
+ # EC2. To call `GenerateRandom` for a Nitro enclave or NitroTPM, use the
5968
+ # [Amazon Web Services Nitro Enclaves SDK][2] or any Amazon Web Services
5969
+ # SDK. Use the `Recipient` parameter to provide the attestation document
5970
+ # for the attested environment. Instead of plaintext bytes, the response
5971
+ # includes the plaintext bytes encrypted under the public key from the
5972
+ # attestation document (`CiphertextForRecipient`). For information about
5973
+ # the interaction between KMS and Amazon Web Services Nitro Enclaves or
5974
+ # Amazon Web Services NitroTPM, see [Cryptographic attestation support
5975
+ # in KMS][3] in the *Key Management Service Developer Guide*.
5929
5976
  #
5930
5977
  # For more information about entropy and random number generation, see
5931
5978
  # [Entropy and random number generation][4] in the *Key Management
@@ -5943,7 +5990,7 @@ module Aws::KMS
5943
5990
  #
5944
5991
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
5945
5992
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
5946
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
5993
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
5947
5994
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#entropy-and-random-numbers
5948
5995
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5949
5996
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
@@ -5962,29 +6009,32 @@ module Aws::KMS
5962
6009
  #
5963
6010
  # @option params [Types::RecipientInfo] :recipient
5964
6011
  # A signed [attestation document][1] from an Amazon Web Services Nitro
5965
- # enclave and the encryption algorithm to use with the enclave's public
5966
- # key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
6012
+ # enclave or NitroTPM, and the encryption algorithm to use with the
6013
+ # public key in the attestation document. The only valid encryption
6014
+ # algorithm is `RSAES_OAEP_SHA_256`.
5967
6015
  #
5968
- # This parameter only supports attestation documents for Amazon Web
5969
- # Services Nitro Enclaves. To include this parameter, use the [Amazon
5970
- # Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
6016
+ # This parameter supports the [Amazon Web Services Nitro Enclaves
6017
+ # SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
6018
+ # Enclaves. It supports any Amazon Web Services SDK for Amazon Web
6019
+ # Services NitroTPM.
5971
6020
  #
5972
6021
  # When you use this parameter, instead of returning plaintext bytes, KMS
5973
6022
  # encrypts the plaintext bytes under the public key in the attestation
5974
6023
  # document, and returns the resulting ciphertext in the
5975
6024
  # `CiphertextForRecipient` field in the response. This ciphertext can be
5976
- # decrypted only with the private key in the enclave. The `Plaintext`
5977
- # field in the response is null or empty.
6025
+ # decrypted only with the private key in the attested environment. The
6026
+ # `Plaintext` field in the response is null or empty.
5978
6027
  #
5979
6028
  # For information about the interaction between KMS and Amazon Web
5980
- # Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
5981
- # uses KMS][3] in the *Key Management Service Developer Guide*.
6029
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM, see
6030
+ # [Cryptographic attestation support in KMS][3] in the *Key Management
6031
+ # Service Developer Guide*.
5982
6032
  #
5983
6033
  #
5984
6034
  #
5985
6035
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
5986
6036
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
5987
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
6037
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
5988
6038
  #
5989
6039
  # @return [Types::GenerateRandomResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5990
6040
  #
@@ -6005,18 +6055,18 @@ module Aws::KMS
6005
6055
  # plaintext: "<binary data>", # The random data.
6006
6056
  # }
6007
6057
  #
6008
- # @example Example: To generate random data
6058
+ # @example Example: To generate random data for a Nitro enclave or NitroTPM
6009
6059
  #
6010
- # # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave.
6011
- # # Instead of returning a plaintext (unencrypted) byte string, GenerateRandom returns the byte string encrypted by the
6012
- # # public key from the enclave's attestation document.
6060
+ # # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
6061
+ # # NitroTPM. Instead of returning a plaintext (unencrypted) byte string, GenerateRandom returns the byte string encrypted
6062
+ # # by the public key from the attestation document.
6013
6063
  #
6014
6064
  # resp = client.generate_random({
6015
6065
  # number_of_bytes: 1024, # The length of the random byte string
6016
6066
  # recipient: {
6017
6067
  # attestation_document: "<attestation document>",
6018
6068
  # key_encryption_algorithm: "RSAES_OAEP_SHA_256",
6019
- # }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
6069
+ # }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document
6020
6070
  # })
6021
6071
  #
6022
6072
  # resp.to_h outputs the following:
@@ -11030,7 +11080,7 @@ module Aws::KMS
11030
11080
  tracer: tracer
11031
11081
  )
11032
11082
  context[:gem_name] = 'aws-sdk-kms'
11033
- context[:gem_version] = '1.112.0'
11083
+ context[:gem_version] = '1.113.0'
11034
11084
  Seahorse::Client::Request.new(handlers, context)
11035
11085
  end
11036
11086
 
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
- # WARNING ABOUT GENERATED CODE
3
- #
4
- # This file is generated. See the contributing for info on making contributions:
5
- # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
6
- #
7
- # WARNING ABOUT GENERATED CODE
8
-
@@ -847,8 +847,11 @@ module Aws::KMS
847
847
  # Determines the [cryptographic operations][1] for which you can use
848
848
  # the KMS key. The default value is `ENCRYPT_DECRYPT`. This parameter
849
849
  # is optional when you are creating a symmetric encryption KMS key;
850
- # otherwise, it is required. You can't change the `KeyUsage` value
851
- # after the KMS key is created.
850
+ # otherwise, it is required. You can't change the [ `KeyUsage` ][2]
851
+ # value after the KMS key is created. Each KMS key can have only one
852
+ # key usage. This follows key usage best practices according to [NIST
853
+ # SP 800-57 Recommendations for Key Management][3], section 5.2, Key
854
+ # usage.
852
855
  #
853
856
  # Select only one valid value.
854
857
  #
@@ -875,6 +878,8 @@ module Aws::KMS
875
878
  #
876
879
  #
877
880
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
881
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#key-usage
882
+ # [3]: https://csrc.nist.gov/pubs/sp/800/57/pt1/r5/final
878
883
  # @return [String]
879
884
  #
880
885
  # @!attribute [rw] customer_master_key_spec
@@ -1620,30 +1625,32 @@ module Aws::KMS
1620
1625
  #
1621
1626
  # @!attribute [rw] recipient
1622
1627
  # A signed [attestation document][1] from an Amazon Web Services Nitro
1623
- # enclave and the encryption algorithm to use with the enclave's
1624
- # public key. The only valid encryption algorithm is
1625
- # `RSAES_OAEP_SHA_256`.
1628
+ # enclave or NitroTPM, and the encryption algorithm to use with the
1629
+ # public key in the attestation document. The only valid encryption
1630
+ # algorithm is `RSAES_OAEP_SHA_256`.
1626
1631
  #
1627
- # This parameter only supports attestation documents for Amazon Web
1628
- # Services Nitro Enclaves. To include this parameter, use the [Amazon
1629
- # Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
1632
+ # This parameter supports the [Amazon Web Services Nitro Enclaves
1633
+ # SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
1634
+ # Enclaves. It supports any Amazon Web Services SDK for Amazon Web
1635
+ # Services NitroTPM.
1630
1636
  #
1631
1637
  # When you use this parameter, instead of returning the plaintext
1632
1638
  # data, KMS encrypts the plaintext data with the public key in the
1633
1639
  # attestation document, and returns the resulting ciphertext in the
1634
1640
  # `CiphertextForRecipient` field in the response. This ciphertext can
1635
- # be decrypted only with the private key in the enclave. The
1636
- # `Plaintext` field in the response is null or empty.
1641
+ # be decrypted only with the private key in the attested environment.
1642
+ # The `Plaintext` field in the response is null or empty.
1637
1643
  #
1638
1644
  # For information about the interaction between KMS and Amazon Web
1639
- # Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
1640
- # uses KMS][3] in the *Key Management Service Developer Guide*.
1645
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM, see
1646
+ # [Cryptographic attestation support in KMS][3] in the *Key Management
1647
+ # Service Developer Guide*.
1641
1648
  #
1642
1649
  #
1643
1650
  #
1644
1651
  # [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-concepts.html#term-attestdoc
1645
1652
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
1646
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
1653
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
1647
1654
  # @return [Types::RecipientInfo]
1648
1655
  #
1649
1656
  # @!attribute [rw] dry_run
@@ -1695,19 +1702,21 @@ module Aws::KMS
1695
1702
  # @return [String]
1696
1703
  #
1697
1704
  # @!attribute [rw] ciphertext_for_recipient
1698
- # The plaintext data encrypted with the public key in the attestation
1699
- # document.
1705
+ # The plaintext data encrypted with the public key from the
1706
+ # attestation document. This ciphertext can be decrypted only by using
1707
+ # a private key from the attested environment.
1700
1708
  #
1701
1709
  # This field is included in the response only when the `Recipient`
1702
1710
  # parameter in the request includes a valid attestation document from
1703
- # an Amazon Web Services Nitro enclave. For information about the
1704
- # interaction between KMS and Amazon Web Services Nitro Enclaves, see
1705
- # [How Amazon Web Services Nitro Enclaves uses KMS][1] in the *Key
1706
- # Management Service Developer Guide*.
1711
+ # an Amazon Web Services Nitro enclave or NitroTPM. For information
1712
+ # about the interaction between KMS and Amazon Web Services Nitro
1713
+ # Enclaves or Amazon Web Services NitroTPM, see [Cryptographic
1714
+ # attestation support in KMS][1] in the *Key Management Service
1715
+ # Developer Guide*.
1707
1716
  #
1708
1717
  #
1709
1718
  #
1710
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
1719
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
1711
1720
  # @return [String]
1712
1721
  #
1713
1722
  # @!attribute [rw] key_material_id
@@ -1917,37 +1926,41 @@ module Aws::KMS
1917
1926
  #
1918
1927
  # @!attribute [rw] recipient
1919
1928
  # A signed [attestation document][1] from an Amazon Web Services Nitro
1920
- # enclave and the encryption algorithm to use with the enclave's
1921
- # public key. The only valid encryption algorithm is
1922
- # `RSAES_OAEP_SHA_256`.
1929
+ # enclave or NitroTPM, and the encryption algorithm to use with the
1930
+ # public key in the attestation document. The only valid encryption
1931
+ # algorithm is `RSAES_OAEP_SHA_256`.
1923
1932
  #
1924
1933
  # This parameter only supports attestation documents for Amazon Web
1925
- # Services Nitro Enclaves. To call DeriveSharedSecret for an Amazon
1926
- # Web Services Nitro Enclaves, use the [Amazon Web Services Nitro
1927
- # Enclaves SDK][2] to generate the attestation document and then use
1928
- # the Recipient parameter from any Amazon Web Services SDK to provide
1929
- # the attestation document for the enclave.
1934
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
1935
+ # DeriveSharedSecret generate an attestation document use either
1936
+ # [Amazon Web Services Nitro Enclaves SDK][2] for an Amazon Web
1937
+ # Services Nitro Enclaves or [Amazon Web Services NitroTPM tools][3]
1938
+ # for Amazon Web Services NitroTPM. Then use the Recipient parameter
1939
+ # from any Amazon Web Services SDK to provide the attestation document
1940
+ # for the attested environment.
1930
1941
  #
1931
1942
  # When you use this parameter, instead of returning a plaintext copy
1932
1943
  # of the shared secret, KMS encrypts the plaintext shared secret under
1933
1944
  # the public key in the attestation document, and returns the
1934
1945
  # resulting ciphertext in the `CiphertextForRecipient` field in the
1935
1946
  # response. This ciphertext can be decrypted only with the private key
1936
- # in the enclave. The `CiphertextBlob` field in the response contains
1937
- # the encrypted shared secret derived from the KMS key specified by
1938
- # the `KeyId` parameter and public key specified by the `PublicKey`
1939
- # parameter. The `SharedSecret` field in the response is null or
1940
- # empty.
1947
+ # in the attested environment. The `CiphertextBlob` field in the
1948
+ # response contains the encrypted shared secret derived from the KMS
1949
+ # key specified by the `KeyId` parameter and public key specified by
1950
+ # the `PublicKey` parameter. The `SharedSecret` field in the response
1951
+ # is null or empty.
1941
1952
  #
1942
1953
  # For information about the interaction between KMS and Amazon Web
1943
- # Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
1944
- # uses KMS][3] in the *Key Management Service Developer Guide*.
1954
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM, see
1955
+ # [Cryptographic attestation support in KMS][4] in the *Key Management
1956
+ # Service Developer Guide*.
1945
1957
  #
1946
1958
  #
1947
1959
  #
1948
1960
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
1949
1961
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
1950
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
1962
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html
1963
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
1951
1964
  # @return [Types::RecipientInfo]
1952
1965
  #
1953
1966
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeriveSharedSecretRequest AWS API Documentation
@@ -1976,19 +1989,21 @@ module Aws::KMS
1976
1989
  # @return [String]
1977
1990
  #
1978
1991
  # @!attribute [rw] ciphertext_for_recipient
1979
- # The plaintext shared secret encrypted with the public key in the
1980
- # attestation document.
1992
+ # The plaintext shared secret encrypted with the public key from the
1993
+ # attestation document. This ciphertext can be decrypted only by using
1994
+ # a private key from the attested environment.
1981
1995
  #
1982
1996
  # This field is included in the response only when the `Recipient`
1983
1997
  # parameter in the request includes a valid attestation document from
1984
- # an Amazon Web Services Nitro enclave. For information about the
1985
- # interaction between KMS and Amazon Web Services Nitro Enclaves, see
1986
- # [How Amazon Web Services Nitro Enclaves uses KMS][1] in the *Key
1987
- # Management Service Developer Guide*.
1998
+ # an Amazon Web Services Nitro enclave or NitroTPM. For information
1999
+ # about the interaction between KMS and Amazon Web Services Nitro
2000
+ # Enclaves or Amazon Web Services NitroTPM, see [Cryptographic
2001
+ # attestation support in KMS][1] in the *Key Management Service
2002
+ # Developer Guide*.
1988
2003
  #
1989
2004
  #
1990
2005
  #
1991
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2006
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
1992
2007
  # @return [String]
1993
2008
  #
1994
2009
  # @!attribute [rw] key_agreement_algorithm
@@ -2573,36 +2588,40 @@ module Aws::KMS
2573
2588
  #
2574
2589
  # @!attribute [rw] recipient
2575
2590
  # A signed [attestation document][1] from an Amazon Web Services Nitro
2576
- # enclave and the encryption algorithm to use with the enclave's
2577
- # public key. The only valid encryption algorithm is
2578
- # `RSAES_OAEP_SHA_256`.
2591
+ # enclave or NitroTPM, and the encryption algorithm to use with the
2592
+ # public key in the attestation document. The only valid encryption
2593
+ # algorithm is `RSAES_OAEP_SHA_256`.
2579
2594
  #
2580
2595
  # This parameter only supports attestation documents for Amazon Web
2581
- # Services Nitro Enclaves. To call DeriveSharedSecret for an Amazon
2582
- # Web Services Nitro Enclaves, use the [Amazon Web Services Nitro
2583
- # Enclaves SDK][2] to generate the attestation document and then use
2584
- # the Recipient parameter from any Amazon Web Services SDK to provide
2585
- # the attestation document for the enclave.
2596
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
2597
+ # GenerateDataKeyPair generate an attestation document use either
2598
+ # [Amazon Web Services Nitro Enclaves SDK][2] for an Amazon Web
2599
+ # Services Nitro Enclaves or [Amazon Web Services NitroTPM tools][3]
2600
+ # for Amazon Web Services NitroTPM. Then use the Recipient parameter
2601
+ # from any Amazon Web Services SDK to provide the attestation document
2602
+ # for the attested environment.
2586
2603
  #
2587
2604
  # When you use this parameter, instead of returning a plaintext copy
2588
2605
  # of the private data key, KMS encrypts the plaintext private data key
2589
2606
  # under the public key in the attestation document, and returns the
2590
2607
  # resulting ciphertext in the `CiphertextForRecipient` field in the
2591
2608
  # response. This ciphertext can be decrypted only with the private key
2592
- # in the enclave. The `CiphertextBlob` field in the response contains
2593
- # a copy of the private data key encrypted under the KMS key specified
2594
- # by the `KeyId` parameter. The `PrivateKeyPlaintext` field in the
2595
- # response is null or empty.
2609
+ # in the attested environment. The `CiphertextBlob` field in the
2610
+ # response contains a copy of the private data key encrypted under the
2611
+ # KMS key specified by the `KeyId` parameter. The
2612
+ # `PrivateKeyPlaintext` field in the response is null or empty.
2596
2613
  #
2597
2614
  # For information about the interaction between KMS and Amazon Web
2598
- # Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
2599
- # uses KMS][3] in the *Key Management Service Developer Guide*.
2615
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM, see
2616
+ # [Cryptographic attestation support in KMS][4] in the *Key Management
2617
+ # Service Developer Guide*.
2600
2618
  #
2601
2619
  #
2602
2620
  #
2603
2621
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
2604
2622
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
2605
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2623
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html
2624
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
2606
2625
  # @return [Types::RecipientInfo]
2607
2626
  #
2608
2627
  # @!attribute [rw] dry_run
@@ -2666,19 +2685,20 @@ module Aws::KMS
2666
2685
  #
2667
2686
  # @!attribute [rw] ciphertext_for_recipient
2668
2687
  # The plaintext private data key encrypted with the public key from
2669
- # the Nitro enclave. This ciphertext can be decrypted only by using a
2670
- # private key in the Nitro enclave.
2688
+ # the attestation document. This ciphertext can be decrypted only by
2689
+ # using a private key from the attested environment.
2671
2690
  #
2672
2691
  # This field is included in the response only when the `Recipient`
2673
2692
  # parameter in the request includes a valid attestation document from
2674
- # an Amazon Web Services Nitro enclave. For information about the
2675
- # interaction between KMS and Amazon Web Services Nitro Enclaves, see
2676
- # [How Amazon Web Services Nitro Enclaves uses KMS][1] in the *Key
2677
- # Management Service Developer Guide*.
2693
+ # an Amazon Web Services Nitro enclave or NitroTPM. For information
2694
+ # about the interaction between KMS and Amazon Web Services Nitro
2695
+ # Enclaves or Amazon Web Services NitroTPM, see [Cryptographic
2696
+ # attestation support in KMS][1] in the *Key Management Service
2697
+ # Developer Guide*.
2678
2698
  #
2679
2699
  #
2680
2700
  #
2681
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2701
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
2682
2702
  # @return [String]
2683
2703
  #
2684
2704
  # @!attribute [rw] key_material_id
@@ -2927,13 +2947,14 @@ module Aws::KMS
2927
2947
  #
2928
2948
  # @!attribute [rw] recipient
2929
2949
  # A signed [attestation document][1] from an Amazon Web Services Nitro
2930
- # enclave and the encryption algorithm to use with the enclave's
2931
- # public key. The only valid encryption algorithm is
2932
- # `RSAES_OAEP_SHA_256`.
2950
+ # enclave or NitroTPM, and the encryption algorithm to use with the
2951
+ # public key in the attestation document. The only valid encryption
2952
+ # algorithm is `RSAES_OAEP_SHA_256`.
2933
2953
  #
2934
- # This parameter only supports attestation documents for Amazon Web
2935
- # Services Nitro Enclaves. To include this parameter, use the [Amazon
2936
- # Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
2954
+ # This parameter supports the [Amazon Web Services Nitro Enclaves
2955
+ # SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
2956
+ # Enclaves. It supports any Amazon Web Services SDK for Amazon Web
2957
+ # Services NitroTPM.
2937
2958
  #
2938
2959
  # When you use this parameter, instead of returning the plaintext data
2939
2960
  # key, KMS encrypts the plaintext data key under the public key in the
@@ -2945,14 +2966,15 @@ module Aws::KMS
2945
2966
  # The `Plaintext` field in the response is null or empty.
2946
2967
  #
2947
2968
  # For information about the interaction between KMS and Amazon Web
2948
- # Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
2949
- # uses KMS][3] in the *Key Management Service Developer Guide*.
2969
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM, see
2970
+ # [Cryptographic attestation support in KMS][3] in the *Key Management
2971
+ # Service Developer Guide*.
2950
2972
  #
2951
2973
  #
2952
2974
  #
2953
2975
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
2954
2976
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
2955
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2977
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
2956
2978
  # @return [Types::RecipientInfo]
2957
2979
  #
2958
2980
  # @!attribute [rw] dry_run
@@ -3007,20 +3029,21 @@ module Aws::KMS
3007
3029
  # @return [String]
3008
3030
  #
3009
3031
  # @!attribute [rw] ciphertext_for_recipient
3010
- # The plaintext data key encrypted with the public key from the Nitro
3011
- # enclave. This ciphertext can be decrypted only by using a private
3012
- # key in the Nitro enclave.
3032
+ # The plaintext data key encrypted with the public key from the
3033
+ # attestation document. This ciphertext can be decrypted only by using
3034
+ # a private key from the attested environment.
3013
3035
  #
3014
3036
  # This field is included in the response only when the `Recipient`
3015
3037
  # parameter in the request includes a valid attestation document from
3016
- # an Amazon Web Services Nitro enclave. For information about the
3017
- # interaction between KMS and Amazon Web Services Nitro Enclaves, see
3018
- # [How Amazon Web Services Nitro Enclaves uses KMS][1] in the *Key
3019
- # Management Service Developer Guide*.
3038
+ # an Amazon Web Services Nitro enclave or NitroTPM. For information
3039
+ # about the interaction between KMS and Amazon Web Services Nitro
3040
+ # Enclaves or Amazon Web Services NitroTPM, see [Cryptographic
3041
+ # attestation support in KMS][1] in the *Key Management Service
3042
+ # Developer Guide*.
3020
3043
  #
3021
3044
  #
3022
3045
  #
3023
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
3046
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
3024
3047
  # @return [String]
3025
3048
  #
3026
3049
  # @!attribute [rw] key_material_id
@@ -3284,30 +3307,32 @@ module Aws::KMS
3284
3307
  #
3285
3308
  # @!attribute [rw] recipient
3286
3309
  # A signed [attestation document][1] from an Amazon Web Services Nitro
3287
- # enclave and the encryption algorithm to use with the enclave's
3288
- # public key. The only valid encryption algorithm is
3289
- # `RSAES_OAEP_SHA_256`.
3310
+ # enclave or NitroTPM, and the encryption algorithm to use with the
3311
+ # public key in the attestation document. The only valid encryption
3312
+ # algorithm is `RSAES_OAEP_SHA_256`.
3290
3313
  #
3291
- # This parameter only supports attestation documents for Amazon Web
3292
- # Services Nitro Enclaves. To include this parameter, use the [Amazon
3293
- # Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
3314
+ # This parameter supports the [Amazon Web Services Nitro Enclaves
3315
+ # SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
3316
+ # Enclaves. It supports any Amazon Web Services SDK for Amazon Web
3317
+ # Services NitroTPM.
3294
3318
  #
3295
3319
  # When you use this parameter, instead of returning plaintext bytes,
3296
3320
  # KMS encrypts the plaintext bytes under the public key in the
3297
3321
  # attestation document, and returns the resulting ciphertext in the
3298
3322
  # `CiphertextForRecipient` field in the response. This ciphertext can
3299
- # be decrypted only with the private key in the enclave. The
3300
- # `Plaintext` field in the response is null or empty.
3323
+ # be decrypted only with the private key in the attested environment.
3324
+ # The `Plaintext` field in the response is null or empty.
3301
3325
  #
3302
3326
  # For information about the interaction between KMS and Amazon Web
3303
- # Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
3304
- # uses KMS][3] in the *Key Management Service Developer Guide*.
3327
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM, see
3328
+ # [Cryptographic attestation support in KMS][3] in the *Key Management
3329
+ # Service Developer Guide*.
3305
3330
  #
3306
3331
  #
3307
3332
  #
3308
3333
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
3309
3334
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
3310
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
3335
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
3311
3336
  # @return [Types::RecipientInfo]
3312
3337
  #
3313
3338
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandomRequest AWS API Documentation
@@ -3331,19 +3356,20 @@ module Aws::KMS
3331
3356
  #
3332
3357
  # @!attribute [rw] ciphertext_for_recipient
3333
3358
  # The plaintext random bytes encrypted with the public key from the
3334
- # Nitro enclave. This ciphertext can be decrypted only by using a
3335
- # private key in the Nitro enclave.
3359
+ # attestation document. This ciphertext can be decrypted only by using
3360
+ # a private key from the attested environment.
3336
3361
  #
3337
3362
  # This field is included in the response only when the `Recipient`
3338
3363
  # parameter in the request includes a valid attestation document from
3339
- # an Amazon Web Services Nitro enclave. For information about the
3340
- # interaction between KMS and Amazon Web Services Nitro Enclaves, see
3341
- # [How Amazon Web Services Nitro Enclaves uses KMS][1] in the *Key
3342
- # Management Service Developer Guide*.
3364
+ # an Amazon Web Services Nitro enclave or NitroTPM. For information
3365
+ # about the interaction between KMS and Amazon Web Services Nitro
3366
+ # Enclaves or Amazon Web Services NitroTPM, see [Cryptographic
3367
+ # attestation support in KMS][1] in the *Key Management Service
3368
+ # Developer Guide*.
3343
3369
  #
3344
3370
  #
3345
3371
  #
3346
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
3372
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
3347
3373
  # @return [String]
3348
3374
  #
3349
3375
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandomResponse AWS API Documentation
@@ -5524,24 +5550,26 @@ module Aws::KMS
5524
5550
  # the API operation.
5525
5551
  #
5526
5552
  # This data type is designed to support Amazon Web Services Nitro
5527
- # Enclaves, which lets you create an isolated compute environment in
5528
- # Amazon EC2. For information about the interaction between KMS and
5529
- # Amazon Web Services Nitro Enclaves, see [How Amazon Web Services Nitro
5530
- # Enclaves uses KMS][1] in the *Key Management Service Developer Guide*.
5553
+ # Enclaves and Amazon Web Services NitroTPM, which lets you create an
5554
+ # attested environment in Amazon EC2. For information about the
5555
+ # interaction between KMS and Amazon Web Services Nitro Enclaves or
5556
+ # Amazon Web Services NitroTPM, see [Cryptographic attestation support
5557
+ # in KMS][1] in the *Key Management Service Developer Guide*.
5531
5558
  #
5532
5559
  #
5533
5560
  #
5534
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
5561
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
5535
5562
  #
5536
5563
  # @!attribute [rw] key_encryption_algorithm
5537
5564
  # The encryption algorithm that KMS should use with the public key for
5538
- # an Amazon Web Services Nitro Enclave to encrypt plaintext values for
5539
- # the response. The only valid value is `RSAES_OAEP_SHA_256`.
5565
+ # an Amazon Web Services Nitro Enclave or NitroTPM to encrypt
5566
+ # plaintext values for the response. The only valid value is
5567
+ # `RSAES_OAEP_SHA_256`.
5540
5568
  # @return [String]
5541
5569
  #
5542
5570
  # @!attribute [rw] attestation_document
5543
- # The attestation document for an Amazon Web Services Nitro Enclave.
5544
- # This document includes the enclave's public key.
5571
+ # The attestation document for an Amazon Web Services Nitro Enclave or
5572
+ # a NitroTPM. This document includes the enclave's public key.
5545
5573
  # @return [String]
5546
5574
  #
5547
5575
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RecipientInfo AWS API Documentation
data/lib/aws-sdk-kms.rb CHANGED
@@ -54,7 +54,7 @@ module Aws::KMS
54
54
  autoload :EndpointProvider, 'aws-sdk-kms/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-kms/endpoints'
56
56
 
57
- GEM_VERSION = '1.112.0'
57
+ GEM_VERSION = '1.113.0'
58
58
 
59
59
  end
60
60
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-kms
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.112.0
4
+ version: 1.113.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services