aws-sdk-kms 1.112.0 → 1.117.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.
@@ -485,6 +485,14 @@ module Aws::KMS
485
485
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/create-xks-keystore.html#xks-requirements
486
486
  # @return [String]
487
487
  #
488
+ # @!attribute [rw] xks_proxy_vpc_endpoint_service_owner
489
+ # Specifies the Amazon Web Services account ID that owns the Amazon
490
+ # VPC service endpoint for the interface that is used to communicate
491
+ # with your external key store proxy (XKS proxy). This parameter is
492
+ # optional. If not provided, the Amazon Web Services account ID
493
+ # calling the action will be used.
494
+ # @return [String]
495
+ #
488
496
  # @!attribute [rw] xks_proxy_authentication_credential
489
497
  # Specifies an authentication credential for the external key store
490
498
  # proxy (XKS proxy). This parameter is required for all custom key
@@ -549,6 +557,7 @@ module Aws::KMS
549
557
  :xks_proxy_uri_endpoint,
550
558
  :xks_proxy_uri_path,
551
559
  :xks_proxy_vpc_endpoint_service_name,
560
+ :xks_proxy_vpc_endpoint_service_owner,
552
561
  :xks_proxy_authentication_credential,
553
562
  :xks_proxy_connectivity)
554
563
  SENSITIVE = [:key_store_password]
@@ -847,8 +856,11 @@ module Aws::KMS
847
856
  # Determines the [cryptographic operations][1] for which you can use
848
857
  # the KMS key. The default value is `ENCRYPT_DECRYPT`. This parameter
849
858
  # 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.
859
+ # otherwise, it is required. You can't change the [ `KeyUsage` ][2]
860
+ # value after the KMS key is created. Each KMS key can have only one
861
+ # key usage. This follows key usage best practices according to [NIST
862
+ # SP 800-57 Recommendations for Key Management][3], section 5.2, Key
863
+ # usage.
852
864
  #
853
865
  # Select only one valid value.
854
866
  #
@@ -860,7 +872,7 @@ module Aws::KMS
860
872
  # * For asymmetric KMS keys with RSA key pairs, specify
861
873
  # `ENCRYPT_DECRYPT` or `SIGN_VERIFY`.
862
874
  #
863
- # * For asymmetric KMS keys with NIST-recommended elliptic curve key
875
+ # * For asymmetric KMS keys with NIST-standard elliptic curve key
864
876
  # pairs, specify `SIGN_VERIFY` or `KEY_AGREEMENT`.
865
877
  #
866
878
  # * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs, specify
@@ -875,6 +887,8 @@ module Aws::KMS
875
887
  #
876
888
  #
877
889
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
890
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#key-usage
891
+ # [3]: https://csrc.nist.gov/pubs/sp/800/57/pt1/r5/final
878
892
  # @return [String]
879
893
  #
880
894
  # @!attribute [rw] customer_master_key_spec
@@ -933,7 +947,7 @@ module Aws::KMS
933
947
  # * `RSA_3072`
934
948
  #
935
949
  # * `RSA_4096`
936
- # * Asymmetric NIST-recommended elliptic curve key pairs (signing and
950
+ # * Asymmetric NIST-standard elliptic curve key pairs (signing and
937
951
  # verification -or- deriving shared secrets)
938
952
  #
939
953
  # * `ECC_NIST_P256` (secp256r1)
@@ -941,6 +955,19 @@ module Aws::KMS
941
955
  # * `ECC_NIST_P384` (secp384r1)
942
956
  #
943
957
  # * `ECC_NIST_P521` (secp521r1)
958
+ #
959
+ # * `ECC_NIST_EDWARDS25519` (ed25519) - signing and verification
960
+ # only
961
+ #
962
+ # * **Note:** For ECC\_NIST\_EDWARDS25519 KMS keys, the
963
+ # ED25519\_SHA\_512 signing algorithm requires [
964
+ # `MessageType:RAW`
965
+ # ](kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType),
966
+ # while ED25519\_PH\_SHA\_512 requires [ `MessageType:DIGEST`
967
+ # ](kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType).
968
+ # These message types cannot be used interchangeably.
969
+ #
970
+ # ^
944
971
  # * Other asymmetric elliptic curve key pairs (signing and
