@aws-sdk/client-kms 3.894.0 → 3.896.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.
@@ -82,12 +82,12 @@ declare const DecryptCommand_base: {
82
82
  * particular trusted accounts. For details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policies-best-practices">Best practices for IAM
83
83
  * policies</a> in the <i>Key Management Service Developer Guide</i>.</p>
84
84
  * <p>
85
- * <code>Decrypt</code> also supports <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html">Amazon Web Services Nitro Enclaves</a>, which provide an
86
- * isolated compute environment in Amazon EC2. To call <code>Decrypt</code> for a Nitro enclave, use
85
+ * <code>Decrypt</code> also supports <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html">Amazon Web Services Nitro Enclaves</a> and NitroTPM, which provide
86
+ * attested environments in Amazon EC2. To call <code>Decrypt</code> for a Nitro enclave or NitroTPM, use
87
87
  * the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK. Use the <code>Recipient</code> parameter to provide the
88
- * attestation document for the enclave. Instead of the plaintext data, the response includes the
89
- * plaintext data encrypted with the public key from the attestation document
90
- * (<code>CiphertextForRecipient</code>). For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
88
+ * attestation document for the attested environment. Instead of the plaintext data, the response
89
+ * includes the plaintext data encrypted with the public key from the attestation document
90
+ * (<code>CiphertextForRecipient</code>). For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html">Cryptographic attestation support in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
91
91
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
92
92
  * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
93
93
  * <p>
@@ -30,8 +30,8 @@ declare const DeriveSharedSecretCommand_base: {
30
30
  * <p>Derives a shared secret using a key agreement algorithm.</p>
31
31
  * <note>
32
32
  * <p>You must use an asymmetric NIST-recommended elliptic curve (ECC) or SM2 (China Regions
33
- * only) KMS key pair with a <code>KeyUsage</code> value of <code>KEY_AGREEMENT</code> to call
34
- * DeriveSharedSecret.</p>
33
+ * only) KMS key pair with a <code>KeyUsage</code>
34
+ * value of <code>KEY_AGREEMENT</code> to call DeriveSharedSecret.</p>
35
35
  * </note>
36
36
  * <p>DeriveSharedSecret uses the <a href="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf#page=60">Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive</a> (ECDH) to establish a
37
37
  * key agreement between two peers by deriving a shared secret from their elliptic curve
@@ -28,8 +28,8 @@ declare const DescribeKeyCommand_base: {
28
28
  };
29
29
  /**
30
30
  * <p>Provides detailed information about a KMS key. You can run <code>DescribeKey</code> on a
31
- * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key">customer managed
32
- * key</a> or an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key">Amazon Web Services managed key</a>.</p>
31
+ * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key">customer
32
+ * managed key</a> or an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key">Amazon Web Services managed key</a>.</p>
33
33
  * <p>This detailed information includes the key ARN, creation date (and deletion date, if
34
34
  * applicable), the key state, and the origin and expiration date (if any) of the key material.
35
35
  * It includes fields, like <code>KeySpec</code>, that help you distinguish different types of
@@ -53,12 +53,12 @@ declare const GenerateDataKeyCommand_base: {
53
53
  * <p>
54
54
  * <code>GenerateDataKey</code> also supports <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html">Amazon Web Services Nitro Enclaves</a>, which provide an
55
55
  * isolated compute environment in Amazon EC2. To call <code>GenerateDataKey</code> for an Amazon Web Services Nitro
56
- * enclave, use the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK. Use the <code>Recipient</code> parameter
57
- * to provide the attestation document for the enclave. <code>GenerateDataKey</code> returns a
56
+ * enclave or NitroTPM, use the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK. Use the <code>Recipient</code> parameter
57
+ * to provide the attestation document for the attested environment. <code>GenerateDataKey</code> returns a
58
58
  * copy of the data key encrypted under the specified KMS key, as usual. But instead of a
59
59
  * plaintext copy of the data key, the response includes a copy of the data key encrypted under
60
60
  * the public key from the attestation document (<code>CiphertextForRecipient</code>).
61
- * For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>..</p>
61
+ * For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html">Cryptographic attestation support in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
62
62
  * <p>The KMS key that you use for this operation must be in a compatible key state. For
63
63
  * details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
64
64
  * <p>
@@ -60,13 +60,13 @@ declare const GenerateDataKeyPairCommand_base: {
60
60
  * <p>
61
61
  * <code>GenerateDataKeyPair</code> also supports <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html">Amazon Web Services Nitro Enclaves</a>, which provide an
62
62
  * isolated compute environment in Amazon EC2. To call <code>GenerateDataKeyPair</code> for an Amazon Web Services
63
- * Nitro enclave, use the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK. Use the <code>Recipient</code>
64
- * parameter to provide the attestation document for the enclave.
63
+ * Nitro enclave or NitroTPM, use the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK. Use the <code>Recipient</code>
64
+ * parameter to provide the attestation document for the attested environment.
65
65
  * <code>GenerateDataKeyPair</code> returns the public data key and a copy of the private data
66
66
  * key encrypted under the specified KMS key, as usual. But instead of a plaintext copy of the
67
67
  * private data key (<code>PrivateKeyPlaintext</code>), the response includes a copy of the
68
68
  * private data key encrypted under the public key from the attestation document
69
- * (<code>CiphertextForRecipient</code>). For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>..</p>
69
+ * (<code>CiphertextForRecipient</code>). For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html">Cryptographic attestation support in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
70
70
  * <p>You can use an optional encryption context to add additional security to the encryption
71
71
  * operation. If you specify an <code>EncryptionContext</code>, you must specify the same
72
72
  * encryption context (a case-sensitive exact match) when decrypting the encrypted data key.
@@ -36,10 +36,10 @@ declare const GenerateRandomCommand_base: {
36
36
  * <p>
37
37
  * <code>GenerateRandom</code> also supports <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html">Amazon Web Services Nitro Enclaves</a>, which provide an
38
38
  * isolated compute environment in Amazon EC2. To call <code>GenerateRandom</code> for a Nitro
39
- * enclave, use the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK. Use the <code>Recipient</code> parameter
40
- * to provide the attestation document for the enclave. Instead of plaintext bytes, the response
39
+ * enclave or NitroTPM, use the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK. Use the <code>Recipient</code> parameter
40
+ * to provide the attestation document for the attested environment. Instead of plaintext bytes, the response
41
41
  * includes the plaintext bytes encrypted under the public key from the attestation document
42
- * (<code>CiphertextForRecipient</code>).For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
42
+ * (<code>CiphertextForRecipient</code>). For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html">Cryptographic attestation support in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
43
43
  * <p>For more information about entropy and random number generation, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#entropy-and-random-numbers">Entropy and random number generation</a> in the <i>Key Management Service Developer Guide</i>.</p>
44
44
  * <p>
45
45
  * <b>Cross-account use</b>: Not applicable.
@@ -34,9 +34,8 @@ declare const TagResourceCommand_base: {
34
34
  * <p>Each tag consists of a tag key and a tag value, both of which are case-sensitive strings.
35
35
  * The tag value can be an empty (null) string. To add a tag, specify a new tag key and a tag
36
36
  * value. To edit a tag, specify an existing tag key and a new tag value.</p>
37
- * <p>You can use this operation to tag a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key">customer managed key</a>, but you cannot
38
- * tag an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key">Amazon Web Services
39
- * managed key</a>, an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-key">Amazon Web Services owned key</a>, a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html">custom key store</a>,
37
+ * <p>You can use this operation to tag a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key">customer managed key</a>, but you
38
+ * cannot tag an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key">Amazon Web Services managed key</a>, an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-key">Amazon Web Services owned key</a>, a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html">custom key store</a>,
40
39
  * or an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html">alias</a>.</p>
41
40
  * <p>You can also add tags to a KMS key while creating it (<a>CreateKey</a>) or
42
41
  * replicating it (<a>ReplicateKey</a>).</p>
@@ -27,8 +27,8 @@ declare const UntagResourceCommand_base: {
27
27
  getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
28
  };
29
29
  /**
30
- * <p>Deletes tags from a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key">customer managed key</a>. To delete a tag,
31
- * specify the tag key and the KMS key.</p>
30
+ * <p>Deletes tags from a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key">customer managed key</a>. To delete a
31
+ * tag, specify the tag key and the KMS key.</p>
32
32
  * <note>
33
33
  * <p>Tagging or untagging a KMS key can allow or deny permission to the KMS key. For details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/abac.html">ABAC for KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
34
34
  * </note>
@@ -432,8 +432,8 @@ export interface CreateAliasRequest {
432
432
  */
433
433
  AliasName: string | undefined;
434
434
  /**
435
- * <p>Associates the alias with the specified <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key">customer managed key</a>. The KMS key must
436
- * be in the same Amazon Web Services Region. </p>
435
+ * <p>Associates the alias with the specified <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key">customer managed key</a>. The KMS key
436
+ * must be in the same Amazon Web Services Region. </p>
437
437
  * <p>A valid key ID is required. If you supply a null or empty string value, this operation
438
438
  * returns an error.</p>
439
439
  * <p>For help finding the key ID and ARN, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html">Find the key ID and key ARN</a> in
@@ -1273,8 +1273,11 @@ export interface CreateKeyRequest {
1273
1273
  /**
1274
1274
  * <p>Determines the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations">cryptographic operations</a> for which you can use the KMS key. The default value is
1275
1275
  * <code>ENCRYPT_DECRYPT</code>. This parameter is optional when you are creating a symmetric
1276
- * encryption KMS key; otherwise, it is required. You can't change the <code>KeyUsage</code>
1277
- * value after the KMS key is created.</p>
1276
+ * encryption KMS key; otherwise, it is required. You can't change the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#key-usage">
1277
+ * <code>KeyUsage</code>
1278
+ * </a> value after the KMS key is created. Each KMS key can have
1279
+ * only one key usage. This follows key usage best practices according to <a href="https://csrc.nist.gov/pubs/sp/800/57/pt1/r5/final">NIST SP 800-57 Recommendations for
1280
+ * Key Management</a>, section 5.2, Key usage.</p>
1278
1281
  * <p>Select only one valid value.</p>
1279
1282
  * <ul>
1280
1283
  * <li>
@@ -2423,20 +2426,20 @@ export type KeyEncryptionMechanism = (typeof KeyEncryptionMechanism)[keyof typeo
2423
2426
  /**
2424
2427
  * <p>Contains information about the party that receives the response from the API
2425
2428
  * operation.</p>
2426
- * <p>This data type is designed to support Amazon Web Services Nitro Enclaves, which lets you create an isolated
2427
- * compute environment in Amazon EC2. For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
2429
+ * <p>This data type is designed to support Amazon Web Services Nitro Enclaves and Amazon Web Services NitroTPM, which lets you create an attested
2430
+ * environment in Amazon EC2. For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html">Cryptographic attestation support in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
2428
2431
  * @public
2429
2432
  */
2430
2433
  export interface RecipientInfo {
2431
2434
  /**
2432
2435
  * <p>The encryption algorithm that KMS should use with the public key for an Amazon Web Services Nitro
2433
- * Enclave to encrypt plaintext values for the response. The only valid value is
2436
+ * Enclave or NitroTPM to encrypt plaintext values for the response. The only valid value is
2434
2437
  * <code>RSAES_OAEP_SHA_256</code>.</p>
2435
2438
  * @public
2436
2439
  */
2437
2440
  KeyEncryptionAlgorithm?: KeyEncryptionMechanism | undefined;
2438
2441
  /**
2439
- * <p>The attestation document for an Amazon Web Services Nitro Enclave. This document includes the enclave's
2442
+ * <p>The attestation document for an Amazon Web Services Nitro Enclave or a NitroTPM. This document includes the enclave's
2440
2443
  * public key.</p>
2441
2444
  * @public
2442
2445
  */
@@ -2514,16 +2517,17 @@ export interface DecryptRequest {
2514
2517
  EncryptionAlgorithm?: EncryptionAlgorithmSpec | undefined;
2515
2518
  /**
2516
2519
  * <p>A signed <a href="https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-concepts.html#term-attestdoc">attestation
2517
- * document</a> from an Amazon Web Services Nitro enclave and the encryption algorithm to use with the
2518
- * enclave's public key. The only valid encryption algorithm is <code>RSAES_OAEP_SHA_256</code>. </p>
2519
- * <p>This parameter only supports attestation documents for Amazon Web Services Nitro Enclaves. To include this
2520
- * parameter, use the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK.</p>
2520
+ * document</a> from an Amazon Web Services Nitro enclave or NitroTPM, and the encryption algorithm to use with the
2521
+ * public key in the attestation document. The only valid encryption algorithm is <code>RSAES_OAEP_SHA_256</code>. </p>
2522
+ * <p>This parameter supports the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK for Amazon Web Services Nitro Enclaves. It supports
2523
+ * any Amazon Web Services SDK for Amazon Web Services NitroTPM.
2524
+ * </p>
2521
2525
  * <p>When you use this parameter, instead of returning the plaintext data, KMS encrypts the
2522
2526
  * plaintext data with the public key in the attestation document, and returns the resulting
2523
2527
  * ciphertext in the <code>CiphertextForRecipient</code> field in the response. This ciphertext
2524
- * can be decrypted only with the private key in the enclave. The <code>Plaintext</code> field in
2528
+ * can be decrypted only with the private key in the attested environment. The <code>Plaintext</code> field in
2525
2529
  * the response is null or empty.</p>
2526
- * <p>For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
2530
+ * <p>For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html">Cryptographic attestation support in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
2527
2531
  * @public
2528
2532
  */
2529
2533
  Recipient?: RecipientInfo | undefined;
@@ -2556,10 +2560,11 @@ export interface DecryptResponse {
2556
2560
  */
2557
2561
  EncryptionAlgorithm?: EncryptionAlgorithmSpec | undefined;
2558
2562
  /**
2559
- * <p>The plaintext data encrypted with the public key in the attestation document. </p>
2563
+ * <p>The plaintext data encrypted with the public key from the attestation document. This
2564
+ * ciphertext can be decrypted only by using a private key from the attested environment. </p>
2560
2565
  * <p>This field is included in the response only when the <code>Recipient</code> parameter in
2561
- * the request includes a valid attestation document from an Amazon Web Services Nitro enclave.
2562
- * For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
2566
+ * the request includes a valid attestation document from an Amazon Web Services Nitro enclave or NitroTPM.
2567
+ * For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html">Cryptographic attestation support in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
2563
2568
  * @public
2564
2569
  */
2565
2570
  CiphertextForRecipient?: Uint8Array | undefined;
@@ -2793,21 +2798,21 @@ export interface DeriveSharedSecretRequest {
2793
2798
  DryRun?: boolean | undefined;
2794
2799
  /**
2795
2800
  * <p>A signed <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc">attestation document</a> from
2796
- * an Amazon Web Services Nitro enclave and the encryption algorithm to use with the enclave's public key. The
2801
+ * an Amazon Web Services Nitro enclave or NitroTPM, and the encryption algorithm to use with the public key in the attestation document. The
2797
2802
  * only valid encryption algorithm is <code>RSAES_OAEP_SHA_256</code>. </p>
2798
- * <p>This parameter only supports attestation documents for Amazon Web Services Nitro Enclaves. To call
2799
- * DeriveSharedSecret for an Amazon Web Services Nitro Enclaves, use the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> to generate the
2800
- * attestation document and then use the Recipient parameter from any Amazon Web Services SDK to provide the
2801
- * attestation document for the enclave.</p>
2803
+ * <p>This parameter only supports attestation documents for Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
2804
+ * DeriveSharedSecret generate an attestation document use either <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> for an Amazon Web Services Nitro Enclaves or
2805
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html">Amazon Web Services NitroTPM tools</a> for Amazon Web Services NitroTPM. Then use the Recipient parameter from any Amazon Web Services SDK to provide the
2806
+ * attestation document for the attested environment.</p>
2802
2807
  * <p>When you use this parameter, instead of returning a plaintext copy of the shared secret,
2803
2808
  * KMS encrypts the plaintext shared secret under the public key in the attestation document,
2804
2809
  * and returns the resulting ciphertext in the <code>CiphertextForRecipient</code> field in the
2805
- * response. This ciphertext can be decrypted only with the private key in the enclave. The
2810
+ * response. This ciphertext can be decrypted only with the private key in the attested environment. The
2806
2811
  * <code>CiphertextBlob</code> field in the response contains the encrypted shared secret
2807
2812
  * derived from the KMS key specified by the <code>KeyId</code> parameter and public key
2808
2813
  * specified by the <code>PublicKey</code> parameter. The <code>SharedSecret</code> field in the
2809
2814
  * response is null or empty.</p>
2810
- * <p>For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
2815
+ * <p>For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html">Cryptographic attestation support in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
2811
2816
  * @public
2812
2817
  */
2813
2818
  Recipient?: RecipientInfo | undefined;
@@ -2830,11 +2835,11 @@ export interface DeriveSharedSecretResponse {
2830
2835
  */
2831
2836
  SharedSecret?: Uint8Array | undefined;
2832
2837
  /**
2833
- * <p>The plaintext shared secret encrypted with the public key in the attestation
2834
- * document.</p>
2838
+ * <p>The plaintext shared secret encrypted with the public key from the attestation document. This
2839
+ * ciphertext can be decrypted only by using a private key from the attested environment. </p>
2835
2840
  * <p>This field is included in the response only when the <code>Recipient</code> parameter in
2836
- * the request includes a valid attestation document from an Amazon Web Services Nitro enclave.
2837
- * For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
2841
+ * the request includes a valid attestation document from an Amazon Web Services Nitro enclave or NitroTPM.
2842
+ * For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html">Cryptographic attestation support in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
2838
2843
  * @public
2839
2844
  */
2840
2845
  CiphertextForRecipient?: Uint8Array | undefined;
@@ -2938,8 +2943,8 @@ export interface DescribeKeyRequest {
2938
2943
  /**
2939
2944
  * <p>Describes the specified KMS key. </p>
2940
2945
  * <p>If you specify a predefined Amazon Web Services alias (an Amazon Web Services alias with no key ID), KMS associates
2941
- * the alias with an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key">Amazon Web Services managed key</a> and returns its
2942
- * <code>KeyId</code> and <code>Arn</code> in the response.</p>
2946
+ * the alias with an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key">Amazon Web Services managed key</a> and returns its <code>KeyId</code> and <code>Arn</code> in the
2947
+ * response.</p>
2943
2948
  * <p>To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with <code>"alias/"</code>. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.</p>
2944
2949
  * <p>For example:</p>
2945
2950
  * <ul>
@@ -3285,10 +3290,11 @@ export interface GenerateDataKeyRequest {
3285
3290
  GrantTokens?: string[] | undefined;
3286
3291
  /**
3287
3292
  * <p>A signed <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc">attestation document</a> from
3288
- * an Amazon Web Services Nitro enclave and the encryption algorithm to use with the enclave's public key. The
3293
+ * an Amazon Web Services Nitro enclave or NitroTPM, and the encryption algorithm to use with the public key in the attestation document. The
3289
3294
  * only valid encryption algorithm is <code>RSAES_OAEP_SHA_256</code>. </p>
3290
- * <p>This parameter only supports attestation documents for Amazon Web Services Nitro Enclaves. To include this
3291
- * parameter, use the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK.</p>
3295
+ * <p>This parameter supports the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK for Amazon Web Services Nitro Enclaves. It supports
3296
+ * any Amazon Web Services SDK for Amazon Web Services NitroTPM.
3297
+ * </p>
3292
3298
  * <p>When you use this parameter, instead of returning the plaintext data key, KMS encrypts
3293
3299
  * the plaintext data key under the public key in the attestation document, and returns the
3294
3300
  * resulting ciphertext in the <code>CiphertextForRecipient</code> field in the response. This
@@ -3296,7 +3302,7 @@ export interface GenerateDataKeyRequest {
3296
3302
  * <code>CiphertextBlob</code> field in the response contains a copy of the data key encrypted
3297
3303
  * under the KMS key specified by the <code>KeyId</code> parameter. The <code>Plaintext</code>
3298
3304
  * field in the response is null or empty.</p>
3299
- * <p>For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
3305
+ * <p>For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html">Cryptographic attestation support in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
3300
3306
  * @public
3301
3307
  */
3302
3308
  Recipient?: RecipientInfo | undefined;
@@ -3330,11 +3336,11 @@ export interface GenerateDataKeyResponse {
3330
3336
  */
3331
3337
  KeyId?: string | undefined;
3332
3338
  /**
3333
- * <p>The plaintext data key encrypted with the public key from the Nitro enclave. This
3334
- * ciphertext can be decrypted only by using a private key in the Nitro enclave. </p>
3339
+ * <p>The plaintext data key encrypted with the public key from the attestation document. This
3340
+ * ciphertext can be decrypted only by using a private key from the attested environment. </p>
3335
3341
  * <p>This field is included in the response only when the <code>Recipient</code> parameter in
3336
- * the request includes a valid attestation document from an Amazon Web Services Nitro enclave.
3337
- * For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
3342
+ * the request includes a valid attestation document from an Amazon Web Services Nitro enclave or NitroTPM.
3343
+ * For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html">Cryptographic attestation support in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
3338
3344
  * @public
3339
3345
  */
3340
3346
  CiphertextForRecipient?: Uint8Array | undefined;
@@ -3406,20 +3412,20 @@ export interface GenerateDataKeyPairRequest {
3406
3412
  GrantTokens?: string[] | undefined;
3407
3413
  /**
3408
3414
  * <p>A signed <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc">attestation document</a> from
3409
- * an Amazon Web Services Nitro enclave and the encryption algorithm to use with the enclave's public key. The
3415
+ * an Amazon Web Services Nitro enclave or NitroTPM, and the encryption algorithm to use with the public key in the attestation document. The
3410
3416
  * only valid encryption algorithm is <code>RSAES_OAEP_SHA_256</code>. </p>
3411
- * <p>This parameter only supports attestation documents for Amazon Web Services Nitro Enclaves. To call
3412
- * DeriveSharedSecret for an Amazon Web Services Nitro Enclaves, use the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> to generate the
3413
- * attestation document and then use the Recipient parameter from any Amazon Web Services SDK to provide the
3414
- * attestation document for the enclave.</p>
3417
+ * <p>This parameter only supports attestation documents for Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
3418
+ * GenerateDataKeyPair generate an attestation document use either <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> for an Amazon Web Services Nitro Enclaves or
3419
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html">Amazon Web Services NitroTPM tools</a> for Amazon Web Services NitroTPM. Then use the Recipient parameter from any Amazon Web Services SDK to provide the
3420
+ * attestation document for the attested environment.</p>
3415
3421
  * <p>When you use this parameter, instead of returning a plaintext copy of the private data
3416
3422
  * key, KMS encrypts the plaintext private data key under the public key in the attestation
3417
3423
  * document, and returns the resulting ciphertext in the <code>CiphertextForRecipient</code>
3418
3424
  * field in the response. This ciphertext can be decrypted only with the private key in the
3419
- * enclave. The <code>CiphertextBlob</code> field in the response contains a copy of the private
3425
+ * attested environment. The <code>CiphertextBlob</code> field in the response contains a copy of the private
3420
3426
  * data key encrypted under the KMS key specified by the <code>KeyId</code> parameter. The
3421
3427
  * <code>PrivateKeyPlaintext</code> field in the response is null or empty.</p>
3422
- * <p>For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
3428
+ * <p>For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html">Cryptographic attestation support in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
3423
3429
  * @public
3424
3430
  */
3425
3431
  Recipient?: RecipientInfo | undefined;
@@ -3462,11 +3468,11 @@ export interface GenerateDataKeyPairResponse {
3462
3468
  */
3463
3469
  KeyPairSpec?: DataKeyPairSpec | undefined;
3464
3470
  /**
3465
- * <p>The plaintext private data key encrypted with the public key from the Nitro enclave. This
3466
- * ciphertext can be decrypted only by using a private key in the Nitro enclave. </p>
3471
+ * <p>The plaintext private data key encrypted with the public key from the attestation document. This
3472
+ * ciphertext can be decrypted only by using a private key from the attested environment. </p>
3467
3473
  * <p>This field is included in the response only when the <code>Recipient</code> parameter in
3468
- * the request includes a valid attestation document from an Amazon Web Services Nitro enclave.
3469
- * For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
3474
+ * the request includes a valid attestation document from an Amazon Web Services Nitro enclave or NitroTPM.
3475
+ * For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html">Cryptographic attestation support in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
3470
3476
  * @public
3471
3477
  */
3472
3478
  CiphertextForRecipient?: Uint8Array | undefined;
@@ -3749,16 +3755,17 @@ export interface GenerateRandomRequest {
3749
3755
  CustomKeyStoreId?: string | undefined;
3750
3756
  /**
3751
3757
  * <p>A signed <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc">attestation document</a> from
3752
- * an Amazon Web Services Nitro enclave and the encryption algorithm to use with the enclave's public key. The
3758
+ * an Amazon Web Services Nitro enclave or NitroTPM, and the encryption algorithm to use with the public key in the attestation document. The
3753
3759
  * only valid encryption algorithm is <code>RSAES_OAEP_SHA_256</code>. </p>
3754
- * <p>This parameter only supports attestation documents for Amazon Web Services Nitro Enclaves. To include this
3755
- * parameter, use the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK.</p>
3760
+ * <p>This parameter supports the <a href="https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk">Amazon Web Services Nitro Enclaves SDK</a> or any Amazon Web Services SDK for Amazon Web Services Nitro Enclaves. It supports
3761
+ * any Amazon Web Services SDK for Amazon Web Services NitroTPM.
3762
+ * </p>
3756
3763
  * <p>When you use this parameter, instead of returning plaintext bytes, KMS encrypts the
3757
3764
  * plaintext bytes under the public key in the attestation document, and returns the resulting
3758
3765
  * ciphertext in the <code>CiphertextForRecipient</code> field in the response. This ciphertext
3759
- * can be decrypted only with the private key in the enclave. The <code>Plaintext</code> field in
3766
+ * can be decrypted only with the private key in the attested environment. The <code>Plaintext</code> field in
3760
3767
  * the response is null or empty.</p>
3761
- * <p>For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
3768
+ * <p>For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html">Cryptographic attestation support in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
3762
3769
  * @public
3763
3770
  */
3764
3771
  Recipient?: RecipientInfo | undefined;
@@ -3775,11 +3782,11 @@ export interface GenerateRandomResponse {
3775
3782
  */
3776
3783
  Plaintext?: Uint8Array | undefined;
3777
3784
  /**
3778
- * <p>The plaintext random bytes encrypted with the public key from the Nitro enclave. This
3779
- * ciphertext can be decrypted only by using a private key in the Nitro enclave. </p>
3785
+ * <p>The plaintext random bytes encrypted with the public key from the attestation document. This
3786
+ * ciphertext can be decrypted only by using a private key from the attested environment. </p>
3780
3787
  * <p>This field is included in the response only when the <code>Recipient</code> parameter in
3781
- * the request includes a valid attestation document from an Amazon Web Services Nitro enclave.
3782
- * For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves uses KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
3788
+ * the request includes a valid attestation document from an Amazon Web Services Nitro enclave or NitroTPM.
3789
+ * For information about the interaction between KMS and Amazon Web Services Nitro Enclaves or Amazon Web Services NitroTPM, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html">Cryptographic attestation support in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
3783
3790
  * @public
3784
3791
  */
3785
3792
  CiphertextForRecipient?: Uint8Array | undefined;
@@ -5787,8 +5794,9 @@ export interface UpdateAliasRequest {
5787
5794
  */
5788
5795
  AliasName: string | undefined;
5789
5796
  /**
5790
- * <p>Identifies the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key">customer managed key</a> to associate with the alias. You don't have permission to
5791
- * associate an alias with an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key">Amazon Web Services managed key</a>.</p>
5797
+ * <p>Identifies the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key">customer managed key</a> to associate
5798
+ * with the alias. You don't have permission to associate an alias with an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key">Amazon Web Services managed
5799
+ * key</a>.</p>
5792
5800
  * <p>The KMS key must be in the same Amazon Web Services account and Region as the alias. Also, the new
5793
5801
  * target KMS key must be the same type as the current target KMS key (both symmetric or both
5794
5802
  * asymmetric or both HMAC) and they must have the same key usage. </p>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-kms",
3
3
  "description": "AWS SDK for JavaScript Kms Client for Node.js, Browser and React Native",
4
- "version": "3.894.0",
4
+ "version": "3.896.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-kms",
@@ -20,38 +20,38 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/core": "3.894.0",
24
- "@aws-sdk/credential-provider-node": "3.894.0",
23
+ "@aws-sdk/core": "3.896.0",
24
+ "@aws-sdk/credential-provider-node": "3.896.0",
25
25
  "@aws-sdk/middleware-host-header": "3.893.0",
26
26
  "@aws-sdk/middleware-logger": "3.893.0",
27
27
  "@aws-sdk/middleware-recursion-detection": "3.893.0",
28
- "@aws-sdk/middleware-user-agent": "3.894.0",
28
+ "@aws-sdk/middleware-user-agent": "3.896.0",
29
29
  "@aws-sdk/region-config-resolver": "3.893.0",
30
30
  "@aws-sdk/types": "3.893.0",
31
- "@aws-sdk/util-endpoints": "3.893.0",
31
+ "@aws-sdk/util-endpoints": "3.895.0",
32
32
  "@aws-sdk/util-user-agent-browser": "3.893.0",
33
- "@aws-sdk/util-user-agent-node": "3.894.0",
33
+ "@aws-sdk/util-user-agent-node": "3.896.0",
34
34
  "@smithy/config-resolver": "^4.2.2",
35
- "@smithy/core": "^3.11.1",
35
+ "@smithy/core": "^3.12.0",
36
36
  "@smithy/fetch-http-handler": "^5.2.1",
37
37
  "@smithy/hash-node": "^4.1.1",
38
38
  "@smithy/invalid-dependency": "^4.1.1",
39
39
  "@smithy/middleware-content-length": "^4.1.1",
40
- "@smithy/middleware-endpoint": "^4.2.3",
41
- "@smithy/middleware-retry": "^4.2.4",
40
+ "@smithy/middleware-endpoint": "^4.2.4",
41
+ "@smithy/middleware-retry": "^4.3.0",
42
42
  "@smithy/middleware-serde": "^4.1.1",
43
43
  "@smithy/middleware-stack": "^4.1.1",
44
44
  "@smithy/node-config-provider": "^4.2.2",
45
45
  "@smithy/node-http-handler": "^4.2.1",
46
46
  "@smithy/protocol-http": "^5.2.1",
47
- "@smithy/smithy-client": "^4.6.3",
47
+ "@smithy/smithy-client": "^4.6.4",
48
48
  "@smithy/types": "^4.5.0",
49
49
  "@smithy/url-parser": "^4.1.1",
50
50
  "@smithy/util-base64": "^4.1.0",
51
51
  "@smithy/util-body-length-browser": "^4.1.0",
52
52
  "@smithy/util-body-length-node": "^4.1.0",
53
- "@smithy/util-defaults-mode-browser": "^4.1.3",
54
- "@smithy/util-defaults-mode-node": "^4.1.3",
53
+ "@smithy/util-defaults-mode-browser": "^4.1.4",
54
+ "@smithy/util-defaults-mode-node": "^4.1.4",
55
55
  "@smithy/util-endpoints": "^3.1.2",
56
56
  "@smithy/util-middleware": "^4.1.1",
57
57
  "@smithy/util-retry": "^4.1.2",