aws-sdk-kms 1.112.0 → 1.116.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 +4 -4
- data/CHANGELOG.md +20 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-kms/client.rb +194 -125
- data/lib/aws-sdk-kms/client_api.rb +4 -0
- data/lib/aws-sdk-kms/customizations.rb +0 -8
- data/lib/aws-sdk-kms/endpoint_parameters.rb +4 -4
- data/lib/aws-sdk-kms/types.rb +166 -110
- data/lib/aws-sdk-kms.rb +1 -1
- data/sig/client.rbs +2 -0
- data/sig/types.rbs +3 -0
- metadata +3 -3
data/lib/aws-sdk-kms/client.rb
CHANGED
|
@@ -1083,6 +1083,13 @@ module Aws::KMS
|
|
|
1083
1083
|
#
|
|
1084
1084
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/create-xks-keystore.html#xks-requirements
|
|
1085
1085
|
#
|
|
1086
|
+
# @option params [String] :xks_proxy_vpc_endpoint_service_owner
|
|
1087
|
+
# Specifies the Amazon Web Services account ID that owns the Amazon VPC
|
|
1088
|
+
# service endpoint for the interface that is used to communicate with
|
|
1089
|
+
# your external key store proxy (XKS proxy). This parameter is optional.
|
|
1090
|
+
# If not provided, the Amazon Web Services account ID calling the action
|
|
1091
|
+
# will be used.
|
|
1092
|
+
#
|
|
1086
1093
|
# @option params [Types::XksProxyAuthenticationCredentialType] :xks_proxy_authentication_credential
|
|
1087
1094
|
# Specifies an authentication credential for the external key store
|
|
1088
1095
|
# proxy (XKS proxy). This parameter is required for all custom key
|
|
@@ -1209,6 +1216,7 @@ module Aws::KMS
|
|
|
1209
1216
|
# xks_proxy_uri_endpoint: "XksProxyUriEndpointType",
|
|
1210
1217
|
# xks_proxy_uri_path: "XksProxyUriPathType",
|
|
1211
1218
|
# xks_proxy_vpc_endpoint_service_name: "XksProxyVpcEndpointServiceNameType",
|
|
1219
|
+
# xks_proxy_vpc_endpoint_service_owner: "AccountIdType",
|
|
1212
1220
|
# xks_proxy_authentication_credential: {
|
|
1213
1221
|
# access_key_id: "XksProxyAuthenticationAccessKeyIdType", # required
|
|
1214
1222
|
# raw_secret_access_key: "XksProxyAuthenticationRawSecretAccessKeyType", # required
|
|
@@ -1804,8 +1812,10 @@ module Aws::KMS
|
|
|
1804
1812
|
# Determines the [cryptographic operations][1] for which you can use the
|
|
1805
1813
|
# KMS key. The default value is `ENCRYPT_DECRYPT`. This parameter is
|
|
1806
1814
|
# optional when you are creating a symmetric encryption KMS key;
|
|
1807
|
-
# otherwise, it is required. You can't change the `KeyUsage`
|
|
1808
|
-
# after the KMS key is created.
|
|
1815
|
+
# otherwise, it is required. You can't change the [ `KeyUsage` ][2]
|
|
1816
|
+
# value after the KMS key is created. Each KMS key can have only one key
|
|
1817
|
+
# usage. This follows key usage best practices according to [NIST SP
|
|
1818
|
+
# 800-57 Recommendations for Key Management][3], section 5.2, Key usage.
|
|
1809
1819
|
#
|
|
1810
1820
|
# Select only one valid value.
|
|
1811
1821
|
#
|
|
@@ -1832,6 +1842,8 @@ module Aws::KMS
|
|
|
1832
1842
|
#
|
|
1833
1843
|
#
|
|
1834
1844
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
|
|
1845
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#key-usage
|
|
1846
|
+
# [3]: https://csrc.nist.gov/pubs/sp/800/57/pt1/r5/final
|
|
1835
1847
|
#
|
|
1836
1848
|
# @option params [String] :customer_master_key_spec
|
|
1837
1849
|
# Instead, use the `KeySpec` parameter.
|
|
@@ -2520,17 +2532,17 @@ module Aws::KMS
|
|
|
2520
2532
|
# keys or particular trusted accounts. For details, see [Best practices
|
|
2521
2533
|
# for IAM policies][4] in the *Key Management Service Developer Guide*.
|
|
2522
2534
|
#
|
|
2523
|
-
# `Decrypt` also supports [Amazon Web Services Nitro Enclaves][5]
|
|
2524
|
-
#
|
|
2525
|
-
# `Decrypt` for a Nitro enclave, use the [Amazon Web
|
|
2526
|
-
# Enclaves SDK][6] or any Amazon Web Services SDK. Use
|
|
2527
|
-
# parameter to provide the attestation document for the
|
|
2528
|
-
# of the plaintext data, the response
|
|
2529
|
-
# encrypted with the public key from the
|
|
2530
|
-
# (`CiphertextForRecipient`). For information about
|
|
2531
|
-
# between KMS and Amazon Web Services Nitro Enclaves
|
|
2532
|
-
# Web Services
|
|
2533
|
-
# Service Developer Guide*.
|
|
2535
|
+
# `Decrypt` also supports [Amazon Web Services Nitro Enclaves][5] and
|
|
2536
|
+
# NitroTPM, which provide attested environments in Amazon EC2. To call
|
|
2537
|
+
# `Decrypt` for a Nitro enclave or NitroTPM, use the [Amazon Web
|
|
2538
|
+
# Services Nitro Enclaves SDK][6] or any Amazon Web Services SDK. Use
|
|
2539
|
+
# the `Recipient` parameter to provide the attestation document for the
|
|
2540
|
+
# attested environment. Instead of the plaintext data, the response
|
|
2541
|
+
# includes the plaintext data encrypted with the public key from the
|
|
2542
|
+
# attestation document (`CiphertextForRecipient`). For information about
|
|
2543
|
+
# the interaction between KMS and Amazon Web Services Nitro Enclaves or
|
|
2544
|
+
# Amazon Web Services NitroTPM, see [Cryptographic attestation support
|
|
2545
|
+
# in KMS][7] in the *Key Management Service Developer Guide*.
|
|
2534
2546
|
#
|
|
2535
2547
|
# The KMS key that you use for this operation must be in a compatible
|
|
2536
2548
|
# key state. For details, see [Key states of KMS keys][8] in the *Key
|
|
@@ -2563,7 +2575,7 @@ module Aws::KMS
|
|
|
2563
2575
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policies-best-practices
|
|
2564
2576
|
# [5]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
|
2565
2577
|
# [6]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
2566
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2578
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
2567
2579
|
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
2568
2580
|
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
2569
2581
|
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
@@ -2653,29 +2665,32 @@ module Aws::KMS
|
|
|
2653
2665
|
#
|
|
2654
2666
|
# @option params [Types::RecipientInfo] :recipient
|
|
2655
2667
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
|
2656
|
-
# enclave and the encryption algorithm to use with the
|
|
2657
|
-
# key. The only valid encryption
|
|
2668
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
|
2669
|
+
# public key in the attestation document. The only valid encryption
|
|
2670
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
|
2658
2671
|
#
|
|
2659
|
-
# This parameter
|
|
2660
|
-
#
|
|
2661
|
-
#
|
|
2672
|
+
# This parameter supports the [Amazon Web Services Nitro Enclaves
|
|
2673
|
+
# SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
|
|
2674
|
+
# Enclaves. It supports any Amazon Web Services SDK for Amazon Web
|
|
2675
|
+
# Services NitroTPM.
|
|
2662
2676
|
#
|
|
2663
2677
|
# When you use this parameter, instead of returning the plaintext data,
|
|
2664
2678
|
# KMS encrypts the plaintext data with the public key in the attestation
|
|
2665
2679
|
# document, and returns the resulting ciphertext in the
|
|
2666
2680
|
# `CiphertextForRecipient` field in the response. This ciphertext can be
|
|
2667
|
-
# decrypted only with the private key in the
|
|
2668
|
-
# field in the response is null or empty.
|
|
2681
|
+
# decrypted only with the private key in the attested environment. The
|
|
2682
|
+
# `Plaintext` field in the response is null or empty.
|
|
2669
2683
|
#
|
|
2670
2684
|
# For information about the interaction between KMS and Amazon Web
|
|
2671
|
-
# Services Nitro Enclaves
|
|
2672
|
-
#
|
|
2685
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
|
2686
|
+
# [Cryptographic attestation support in KMS][3] in the *Key Management
|
|
2687
|
+
# Service Developer Guide*.
|
|
2673
2688
|
#
|
|
2674
2689
|
#
|
|
2675
2690
|
#
|
|
2676
2691
|
# [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-concepts.html#term-attestdoc
|
|
2677
2692
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
2678
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2693
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
2679
2694
|
#
|
|
2680
2695
|
# @option params [Boolean] :dry_run
|
|
2681
2696
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
@@ -2733,11 +2748,11 @@ module Aws::KMS
|
|
|
2733
2748
|
# plaintext: "<binary data>", # The decrypted (plaintext) data.
|
|
2734
2749
|
# }
|
|
2735
2750
|
#
|
|
2736
|
-
# @example Example: To decrypt data for a Nitro enclave
|
|
2751
|
+
# @example Example: To decrypt data for a Nitro enclave or NitroTPM
|
|
2737
2752
|
#
|
|
2738
2753
|
# # 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
|
|
2740
|
-
# # encrypted by the public key from the attestation document (CiphertextForRecipient).
|
|
2754
|
+
# # enclave or NitroTPM. Instead of returning the decrypted data in plaintext (Plaintext), the operation returns the
|
|
2755
|
+
# # decrypted data encrypted by the public key from the attestation document (CiphertextForRecipient).
|
|
2741
2756
|
#
|
|
2742
2757
|
# resp = client.decrypt({
|
|
2743
2758
|
# ciphertext_blob: "<binary data>", # The encrypted data. This ciphertext was encrypted with the KMS key
|
|
@@ -2745,7 +2760,7 @@ module Aws::KMS
|
|
|
2745
2760
|
# recipient: {
|
|
2746
2761
|
# attestation_document: "<attestation document>",
|
|
2747
2762
|
# 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
|
|
2763
|
+
# }, # 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
2764
|
# })
|
|
2750
2765
|
#
|
|
2751
2766
|
# resp.to_h outputs the following:
|
|
@@ -3245,35 +3260,40 @@ module Aws::KMS
|
|
|
3245
3260
|
#
|
|
3246
3261
|
# @option params [Types::RecipientInfo] :recipient
|
|
3247
3262
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
|
3248
|
-
# enclave and the encryption algorithm to use with the
|
|
3249
|
-
# key. The only valid encryption
|
|
3263
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
|
3264
|
+
# public key in the attestation document. The only valid encryption
|
|
3265
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
|
3250
3266
|
#
|
|
3251
3267
|
# This parameter only supports attestation documents for Amazon Web
|
|
3252
|
-
# Services Nitro Enclaves
|
|
3253
|
-
#
|
|
3254
|
-
# SDK][2]
|
|
3255
|
-
#
|
|
3256
|
-
#
|
|
3268
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
|
|
3269
|
+
# DeriveSharedSecret generate an attestation document use either [Amazon
|
|
3270
|
+
# Web Services Nitro Enclaves SDK][2] for an Amazon Web Services Nitro
|
|
3271
|
+
# Enclaves or [Amazon Web Services NitroTPM tools][3] for Amazon Web
|
|
3272
|
+
# Services NitroTPM. Then use the Recipient parameter from any Amazon
|
|
3273
|
+
# Web Services SDK to provide the attestation document for the attested
|
|
3274
|
+
# environment.
|
|
3257
3275
|
#
|
|
3258
3276
|
# When you use this parameter, instead of returning a plaintext copy of
|
|
3259
3277
|
# the shared secret, KMS encrypts the plaintext shared secret under the
|
|
3260
3278
|
# public key in the attestation document, and returns the resulting
|
|
3261
3279
|
# ciphertext in the `CiphertextForRecipient` field in the response. This
|
|
3262
|
-
# ciphertext can be decrypted only with the private key in the
|
|
3263
|
-
# The `CiphertextBlob` field in the response contains the
|
|
3264
|
-
# shared secret derived from the KMS key specified by the
|
|
3265
|
-
# parameter and public key specified by the `PublicKey`
|
|
3266
|
-
# `SharedSecret` field in the response is null or empty.
|
|
3280
|
+
# ciphertext can be decrypted only with the private key in the attested
|
|
3281
|
+
# environment. The `CiphertextBlob` field in the response contains the
|
|
3282
|
+
# encrypted shared secret derived from the KMS key specified by the
|
|
3283
|
+
# `KeyId` parameter and public key specified by the `PublicKey`
|
|
3284
|
+
# parameter. The `SharedSecret` field in the response is null or empty.
|
|
3267
3285
|
#
|
|
3268
3286
|
# For information about the interaction between KMS and Amazon Web
|
|
3269
|
-
# Services Nitro Enclaves
|
|
3270
|
-
#
|
|
3287
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
|
3288
|
+
# [Cryptographic attestation support in KMS][4] in the *Key Management
|
|
3289
|
+
# Service Developer Guide*.
|
|
3271
3290
|
#
|
|
3272
3291
|
#
|
|
3273
3292
|
#
|
|
3274
3293
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
|
3275
3294
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
3276
|
-
# [3]: https://docs.aws.amazon.com/
|
|
3295
|
+
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html
|
|
3296
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
3277
3297
|
#
|
|
3278
3298
|
# @return [Types::DeriveSharedSecretResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
3279
3299
|
#
|
|
@@ -3302,6 +3322,31 @@ module Aws::KMS
|
|
|
3302
3322
|
# 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
3323
|
# }
|
|
3304
3324
|
#
|
|
3325
|
+
# @example Example: To derive a shared secret for a Nitro enclave or NitroTPM
|
|
3326
|
+
#
|
|
3327
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
|
|
3328
|
+
# # NitroTPM. Instead of returning a plaintext shared secret, DeriveSharedSecret returns the shared secret encrypted by the
|
|
3329
|
+
# # public key from the attestation document.
|
|
3330
|
+
#
|
|
3331
|
+
# resp = client.derive_shared_secret({
|
|
3332
|
+
# key_agreement_algorithm: "ECDH", # The key agreement algorithm used to derive the shared secret. The only valid value is ECDH.
|
|
3333
|
+
# 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.
|
|
3334
|
+
# public_key: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvH3Yj0wbkLEpUl95Cv1cJVjsVNSjwGq3tCLnzXfhVwVvmzGN8pYj3U8nKwgouaHbBWNJYjP5VutbbkKS4Kv4GojwZBJyHN17kmxo8yTjRmjR15SKIQ8cqRA2uaERMLnpztIXdZp232PQPbWGxDyXYJ0aJ5EFSag", # The public key in your peer's asymmetric key pair.
|
|
3335
|
+
# recipient: {
|
|
3336
|
+
# attestation_document: "<attestation document>",
|
|
3337
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
|
3338
|
+
# }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document
|
|
3339
|
+
# })
|
|
3340
|
+
#
|
|
3341
|
+
# resp.to_h outputs the following:
|
|
3342
|
+
# {
|
|
3343
|
+
# ciphertext_for_recipient: "<binary data>", # The shared secret encrypted by the public key from the attestation document
|
|
3344
|
+
# key_agreement_algorithm: "ECDH", # The key agreement algorithm used to derive the shared secret.
|
|
3345
|
+
# 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.
|
|
3346
|
+
# key_origin: "AWS_KMS", # The source of the key material for the specified KMS key.
|
|
3347
|
+
# shared_secret: "", # This field is null or empty
|
|
3348
|
+
# }
|
|
3349
|
+
#
|
|
3305
3350
|
# @example Request syntax with placeholder values
|
|
3306
3351
|
#
|
|
3307
3352
|
# resp = client.derive_shared_secret({
|
|
@@ -3556,6 +3601,7 @@ module Aws::KMS
|
|
|
3556
3601
|
# resp.custom_key_stores[0].xks_proxy_configuration.uri_endpoint #=> String
|
|
3557
3602
|
# resp.custom_key_stores[0].xks_proxy_configuration.uri_path #=> String
|
|
3558
3603
|
# resp.custom_key_stores[0].xks_proxy_configuration.vpc_endpoint_service_name #=> String
|
|
3604
|
+
# resp.custom_key_stores[0].xks_proxy_configuration.vpc_endpoint_service_owner #=> String
|
|
3559
3605
|
# resp.next_marker #=> String
|
|
3560
3606
|
# resp.truncated #=> Boolean
|
|
3561
3607
|
#
|
|
@@ -4740,16 +4786,17 @@ module Aws::KMS
|
|
|
4740
4786
|
# `GenerateDataKey` also supports [Amazon Web Services Nitro
|
|
4741
4787
|
# Enclaves][2], which provide an isolated compute environment in Amazon
|
|
4742
4788
|
# EC2. To call `GenerateDataKey` for an Amazon Web Services Nitro
|
|
4743
|
-
# enclave, use the [Amazon Web Services Nitro Enclaves
|
|
4744
|
-
# Amazon Web Services SDK. Use the `Recipient` parameter
|
|
4745
|
-
# attestation document for the
|
|
4746
|
-
# of the data key encrypted under the
|
|
4747
|
-
# instead of a plaintext copy of the
|
|
4748
|
-
#
|
|
4749
|
-
#
|
|
4750
|
-
#
|
|
4751
|
-
#
|
|
4752
|
-
#
|
|
4789
|
+
# enclave or NitroTPM, use the [Amazon Web Services Nitro Enclaves
|
|
4790
|
+
# SDK][3] or any Amazon Web Services SDK. Use the `Recipient` parameter
|
|
4791
|
+
# to provide the attestation document for the attested environment.
|
|
4792
|
+
# `GenerateDataKey` returns a copy of the data key encrypted under the
|
|
4793
|
+
# specified KMS key, as usual. But instead of a plaintext copy of the
|
|
4794
|
+
# data key, the response includes a copy of the data key encrypted under
|
|
4795
|
+
# the public key from the attestation document
|
|
4796
|
+
# (`CiphertextForRecipient`). For information about the interaction
|
|
4797
|
+
# between KMS and Amazon Web Services Nitro Enclaves or Amazon Web
|
|
4798
|
+
# Services NitroTPM, see [Cryptographic attestation support in KMS][4]
|
|
4799
|
+
# in the *Key Management Service Developer Guide*.
|
|
4753
4800
|
#
|
|
4754
4801
|
# The KMS key that you use for this operation must be in a compatible
|
|
4755
4802
|
# key state. For details, see [Key states of KMS keys][5] in the *Key
|
|
@@ -4808,7 +4855,7 @@ module Aws::KMS
|
|
|
4808
4855
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
4809
4856
|
# [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
|
4810
4857
|
# [3]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
4811
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4858
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
4812
4859
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
4813
4860
|
# [6]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
|
|
4814
4861
|
# [7]: https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/
|
|
@@ -4896,12 +4943,14 @@ module Aws::KMS
|
|
|
4896
4943
|
#
|
|
4897
4944
|
# @option params [Types::RecipientInfo] :recipient
|
|
4898
4945
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
|
4899
|
-
# enclave and the encryption algorithm to use with the
|
|
4900
|
-
# key. The only valid encryption
|
|
4946
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
|
4947
|
+
# public key in the attestation document. The only valid encryption
|
|
4948
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
|
4901
4949
|
#
|
|
4902
|
-
# This parameter
|
|
4903
|
-
#
|
|
4904
|
-
#
|
|
4950
|
+
# This parameter supports the [Amazon Web Services Nitro Enclaves
|
|
4951
|
+
# SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
|
|
4952
|
+
# Enclaves. It supports any Amazon Web Services SDK for Amazon Web
|
|
4953
|
+
# Services NitroTPM.
|
|
4905
4954
|
#
|
|
4906
4955
|
# When you use this parameter, instead of returning the plaintext data
|
|
4907
4956
|
# key, KMS encrypts the plaintext data key under the public key in the
|
|
@@ -4913,14 +4962,15 @@ module Aws::KMS
|
|
|
4913
4962
|
# `Plaintext` field in the response is null or empty.
|
|
4914
4963
|
#
|
|
4915
4964
|
# For information about the interaction between KMS and Amazon Web
|
|
4916
|
-
# Services Nitro Enclaves
|
|
4917
|
-
#
|
|
4965
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
|
4966
|
+
# [Cryptographic attestation support in KMS][3] in the *Key Management
|
|
4967
|
+
# Service Developer Guide*.
|
|
4918
4968
|
#
|
|
4919
4969
|
#
|
|
4920
4970
|
#
|
|
4921
4971
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
|
4922
4972
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
4923
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4973
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
4924
4974
|
#
|
|
4925
4975
|
# @option params [Boolean] :dry_run
|
|
4926
4976
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
@@ -4960,10 +5010,10 @@ module Aws::KMS
|
|
|
4960
5010
|
# plaintext: "<binary data>", # The unencrypted (plaintext) data key.
|
|
4961
5011
|
# }
|
|
4962
5012
|
#
|
|
4963
|
-
# @example Example: To generate a data key
|
|
5013
|
+
# @example Example: To generate a data key for a Nitro enclave or NitroTPM
|
|
4964
5014
|
#
|
|
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,
|
|
5015
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
|
|
5016
|
+
# # NitroTPM. Instead of returning a copy of the data key encrypted by the KMS key and a plaintext copy of the data key,
|
|
4967
5017
|
# # GenerateDataKey returns one copy of the data key encrypted by the KMS key (CiphertextBlob) and one copy of the data key
|
|
4968
5018
|
# # encrypted by the public key from the attestation document (CiphertextForRecipient). The operation doesn't return a
|
|
4969
5019
|
# # plaintext data key.
|
|
@@ -4974,7 +5024,7 @@ module Aws::KMS
|
|
|
4974
5024
|
# recipient: {
|
|
4975
5025
|
# attestation_document: "<attestation document>",
|
|
4976
5026
|
# 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
|
|
5027
|
+
# }, # 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
5028
|
# })
|
|
4979
5029
|
#
|
|
4980
5030
|
# resp.to_h outputs the following:
|
|
@@ -5065,17 +5115,18 @@ module Aws::KMS
|
|
|
5065
5115
|
# `GenerateDataKeyPair` also supports [Amazon Web Services Nitro
|
|
5066
5116
|
# Enclaves][3], which provide an isolated compute environment in Amazon
|
|
5067
5117
|
# EC2. To call `GenerateDataKeyPair` for an Amazon Web Services Nitro
|
|
5068
|
-
# enclave, use the [Amazon Web Services Nitro Enclaves
|
|
5069
|
-
# Amazon Web Services SDK. Use the `Recipient` parameter
|
|
5070
|
-
# attestation document for the
|
|
5071
|
-
# the public data key and a copy of the
|
|
5072
|
-
# the specified KMS key, as usual. But
|
|
5073
|
-
#
|
|
5074
|
-
#
|
|
5075
|
-
#
|
|
5076
|
-
#
|
|
5077
|
-
#
|
|
5078
|
-
#
|
|
5118
|
+
# enclave or NitroTPM, use the [Amazon Web Services Nitro Enclaves
|
|
5119
|
+
# SDK][4] or any Amazon Web Services SDK. Use the `Recipient` parameter
|
|
5120
|
+
# to provide the attestation document for the attested environment.
|
|
5121
|
+
# `GenerateDataKeyPair` returns the public data key and a copy of the
|
|
5122
|
+
# private data key encrypted under the specified KMS key, as usual. But
|
|
5123
|
+
# instead of a plaintext copy of the private data key
|
|
5124
|
+
# (`PrivateKeyPlaintext`), the response includes a copy of the private
|
|
5125
|
+
# data key encrypted under the public key from the attestation document
|
|
5126
|
+
# (`CiphertextForRecipient`). For information about the interaction
|
|
5127
|
+
# between KMS and Amazon Web Services Nitro Enclaves or Amazon Web
|
|
5128
|
+
# Services NitroTPM, see [Cryptographic attestation support in KMS][5]
|
|
5129
|
+
# in the *Key Management Service Developer Guide*.
|
|
5079
5130
|
#
|
|
5080
5131
|
# You can use an optional encryption context to add additional security
|
|
5081
5132
|
# to the encryption operation. If you specify an `EncryptionContext`,
|
|
@@ -5116,7 +5167,7 @@ module Aws::KMS
|
|
|
5116
5167
|
# [2]: https://tools.ietf.org/html/rfc5958
|
|
5117
5168
|
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
|
5118
5169
|
# [4]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
5119
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5170
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
5120
5171
|
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
5121
5172
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
5122
5173
|
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
@@ -5195,35 +5246,40 @@ module Aws::KMS
|
|
|
5195
5246
|
#
|
|
5196
5247
|
# @option params [Types::RecipientInfo] :recipient
|
|
5197
5248
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
|
5198
|
-
# enclave and the encryption algorithm to use with the
|
|
5199
|
-
# key. The only valid encryption
|
|
5249
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
|
5250
|
+
# public key in the attestation document. The only valid encryption
|
|
5251
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
|
5200
5252
|
#
|
|
5201
5253
|
# This parameter only supports attestation documents for Amazon Web
|
|
5202
|
-
# Services Nitro Enclaves
|
|
5203
|
-
#
|
|
5204
|
-
# SDK][2]
|
|
5205
|
-
#
|
|
5206
|
-
#
|
|
5254
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
|
|
5255
|
+
# GenerateDataKeyPair generate an attestation document use either
|
|
5256
|
+
# [Amazon Web Services Nitro Enclaves SDK][2] for an Amazon Web Services
|
|
5257
|
+
# Nitro Enclaves or [Amazon Web Services NitroTPM tools][3] for Amazon
|
|
5258
|
+
# Web Services NitroTPM. Then use the Recipient parameter from any
|
|
5259
|
+
# Amazon Web Services SDK to provide the attestation document for the
|
|
5260
|
+
# attested environment.
|
|
5207
5261
|
#
|
|
5208
5262
|
# When you use this parameter, instead of returning a plaintext copy of
|
|
5209
5263
|
# the private data key, KMS encrypts the plaintext private data key
|
|
5210
5264
|
# under the public key in the attestation document, and returns the
|
|
5211
5265
|
# resulting ciphertext in the `CiphertextForRecipient` field in the
|
|
5212
5266
|
# response. This ciphertext can be decrypted only with the private key
|
|
5213
|
-
# in the
|
|
5214
|
-
# copy of the private data key encrypted under the
|
|
5215
|
-
# the `KeyId` parameter. The `PrivateKeyPlaintext`
|
|
5216
|
-
# is null or empty.
|
|
5267
|
+
# in the attested environment. The `CiphertextBlob` field in the
|
|
5268
|
+
# response contains a copy of the private data key encrypted under the
|
|
5269
|
+
# KMS key specified by the `KeyId` parameter. The `PrivateKeyPlaintext`
|
|
5270
|
+
# field in the response is null or empty.
|
|
5217
5271
|
#
|
|
5218
5272
|
# For information about the interaction between KMS and Amazon Web
|
|
5219
|
-
# Services Nitro Enclaves
|
|
5220
|
-
#
|
|
5273
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
|
5274
|
+
# [Cryptographic attestation support in KMS][4] in the *Key Management
|
|
5275
|
+
# Service Developer Guide*.
|
|
5221
5276
|
#
|
|
5222
5277
|
#
|
|
5223
5278
|
#
|
|
5224
5279
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
|
5225
5280
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
5226
|
-
# [3]: https://docs.aws.amazon.com/
|
|
5281
|
+
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html
|
|
5282
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
5227
5283
|
#
|
|
5228
5284
|
# @option params [Boolean] :dry_run
|
|
5229
5285
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
@@ -5267,13 +5323,13 @@ module Aws::KMS
|
|
|
5267
5323
|
# public_key: "<binary data>", # The public key (plaintext) of the RSA data key pair.
|
|
5268
5324
|
# }
|
|
5269
5325
|
#
|
|
5270
|
-
# @example Example: To generate a data key pair for a Nitro enclave
|
|
5326
|
+
# @example Example: To generate a data key pair for a Nitro enclave or NitroTPM
|
|
5271
5327
|
#
|
|
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
|
|
5274
|
-
# # key encrypted by the public key from the attestation document (CiphertextForRecipient). It returns the
|
|
5275
|
-
# # (PublicKey) and a copy of private data key encrypted under the specified KMS key
|
|
5276
|
-
# # but plaintext private data key field (PrivateKeyPlaintext) is null or empty.
|
|
5328
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
|
|
5329
|
+
# # NitroTPM. Instead of returning a plaintext copy of the private data key, GenerateDataKeyPair returns a copy of the
|
|
5330
|
+
# # private data key encrypted by the public key from the attestation document (CiphertextForRecipient). It returns the
|
|
5331
|
+
# # public data key (PublicKey) and a copy of private data key encrypted under the specified KMS key
|
|
5332
|
+
# # (PrivateKeyCiphertextBlob), as usual, but plaintext private data key field (PrivateKeyPlaintext) is null or empty.
|
|
5277
5333
|
#
|
|
5278
5334
|
# resp = client.generate_data_key_pair({
|
|
5279
5335
|
# 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 +5337,7 @@ module Aws::KMS
|
|
|
5281
5337
|
# recipient: {
|
|
5282
5338
|
# attestation_document: "<attestation document>",
|
|
5283
5339
|
# 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.
|
|
5340
|
+
# }, # 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
5341
|
# })
|
|
5286
5342
|
#
|
|
5287
5343
|
# resp.to_h outputs the following:
|
|
@@ -5917,15 +5973,15 @@ module Aws::KMS
|
|
|
5917
5973
|
#
|
|
5918
5974
|
# `GenerateRandom` also supports [Amazon Web Services Nitro
|
|
5919
5975
|
# Enclaves][1], which provide an isolated compute environment in Amazon
|
|
5920
|
-
# EC2. To call `GenerateRandom` for a Nitro enclave, use the
|
|
5921
|
-
# Services Nitro Enclaves SDK][2] or any Amazon Web Services
|
|
5922
|
-
# the `Recipient` parameter to provide the attestation document
|
|
5923
|
-
#
|
|
5924
|
-
# plaintext bytes encrypted under the public key from the
|
|
5925
|
-
# document (`CiphertextForRecipient`).For information about
|
|
5926
|
-
# interaction between KMS and Amazon Web Services Nitro Enclaves
|
|
5927
|
-
#
|
|
5928
|
-
# Management Service Developer Guide*.
|
|
5976
|
+
# EC2. To call `GenerateRandom` for a Nitro enclave or NitroTPM, use the
|
|
5977
|
+
# [Amazon Web Services Nitro Enclaves SDK][2] or any Amazon Web Services
|
|
5978
|
+
# SDK. Use the `Recipient` parameter to provide the attestation document
|
|
5979
|
+
# for the attested environment. Instead of plaintext bytes, the response
|
|
5980
|
+
# includes the plaintext bytes encrypted under the public key from the
|
|
5981
|
+
# attestation document (`CiphertextForRecipient`). For information about
|
|
5982
|
+
# the interaction between KMS and Amazon Web Services Nitro Enclaves or
|
|
5983
|
+
# Amazon Web Services NitroTPM, see [Cryptographic attestation support
|
|
5984
|
+
# in KMS][3] in the *Key Management Service Developer Guide*.
|
|
5929
5985
|
#
|
|
5930
5986
|
# For more information about entropy and random number generation, see
|
|
5931
5987
|
# [Entropy and random number generation][4] in the *Key Management
|
|
@@ -5943,7 +5999,7 @@ module Aws::KMS
|
|
|
5943
5999
|
#
|
|
5944
6000
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
|
5945
6001
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
5946
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6002
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
5947
6003
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#entropy-and-random-numbers
|
|
5948
6004
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
5949
6005
|
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
@@ -5962,29 +6018,32 @@ module Aws::KMS
|
|
|
5962
6018
|
#
|
|
5963
6019
|
# @option params [Types::RecipientInfo] :recipient
|
|
5964
6020
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
|
5965
|
-
# enclave and the encryption algorithm to use with the
|
|
5966
|
-
# key. The only valid encryption
|
|
6021
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
|
6022
|
+
# public key in the attestation document. The only valid encryption
|
|
6023
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
|
5967
6024
|
#
|
|
5968
|
-
# This parameter
|
|
5969
|
-
#
|
|
5970
|
-
#
|
|
6025
|
+
# This parameter supports the [Amazon Web Services Nitro Enclaves
|
|
6026
|
+
# SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
|
|
6027
|
+
# Enclaves. It supports any Amazon Web Services SDK for Amazon Web
|
|
6028
|
+
# Services NitroTPM.
|
|
5971
6029
|
#
|
|
5972
6030
|
# When you use this parameter, instead of returning plaintext bytes, KMS
|
|
5973
6031
|
# encrypts the plaintext bytes under the public key in the attestation
|
|
5974
6032
|
# document, and returns the resulting ciphertext in the
|
|
5975
6033
|
# `CiphertextForRecipient` field in the response. This ciphertext can be
|
|
5976
|
-
# decrypted only with the private key in the
|
|
5977
|
-
# field in the response is null or empty.
|
|
6034
|
+
# decrypted only with the private key in the attested environment. The
|
|
6035
|
+
# `Plaintext` field in the response is null or empty.
|
|
5978
6036
|
#
|
|
5979
6037
|
# For information about the interaction between KMS and Amazon Web
|
|
5980
|
-
# Services Nitro Enclaves
|
|
5981
|
-
#
|
|
6038
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
|
6039
|
+
# [Cryptographic attestation support in KMS][3] in the *Key Management
|
|
6040
|
+
# Service Developer Guide*.
|
|
5982
6041
|
#
|
|
5983
6042
|
#
|
|
5984
6043
|
#
|
|
5985
6044
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
|
5986
6045
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
5987
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6046
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
5988
6047
|
#
|
|
5989
6048
|
# @return [Types::GenerateRandomResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
5990
6049
|
#
|
|
@@ -6005,18 +6064,18 @@ module Aws::KMS
|
|
|
6005
6064
|
# plaintext: "<binary data>", # The random data.
|
|
6006
6065
|
# }
|
|
6007
6066
|
#
|
|
6008
|
-
# @example Example: To generate random data
|
|
6067
|
+
# @example Example: To generate random data for a Nitro enclave or NitroTPM
|
|
6009
6068
|
#
|
|
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
|
|
6012
|
-
# # public key from the
|
|
6069
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
|
|
6070
|
+
# # NitroTPM. Instead of returning a plaintext (unencrypted) byte string, GenerateRandom returns the byte string encrypted
|
|
6071
|
+
# # by the public key from the attestation document.
|
|
6013
6072
|
#
|
|
6014
6073
|
# resp = client.generate_random({
|
|
6015
6074
|
# number_of_bytes: 1024, # The length of the random byte string
|
|
6016
6075
|
# recipient: {
|
|
6017
6076
|
# attestation_document: "<attestation document>",
|
|
6018
6077
|
# 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
|
|
6078
|
+
# }, # 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
6079
|
# })
|
|
6021
6080
|
#
|
|
6022
6081
|
# resp.to_h outputs the following:
|
|
@@ -10240,6 +10299,15 @@ module Aws::KMS
|
|
|
10240
10299
|
#
|
|
10241
10300
|
# To change this value, the external key store must be disconnected.
|
|
10242
10301
|
#
|
|
10302
|
+
# @option params [String] :xks_proxy_vpc_endpoint_service_owner
|
|
10303
|
+
# Changes the Amazon Web Services account ID that KMS uses to identify
|
|
10304
|
+
# the Amazon VPC endpoint service for your external key store proxy (XKS
|
|
10305
|
+
# proxy). This parameter is optional. If not specified, the current
|
|
10306
|
+
# Amazon Web Services account ID for the VPC endpoint service will not
|
|
10307
|
+
# be updated.
|
|
10308
|
+
#
|
|
10309
|
+
# To change this value, the external key store must be disconnected.
|
|
10310
|
+
#
|
|
10243
10311
|
# @option params [Types::XksProxyAuthenticationCredentialType] :xks_proxy_authentication_credential
|
|
10244
10312
|
# Changes the credentials that KMS uses to sign requests to the external
|
|
10245
10313
|
# key store proxy (XKS proxy). This parameter is valid only for custom
|
|
@@ -10381,6 +10449,7 @@ module Aws::KMS
|
|
|
10381
10449
|
# xks_proxy_uri_endpoint: "XksProxyUriEndpointType",
|
|
10382
10450
|
# xks_proxy_uri_path: "XksProxyUriPathType",
|
|
10383
10451
|
# xks_proxy_vpc_endpoint_service_name: "XksProxyVpcEndpointServiceNameType",
|
|
10452
|
+
# xks_proxy_vpc_endpoint_service_owner: "AccountIdType",
|
|
10384
10453
|
# xks_proxy_authentication_credential: {
|
|
10385
10454
|
# access_key_id: "XksProxyAuthenticationAccessKeyIdType", # required
|
|
10386
10455
|
# raw_secret_access_key: "XksProxyAuthenticationRawSecretAccessKeyType", # required
|
|
@@ -11030,7 +11099,7 @@ module Aws::KMS
|
|
|
11030
11099
|
tracer: tracer
|
|
11031
11100
|
)
|
|
11032
11101
|
context[:gem_name] = 'aws-sdk-kms'
|
|
11033
|
-
context[:gem_version] = '1.
|
|
11102
|
+
context[:gem_version] = '1.116.0'
|
|
11034
11103
|
Seahorse::Client::Request.new(handlers, context)
|
|
11035
11104
|
end
|
|
11036
11105
|
|