945
972
  # verification)
946
973
  #
@@ -1620,30 +1647,32 @@ module Aws::KMS
1620
1647
  #
1621
1648
  # @!attribute [rw] recipient
1622
1649
  # 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`.
1650
+ # enclave or NitroTPM, and the encryption algorithm to use with the
1651
+ # public key in the attestation document. The only valid encryption
1652
+ # algorithm is `RSAES_OAEP_SHA_256`.
1626
1653
  #
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.
1654
+ # This parameter supports the [Amazon Web Services Nitro Enclaves
1655
+ # SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
1656
+ # Enclaves. It supports any Amazon Web Services SDK for Amazon Web
1657
+ # Services NitroTPM.
1630
1658
  #
1631
1659
  # When you use this parameter, instead of returning the plaintext
1632
1660
  # data, KMS encrypts the plaintext data with the public key in the
1633
1661
  # attestation document, and returns the resulting ciphertext in the
1634
1662
  # `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.
1663
+ # be decrypted only with the private key in the attested environment.
1664
+ # The `Plaintext` field in the response is null or empty.
1637
1665
  #
1638
1666
  # 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*.
1667
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM, see
1668
+ # [Cryptographic attestation support in KMS][3] in the *Key Management
1669
+ # Service Developer Guide*.
1641
1670
  #
1642
1671
  #
1643
1672
  #
1644
1673
  # [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-concepts.html#term-attestdoc
1645
1674
  # [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
1675
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
1647
1676
  # @return [Types::RecipientInfo]
1648
1677
  #
1649
1678
  # @!attribute [rw] dry_run
@@ -1695,19 +1724,21 @@ module Aws::KMS
1695
1724
  # @return [String]
1696
1725
  #
1697
1726
  # @!attribute [rw] ciphertext_for_recipient
1698
- # The plaintext data encrypted with the public key in the attestation
1699
- # document.
1727
+ # The plaintext data encrypted with the public key from the
1728
+ # attestation document. This ciphertext can be decrypted only by using
1729
+ # a private key from the attested environment.
1700
1730
  #
1701
1731
  # This field is included in the response only when the `Recipient`
1702
1732
  # 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*.
1733
+ # an Amazon Web Services Nitro enclave or NitroTPM. For information
1734
+ # about the interaction between KMS and Amazon Web Services Nitro
1735
+ # Enclaves or Amazon Web Services NitroTPM, see [Cryptographic
1736
+ # attestation support in KMS][1] in the *Key Management Service
1737
+ # Developer Guide*.
1707
1738
  #
1708
1739
  #
1709
1740
  #
1710
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
1741
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
1711
1742
  # @return [String]
1712
1743
  #
1713
1744
  # @!attribute [rw] key_material_id
@@ -1832,7 +1863,7 @@ module Aws::KMS
1832
1863
  end
1833
1864
 
1834
1865
  # @!attribute [rw] key_id
1835
- # Identifies an asymmetric NIST-recommended ECC or SM2 (China Regions
1866
+ # Identifies an asymmetric NIST-standard ECC or SM2 (China Regions
1836
1867
  # only) KMS key. KMS uses the private key in the specified key pair to
1837
1868
  # derive the shared secret. The key usage of the KMS key must be
1838
1869
  # `KEY_AGREEMENT`. To find the `KeyUsage` of a KMS key, use the
@@ -1864,7 +1895,7 @@ module Aws::KMS
1864
1895
  # @return [String]
1865
1896
  #
1866
1897
  # @!attribute [rw] public_key
1867
- # Specifies the public key in your peer's NIST-recommended elliptic
1898
+ # Specifies the public key in your peer's NIST-standard elliptic
1868
1899
  # curve (ECC) or SM2 (China Regions only) key pair.
1869
1900
  #
1870
1901
  # The public key must be a DER-encoded X.509 public key, also known as
@@ -1917,37 +1948,41 @@ module Aws::KMS
1917
1948
  #
1918
1949
  # @!attribute [rw] recipient
1919
1950
  # 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`.
