@aws-sdk/client-kms 3.72.0 → 3.75.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.
- package/CHANGELOG.md +27 -0
- package/README.md +4 -1
- package/dist-cjs/KMS.js +30 -0
- package/dist-cjs/commands/GenerateMacCommand.js +36 -0
- package/dist-cjs/commands/VerifyMacCommand.js +36 -0
- package/dist-cjs/commands/index.js +2 -0
- package/dist-cjs/models/models_0.js +60 -3
- package/dist-cjs/protocols/Aws_json1_1.js +194 -2
- package/dist-es/KMS.js +30 -0
- package/dist-es/commands/GenerateMacCommand.js +39 -0
- package/dist-es/commands/VerifyMacCommand.js +39 -0
- package/dist-es/commands/index.js +2 -0
- package/dist-es/models/models_0.js +46 -0
- package/dist-es/protocols/Aws_json1_1.js +225 -1
- package/dist-types/KMS.d.ts +256 -219
- package/dist-types/KMSClient.d.ts +8 -3
- package/dist-types/commands/CancelKeyDeletionCommand.d.ts +1 -1
- package/dist-types/commands/CreateAliasCommand.d.ts +2 -2
- package/dist-types/commands/CreateGrantCommand.d.ts +2 -2
- package/dist-types/commands/CreateKeyCommand.d.ts +44 -40
- package/dist-types/commands/DecryptCommand.d.ts +7 -7
- package/dist-types/commands/DeleteAliasCommand.d.ts +1 -1
- package/dist-types/commands/DeleteImportedKeyMaterialCommand.d.ts +1 -1
- package/dist-types/commands/DescribeKeyCommand.d.ts +6 -8
- package/dist-types/commands/DisableKeyCommand.d.ts +2 -3
- package/dist-types/commands/DisableKeyRotationCommand.d.ts +3 -3
- package/dist-types/commands/EnableKeyCommand.d.ts +1 -1
- package/dist-types/commands/EnableKeyRotationCommand.d.ts +3 -3
- package/dist-types/commands/EncryptCommand.d.ts +8 -26
- package/dist-types/commands/GenerateDataKeyCommand.d.ts +13 -15
- package/dist-types/commands/GenerateDataKeyPairCommand.d.ts +12 -11
- package/dist-types/commands/GenerateDataKeyPairWithoutPlaintextCommand.d.ts +10 -11
- package/dist-types/commands/GenerateDataKeyWithoutPlaintextCommand.d.ts +21 -24
- package/dist-types/commands/GenerateMacCommand.d.ts +55 -0
- package/dist-types/commands/GetKeyRotationStatusCommand.d.ts +2 -2
- package/dist-types/commands/GetParametersForImportCommand.d.ts +7 -7
- package/dist-types/commands/GetPublicKeyCommand.d.ts +2 -2
- package/dist-types/commands/ImportKeyMaterialCommand.d.ts +8 -8
- package/dist-types/commands/ListGrantsCommand.d.ts +1 -1
- package/dist-types/commands/ListRetirableGrantsCommand.d.ts +1 -1
- package/dist-types/commands/ReEncryptCommand.d.ts +8 -9
- package/dist-types/commands/ReplicateKeyCommand.d.ts +8 -4
- package/dist-types/commands/RetireGrantCommand.d.ts +4 -5
- package/dist-types/commands/RevokeGrantCommand.d.ts +1 -1
- package/dist-types/commands/ScheduleKeyDeletionCommand.d.ts +1 -1
- package/dist-types/commands/SignCommand.d.ts +3 -3
- package/dist-types/commands/TagResourceCommand.d.ts +2 -2
- package/dist-types/commands/UntagResourceCommand.d.ts +2 -2
- package/dist-types/commands/UpdateAliasCommand.d.ts +2 -2
- package/dist-types/commands/UpdateKeyDescriptionCommand.d.ts +1 -1
- package/dist-types/commands/UpdatePrimaryRegionCommand.d.ts +2 -3
- package/dist-types/commands/VerifyCommand.d.ts +2 -2
- package/dist-types/commands/VerifyMacCommand.d.ts +56 -0
- package/dist-types/commands/index.d.ts +2 -0
- package/dist-types/models/models_0.d.ts +323 -114
- package/dist-types/protocols/Aws_json1_1.d.ts +6 -0
- package/dist-types/ts3.4/KMS.d.ts +10 -0
- package/dist-types/ts3.4/KMSClient.d.ts +4 -2
- package/dist-types/ts3.4/commands/GenerateMacCommand.d.ts +17 -0
- package/dist-types/ts3.4/commands/VerifyMacCommand.d.ts +17 -0
- package/dist-types/ts3.4/commands/index.d.ts +2 -0
- package/dist-types/ts3.4/models/models_0.d.ts +81 -1
- package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +6 -0
- package/package.json +9 -9
package/dist-types/KMS.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ import { GenerateDataKeyCommandInput, GenerateDataKeyCommandOutput } from "./com
|
|
|
21
21
|
import { GenerateDataKeyPairCommandInput, GenerateDataKeyPairCommandOutput } from "./commands/GenerateDataKeyPairCommand";
|
|
22
22
|
import { GenerateDataKeyPairWithoutPlaintextCommandInput, GenerateDataKeyPairWithoutPlaintextCommandOutput } from "./commands/GenerateDataKeyPairWithoutPlaintextCommand";
|
|
23
23
|
import { GenerateDataKeyWithoutPlaintextCommandInput, GenerateDataKeyWithoutPlaintextCommandOutput } from "./commands/GenerateDataKeyWithoutPlaintextCommand";
|
|
24
|
+
import { GenerateMacCommandInput, GenerateMacCommandOutput } from "./commands/GenerateMacCommand";
|
|
24
25
|
import { GenerateRandomCommandInput, GenerateRandomCommandOutput } from "./commands/GenerateRandomCommand";
|
|
25
26
|
import { GetKeyPolicyCommandInput, GetKeyPolicyCommandOutput } from "./commands/GetKeyPolicyCommand";
|
|
26
27
|
import { GetKeyRotationStatusCommandInput, GetKeyRotationStatusCommandOutput } from "./commands/GetKeyRotationStatusCommand";
|
|
@@ -47,6 +48,7 @@ import { UpdateCustomKeyStoreCommandInput, UpdateCustomKeyStoreCommandOutput } f
|
|
|
47
48
|
import { UpdateKeyDescriptionCommandInput, UpdateKeyDescriptionCommandOutput } from "./commands/UpdateKeyDescriptionCommand";
|
|
48
49
|
import { UpdatePrimaryRegionCommandInput, UpdatePrimaryRegionCommandOutput } from "./commands/UpdatePrimaryRegionCommand";
|
|
49
50
|
import { VerifyCommandInput, VerifyCommandOutput } from "./commands/VerifyCommand";
|
|
51
|
+
import { VerifyMacCommandInput, VerifyMacCommandOutput } from "./commands/VerifyMacCommand";
|
|
50
52
|
import { KMSClient } from "./KMSClient";
|
|
51
53
|
/**
|
|
52
54
|
* <fullname>Key Management Service</fullname>
|
|
@@ -65,7 +67,10 @@ import { KMSClient } from "./KMSClient";
|
|
|
65
67
|
* download and install them, see <a href="http://aws.amazon.com/tools/">Tools for Amazon Web
|
|
66
68
|
* Services</a>.</p>
|
|
67
69
|
* </note>
|
|
68
|
-
* <p>We recommend that you use the Amazon Web Services SDKs to make programmatic API calls to KMS
|
|
70
|
+
* <p>We recommend that you use the Amazon Web Services SDKs to make programmatic API calls to KMS. </p>
|
|
71
|
+
* <p>If you need to use FIPS 140-2 validated cryptographic modules when communicating with
|
|
72
|
+
* Amazon Web Services, use the FIPS endpoint in your preferred Amazon Web Services Region. For more information about the
|
|
73
|
+
* available FIPS endpoints, see <a href="https://docs.aws.amazon.com/general/latest/gr/kms.html#kms_region">Service endpoints</a> in the Key Management Service topic of the <i>Amazon Web Services General Reference</i>.</p>
|
|
69
74
|
* <p>Clients must support TLS (Transport Layer Security) 1.0. We recommend TLS 1.2. Clients
|
|
70
75
|
* must also support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral
|
|
71
76
|
* Diffie-Hellman (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems
|
|
@@ -147,7 +152,7 @@ export declare class KMS extends KMSClient {
|
|
|
147
152
|
* <p>For more information about scheduling and canceling deletion of a KMS key, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html">Deleting KMS keys</a> in the
|
|
148
153
|
* <i>Key Management Service Developer Guide</i>.</p>
|
|
149
154
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
150
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
155
|
+
* 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>
|
|
151
156
|
* <p>
|
|
152
157
|
* <b>Cross-account
|
|
153
158
|
* use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
|
|
@@ -230,7 +235,7 @@ export declare class KMS extends KMSClient {
|
|
|
230
235
|
/**
|
|
231
236
|
* <p>Creates a friendly name for a KMS key. </p>
|
|
232
237
|
* <note>
|
|
233
|
-
* <p>Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/abac.html">
|
|
238
|
+
* <p>Adding, deleting, or updating an alias 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 in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
234
239
|
* </note>
|
|
235
240
|
* <p>You can use an alias to identify a KMS key in the KMS console, in the <a>DescribeKey</a> operation and in <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic operations</a>, such as <a>Encrypt</a> and
|
|
236
241
|
* <a>GenerateDataKey</a>. You can also change the KMS key that's associated with
|
|
@@ -245,7 +250,7 @@ export declare class KMS extends KMSClient {
|
|
|
245
250
|
* <p>This operation does not return a response. To get the alias that you created, use the
|
|
246
251
|
* <a>ListAliases</a> operation.</p>
|
|
247
252
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
248
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
253
|
+
* 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>
|
|
249
254
|
* <p>
|
|
250
255
|
* <b>Cross-account use</b>: No. You cannot perform this operation on an alias in a different Amazon Web Services account.</p>
|
|
251
256
|
*
|
|
@@ -352,7 +357,7 @@ export declare class KMS extends KMSClient {
|
|
|
352
357
|
* grants are considered along with key policies and IAM policies. Grants are often used for
|
|
353
358
|
* temporary permissions because you can create one, use its permissions, and delete it without
|
|
354
359
|
* changing your key policies or IAM policies. </p>
|
|
355
|
-
* <p>For detailed information about grants, including grant terminology, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/grants.html">
|
|
360
|
+
* <p>For detailed information about grants, including grant terminology, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/grants.html">Grants in KMS</a> in the
|
|
356
361
|
* <i>
|
|
357
362
|
* <i>Key Management Service Developer Guide</i>
|
|
358
363
|
* </i>. For examples of working with grants in several
|
|
@@ -377,7 +382,7 @@ export declare class KMS extends KMSClient {
|
|
|
377
382
|
* </li>
|
|
378
383
|
* </ul>
|
|
379
384
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
380
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
385
|
+
* 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>
|
|
381
386
|
* <p>
|
|
382
387
|
* <b>Cross-account use</b>: Yes.
|
|
383
388
|
* To perform this operation on a KMS key in a different Amazon Web Services account, specify the key
|
|
@@ -415,53 +420,53 @@ export declare class KMS extends KMSClient {
|
|
|
415
420
|
createGrant(args: CreateGrantCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CreateGrantCommandOutput) => void): void;
|
|
416
421
|
/**
|
|
417
422
|
* <p>Creates a unique customer managed <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms-keys">KMS key</a> in your Amazon Web Services account and
|
|
418
|
-
* Region
|
|
423
|
+
* Region. </p>
|
|
424
|
+
* <p>In addition to the required parameters, you can use the optional parameters to specify a key policy, description, tags, and other useful elements for any key type.</p>
|
|
419
425
|
* <note>
|
|
420
426
|
* <p>KMS is replacing the term <i>customer master key (CMK)</i> with <i>KMS key</i> and <i>KMS key</i>. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.</p>
|
|
421
427
|
* </note>
|
|
422
428
|
*
|
|
423
|
-
* <p>You can use the <code>CreateKey</code> operation to create symmetric or asymmetric KMS
|
|
424
|
-
* keys.</p>
|
|
425
|
-
* <ul>
|
|
426
|
-
* <li>
|
|
427
|
-
* <p>
|
|
428
|
-
* <b>Symmetric KMS keys</b> contain a 256-bit symmetric key
|
|
429
|
-
* that never leaves KMS unencrypted. To use the KMS key, you must call KMS. You can use
|
|
430
|
-
* a symmetric KMS key to encrypt and decrypt small amounts of data, but they are typically
|
|
431
|
-
* used to generate <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys">data keys</a> and <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-key-pairs">data keys pairs</a>. For details,
|
|
432
|
-
* see <a>GenerateDataKey</a> and <a>GenerateDataKeyPair</a>.</p>
|
|
433
|
-
* </li>
|
|
434
|
-
* <li>
|
|
435
|
-
* <p>
|
|
436
|
-
* <b>Asymmetric KMS keys</b> can contain an RSA key pair or an
|
|
437
|
-
* Elliptic Curve (ECC) key pair. The private key in an asymmetric KMS key never leaves KMS
|
|
438
|
-
* unencrypted. However, you can use the <a>GetPublicKey</a> operation to download
|
|
439
|
-
* the public key so it can be used outside of KMS. KMS keys with RSA key pairs can be used
|
|
440
|
-
* to encrypt or decrypt data or sign and verify messages (but not both). KMS keys with ECC
|
|
441
|
-
* key pairs can be used only to sign and verify messages.</p>
|
|
442
|
-
* </li>
|
|
443
|
-
* </ul>
|
|
444
|
-
* <p>For information about symmetric and asymmetric KMS keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using Symmetric and Asymmetric KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
445
|
-
*
|
|
446
429
|
*
|
|
447
430
|
* <p>To create different types of KMS keys, use the following guidance:</p>
|
|
448
431
|
*
|
|
449
432
|
* <dl>
|
|
433
|
+
* <dt>Symmetric encryption KMS key</dt>
|
|
434
|
+
* <dd>
|
|
435
|
+
* <p>To create a symmetric encryption KMS key, you aren't required to specify any parameters. The default value for
|
|
436
|
+
* <code>KeySpec</code>, <code>SYMMETRIC_DEFAULT</code>, and the default value for
|
|
437
|
+
* <code>KeyUsage</code>, <code>ENCRYPT_DECRYPT</code>, create a symmetric encryption KMS key.</p>
|
|
438
|
+
* <p>If you need a key for basic encryption and decryption or you
|
|
439
|
+
* are creating a KMS key to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key. The key material in a symmetric encryption key never leaves KMS unencrypted. You can use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but they are typically used to generate data keys and data keys pairs. For details, see <a>GenerateDataKey</a> and <a>GenerateDataKeyPair</a>.</p>
|
|
440
|
+
* <p> </p>
|
|
441
|
+
* </dd>
|
|
450
442
|
* <dt>Asymmetric KMS keys</dt>
|
|
451
443
|
* <dd>
|
|
452
444
|
* <p>To create an asymmetric KMS key, use the <code>KeySpec</code> parameter to specify
|
|
453
445
|
* the type of key material in the KMS key. Then, use the <code>KeyUsage</code> parameter
|
|
454
446
|
* to determine whether the KMS key will be used to encrypt and decrypt or sign and verify.
|
|
455
447
|
* You can't change these properties after the KMS key is created.</p>
|
|
448
|
+
* <p>Asymmetric KMS keys contain an RSA key pair or an Elliptic Curve (ECC) key pair. The private key in an asymmetric
|
|
449
|
+
* KMS key never leaves AWS KMS unencrypted. However, you can use the <a>GetPublicKey</a> operation to download the public key
|
|
450
|
+
* so it can be used outside of AWS KMS. KMS keys with RSA key pairs can be used to encrypt or decrypt data or sign and verify messages (but not both).
|
|
451
|
+
* KMS keys with ECC key pairs can be used only to sign and verify messages.
|
|
452
|
+
* For information about asymmetric KMS keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Asymmetric KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
456
453
|
* <p> </p>
|
|
457
454
|
* </dd>
|
|
458
|
-
* <dt>
|
|
455
|
+
* <dt>HMAC KMS key</dt>
|
|
459
456
|
* <dd>
|
|
460
|
-
* <p>
|
|
461
|
-
*
|
|
462
|
-
*
|
|
463
|
-
*
|
|
464
|
-
*
|
|
457
|
+
* <p>To create an HMAC KMS key, set the <code>KeySpec</code> parameter to a
|
|
458
|
+
* key spec value for HMAC KMS keys. Then set the <code>KeyUsage</code> parameter to
|
|
459
|
+
* <code>GENERATE_VERIFY_MAC</code>. You must set the key usage even though
|
|
460
|
+
* <code>GENERATE_VERIFY_MAC</code> is the only valid key usage value for HMAC KMS keys.
|
|
461
|
+
* You can't change these properties after the KMS key is created.</p>
|
|
462
|
+
* <p>HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use
|
|
463
|
+
* HMAC keys to generate (<a>GenerateMac</a>) and verify (<a>VerifyMac</a>) HMAC codes for messages up to 4096 bytes.</p>
|
|
464
|
+
* <p>HMAC KMS keys are not supported in all Amazon Web Services Regions. If you try to create an HMAC
|
|
465
|
+
* KMS key in an Amazon Web Services Region in which HMAC keys are not supported, the
|
|
466
|
+
* <code>CreateKey</code> operation returns an
|
|
467
|
+
* <code>UnsupportedOperationException</code>. For a list of Regions in which HMAC KMS keys
|
|
468
|
+
* are supported, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html">HMAC keys in
|
|
469
|
+
* KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
465
470
|
* <p> </p>
|
|
466
471
|
* </dd>
|
|
467
472
|
* <dt>Multi-Region primary keys</dt>
|
|
@@ -473,38 +478,42 @@ export declare class KMS extends KMSClient {
|
|
|
473
478
|
* and key material as a primary key, but in a different Amazon Web Services Region, use the <a>ReplicateKey</a> operation. To change a replica key to a primary key, and its
|
|
474
479
|
* primary key to a replica key, use the <a>UpdatePrimaryRegion</a>
|
|
475
480
|
* operation.</p>
|
|
481
|
+
* <p>You can create multi-Region KMS keys for all supported KMS key types: symmetric
|
|
482
|
+
* encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric
|
|
483
|
+
* signing KMS keys. You can also create multi-Region keys with imported key material.
|
|
484
|
+
* However, you can't create multi-Region keys in a custom key store.</p>
|
|
476
485
|
* <p>This operation supports <i>multi-Region keys</i>, an KMS feature that lets you create multiple
|
|
477
486
|
* interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key
|
|
478
487
|
* material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt
|
|
479
|
-
* it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html">
|
|
480
|
-
* <p>You can create symmetric and asymmetric multi-Region keys and multi-Region keys with
|
|
481
|
-
* imported key material. You cannot create multi-Region keys in a custom key store.</p>
|
|
488
|
+
* it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html">Multi-Region keys in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
482
489
|
* <p> </p>
|
|
483
490
|
* </dd>
|
|
484
491
|
* <dd>
|
|
485
|
-
* <p>To import your own key material, begin by creating a symmetric KMS key with no key
|
|
492
|
+
* <p>To import your own key material, begin by creating a symmetric encryption KMS key with no key
|
|
486
493
|
* material. To do this, use the <code>Origin</code> parameter of <code>CreateKey</code>
|
|
487
494
|
* with a value of <code>EXTERNAL</code>. Next, use <a>GetParametersForImport</a> operation to get a public key and import token, and use the public key to encrypt
|
|
488
495
|
* your key material. Then, use <a>ImportKeyMaterial</a> with your import token
|
|
489
496
|
* to import the key material. For step-by-step instructions, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">Importing Key Material</a> in the <i>
|
|
490
497
|
* <i>Key Management Service Developer Guide</i>
|
|
491
|
-
* </i
|
|
492
|
-
*
|
|
498
|
+
* </i>.</p>
|
|
499
|
+
* <p>This feature supports only symmetric encryption KMS keys, including multi-Region symmetric encryption KMS keys. You cannot import key
|
|
500
|
+
* material into any other type of KMS key.</p>
|
|
493
501
|
* <p>To create a multi-Region primary key with imported key material, use the
|
|
494
502
|
* <code>Origin</code> parameter of <code>CreateKey</code> with a value of
|
|
495
503
|
* <code>EXTERNAL</code> and the <code>MultiRegion</code> parameter with a value of
|
|
496
|
-
* <code>True</code>. To create replicas of the multi-Region primary key, use the <a>ReplicateKey</a> operation. For more information about multi-Region keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html">
|
|
504
|
+
* <code>True</code>. To create replicas of the multi-Region primary key, use the <a>ReplicateKey</a> operation. For more information about multi-Region keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html">Multi-Region keys in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
497
505
|
* <p> </p>
|
|
498
506
|
* </dd>
|
|
499
507
|
* <dt>Custom key store</dt>
|
|
500
508
|
* <dd>
|
|
501
|
-
* <p>To create a symmetric KMS key in a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>, use the
|
|
509
|
+
* <p>To create a symmetric encryption KMS key in a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>, use the
|
|
502
510
|
* <code>CustomKeyStoreId</code> parameter to specify the custom key store. You must also
|
|
503
511
|
* use the <code>Origin</code> parameter with a value of <code>AWS_CLOUDHSM</code>. The
|
|
504
512
|
* CloudHSM cluster that is associated with the custom key store must have at least two active
|
|
505
513
|
* HSMs in different Availability Zones in the Amazon Web Services Region. </p>
|
|
506
|
-
* <p>
|
|
507
|
-
*
|
|
514
|
+
* <p>Custom key stores support only symmetric encryption KMS keys. You cannot create an
|
|
515
|
+
* HMAC KMS key or an asymmetric KMS key in a custom key store. For information about
|
|
516
|
+
* custom key stores in KMS see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">Custom key stores in KMS</a> in
|
|
508
517
|
* the <i>
|
|
509
518
|
* <i>Key Management Service Developer Guide</i>
|
|
510
519
|
* </i>.</p>
|
|
@@ -573,15 +582,15 @@ export declare class KMS extends KMSClient {
|
|
|
573
582
|
* </p>
|
|
574
583
|
* </li>
|
|
575
584
|
* </ul>
|
|
576
|
-
* <p>You can use this operation to decrypt ciphertext that was encrypted under a symmetric or
|
|
577
|
-
* asymmetric KMS key. When the KMS key is asymmetric, you must specify the KMS key and the
|
|
578
|
-
* encryption algorithm that was used to encrypt the ciphertext. For information about
|
|
579
|
-
* <p>The Decrypt operation also decrypts ciphertext that was encrypted outside of KMS by the
|
|
580
|
-
* public key in an KMS asymmetric KMS key. However, it cannot decrypt ciphertext produced by
|
|
585
|
+
* <p>You can use this operation to decrypt ciphertext that was encrypted under a symmetric encryption KMS key or an
|
|
586
|
+
* asymmetric encryption KMS key. When the KMS key is asymmetric, you must specify the KMS key and the
|
|
587
|
+
* encryption algorithm that was used to encrypt the ciphertext. For information about asymmetric KMS keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Asymmetric KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
588
|
+
* <p>The <code>Decrypt</code> operation also decrypts ciphertext that was encrypted outside of KMS by the
|
|
589
|
+
* public key in an KMS asymmetric KMS key. However, it cannot decrypt symmetric ciphertext produced by
|
|
581
590
|
* other libraries, such as the <a href="https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/">Amazon Web Services
|
|
582
591
|
* Encryption SDK</a> or <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html">Amazon S3 client-side encryption</a>.
|
|
583
592
|
* These libraries return a ciphertext format that is incompatible with KMS.</p>
|
|
584
|
-
* <p>If the ciphertext was encrypted under a symmetric KMS key, the <code>KeyId</code>
|
|
593
|
+
* <p>If the ciphertext was encrypted under a symmetric encryption KMS key, the <code>KeyId</code>
|
|
585
594
|
* parameter is optional. KMS can get this information from metadata that it adds to the
|
|
586
595
|
* symmetric ciphertext blob. This feature adds durability to your implementation by ensuring
|
|
587
596
|
* that authorized users can decrypt ciphertext decades after it was encrypted, even if they've
|
|
@@ -600,7 +609,7 @@ export declare class KMS extends KMSClient {
|
|
|
600
609
|
* policies</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
601
610
|
* <p>Applications in Amazon Web Services Nitro Enclaves can call this operation by using the <a href="https://github.com/aws/aws-nitro-enclaves-sdk-c">Amazon Web Services Nitro Enclaves Development Kit</a>. For information about the supporting parameters, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves use KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
602
611
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
603
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
612
|
+
* 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>
|
|
604
613
|
* <p>
|
|
605
614
|
* <b>Cross-account
|
|
606
615
|
* use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
|
|
@@ -640,7 +649,7 @@ export declare class KMS extends KMSClient {
|
|
|
640
649
|
/**
|
|
641
650
|
* <p>Deletes the specified alias. </p>
|
|
642
651
|
* <note>
|
|
643
|
-
* <p>Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/abac.html">
|
|
652
|
+
* <p>Adding, deleting, or updating an alias 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 in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
644
653
|
* </note>
|
|
645
654
|
* <p>Because an alias is not a property of a KMS key, you can delete and change the aliases of
|
|
646
655
|
* a KMS key without affecting the KMS key. Also, aliases do not appear in the response from the
|
|
@@ -760,7 +769,7 @@ export declare class KMS extends KMSClient {
|
|
|
760
769
|
* <p>After you delete key material, you can use <a>ImportKeyMaterial</a> to reimport
|
|
761
770
|
* the same key material into the KMS key.</p>
|
|
762
771
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
763
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
772
|
+
* 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>
|
|
764
773
|
* <p>
|
|
765
774
|
* <b>Cross-account use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
|
|
766
775
|
*
|
|
@@ -850,10 +859,7 @@ export declare class KMS extends KMSClient {
|
|
|
850
859
|
* key</a> or an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a>.</p>
|
|
851
860
|
* <p>This detailed information includes the key ARN, creation date (and deletion date, if
|
|
852
861
|
* applicable), the key state, and the origin and expiration date (if any) of the key material.
|
|
853
|
-
* It includes fields, like <code>KeySpec</code>, that help you distinguish
|
|
854
|
-
* asymmetric KMS keys. It also provides information that is particularly important to asymmetric
|
|
855
|
-
* keys, such as the key usage (encryption or signing) and the encryption algorithms or signing
|
|
856
|
-
* algorithms that the KMS key supports. For KMS keys in custom key stores, it includes
|
|
862
|
+
* It includes fields, like <code>KeySpec</code>, that help you distinguish different types of KMS keys. It also displays the key usage (encryption, signing, or generating and verifying MACs) and the algorithms that the KMS key supports. For KMS keys in custom key stores, it includes
|
|
857
863
|
* information about the custom key store, such as the key store ID and the CloudHSM cluster ID. For
|
|
858
864
|
* multi-Region keys, it displays the primary key and all related replica keys. </p>
|
|
859
865
|
* <p>
|
|
@@ -875,10 +881,11 @@ export declare class KMS extends KMSClient {
|
|
|
875
881
|
* <p>Key policies and grants on the KMS key. To get this information, use <a>GetKeyPolicy</a> and <a>ListGrants</a>.</p>
|
|
876
882
|
* </li>
|
|
877
883
|
* </ul>
|
|
878
|
-
* <p>
|
|
879
|
-
*
|
|
880
|
-
*
|
|
881
|
-
*
|
|
884
|
+
* <p>In general, <code>DescribeKey</code> is a non-mutating operation. It returns data about
|
|
885
|
+
* KMS keys, but doesn't change them. However, Amazon Web Services services use <code>DescribeKey</code> to
|
|
886
|
+
* create <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services
|
|
887
|
+
* managed keys</a> from a <i>predefined Amazon Web Services alias</i> with no key
|
|
888
|
+
* ID.</p>
|
|
882
889
|
* <p>
|
|
883
890
|
* <b>Cross-account use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
|
|
884
891
|
* the key ARN or alias ARN in the value of the <code>KeyId</code> parameter.</p>
|
|
@@ -932,12 +939,11 @@ export declare class KMS extends KMSClient {
|
|
|
932
939
|
/**
|
|
933
940
|
* <p>Sets the state of a KMS key to disabled. This change temporarily prevents use of the KMS
|
|
934
941
|
* key for <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic operations</a>. </p>
|
|
935
|
-
* <p>For more information about how key state affects the use of a KMS key, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
936
|
-
* key</a> in the <i>
|
|
942
|
+
* <p>For more information about how key state affects the use of a KMS key, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the <i>
|
|
937
943
|
* <i>Key Management Service Developer Guide</i>
|
|
938
944
|
* </i>.</p>
|
|
939
945
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
940
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
946
|
+
* 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>
|
|
941
947
|
* <p>
|
|
942
948
|
* <b>Cross-account use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
|
|
943
949
|
*
|
|
@@ -952,10 +958,10 @@ export declare class KMS extends KMSClient {
|
|
|
952
958
|
disableKey(args: DisableKeyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DisableKeyCommandOutput) => void): void;
|
|
953
959
|
/**
|
|
954
960
|
* <p>Disables <a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html">automatic
|
|
955
|
-
* rotation of the key material</a> for the specified symmetric KMS key.</p>
|
|
956
|
-
* <p> You cannot enable automatic rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
961
|
+
* rotation of the key material</a> for the specified symmetric encryption KMS key.</p>
|
|
962
|
+
* <p> You cannot enable automatic rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">asymmetric KMS keys</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html">HMAC KMS keys</a>, KMS keys with <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">imported key material</a>, or KMS keys in a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>. To enable or disable automatic rotation of a set of related <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate">multi-Region keys</a>, set the property on the primary key. </p>
|
|
957
963
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
958
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
964
|
+
* 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>
|
|
959
965
|
* <p>
|
|
960
966
|
* <b>Cross-account
|
|
961
967
|
* use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
|
|
@@ -1043,7 +1049,7 @@ export declare class KMS extends KMSClient {
|
|
|
1043
1049
|
* <p>Sets the key state of a KMS key to enabled. This allows you to use the KMS key for
|
|
1044
1050
|
* <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic operations</a>. </p>
|
|
1045
1051
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
1046
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
1052
|
+
* 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>
|
|
1047
1053
|
* <p>
|
|
1048
1054
|
* <b>Cross-account
|
|
1049
1055
|
* use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
|
|
@@ -1059,10 +1065,10 @@ export declare class KMS extends KMSClient {
|
|
|
1059
1065
|
enableKey(args: EnableKeyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: EnableKeyCommandOutput) => void): void;
|
|
1060
1066
|
/**
|
|
1061
1067
|
* <p>Enables <a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html">automatic rotation
|
|
1062
|
-
* of the key material</a> for the specified symmetric KMS key.</p>
|
|
1063
|
-
* <p>You cannot enable automatic rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1068
|
+
* of the key material</a> for the specified symmetric encryption KMS key.</p>
|
|
1069
|
+
* <p>You cannot enable automatic rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">asymmetric KMS keys</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html">HMAC KMS keys</a>, KMS keys with <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">imported key material</a>, or KMS keys in a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>. To enable or disable automatic rotation of a set of related <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate">multi-Region keys</a>, set the property on the primary key.</p>
|
|
1064
1070
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
1065
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
1071
|
+
* 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>
|
|
1066
1072
|
* <p>
|
|
1067
1073
|
* <b>Cross-account
|
|
1068
1074
|
* use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
|
|
@@ -1089,31 +1095,13 @@ export declare class KMS extends KMSClient {
|
|
|
1089
1095
|
enableKeyRotation(args: EnableKeyRotationCommandInput, cb: (err: any, data?: EnableKeyRotationCommandOutput) => void): void;
|
|
1090
1096
|
enableKeyRotation(args: EnableKeyRotationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: EnableKeyRotationCommandOutput) => void): void;
|
|
1091
1097
|
/**
|
|
1092
|
-
* <p>Encrypts plaintext
|
|
1093
|
-
*
|
|
1094
|
-
* <
|
|
1095
|
-
*
|
|
1096
|
-
* <p>You can encrypt small amounts of arbitrary data, such as a personal identifier or
|
|
1097
|
-
* database password, or other sensitive information. </p>
|
|
1098
|
-
* </li>
|
|
1099
|
-
* <li>
|
|
1100
|
-
* <p>You can use the <code>Encrypt</code> operation to move encrypted data from one Amazon Web Services
|
|
1101
|
-
* Region to another. For example, in Region A, generate a data key and use the plaintext key
|
|
1102
|
-
* to encrypt your data. Then, in Region A, use the <code>Encrypt</code> operation to encrypt
|
|
1103
|
-
* the plaintext data key under a KMS key in Region B. Now, you can move the encrypted data
|
|
1104
|
-
* and the encrypted data key to Region B. When necessary, you can decrypt the encrypted data
|
|
1105
|
-
* key and the encrypted data entirely within in Region B.</p>
|
|
1106
|
-
* </li>
|
|
1107
|
-
* </ul>
|
|
1108
|
-
*
|
|
1109
|
-
* <p>You don't need to use the <code>Encrypt</code> operation to encrypt a data key. The <a>GenerateDataKey</a> and <a>GenerateDataKeyPair</a> operations return a
|
|
1098
|
+
* <p>Encrypts plaintext of up to 4,096 bytes using a KMS key. You can use a symmetric or
|
|
1099
|
+
* asymmetric KMS key with a <code>KeyUsage</code> of <code>ENCRYPT_DECRYPT</code>.</p>
|
|
1100
|
+
* <p>You can use this operation to encrypt small amounts of arbitrary data, such as a personal identifier or
|
|
1101
|
+
* database password, or other sensitive information. You don't need to use the <code>Encrypt</code> operation to encrypt a data key. The <a>GenerateDataKey</a> and <a>GenerateDataKeyPair</a> operations return a
|
|
1110
1102
|
* plaintext data key and an encrypted copy of that data key.</p>
|
|
1111
1103
|
*
|
|
1112
|
-
* <p>
|
|
1113
|
-
* encryption operation. The KMS key must have a <code>KeyUsage</code> value of
|
|
1114
|
-
* <code>ENCRYPT_DECRYPT.</code> To find the <code>KeyUsage</code> of a KMS key, use the <a>DescribeKey</a> operation. </p>
|
|
1115
|
-
*
|
|
1116
|
-
* <p>If you use a symmetric KMS key, you can use an encryption context to add additional
|
|
1104
|
+
* <p>If you use a symmetric encryption KMS key, you can use an encryption context to add additional
|
|
1117
1105
|
* security to your encryption operation. If you specify an <code>EncryptionContext</code> when
|
|
1118
1106
|
* encrypting data, you must specify the same encryption context (a case-sensitive exact match)
|
|
1119
1107
|
* when decrypting the data. Otherwise, the request to decrypt fails with an
|
|
@@ -1123,7 +1111,7 @@ export declare class KMS extends KMSClient {
|
|
|
1123
1111
|
* algorithm must be compatible with the KMS key type.</p>
|
|
1124
1112
|
* <important>
|
|
1125
1113
|
* <p>When you use an asymmetric KMS key to encrypt or reencrypt data, be sure to record the KMS key and encryption algorithm that you choose. You will be required to provide the same KMS key and encryption algorithm when you decrypt the data. If the KMS key and algorithm do not match the values used to encrypt the data, the decrypt operation fails.</p>
|
|
1126
|
-
* <p>You are not required to supply the key ID and encryption algorithm when you decrypt with symmetric KMS keys because KMS stores this information in the ciphertext blob. KMS cannot store metadata in ciphertext generated with asymmetric keys. The standard format for asymmetric key ciphertext does not include configurable fields.</p>
|
|
1114
|
+
* <p>You are not required to supply the key ID and encryption algorithm when you decrypt with symmetric encryption KMS keys because KMS stores this information in the ciphertext blob. KMS cannot store metadata in ciphertext generated with asymmetric keys. The standard format for asymmetric key ciphertext does not include configurable fields.</p>
|
|
1127
1115
|
* </important>
|
|
1128
1116
|
*
|
|
1129
1117
|
*
|
|
@@ -1131,7 +1119,7 @@ export declare class KMS extends KMSClient {
|
|
|
1131
1119
|
* encryption algorithm that you choose.</p>
|
|
1132
1120
|
* <ul>
|
|
1133
1121
|
* <li>
|
|
1134
|
-
* <p>Symmetric KMS keys</p>
|
|
1122
|
+
* <p>Symmetric encryption KMS keys</p>
|
|
1135
1123
|
* <ul>
|
|
1136
1124
|
* <li>
|
|
1137
1125
|
* <p>
|
|
@@ -1186,7 +1174,7 @@ export declare class KMS extends KMSClient {
|
|
|
1186
1174
|
* </li>
|
|
1187
1175
|
* </ul>
|
|
1188
1176
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
1189
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
1177
|
+
* 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>
|
|
1190
1178
|
* <p>
|
|
1191
1179
|
* <b>Cross-account use</b>: Yes.
|
|
1192
1180
|
* To perform this operation with a KMS key in a different Amazon Web Services account, specify
|
|
@@ -1219,33 +1207,31 @@ export declare class KMS extends KMSClient {
|
|
|
1219
1207
|
encrypt(args: EncryptCommandInput, cb: (err: any, data?: EncryptCommandOutput) => void): void;
|
|
1220
1208
|
encrypt(args: EncryptCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: EncryptCommandOutput) => void): void;
|
|
1221
1209
|
/**
|
|
1222
|
-
* <p>
|
|
1223
|
-
* plaintext copy of the data key and a copy that is encrypted under a
|
|
1224
|
-
*
|
|
1225
|
-
*
|
|
1226
|
-
*
|
|
1227
|
-
*
|
|
1228
|
-
*
|
|
1229
|
-
*
|
|
1230
|
-
*
|
|
1231
|
-
*
|
|
1232
|
-
*
|
|
1233
|
-
*
|
|
1234
|
-
* the data key. Use either the <code>KeySpec</code> or <code>NumberOfBytes</code> parameters
|
|
1235
|
-
* (but not both). For 128-bit and 256-bit data keys, use the <code>KeySpec</code> parameter. </p>
|
|
1210
|
+
* <p>Returns a unique symmetric data key for use outside of KMS. This operation returns a
|
|
1211
|
+
* plaintext copy of the data key and a copy that is encrypted under a symmetric encryption KMS
|
|
1212
|
+
* key that you specify. The bytes in the plaintext key are random; they are not related to the caller or the KMS
|
|
1213
|
+
* key. You can use the plaintext key to encrypt your data outside of KMS and store the
|
|
1214
|
+
* encrypted data key with the encrypted data.</p>
|
|
1215
|
+
*
|
|
1216
|
+
* <p>To generate a data key, specify the symmetric encryption KMS key that will be used to
|
|
1217
|
+
* encrypt the data key. You cannot use an asymmetric KMS key to encrypt data keys. To get the
|
|
1218
|
+
* type of your KMS key, use the <a>DescribeKey</a> operation. You must also specify
|
|
1219
|
+
* the length of the data key. Use either the <code>KeySpec</code> or <code>NumberOfBytes</code>
|
|
1220
|
+
* parameters (but not both). For 128-bit and 256-bit data keys, use the <code>KeySpec</code>
|
|
1221
|
+
* parameter. </p>
|
|
1236
1222
|
*
|
|
1237
1223
|
* <p>To get only an encrypted copy of the data key, use <a>GenerateDataKeyWithoutPlaintext</a>. To generate an asymmetric data key pair, use
|
|
1238
1224
|
* the <a>GenerateDataKeyPair</a> or <a>GenerateDataKeyPairWithoutPlaintext</a> operation. To get a cryptographically secure
|
|
1239
1225
|
* random byte string, use <a>GenerateRandom</a>.</p>
|
|
1240
1226
|
*
|
|
1241
|
-
* <p>You can use
|
|
1227
|
+
* <p>You can use an optional encryption context to add additional security to the encryption
|
|
1242
1228
|
* operation. If you specify an <code>EncryptionContext</code>, you must specify the same
|
|
1243
1229
|
* encryption context (a case-sensitive exact match) when decrypting the encrypted data key.
|
|
1244
1230
|
* Otherwise, the request to decrypt fails with an <code>InvalidCiphertextException</code>. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context">Encryption Context</a> in the
|
|
1245
1231
|
* <i>Key Management Service Developer Guide</i>.</p>
|
|
1246
1232
|
* <p>Applications in Amazon Web Services Nitro Enclaves can call this operation by using the <a href="https://github.com/aws/aws-nitro-enclaves-sdk-c">Amazon Web Services Nitro Enclaves Development Kit</a>. For information about the supporting parameters, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html">How Amazon Web Services Nitro Enclaves use KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
1247
1233
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
1248
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
1234
|
+
* 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>
|
|
1249
1235
|
* <p>
|
|
1250
1236
|
* <b>How to use your data
|
|
1251
1237
|
* key</b>
|
|
@@ -1322,19 +1308,20 @@ export declare class KMS extends KMSClient {
|
|
|
1322
1308
|
generateDataKey(args: GenerateDataKeyCommandInput, cb: (err: any, data?: GenerateDataKeyCommandOutput) => void): void;
|
|
1323
1309
|
generateDataKey(args: GenerateDataKeyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GenerateDataKeyCommandOutput) => void): void;
|
|
1324
1310
|
/**
|
|
1325
|
-
* <p>
|
|
1326
|
-
*
|
|
1327
|
-
*
|
|
1328
|
-
*
|
|
1311
|
+
* <p>Returns a unique asymmetric data key pair for use outside of KMS. This operation returns
|
|
1312
|
+
* a plaintext public key, a plaintext private key, and a copy of the private key that is
|
|
1313
|
+
* encrypted under the symmetric encryption KMS key you specify. You can use the data key pair to
|
|
1314
|
+
* perform asymmetric cryptography and implement digital signatures outside of KMS. The bytes
|
|
1315
|
+
* in the keys are random; they not related to the caller or to the KMS key that is used to encrypt the
|
|
1316
|
+
* private key. </p>
|
|
1329
1317
|
*
|
|
1330
1318
|
* <p>You can use the public key that <code>GenerateDataKeyPair</code> returns to encrypt data
|
|
1331
1319
|
* or verify a signature outside of KMS. Then, store the encrypted private key with the data.
|
|
1332
1320
|
* When you are ready to decrypt data or sign a message, you can use the <a>Decrypt</a> operation to decrypt the encrypted private key.</p>
|
|
1333
1321
|
*
|
|
1334
|
-
* <p>To generate a data key pair, you must specify a symmetric KMS key to encrypt
|
|
1335
|
-
* key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a
|
|
1336
|
-
* store. To get the type and origin of your KMS key, use the <a>DescribeKey</a>
|
|
1337
|
-
* operation. </p>
|
|
1322
|
+
* <p>To generate a data key pair, you must specify a symmetric encryption KMS key to encrypt
|
|
1323
|
+
* the private key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a
|
|
1324
|
+
* custom key store. To get the type and origin of your KMS key, use the <a>DescribeKey</a> operation. </p>
|
|
1338
1325
|
* <p>Use the <code>KeyPairSpec</code> parameter to choose an RSA or Elliptic Curve (ECC) data
|
|
1339
1326
|
* key pair. KMS recommends that your use ECC key pairs for signing, and use RSA key pairs for
|
|
1340
1327
|
* either encryption or signing, but not both. However, KMS cannot enforce any restrictions on
|
|
@@ -1350,18 +1337,18 @@ export declare class KMS extends KMSClient {
|
|
|
1350
1337
|
*
|
|
1351
1338
|
* <p>
|
|
1352
1339
|
* <code>GenerateDataKeyPair</code> returns a unique data key pair for each request. The
|
|
1353
|
-
* bytes in the keys are not related to the caller or the KMS key that is used to encrypt the
|
|
1340
|
+
* bytes in the keys are random; they are not related to the caller or the KMS key that is used to encrypt the
|
|
1354
1341
|
* private key. The public key is a DER-encoded X.509 SubjectPublicKeyInfo, as specified in
|
|
1355
1342
|
* <a href="https://tools.ietf.org/html/rfc5280">RFC 5280</a>. The private key is a
|
|
1356
1343
|
* DER-encoded PKCS8 PrivateKeyInfo, as specified in <a href="https://tools.ietf.org/html/rfc5958">RFC 5958</a>.</p>
|
|
1357
1344
|
*
|
|
1358
|
-
* <p>You can use
|
|
1345
|
+
* <p>You can use an optional encryption context to add additional security to the encryption
|
|
1359
1346
|
* operation. If you specify an <code>EncryptionContext</code>, you must specify the same
|
|
1360
1347
|
* encryption context (a case-sensitive exact match) when decrypting the encrypted data key.
|
|
1361
1348
|
* Otherwise, the request to decrypt fails with an <code>InvalidCiphertextException</code>. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context">Encryption Context</a> in the
|
|
1362
1349
|
* <i>Key Management Service Developer Guide</i>.</p>
|
|
1363
1350
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
1364
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
1351
|
+
* 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>
|
|
1365
1352
|
* <p>
|
|
1366
1353
|
* <b>Cross-account
|
|
1367
1354
|
* use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
|
|
@@ -1404,18 +1391,17 @@ export declare class KMS extends KMSClient {
|
|
|
1404
1391
|
generateDataKeyPair(args: GenerateDataKeyPairCommandInput, cb: (err: any, data?: GenerateDataKeyPairCommandOutput) => void): void;
|
|
1405
1392
|
generateDataKeyPair(args: GenerateDataKeyPairCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GenerateDataKeyPairCommandOutput) => void): void;
|
|
1406
1393
|
/**
|
|
1407
|
-
* <p>
|
|
1408
|
-
*
|
|
1409
|
-
*
|
|
1410
|
-
*
|
|
1411
|
-
* private key. </p>
|
|
1394
|
+
* <p>Returns a unique asymmetric data key pair for use outside of KMS. This operation returns
|
|
1395
|
+
* a plaintext public key and a copy of the private key that is encrypted under the symmetric
|
|
1396
|
+
* encryption KMS key you specify. Unlike <a>GenerateDataKeyPair</a>, this operation
|
|
1397
|
+
* does not return a plaintext private key. The bytes in the keys are random; they are not related to the caller
|
|
1398
|
+
* or to the KMS key that is used to encrypt the private key. </p>
|
|
1412
1399
|
* <p>You can use the public key that <code>GenerateDataKeyPairWithoutPlaintext</code> returns
|
|
1413
1400
|
* to encrypt data or verify a signature outside of KMS. Then, store the encrypted private key
|
|
1414
1401
|
* with the data. When you are ready to decrypt data or sign a message, you can use the <a>Decrypt</a> operation to decrypt the encrypted private key.</p>
|
|
1415
|
-
* <p>To generate a data key pair, you must specify a symmetric KMS key to encrypt
|
|
1416
|
-
* key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a
|
|
1417
|
-
* store. To get the type and origin of your KMS key, use the <a>DescribeKey</a>
|
|
1418
|
-
* operation. </p>
|
|
1402
|
+
* <p>To generate a data key pair, you must specify a symmetric encryption KMS key to encrypt
|
|
1403
|
+
* the private key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a
|
|
1404
|
+
* custom key store. To get the type and origin of your KMS key, use the <a>DescribeKey</a> operation. </p>
|
|
1419
1405
|
* <p>Use the <code>KeyPairSpec</code> parameter to choose an RSA or Elliptic Curve (ECC) data
|
|
1420
1406
|
* key pair. KMS recommends that your use ECC key pairs for signing, and use RSA key pairs for
|
|
1421
1407
|
* either encryption or signing, but not both. However, KMS cannot enforce any restrictions on
|
|
@@ -1426,13 +1412,13 @@ export declare class KMS extends KMSClient {
|
|
|
1426
1412
|
* the private key. The public key is a DER-encoded X.509 SubjectPublicKeyInfo, as specified in
|
|
1427
1413
|
* <a href="https://tools.ietf.org/html/rfc5280">RFC 5280</a>.</p>
|
|
1428
1414
|
*
|
|
1429
|
-
* <p>You can use
|
|
1415
|
+
* <p>You can use an optional encryption context to add additional security to the encryption
|
|
1430
1416
|
* operation. If you specify an <code>EncryptionContext</code>, you must specify the same
|
|
1431
1417
|
* encryption context (a case-sensitive exact match) when decrypting the encrypted data key.
|
|
1432
1418
|
* Otherwise, the request to decrypt fails with an <code>InvalidCiphertextException</code>. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context">Encryption Context</a> in the
|
|
1433
1419
|
* <i>Key Management Service Developer Guide</i>.</p>
|
|
1434
1420
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
1435
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
1421
|
+
* 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>
|
|
1436
1422
|
* <p>
|
|
1437
1423
|
* <b>Cross-account
|
|
1438
1424
|
* use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
|
|
@@ -1476,40 +1462,37 @@ export declare class KMS extends KMSClient {
|
|
|
1476
1462
|
generateDataKeyPairWithoutPlaintext(args: GenerateDataKeyPairWithoutPlaintextCommandInput, cb: (err: any, data?: GenerateDataKeyPairWithoutPlaintextCommandOutput) => void): void;
|
|
1477
1463
|
generateDataKeyPairWithoutPlaintext(args: GenerateDataKeyPairWithoutPlaintextCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GenerateDataKeyPairWithoutPlaintextCommandOutput) => void): void;
|
|
1478
1464
|
/**
|
|
1479
|
-
* <p>
|
|
1480
|
-
*
|
|
1481
|
-
*
|
|
1482
|
-
* <p>
|
|
1483
|
-
* <code>GenerateDataKeyWithoutPlaintext</code> is identical to the <a>GenerateDataKey</a> operation except that
|
|
1484
|
-
* data key.
|
|
1485
|
-
*
|
|
1486
|
-
*
|
|
1487
|
-
*
|
|
1488
|
-
* might store encrypted data in containers. One
|
|
1489
|
-
* and stores an encrypted data key with each
|
|
1490
|
-
*
|
|
1491
|
-
*
|
|
1492
|
-
* plaintext data key. In this system, the component
|
|
1493
|
-
* plaintext data key.</p>
|
|
1494
|
-
* <p>
|
|
1495
|
-
*
|
|
1496
|
-
*
|
|
1497
|
-
*
|
|
1498
|
-
*
|
|
1499
|
-
*
|
|
1500
|
-
* data key. You cannot use an asymmetric KMS key to generate a data key. To get the type of your
|
|
1501
|
-
* KMS key, use the <a>DescribeKey</a> operation.</p>
|
|
1502
|
-
*
|
|
1465
|
+
* <p>Returns a unique symmetric data key for use outside of KMS. This operation returns a
|
|
1466
|
+
* data key that is encrypted under a symmetric encryption KMS key that you specify. The bytes in
|
|
1467
|
+
* the key are random; they are not related to the caller or to the KMS key.</p>
|
|
1468
|
+
* <p>
|
|
1469
|
+
* <code>GenerateDataKeyWithoutPlaintext</code> is identical to the <a>GenerateDataKey</a> operation except that it does not return a plaintext copy of the
|
|
1470
|
+
* data key. </p>
|
|
1471
|
+
* <p>This operation is useful for systems that need to encrypt data at some point, but not
|
|
1472
|
+
* immediately. When you need to encrypt the data, you call the <a>Decrypt</a>
|
|
1473
|
+
* operation on the encrypted copy of the key. It's also useful in distributed systems with
|
|
1474
|
+
* different levels of trust. For example, you might store encrypted data in containers. One
|
|
1475
|
+
* component of your system creates new containers and stores an encrypted data key with each
|
|
1476
|
+
* container. Then, a different component puts the data into the containers. That component first
|
|
1477
|
+
* decrypts the data key, uses the plaintext data key to encrypt data, puts the encrypted data
|
|
1478
|
+
* into the container, and then destroys the plaintext data key. In this system, the component
|
|
1479
|
+
* that creates the containers never sees the plaintext data key.</p>
|
|
1480
|
+
* <p>To request an asymmetric data key pair, use the <a>GenerateDataKeyPair</a> or
|
|
1481
|
+
* <a>GenerateDataKeyPairWithoutPlaintext</a> operations.</p>
|
|
1482
|
+
*
|
|
1483
|
+
* <p>To generate a data key, you must specify the symmetric encryption KMS key that is used to
|
|
1484
|
+
* encrypt the data key. You cannot use an asymmetric KMS key or a key in a custom key store to generate a data key. To get the
|
|
1485
|
+
* type of your KMS key, use the <a>DescribeKey</a> operation.</p>
|
|
1503
1486
|
* <p>If the operation succeeds, you will find the encrypted copy of the data key in the
|
|
1504
1487
|
* <code>CiphertextBlob</code> field.</p>
|
|
1505
1488
|
*
|
|
1506
|
-
* <p>You can use
|
|
1489
|
+
* <p>You can use an optional encryption context to add additional security to the encryption
|
|
1507
1490
|
* operation. If you specify an <code>EncryptionContext</code>, you must specify the same
|
|
1508
1491
|
* encryption context (a case-sensitive exact match) when decrypting the encrypted data key.
|
|
1509
1492
|
* Otherwise, the request to decrypt fails with an <code>InvalidCiphertextException</code>. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context">Encryption Context</a> in the
|
|
1510
1493
|
* <i>Key Management Service Developer Guide</i>.</p>
|
|
1511
1494
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
1512
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
1495
|
+
* 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>
|
|
1513
1496
|
* <p>
|
|
1514
1497
|
* <b>Cross-account
|
|
1515
1498
|
* use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
|
|
@@ -1552,6 +1535,32 @@ export declare class KMS extends KMSClient {
|
|
|
1552
1535
|
generateDataKeyWithoutPlaintext(args: GenerateDataKeyWithoutPlaintextCommandInput, options?: __HttpHandlerOptions): Promise<GenerateDataKeyWithoutPlaintextCommandOutput>;
|
|
1553
1536
|
generateDataKeyWithoutPlaintext(args: GenerateDataKeyWithoutPlaintextCommandInput, cb: (err: any, data?: GenerateDataKeyWithoutPlaintextCommandOutput) => void): void;
|
|
1554
1537
|
generateDataKeyWithoutPlaintext(args: GenerateDataKeyWithoutPlaintextCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GenerateDataKeyWithoutPlaintextCommandOutput) => void): void;
|
|
1538
|
+
/**
|
|
1539
|
+
* <p>Generates a hash-based message authentication code (HMAC) for a message using an HMAC KMS
|
|
1540
|
+
* key and a MAC algorithm that the key supports. The MAC algorithm computes the HMAC for the
|
|
1541
|
+
* message and the key as described in <a href="https://datatracker.ietf.org/doc/html/rfc2104">RFC 2104</a>.</p>
|
|
1542
|
+
* <p>You can use the HMAC that this operation generates with the <a>VerifyMac</a>
|
|
1543
|
+
* operation to demonstrate that the original message has not changed. Also, because a secret key
|
|
1544
|
+
* is used to create the hash, you can verify that the party that generated the hash has the
|
|
1545
|
+
* required secret key. This operation is part of KMS support for HMAC KMS keys.
|
|
1546
|
+
* For details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html">HMAC keys in KMS</a> in the <i>
|
|
1547
|
+
* <i>Key Management Service Developer Guide</i>
|
|
1548
|
+
* </i>.</p>
|
|
1549
|
+
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
1550
|
+
* 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>
|
|
1551
|
+
* <p>
|
|
1552
|
+
* <b>Cross-account
|
|
1553
|
+
* use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
|
|
1554
|
+
* the key ARN or alias ARN in the value of the <code>KeyId</code> parameter. </p>
|
|
1555
|
+
* <p>
|
|
1556
|
+
* <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:GenerateMac</a> (key policy)</p>
|
|
1557
|
+
* <p>
|
|
1558
|
+
* <b>Related operations</b>: <a>VerifyMac</a>
|
|
1559
|
+
* </p>
|
|
1560
|
+
*/
|
|
1561
|
+
generateMac(args: GenerateMacCommandInput, options?: __HttpHandlerOptions): Promise<GenerateMacCommandOutput>;
|
|
1562
|
+
generateMac(args: GenerateMacCommandInput, cb: (err: any, data?: GenerateMacCommandOutput) => void): void;
|
|
1563
|
+
generateMac(args: GenerateMacCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GenerateMacCommandOutput) => void): void;
|
|
1555
1564
|
/**
|
|
1556
1565
|
* <p>Returns a random byte string that is cryptographically secure.</p>
|
|
1557
1566
|
* <p>By default, the random byte string is generated in KMS. To generate the byte string in
|
|
@@ -1584,10 +1593,10 @@ export declare class KMS extends KMSClient {
|
|
|
1584
1593
|
/**
|
|
1585
1594
|
* <p>Gets a Boolean value that indicates whether <a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html">automatic rotation of the key material</a> is
|
|
1586
1595
|
* enabled for the specified KMS key.</p>
|
|
1587
|
-
* <p>You cannot enable automatic rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1596
|
+
* <p>You cannot enable automatic rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">asymmetric KMS keys</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html">HMAC KMS keys</a>, KMS keys with <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">imported key material</a>, or KMS keys in a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html">custom key store</a>. To enable or disable automatic rotation of a set of related <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate">multi-Region keys</a>, set the property on the primary key. The key rotation status for these KMS keys is always
|
|
1588
1597
|
* <code>false</code>.</p>
|
|
1589
1598
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
1590
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
1599
|
+
* 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>
|
|
1591
1600
|
* <ul>
|
|
1592
1601
|
* <li>
|
|
1593
1602
|
* <p>Disabled: The key rotation status does not change when you disable a KMS key. However,
|
|
@@ -1625,21 +1634,21 @@ export declare class KMS extends KMSClient {
|
|
|
1625
1634
|
getKeyRotationStatus(args: GetKeyRotationStatusCommandInput, cb: (err: any, data?: GetKeyRotationStatusCommandOutput) => void): void;
|
|
1626
1635
|
getKeyRotationStatus(args: GetKeyRotationStatusCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetKeyRotationStatusCommandOutput) => void): void;
|
|
1627
1636
|
/**
|
|
1628
|
-
* <p>Returns the items you need to import key material into a symmetric
|
|
1629
|
-
*
|
|
1630
|
-
*
|
|
1637
|
+
* <p>Returns the items you need to import key material into a symmetric encryption KMS key. For
|
|
1638
|
+
* more information about importing key material into KMS, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">Importing key material</a> in the
|
|
1639
|
+
* <i>Key Management Service Developer Guide</i>.</p>
|
|
1631
1640
|
* <p>This operation returns a public key and an import token. Use the public key to encrypt the
|
|
1632
1641
|
* symmetric key material. Store the import token to send with a subsequent <a>ImportKeyMaterial</a> request.</p>
|
|
1633
|
-
* <p>You must specify the key ID of the symmetric KMS key into which you will import
|
|
1634
|
-
* material. This KMS key's <code>Origin</code> must be <code>EXTERNAL</code>. You must also
|
|
1642
|
+
* <p>You must specify the key ID of the symmetric encryption KMS key into which you will import
|
|
1643
|
+
* key material. This KMS key's <code>Origin</code> must be <code>EXTERNAL</code>. You must also
|
|
1635
1644
|
* specify the wrapping algorithm and type of wrapping key (public key) that you will use to
|
|
1636
|
-
* encrypt the key material. You cannot perform this operation on an asymmetric KMS key or on any KMS key in a different Amazon Web Services account.</p>
|
|
1645
|
+
* encrypt the key material. You cannot perform this operation on an asymmetric KMS key, an HMAC KMS key, or on any KMS key in a different Amazon Web Services account.</p>
|
|
1637
1646
|
* <p>To import key material, you must use the public key and import token from the same
|
|
1638
1647
|
* response. These items are valid for 24 hours. The expiration date and time appear in the
|
|
1639
1648
|
* <code>GetParametersForImport</code> response. You cannot use an expired token in an <a>ImportKeyMaterial</a> request. If your key and token expire, send another
|
|
1640
1649
|
* <code>GetParametersForImport</code> request.</p>
|
|
1641
1650
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
1642
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
1651
|
+
* 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>
|
|
1643
1652
|
* <p>
|
|
1644
1653
|
* <b>Cross-account use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
|
|
1645
1654
|
*
|
|
@@ -1669,7 +1678,7 @@ export declare class KMS extends KMSClient {
|
|
|
1669
1678
|
* KMS key, which never leaves KMS unencrypted, callers with <code>kms:GetPublicKey</code>
|
|
1670
1679
|
* permission can download the public key of an asymmetric KMS key. You can share the public key
|
|
1671
1680
|
* to allow others to encrypt messages and verify signatures outside of KMS.
|
|
1672
|
-
* For information about
|
|
1681
|
+
* For information about asymmetric KMS keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Asymmetric KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
1673
1682
|
* <p>You do not need to download the public key. Instead, you can use the public key within
|
|
1674
1683
|
* KMS by calling the <a>Encrypt</a>, <a>ReEncrypt</a>, or <a>Verify</a> operations with the identifier of an asymmetric KMS key. When you use the
|
|
1675
1684
|
* public key within KMS, you benefit from the authentication, authorization, and logging that
|
|
@@ -1701,7 +1710,7 @@ export declare class KMS extends KMSClient {
|
|
|
1701
1710
|
* can also avoid errors, such as using the wrong signing algorithm in a verification
|
|
1702
1711
|
* operation.</p>
|
|
1703
1712
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
1704
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
1713
|
+
* 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>
|
|
1705
1714
|
* <p>
|
|
1706
1715
|
* <b>Cross-account use</b>:
|
|
1707
1716
|
* Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
|
|
@@ -1717,13 +1726,13 @@ export declare class KMS extends KMSClient {
|
|
|
1717
1726
|
getPublicKey(args: GetPublicKeyCommandInput, cb: (err: any, data?: GetPublicKeyCommandOutput) => void): void;
|
|
1718
1727
|
getPublicKey(args: GetPublicKeyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetPublicKeyCommandOutput) => void): void;
|
|
1719
1728
|
/**
|
|
1720
|
-
* <p>Imports key material into an existing symmetric
|
|
1721
|
-
* material. After you successfully import key material into a KMS key, you can
|
|
1722
|
-
* the same key material</a> into that KMS key, but you cannot import different
|
|
1723
|
-
* material. </p>
|
|
1724
|
-
* <p>You cannot perform this operation on an asymmetric KMS key or on any KMS key in a different Amazon Web Services account. For more information about
|
|
1725
|
-
* and then importing key material, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">Importing Key Material</a>
|
|
1726
|
-
* <i>Key Management Service Developer Guide</i>.</p>
|
|
1729
|
+
* <p>Imports key material into an existing symmetric encryption KMS key that was created
|
|
1730
|
+
* without key material. After you successfully import key material into a KMS key, you can
|
|
1731
|
+
* <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material">reimport the same key material</a> into that KMS key, but you cannot import different
|
|
1732
|
+
* key material. </p>
|
|
1733
|
+
* <p>You cannot perform this operation on an asymmetric KMS key, an HMAC KMS key, or on any KMS key in a different Amazon Web Services account. For more information about
|
|
1734
|
+
* creating KMS keys with no key material and then importing key material, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">Importing Key Material</a>
|
|
1735
|
+
* in the <i>Key Management Service Developer Guide</i>.</p>
|
|
1727
1736
|
* <p>Before using this operation, call <a>GetParametersForImport</a>. Its response
|
|
1728
1737
|
* includes a public key and an import token. Use the public key to encrypt the key material.
|
|
1729
1738
|
* Then, submit the import token from the same <code>GetParametersForImport</code>
|
|
@@ -1760,7 +1769,7 @@ export declare class KMS extends KMSClient {
|
|
|
1760
1769
|
* and repeat the import procedure. For help, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#importing-keys-overview">How To Import Key
|
|
1761
1770
|
* Material</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
1762
1771
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
1763
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
1772
|
+
* 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>
|
|
1764
1773
|
* <p>
|
|
1765
1774
|
* <b>Cross-account use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
|
|
1766
1775
|
*
|
|
@@ -1837,7 +1846,7 @@ export declare class KMS extends KMSClient {
|
|
|
1837
1846
|
* <p>Gets a list of all grants for the specified KMS key. </p>
|
|
1838
1847
|
* <p>You must specify the KMS key in all requests. You can filter the grant list by grant ID or
|
|
1839
1848
|
* grantee principal.</p>
|
|
1840
|
-
* <p>For detailed information about grants, including grant terminology, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/grants.html">
|
|
1849
|
+
* <p>For detailed information about grants, including grant terminology, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/grants.html">Grants in KMS</a> in the
|
|
1841
1850
|
* <i>
|
|
1842
1851
|
* <i>Key Management Service Developer Guide</i>
|
|
1843
1852
|
* </i>. For examples of working with grants in several
|
|
@@ -1994,7 +2003,7 @@ export declare class KMS extends KMSClient {
|
|
|
1994
2003
|
* <p>You can specify any principal in your Amazon Web Services account. The grants that are returned include
|
|
1995
2004
|
* grants for KMS keys in your Amazon Web Services account and other Amazon Web Services accounts. You might use this
|
|
1996
2005
|
* operation to determine which grants you may retire. To retire a grant, use the <a>RetireGrant</a> operation.</p>
|
|
1997
|
-
* <p>For detailed information about grants, including grant terminology, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/grants.html">
|
|
2006
|
+
* <p>For detailed information about grants, including grant terminology, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/grants.html">Grants in KMS</a> in the
|
|
1998
2007
|
* <i>
|
|
1999
2008
|
* <i>Key Management Service Developer Guide</i>
|
|
2000
2009
|
* </i>. For examples of working with grants in several
|
|
@@ -2062,8 +2071,8 @@ export declare class KMS extends KMSClient {
|
|
|
2062
2071
|
* rotate</a> a KMS key or change the KMS key that protects a ciphertext. You can also use
|
|
2063
2072
|
* it to reencrypt ciphertext under the same KMS key, such as to change the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context">encryption
|
|
2064
2073
|
* context</a> of a ciphertext.</p>
|
|
2065
|
-
* <p>The <code>ReEncrypt</code> operation can decrypt ciphertext that was encrypted by using
|
|
2066
|
-
* KMS
|
|
2074
|
+
* <p>The <code>ReEncrypt</code> operation can decrypt ciphertext that was encrypted by using a
|
|
2075
|
+
* KMS key in an KMS operation, such as <a>Encrypt</a> or <a>GenerateDataKey</a>. It can also decrypt ciphertext that was encrypted by using the
|
|
2067
2076
|
* public key of an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#asymmetric-cmks">asymmetric KMS key</a>
|
|
2068
2077
|
* outside of KMS. However, it cannot decrypt ciphertext produced by other libraries, such as
|
|
2069
2078
|
* the <a href="https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/">Amazon Web Services Encryption SDK</a> or
|
|
@@ -2080,7 +2089,7 @@ export declare class KMS extends KMSClient {
|
|
|
2080
2089
|
* is required to decrypt the data.</p>
|
|
2081
2090
|
* </li>
|
|
2082
2091
|
* <li>
|
|
2083
|
-
* <p>If your ciphertext was encrypted under a symmetric KMS key, the
|
|
2092
|
+
* <p>If your ciphertext was encrypted under a symmetric encryption KMS key, the
|
|
2084
2093
|
* <code>SourceKeyId</code> parameter is optional. KMS can get this information from
|
|
2085
2094
|
* metadata that it adds to the symmetric ciphertext blob. This feature adds durability to
|
|
2086
2095
|
* your implementation by ensuring that authorized users can decrypt ciphertext decades after
|
|
@@ -2093,19 +2102,18 @@ export declare class KMS extends KMSClient {
|
|
|
2093
2102
|
* </li>
|
|
2094
2103
|
* <li>
|
|
2095
2104
|
* <p>To reencrypt the data, you must use the <code>DestinationKeyId</code> parameter
|
|
2096
|
-
* specify the KMS key that re-encrypts the data after it is decrypted.
|
|
2097
|
-
*
|
|
2098
|
-
*
|
|
2099
|
-
* compatible with the KMS key.</p>
|
|
2105
|
+
* specify the KMS key that re-encrypts the data after it is decrypted. If the destination
|
|
2106
|
+
* KMS key is an asymmetric KMS key, you must also provide the encryption algorithm. The
|
|
2107
|
+
* algorithm that you choose must be compatible with the KMS key.</p>
|
|
2100
2108
|
*
|
|
2101
2109
|
* <important>
|
|
2102
2110
|
* <p>When you use an asymmetric KMS key to encrypt or reencrypt data, be sure to record the KMS key and encryption algorithm that you choose. You will be required to provide the same KMS key and encryption algorithm when you decrypt the data. If the KMS key and algorithm do not match the values used to encrypt the data, the decrypt operation fails.</p>
|
|
2103
|
-
* <p>You are not required to supply the key ID and encryption algorithm when you decrypt with symmetric KMS keys because KMS stores this information in the ciphertext blob. KMS cannot store metadata in ciphertext generated with asymmetric keys. The standard format for asymmetric key ciphertext does not include configurable fields.</p>
|
|
2111
|
+
* <p>You are not required to supply the key ID and encryption algorithm when you decrypt with symmetric encryption KMS keys because KMS stores this information in the ciphertext blob. KMS cannot store metadata in ciphertext generated with asymmetric keys. The standard format for asymmetric key ciphertext does not include configurable fields.</p>
|
|
2104
2112
|
* </important>
|
|
2105
2113
|
* </li>
|
|
2106
2114
|
* </ul>
|
|
2107
2115
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
2108
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
2116
|
+
* 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>
|
|
2109
2117
|
* <p>
|
|
2110
2118
|
* <b>Cross-account use</b>: Yes.
|
|
2111
2119
|
* The source KMS key and destination KMS key can be in different Amazon Web Services accounts. Either or both
|
|
@@ -2169,7 +2177,7 @@ export declare class KMS extends KMSClient {
|
|
|
2169
2177
|
* <p>This operation supports <i>multi-Region keys</i>, an KMS feature that lets you create multiple
|
|
2170
2178
|
* interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key
|
|
2171
2179
|
* material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt
|
|
2172
|
-
* it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html">
|
|
2180
|
+
* it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html">Multi-Region keys in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
2173
2181
|
* <p>A <i>replica key</i> is a fully-functional KMS key that can be used
|
|
2174
2182
|
* independently of its primary and peer replica keys. A primary key and its replica keys share
|
|
2175
2183
|
* properties that make them interoperable. They have the same <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id">key ID</a> and key material. They also
|
|
@@ -2179,8 +2187,7 @@ export declare class KMS extends KMSClient {
|
|
|
2179
2187
|
* material origin</a>, and <a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html">automatic key rotation status</a>. KMS automatically synchronizes these shared
|
|
2180
2188
|
* properties among related multi-Region keys. All other properties of a replica key can differ,
|
|
2181
2189
|
* including its <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html">key
|
|
2182
|
-
* policy</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html">tags</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html">aliases</a>, and <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">key
|
|
2183
|
-
* state</a>. KMS pricing and quotas for KMS keys apply to each primary key and replica
|
|
2190
|
+
* policy</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html">tags</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html">aliases</a>, and <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a>. KMS pricing and quotas for KMS keys apply to each primary key and replica
|
|
2184
2191
|
* key.</p>
|
|
2185
2192
|
* <p>When this operation completes, the new replica key has a transient key state of
|
|
2186
2193
|
* <code>Creating</code>. This key state changes to <code>Enabled</code> (or
|
|
@@ -2189,8 +2196,13 @@ export declare class KMS extends KMSClient {
|
|
|
2189
2196
|
* cannot yet use it in cryptographic operations. If you are creating and using the replica key
|
|
2190
2197
|
* programmatically, retry on <code>KMSInvalidStateException</code> or call
|
|
2191
2198
|
* <code>DescribeKey</code> to check its <code>KeyState</code> value before using it. For
|
|
2192
|
-
* details about the <code>Creating</code> key state, see <a href="kms/latest/developerguide/key-state.html">Key
|
|
2199
|
+
* details about the <code>Creating</code> key state, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key states of KMS keys</a> in the
|
|
2193
2200
|
* <i>Key Management Service Developer Guide</i>.</p>
|
|
2201
|
+
* <p>You cannot create more than one replica of a primary key in any Region. If the Region
|
|
2202
|
+
* already includes a replica of the key you're trying to replicate, <code>ReplicateKey</code>
|
|
2203
|
+
* returns an <code>AlreadyExistsException</code> error. If the key state of the existing replica
|
|
2204
|
+
* is <code>PendingDeletion</code>, you can cancel the scheduled key deletion (<a>CancelKeyDeletion</a>) or wait for the key to be deleted. The new replica key you create
|
|
2205
|
+
* will have the same <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-sync-properties">shared properties</a> as the original replica key.</p>
|
|
2194
2206
|
* <p>The CloudTrail log of a <code>ReplicateKey</code> operation records a
|
|
2195
2207
|
* <code>ReplicateKey</code> operation in the primary key's Region and a <a>CreateKey</a> operation in the replica key's Region.</p>
|
|
2196
2208
|
* <p>If you replicate a multi-Region primary key with imported key material, the replica key is
|
|
@@ -2250,11 +2262,10 @@ export declare class KMS extends KMSClient {
|
|
|
2250
2262
|
* returns both values.</p>
|
|
2251
2263
|
* <p>This operation can be called by the <i>retiring principal</i> for a grant,
|
|
2252
2264
|
* by the <i>grantee principal</i> if the grant allows the <code>RetireGrant</code>
|
|
2253
|
-
* operation, and by the Amazon Web Services account
|
|
2254
|
-
*
|
|
2255
|
-
*
|
|
2256
|
-
*
|
|
2257
|
-
* <p>For detailed information about grants, including grant terminology, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/grants.html">Using grants</a> in the
|
|
2265
|
+
* operation, and by the Amazon Web Services account in which the grant is created. It can also be called by
|
|
2266
|
+
* principals to whom permission for retiring a grant is delegated. For details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete">Retiring and revoking
|
|
2267
|
+
* grants</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
2268
|
+
* <p>For detailed information about grants, including grant terminology, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/grants.html">Grants in KMS</a> in the
|
|
2258
2269
|
* <i>
|
|
2259
2270
|
* <i>Key Management Service Developer Guide</i>
|
|
2260
2271
|
* </i>. For examples of working with grants in several
|
|
@@ -2305,7 +2316,7 @@ export declare class KMS extends KMSClient {
|
|
|
2305
2316
|
* the <i>
|
|
2306
2317
|
* <i>Key Management Service Developer Guide</i>
|
|
2307
2318
|
* </i>. </p>
|
|
2308
|
-
* <p>For detailed information about grants, including grant terminology, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/grants.html">
|
|
2319
|
+
* <p>For detailed information about grants, including grant terminology, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/grants.html">Grants in KMS</a> in the
|
|
2309
2320
|
* <i>
|
|
2310
2321
|
* <i>Key Management Service Developer Guide</i>
|
|
2311
2322
|
* </i>. For examples of working with grants in several
|
|
@@ -2376,7 +2387,7 @@ export declare class KMS extends KMSClient {
|
|
|
2376
2387
|
* <p>For more information about scheduling a KMS key for deletion, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html">Deleting KMS keys</a> in the
|
|
2377
2388
|
* <i>Key Management Service Developer Guide</i>.</p>
|
|
2378
2389
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
2379
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
2390
|
+
* 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>
|
|
2380
2391
|
* <p>
|
|
2381
2392
|
* <b>Cross-account
|
|
2382
2393
|
* use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
|
|
@@ -2407,8 +2418,8 @@ export declare class KMS extends KMSClient {
|
|
|
2407
2418
|
/**
|
|
2408
2419
|
* <p>Creates a <a href="https://en.wikipedia.org/wiki/Digital_signature">digital
|
|
2409
2420
|
* signature</a> for a message or message digest by using the private key in an asymmetric
|
|
2410
|
-
* KMS key. To verify the signature, use the <a>Verify</a> operation, or use
|
|
2411
|
-
* public key in the same asymmetric KMS key outside of KMS. For information about
|
|
2421
|
+
* signing KMS key. To verify the signature, use the <a>Verify</a> operation, or use
|
|
2422
|
+
* the public key in the same asymmetric KMS key outside of KMS. For information about asymmetric KMS keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Asymmetric KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
2412
2423
|
* <p>Digital signatures are generated and verified by using asymmetric key pair, such as an RSA
|
|
2413
2424
|
* or ECC pair that is represented by an asymmetric KMS key. The key owner (or an authorized
|
|
2414
2425
|
* user) uses their private key to sign a message. Anyone with the public key can verify that the
|
|
@@ -2441,7 +2452,7 @@ export declare class KMS extends KMSClient {
|
|
|
2441
2452
|
* operation. Or use the <a>GetPublicKey</a> operation to download the public key and
|
|
2442
2453
|
* then use the public key to verify the signature outside of KMS. </p>
|
|
2443
2454
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
2444
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
2455
|
+
* 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>
|
|
2445
2456
|
* <p>
|
|
2446
2457
|
* <b>Cross-account use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
|
|
2447
2458
|
* the key ARN or alias ARN in the value of the <code>KeyId</code> parameter.</p>
|
|
@@ -2458,7 +2469,7 @@ export declare class KMS extends KMSClient {
|
|
|
2458
2469
|
/**
|
|
2459
2470
|
* <p>Adds or edits tags on a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a>.</p>
|
|
2460
2471
|
* <note>
|
|
2461
|
-
* <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">
|
|
2472
|
+
* <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 in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
2462
2473
|
* </note>
|
|
2463
2474
|
* <p>Each tag consists of a tag key and a tag value, both of which are case-sensitive strings.
|
|
2464
2475
|
* The tag value can be an empty (null) string. To add a tag, specify a new tag key and a tag
|
|
@@ -2473,7 +2484,7 @@ export declare class KMS extends KMSClient {
|
|
|
2473
2484
|
* tags, including the format and syntax, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services resources</a> in the <i>Amazon
|
|
2474
2485
|
* Web Services General Reference</i>. </p>
|
|
2475
2486
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
2476
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
2487
|
+
* 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>
|
|
2477
2488
|
* <p>
|
|
2478
2489
|
* <b>Cross-account use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account. </p>
|
|
2479
2490
|
*
|
|
@@ -2512,7 +2523,7 @@ export declare class KMS extends KMSClient {
|
|
|
2512
2523
|
* <p>Deletes tags from a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a>. To delete a tag,
|
|
2513
2524
|
* specify the tag key and the KMS key.</p>
|
|
2514
2525
|
* <note>
|
|
2515
|
-
* <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">
|
|
2526
|
+
* <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 in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
2516
2527
|
* </note>
|
|
2517
2528
|
* <p>When it succeeds, the <code>UntagResource</code> operation doesn't return any output.
|
|
2518
2529
|
* Also, if the specified tag key isn't found on the KMS key, it doesn't throw an exception or
|
|
@@ -2522,7 +2533,7 @@ export declare class KMS extends KMSClient {
|
|
|
2522
2533
|
* tags, including the format and syntax, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services resources</a> in the <i>Amazon
|
|
2523
2534
|
* Web Services General Reference</i>. </p>
|
|
2524
2535
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
2525
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
2536
|
+
* 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>
|
|
2526
2537
|
* <p>
|
|
2527
2538
|
* <b>Cross-account use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.</p>
|
|
2528
2539
|
*
|
|
@@ -2562,7 +2573,7 @@ export declare class KMS extends KMSClient {
|
|
|
2562
2573
|
* only one KMS key at a time, although a KMS key can have multiple aliases. The alias and the
|
|
2563
2574
|
* KMS key must be in the same Amazon Web Services account and Region.</p>
|
|
2564
2575
|
* <note>
|
|
2565
|
-
* <p>Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/abac.html">
|
|
2576
|
+
* <p>Adding, deleting, or updating an alias 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 in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
2566
2577
|
* </note>
|
|
2567
2578
|
* <p>The current and new KMS key must be the same type (both symmetric or both asymmetric), and
|
|
2568
2579
|
* they must have the same key usage (<code>ENCRYPT_DECRYPT</code> or <code>SIGN_VERIFY</code>).
|
|
@@ -2576,7 +2587,7 @@ export declare class KMS extends KMSClient {
|
|
|
2576
2587
|
* response from the <a>DescribeKey</a> operation. To get the aliases of all KMS keys
|
|
2577
2588
|
* in the account, use the <a>ListAliases</a> operation. </p>
|
|
2578
2589
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
2579
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
2590
|
+
* 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>
|
|
2580
2591
|
* <p>
|
|
2581
2592
|
* <b>Cross-account use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account. </p>
|
|
2582
2593
|
* <p>
|
|
@@ -2706,7 +2717,7 @@ export declare class KMS extends KMSClient {
|
|
|
2706
2717
|
/**
|
|
2707
2718
|
* <p>Updates the description of a KMS key. To see the description of a KMS key, use <a>DescribeKey</a>. </p>
|
|
2708
2719
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
2709
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
2720
|
+
* 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>
|
|
2710
2721
|
* <p>
|
|
2711
2722
|
* <b>Cross-account
|
|
2712
2723
|
* use</b>: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account. </p>
|
|
@@ -2743,7 +2754,7 @@ export declare class KMS extends KMSClient {
|
|
|
2743
2754
|
* <p>This operation supports <i>multi-Region keys</i>, an KMS feature that lets you create multiple
|
|
2744
2755
|
* interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key
|
|
2745
2756
|
* material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt
|
|
2746
|
-
* it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html">
|
|
2757
|
+
* it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html">Multi-Region keys in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
2747
2758
|
* <p>The <i>primary key</i> of a multi-Region key is the source for properties
|
|
2748
2759
|
* that are always shared by primary and replica keys, including the key material, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id">key ID</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-spec">key spec</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-usage">key usage</a>, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-origin">key material
|
|
2749
2760
|
* origin</a>, and <a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html">automatic
|
|
@@ -2763,8 +2774,7 @@ export declare class KMS extends KMSClient {
|
|
|
2763
2774
|
* update is complete. While the key state is <code>Updating</code>, you can use the keys in
|
|
2764
2775
|
* cryptographic operations, but you cannot replicate the new primary key or perform certain
|
|
2765
2776
|
* management operations, such as enabling or disabling these keys. For details about the
|
|
2766
|
-
* <code>Updating</code> key state, see <a href="kms/latest/developerguide/key-state.html">Key
|
|
2767
|
-
* Effect on your KMS key</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
2777
|
+
* <code>Updating</code> key state, 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>
|
|
2768
2778
|
* <p>This operation does not return any output. To verify that primary key is changed, use the
|
|
2769
2779
|
* <a>DescribeKey</a> operation.</p>
|
|
2770
2780
|
* <p>
|
|
@@ -2813,7 +2823,7 @@ export declare class KMS extends KMSClient {
|
|
|
2813
2823
|
* fails with an <code>KMSInvalidSignatureException</code> exception.</p>
|
|
2814
2824
|
* <p>A digital signature is generated by using the private key in an asymmetric KMS key. The
|
|
2815
2825
|
* signature is verified by using the public key in the same asymmetric KMS key.
|
|
2816
|
-
* For information about
|
|
2826
|
+
* For information about asymmetric KMS keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Asymmetric KMS keys</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
2817
2827
|
* <p>To verify a digital signature, you can use the <code>Verify</code> operation. Specify the
|
|
2818
2828
|
* same asymmetric KMS key, message, and signing algorithm that were used to produce the
|
|
2819
2829
|
* signature.</p>
|
|
@@ -2825,7 +2835,7 @@ export declare class KMS extends KMSClient {
|
|
|
2825
2835
|
* in CloudTrail, and you can use key policy and IAM policy to determine who is authorized to use
|
|
2826
2836
|
* the KMS key to verify signatures.</p>
|
|
2827
2837
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
2828
|
-
* details, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key
|
|
2838
|
+
* 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>
|
|
2829
2839
|
* <p>
|
|
2830
2840
|
* <b>Cross-account use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
|
|
2831
2841
|
* the key ARN or alias ARN in the value of the <code>KeyId</code> parameter. </p>
|
|
@@ -2839,4 +2849,31 @@ export declare class KMS extends KMSClient {
|
|
|
2839
2849
|
verify(args: VerifyCommandInput, options?: __HttpHandlerOptions): Promise<VerifyCommandOutput>;
|
|
2840
2850
|
verify(args: VerifyCommandInput, cb: (err: any, data?: VerifyCommandOutput) => void): void;
|
|
2841
2851
|
verify(args: VerifyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: VerifyCommandOutput) => void): void;
|
|
2852
|
+
/**
|
|
2853
|
+
* <p>Verifies the hash-based message authentication code (HMAC) for a specified message, HMAC
|
|
2854
|
+
* KMS key, and MAC algorithm. To verify the HMAC, <code>VerifyMac</code> computes an HMAC using
|
|
2855
|
+
* the message, HMAC KMS key, and MAC algorithm that you specify, and compares the computed HMAC
|
|
2856
|
+
* to the HMAC that you specify. If the HMACs are identical, the verification succeeds;
|
|
2857
|
+
* otherwise, it fails.</p>
|
|
2858
|
+
*
|
|
2859
|
+
* <p>Verification indicates that the message hasn't changed since the HMAC was calculated, and
|
|
2860
|
+
* the specified key was used to generate and verify the HMAC.</p>
|
|
2861
|
+
* <p>This operation is part of KMS support for HMAC KMS keys. For details, see
|
|
2862
|
+
* <a href="https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html">HMAC keys in KMS</a> in the <i>Key Management Service Developer Guide</i>.</p>
|
|
2863
|
+
*
|
|
2864
|
+
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
2865
|
+
* 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>
|
|
2866
|
+
* <p>
|
|
2867
|
+
* <b>Cross-account use</b>: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify
|
|
2868
|
+
* the key ARN or alias ARN in the value of the <code>KeyId</code> parameter. </p>
|
|
2869
|
+
*
|
|
2870
|
+
* <p>
|
|
2871
|
+
* <b>Required permissions</b>: <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html">kms:VerifyMac</a> (key policy)</p>
|
|
2872
|
+
* <p>
|
|
2873
|
+
* <b>Related operations</b>: <a>GenerateMac</a>
|
|
2874
|
+
* </p>
|
|
2875
|
+
*/
|
|
2876
|
+
verifyMac(args: VerifyMacCommandInput, options?: __HttpHandlerOptions): Promise<VerifyMacCommandOutput>;
|
|
2877
|
+
verifyMac(args: VerifyMacCommandInput, cb: (err: any, data?: VerifyMacCommandOutput) => void): void;
|
|
2878
|
+
verifyMac(args: VerifyMacCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: VerifyMacCommandOutput) => void): void;
|
|
2842
2879
|
}
|