1951
+ # enclave or NitroTPM, and the encryption algorithm to use with the
1952
+ # public key in the attestation document. The only valid encryption
1953
+ # algorithm is `RSAES_OAEP_SHA_256`.
1923
1954
  #
1924
1955
  # 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.
1956
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
1957
+ # DeriveSharedSecret generate an attestation document use either
1958
+ # [Amazon Web Services Nitro Enclaves SDK][2] for an Amazon Web
1959
+ # Services Nitro Enclaves or [Amazon Web Services NitroTPM tools][3]
1960
+ # for Amazon Web Services NitroTPM. Then use the Recipient parameter
1961
+ # from any Amazon Web Services SDK to provide the attestation document
1962
+ # for the attested environment.
1930
1963
  #
1931
1964
  # When you use this parameter, instead of returning a plaintext copy
1932
1965
  # of the shared secret, KMS encrypts the plaintext shared secret under
1933
1966
  # the public key in the attestation document, and returns the
1934
1967
  # resulting ciphertext in the `CiphertextForRecipient` field in the
1935
1968
  # 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.
1969
+ # in the attested environment. The `CiphertextBlob` field in the
1970
+ # response contains the encrypted shared secret derived from the KMS
1971
+ # key specified by the `KeyId` parameter and public key specified by
1972
+ # the `PublicKey` parameter. The `SharedSecret` field in the response
1973
+ # is null or empty.
1941
1974
  #
1942
1975
  # 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*.
1976
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM, see
1977
+ # [Cryptographic attestation support in KMS][4] in the *Key Management
1978
+ # Service Developer Guide*.
1945
1979
  #
1946
1980
  #
1947
1981
  #
1948
1982
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
1949
1983
  # [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
1984
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html
1985
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
1951
1986
  # @return [Types::RecipientInfo]
1952
1987
  #
1953
1988
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeriveSharedSecretRequest AWS API Documentation
@@ -1976,19 +2011,21 @@ module Aws::KMS
1976
2011
  # @return [String]
1977
2012
  #
1978
2013
  # @!attribute [rw] ciphertext_for_recipient
1979
- # The plaintext shared secret encrypted with the public key in the
1980
- # attestation document.
2014
+ # The plaintext shared secret encrypted with the public key from the
2015
+ # attestation document. This ciphertext can be decrypted only by using
2016
+ # a private key from the attested environment.
1981
2017
  #
1982
2018
  # This field is included in the response only when the `Recipient`
1983
2019
  # 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*.
2020
+ # an Amazon Web Services Nitro enclave or NitroTPM. For information
2021
+ # about the interaction between KMS and Amazon Web Services Nitro
2022
+ # Enclaves or Amazon Web Services NitroTPM, see [Cryptographic
2023
+ # attestation support in KMS][1] in the *Key Management Service
2024
+ # Developer Guide*.
1988
2025
  #
1989
2026
  #
1990
2027
  #
1991
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2028
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
1992
2029
  # @return [String]
1993
2030
  #
1994
2031
  # @!attribute [rw] key_agreement_algorithm
@@ -2573,36 +2610,40 @@ module Aws::KMS
2573
2610
  #
2574
2611
  # @!attribute [rw] recipient
2575
2612
  # 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`.
2613
+ # enclave or NitroTPM, and the encryption algorithm to use with the
2614
+ # public key in the attestation document. The only valid encryption
2615
+ # algorithm is `RSAES_OAEP_SHA_256`.
2579
2616
  #
2580
2617
  # 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.
2618
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
2619
+ # GenerateDataKeyPair generate an attestation document use either
2620
+ # [Amazon Web Services Nitro Enclaves SDK][2] for an Amazon Web
2621
+ # Services Nitro Enclaves or [Amazon Web Services NitroTPM tools][3]
2622
+ # for Amazon Web Services NitroTPM. Then use the Recipient parameter
2623
+ # from any Amazon Web Services SDK to provide the attestation document
2624
+ # for the attested environment.
2586
2625
  #
2587
2626
  # When you use this parameter, instead of returning a plaintext copy
2588
2627
  # of the private data key, KMS encrypts the plaintext private data key
2589
2628
  # under the public key in the attestation document, and returns the
2590
2629
  # resulting ciphertext in the `CiphertextForRecipient` field in the
2591
2630
  # 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.
2631
+ # in the attested environment. The `CiphertextBlob` field in the
2632
+ # response contains a copy of the private data key encrypted under the
2633
+ # KMS key specified by the `KeyId` parameter. The
2634
+ # `PrivateKeyPlaintext` field in the response is null or empty.
2596
2635
  #
2597
2636
  # 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*.
2637
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM, see
2638
+ # [Cryptographic attestation support in KMS][4] in the *Key Management
2639
+ # Service Developer Guide*.
2600
2640
  #
2601
2641
  #
2602
2642
  #
2603
2643
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
2604
2644
  # [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
2645
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html
2646
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
2606
2647
  # @return [Types::RecipientInfo]
2607
2648
  #
2608
2649
  # @!attribute [rw] dry_run
@@ -2666,19 +2707,20 @@ module Aws::KMS
2666
2707
  #
2667
2708
  # @!attribute [rw] ciphertext_for_recipient
2668
2709
  # 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.
2710
+ # the attestation document. This ciphertext can be decrypted only by
2711
+ # using a private key from the attested environment.
2671
2712
  #
2672
2713
  # This field is included in the response only when the `Recipient`
2673
2714
  # 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*.
2715
+ # an Amazon Web Services Nitro enclave or NitroTPM. For information
2716
+ # about the interaction between KMS and Amazon Web Services Nitro
2717
+ # Enclaves or Amazon Web Services NitroTPM, see [Cryptographic
2718
+ # attestation support in KMS][1] in the *Key Management Service
2719
+ # Developer Guide*.
2678
2720
  #
2679
2721
  #
2680
2722
  #
2681
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2723
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
2682
2724
  # @return [String]
2683
2725
  #
2684
2726
  # @!attribute [rw] key_material_id
@@ -2927,13 +2969,14 @@ module Aws::KMS
2927
2969
  #
2928
2970
  # @!attribute [rw] recipient
2929
2971
  # 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`.
2972
+ # enclave or NitroTPM, and the encryption algorithm to use with the
2973
+ # public key in the attestation document. The only valid encryption
2974
+ # algorithm is `RSAES_OAEP_SHA_256`.
2933
2975
  #
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.
2976
+ # This parameter supports the [Amazon Web Services Nitro Enclaves
2977
+ # SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
2978
+ # Enclaves. It supports any Amazon Web Services SDK for Amazon Web
2979
+ # Services NitroTPM.
2937
2980
  #
2938
2981
  # When you use this parameter, instead of returning the plaintext data
2939
2982
  # key, KMS encrypts the plaintext data key under the public key in the
@@ -2945,14 +2988,15 @@ module Aws::KMS
2945
2988
  # The `Plaintext` field in the response is null or empty.
2946
2989
  #
2947
2990
  # 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*.
2991
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM, see
2992
+ # [Cryptographic attestation support in KMS][3] in the *Key Management
2993
+ # Service Developer Guide*.
2950
2994
  #
2951
2995
  #
2952
2996
  #
2953
2997
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
2954
2998
  # [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
2999
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
2956
3000
  # @return [Types::RecipientInfo]
2957
3001
  #
2958
3002
  # @!attribute [rw] dry_run
@@ -3007,20 +3051,21 @@ module Aws::KMS
3007
3051
  # @return [String]
3008
3052
  #
3009
3053
  # @!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.
3054
+ # The plaintext data key encrypted with the public key from the
3055
+ # attestation document. This ciphertext can be decrypted only by using
3056
+ # a private key from the attested environment.
3013
3057
  #
3014
3058
  # This field is included in the response only when the `Recipient`
3015
3059
  # 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*.
3060
+ # an Amazon Web Services Nitro enclave or NitroTPM. For information
3061
+ # about the interaction between KMS and Amazon Web Services Nitro
3062
+ # Enclaves or Amazon Web Services NitroTPM, see [Cryptographic
3063
+ # attestation support in KMS][1] in the *Key Management Service
3064
+ # Developer Guide*.
3020
3065
  #
3021
3066
  #
3022
3067
  #
3023
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
3068
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
3024
3069
  # @return [String]
3025
3070
  #
3026
3071
  # @!attribute [rw] key_material_id
@@ -3284,30 +3329,32 @@ module Aws::KMS
3284
3329
  #
3285
3330
  # @!attribute [rw] recipient
3286
3331
  # 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`.
3332
+ # enclave or NitroTPM, and the encryption algorithm to use with the
3333
+ # public key in the attestation document. The only valid encryption
3334
+ # algorithm is `RSAES_OAEP_SHA_256`.
3290
3335
  #
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.
3336
+ # This parameter supports the [Amazon Web Services Nitro Enclaves
3337
+ # SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
3338
+ # Enclaves. It supports any Amazon Web Services SDK for Amazon Web
3339
+ # Services NitroTPM.
3294
3340
  #
3295
3341
  # When you use this parameter, instead of returning plaintext bytes,
3296
3342
  # KMS encrypts the plaintext bytes under the public key in the
3297
3343
  # attestation document, and returns the resulting ciphertext in the
3298
3344
  # `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.
3345
+ # be decrypted only with the private key in the attested environment.
3346
+ # The `Plaintext` field in the response is null or empty.
3301
3347
  #
3302
3348
  # 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*.
3349
+ # Services Nitro Enclaves or Amazon Web Services NitroTPM, see
3350
+ # [Cryptographic attestation support in KMS][3] in the *Key Management
3351
+ # Service Developer Guide*.
3305
3352
  #
3306
3353
  #
3307
3354
  #
3308
3355
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
3309
3356
  # [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
3357
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
3311
3358
  # @return [Types::RecipientInfo]
3312
3359
  #
3313
3360
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandomRequest AWS API Documentation
@@ -3331,19 +3378,20 @@ module Aws::KMS
3331
3378
  #
3332
3379
  # @!attribute [rw] ciphertext_for_recipient
3333
3380
  # 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.
3381
+ # attestation document. This ciphertext can be decrypted only by using
3382
+ # a private key from the attested environment.
3336
3383
  #
3337
3384
  # This field is included in the response only when the `Recipient`
3338
3385
  # 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*.
3386
+ # an Amazon Web Services Nitro enclave or NitroTPM. For information
3387
+ # about the interaction between KMS and Amazon Web Services Nitro
3388
+ # Enclaves or Amazon Web Services NitroTPM, see [Cryptographic
3389
+ # attestation support in KMS][1] in the *Key Management Service
3390
+ # Developer Guide*.
3343
3391
  #
3344
3392
  #
3345
3393
  #
3346
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
3394
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
3347
3395
  # @return [String]
3348
3396
  #
3349
3397
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandomResponse AWS API Documentation
@@ -5524,24 +5572,26 @@ module Aws::KMS
5524
5572
  # the API operation.
5525
5573
  #
5526
5574
  # 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*.
5575
+ # Enclaves and Amazon Web Services NitroTPM, which lets you create an
5576
+ # attested environment in Amazon EC2. For information about the
5577
+ # interaction between KMS and Amazon Web Services Nitro Enclaves or
5578
+ # Amazon Web Services NitroTPM, see [Cryptographic attestation support
5579
+ # in KMS][1] in the *Key Management Service Developer Guide*.
5531
5580
  #
5532
5581
  #
5533
5582
  #
5534
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
5583
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
5535
5584
  #
5536
5585
  # @!attribute [rw] key_encryption_algorithm
5537
5586
  # 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`.
5587
+ # an Amazon Web Services Nitro Enclave or NitroTPM to encrypt
5588
+ # plaintext values for the response. The only valid value is
5589
+ # `RSAES_OAEP_SHA_256`.
5540
5590
  # @return [String]
5541
5591
  #
5542
5592
  # @!attribute [rw] attestation_document
5543
- # The attestation document for an Amazon Web Services Nitro Enclave.
5544
- # This document includes the enclave's public key.
5593
+ # The attestation document for an Amazon Web Services Nitro Enclave or
5594
+ # a NitroTPM. This document includes the enclave's public key.
5545
5595
  # @return [String]
5546
5596
  #
5547
5597
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RecipientInfo AWS API Documentation
@@ -6161,6 +6211,13 @@ module Aws::KMS
6161
6211
  # value with an unhashed message, the security of the signing
6162
6212
  # operation can be compromised.
6163
6213
  #
6214
+ # When using ECC\_NIST\_EDWARDS25519 KMS keys:
6215
+ #
6216
+ # * ED25519\_SHA\_512 signing algorithm requires KMS `MessageType:RAW`
6217
+ #
6218
+ # * ED25519\_PH\_SHA\_512 signing algorithm requires KMS
6219
+ # `MessageType:DIGEST`
6220
+ #
6164
6221
  # When the value of `MessageType` is `DIGEST`, the length of the
6165
6222
  # `Message` value must match the length of hashed messages for the
6166
6223
  # specified signing algorithm.
@@ -6568,6 +6625,16 @@ module Aws::KMS
6568
6625
  # To change this value, the external key store must be disconnected.
6569
6626
  # @return [String]
6570
6627
  #
6628
+ # @!attribute [rw] xks_proxy_vpc_endpoint_service_owner
6629
+ # Changes the Amazon Web Services account ID that KMS uses to identify
6630
+ # the Amazon VPC endpoint service for your external key store proxy
6631
+ # (XKS proxy). This parameter is optional. If not specified, the
6632
+ # current Amazon Web Services account ID for the VPC endpoint service
6633
+ # will not be updated.
6634
+ #
6635
+ # To change this value, the external key store must be disconnected.
6636
+ # @return [String]
6637
+ #
6571
6638
  # @!attribute [rw] xks_proxy_authentication_credential
6572
6639
  # Changes the credentials that KMS uses to sign requests to the
6573
6640
  # external key store proxy (XKS proxy). This parameter is valid only
@@ -6615,6 +6682,7 @@ module Aws::KMS
6615
6682
  :xks_proxy_uri_endpoint,
6616
6683
  :xks_proxy_uri_path,
6617
6684
  :xks_proxy_vpc_endpoint_service_name,
6685
+ :xks_proxy_vpc_endpoint_service_owner,
6618
6686
  :xks_proxy_authentication_credential,
6619
6687
  :xks_proxy_connectivity)
6620
6688
  SENSITIVE = [:key_store_password]
@@ -6844,6 +6912,13 @@ module Aws::KMS
6844
6912
  # value with an unhashed message, the security of the signing
6845
6913
  # operation can be compromised.
6846
6914
  #
6915
+ # When using ECC\_NIST\_EDWARDS25519 KMS keys:
6916
+ #
6917
+ # * ED25519\_SHA\_512 signing algorithm requires KMS `MessageType:RAW`
6918
+ #
6919
+ # * ED25519\_PH\_SHA\_512 signing algorithm requires KMS
6920
+ # `MessageType:DIGEST`
6921
+ #
6847
6922
  # When the value of `MessageType` is `DIGEST`, the length of the
6848
6923
  # `Message` value must match the length of hashed messages for the
6849
6924
  # specified signing algorithm.
@@ -7113,6 +7188,13 @@ module Aws::KMS
7113
7188
  # with KMS.
7114
7189
  # @return [String]
7115
7190
  #
7191
+ # @!attribute [rw] vpc_endpoint_service_owner
7192
+ # The Amazon Web Services account ID that owns the Amazon VPC endpoint
7193
+ # service used to communicate with the external key store proxy (XKS).
7194
+ # This field appears only when the XKS uses an VPC endpoint service to
7195
+ # communicate with KMS.
7196
+ # @return [String]
7197
+ #
7116
7198
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/XksProxyConfigurationType AWS API Documentation
7117
7199
  #
7118
7200
  class XksProxyConfigurationType < Struct.new(
@@ -7120,7 +7202,8 @@ module Aws::KMS
7120
7202
  :access_key_id,
7121
7203
  :uri_endpoint,
7122
7204
  :uri_path,
7123
- :vpc_endpoint_service_name)
7205
+ :vpc_endpoint_service_name,
7206
+ :vpc_endpoint_service_owner)
7124
7207
  SENSITIVE = [:access_key_id]
7125
7208
  include Aws::Structure
7126
7209
  end
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.117.0'
58
58
 
59
59
  end
60
60