@aws-sdk/client-kms 3.936.0 → 3.938.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/dist-cjs/index.js +1 -0
- package/dist-es/models/enums.js +1 -0
- package/dist-types/commands/DeleteImportedKeyMaterialCommand.d.ts +14 -0
- package/dist-types/commands/ImportKeyMaterialCommand.d.ts +30 -12
- package/dist-types/commands/ListKeyRotationsCommand.d.ts +1 -1
- package/dist-types/commands/RotateKeyOnDemandCommand.d.ts +6 -7
- package/dist-types/models/enums.d.ts +1 -0
- package/dist-types/models/models_0.d.ts +20 -11
- package/dist-types/ts3.4/models/enums.d.ts +1 -0
- package/package.json +1 -1
package/dist-cjs/index.js
CHANGED
|
@@ -3321,6 +3321,7 @@ const IncludeKeyMaterial = {
|
|
|
3321
3321
|
const KeyMaterialState = {
|
|
3322
3322
|
CURRENT: "CURRENT",
|
|
3323
3323
|
NON_CURRENT: "NON_CURRENT",
|
|
3324
|
+
PENDING_MULTI_REGION_IMPORT_AND_ROTATION: "PENDING_MULTI_REGION_IMPORT_AND_ROTATION",
|
|
3324
3325
|
PENDING_ROTATION: "PENDING_ROTATION",
|
|
3325
3326
|
};
|
|
3326
3327
|
const RotationType = {
|
package/dist-es/models/enums.js
CHANGED
|
@@ -197,6 +197,7 @@ export const IncludeKeyMaterial = {
|
|
|
197
197
|
export const KeyMaterialState = {
|
|
198
198
|
CURRENT: "CURRENT",
|
|
199
199
|
NON_CURRENT: "NON_CURRENT",
|
|
200
|
+
PENDING_MULTI_REGION_IMPORT_AND_ROTATION: "PENDING_MULTI_REGION_IMPORT_AND_ROTATION",
|
|
200
201
|
PENDING_ROTATION: "PENDING_ROTATION",
|
|
201
202
|
};
|
|
202
203
|
export const RotationType = {
|
|
@@ -34,6 +34,20 @@ declare const DeleteImportedKeyMaterialCommand_base: {
|
|
|
34
34
|
* <p>When the specified KMS key is in the <code>PendingDeletion</code> state, this operation
|
|
35
35
|
* does not change the KMS key's state. Otherwise, it changes the KMS key's state to
|
|
36
36
|
* <code>PendingImport</code>.</p>
|
|
37
|
+
* <p class="title">
|
|
38
|
+
* <b>Considerations for multi-Region symmetric encryption keys</b>
|
|
39
|
+
* </p>
|
|
40
|
+
* <ul>
|
|
41
|
+
* <li>
|
|
42
|
+
* <p>When you delete the key material of a primary Region key that is in
|
|
43
|
+
* <code>PENDING_ROTATION</code> or <code>PENDING_MULTI_REGION_IMPORT_AND_ROTATION</code>state,
|
|
44
|
+
* you'll also be deleting the key materials for the replica Region keys.</p>
|
|
45
|
+
* </li>
|
|
46
|
+
* <li>
|
|
47
|
+
* <p>If you delete any key material of a replica Region key, the primary Region key and
|
|
48
|
+
* other replica Region keys remain unchanged.</p>
|
|
49
|
+
* </li>
|
|
50
|
+
* </ul>
|
|
37
51
|
* <p>The KMS key that you use for this operation must be in a compatible key state. For
|
|
38
52
|
* 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>
|
|
39
53
|
* <p>
|
|
@@ -34,9 +34,28 @@ declare const ImportKeyMaterialCommand_base: {
|
|
|
34
34
|
* generate and import your own key material. For more information about importing key material,
|
|
35
35
|
* see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">Importing key
|
|
36
36
|
* material</a>.</p>
|
|
37
|
-
* <p>For asymmetric
|
|
38
|
-
*
|
|
39
|
-
*
|
|
37
|
+
* <p>For asymmetric and HMAC keys, you cannot change the key material after the initial import.
|
|
38
|
+
* You can import multiple key materials into symmetric encryption keys and rotate the key
|
|
39
|
+
* material on demand using <code>RotateKeyOnDemand</code>.</p>
|
|
40
|
+
* <p>You can import new key materials into multi-Region symmetric encryption keys. To do so, you must
|
|
41
|
+
* import the new key material into the primary Region key. Then you can import the same key
|
|
42
|
+
* materials into the replica Region keys. You cannot directly import new key material into
|
|
43
|
+
* the replica Region keys.</p>
|
|
44
|
+
* <p>To import new key material for a multi-Region symmetric key, you’ll need to complete the
|
|
45
|
+
* following:</p>
|
|
46
|
+
* <ol>
|
|
47
|
+
* <li>
|
|
48
|
+
* <p>Call <code>ImportKeyMaterial</code> on the primary Region key with the
|
|
49
|
+
* <code>ImportType</code>set to <code>NEW_KEY_MATERIAL</code>.</p>
|
|
50
|
+
* </li>
|
|
51
|
+
* <li>
|
|
52
|
+
* <p>Call <code>ImportKeyMaterial</code> on the replica Region key with the
|
|
53
|
+
* <code>ImportType</code> set to <code>EXISTING_KEY_MATERIAL</code> using the same key
|
|
54
|
+
* material imported to the primary Region key. You must do this for every replica
|
|
55
|
+
* Region key before you can perform the <a>RotateKeyOnDemand</a> operation
|
|
56
|
+
* on the primary Region key.</p>
|
|
57
|
+
* </li>
|
|
58
|
+
* </ol>
|
|
40
59
|
* <p>After you import key material, you can <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#reimport-key-material">reimport
|
|
41
60
|
* the same key material</a> into that KMS key or, if the key supports on-demand rotation,
|
|
42
61
|
* import new key material. You can use the <code>ImportType</code> parameter to indicate whether
|
|
@@ -68,15 +87,15 @@ declare const ImportKeyMaterialCommand_base: {
|
|
|
68
87
|
* your key material.</p>
|
|
69
88
|
* </li>
|
|
70
89
|
* </ul>
|
|
71
|
-
* <p>
|
|
90
|
+
* <p>Then, in an <code>ImportKeyMaterial</code> request, you submit your encrypted key
|
|
72
91
|
* material and import token. When calling this operation, you must specify the following
|
|
73
92
|
* values:</p>
|
|
74
93
|
* <ul>
|
|
75
94
|
* <li>
|
|
76
95
|
* <p>The key ID or key ARN of the KMS key to associate with the imported key material. Its
|
|
77
96
|
* <code>Origin</code> must be <code>EXTERNAL</code> and its <code>KeyState</code> must be
|
|
78
|
-
* <code>PendingImport</code>. You cannot perform this operation on
|
|
79
|
-
*
|
|
97
|
+
* <code>PendingImport</code> or <code>Enabled</code>. You cannot perform this operation on
|
|
98
|
+
* a KMS key in a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html">custom key store</a>, or on a KMS key in a different Amazon Web Services account. To get the
|
|
80
99
|
* <code>Origin</code> and <code>KeyState</code> of a KMS key, call <a>DescribeKey</a>.</p>
|
|
81
100
|
* </li>
|
|
82
101
|
* <li>
|
|
@@ -96,12 +115,11 @@ declare const ImportKeyMaterialCommand_base: {
|
|
|
96
115
|
* time you reimport, you can eliminate or reset the expiration time.</p>
|
|
97
116
|
* </li>
|
|
98
117
|
* </ul>
|
|
99
|
-
* <p>When this operation is successful, the
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
* import state of each key material associated with a KMS key.</p>
|
|
118
|
+
* <p>When this operation is successful, the state of the KMS key changes to <code>Enabled</code>,
|
|
119
|
+
* and you can use the KMS key in cryptographic operations. For symmetric encryption keys, you will
|
|
120
|
+
* need to import all of the key materials associated with the KMS key to change its state to
|
|
121
|
+
* <code>Enabled</code>. Use the <code>ListKeyRotations</code> operation to list the ID and import
|
|
122
|
+
* state of each key material associated with a KMS key.</p>
|
|
105
123
|
* <p>If this operation fails, use the exception to help determine the problem. If the error is
|
|
106
124
|
* related to the key material, the import token, or wrapping key, use <a>GetParametersForImport</a> to get a new public key and import token for the KMS key
|
|
107
125
|
* and repeat the import procedure. For help, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-conceptual.html">Create a KMS key with imported key
|
|
@@ -99,7 +99,7 @@ declare const ListKeyRotationsCommand_base: {
|
|
|
99
99
|
* // KeyMaterialId: "STRING_VALUE",
|
|
100
100
|
* // KeyMaterialDescription: "STRING_VALUE",
|
|
101
101
|
* // ImportState: "IMPORTED" || "PENDING_IMPORT",
|
|
102
|
-
* // KeyMaterialState: "NON_CURRENT" || "CURRENT" || "PENDING_ROTATION",
|
|
102
|
+
* // KeyMaterialState: "NON_CURRENT" || "CURRENT" || "PENDING_ROTATION" || "PENDING_MULTI_REGION_IMPORT_AND_ROTATION",
|
|
103
103
|
* // ExpirationModel: "KEY_MATERIAL_EXPIRES" || "KEY_MATERIAL_DOES_NOT_EXPIRE",
|
|
104
104
|
* // ValidTo: new Date("TIMESTAMP"),
|
|
105
105
|
* // RotationDate: new Date("TIMESTAMP"),
|
|
@@ -46,15 +46,14 @@ declare const RotateKeyOnDemandCommand_base: {
|
|
|
46
46
|
* on-demand rotations were performed. You can monitor rotation of the key material for your KMS
|
|
47
47
|
* keys in CloudTrail and Amazon CloudWatch.</p>
|
|
48
48
|
* <p>On-demand key rotation is supported only on symmetric encryption KMS keys. You cannot
|
|
49
|
-
* perform on-demand 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>,
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* rotation on a symmetric encryption KMS key with imported key material, you must have already
|
|
53
|
-
* imported <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html">new key material</a> and that
|
|
49
|
+
* perform on-demand 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>, or KMS keys in a
|
|
50
|
+
* <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html">custom key store</a>. When you initiate on-demand key rotation on a symmetric encryption KMS key
|
|
51
|
+
* with imported key material, you must have already imported <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html">new key material</a> and that
|
|
54
52
|
* key material's state should be <code>PENDING_ROTATION</code>. Use the
|
|
55
53
|
* <code>ListKeyRotations</code> operation to check the state of all key materials associated
|
|
56
|
-
* with a KMS key. To perform on-demand rotation of a set of related <a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate">multi-Region keys</a>,
|
|
57
|
-
*
|
|
54
|
+
* with a KMS key. To perform on-demand rotation of a set of related <a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate">multi-Region keys</a>, import
|
|
55
|
+
* new key material in the primary Region key, import the same key material in each replica
|
|
56
|
+
* Region key, and invoke the on-demand rotation on the primary Region key.</p>
|
|
58
57
|
* <p>You cannot initiate on-demand rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key">Amazon Web Services managed KMS keys</a>. KMS
|
|
59
58
|
* always rotates the key material of Amazon Web Services managed keys every year. Rotation of <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-key">Amazon Web Services owned KMS
|
|
60
59
|
* keys</a> is managed by the Amazon Web Services service that owns the key.</p>
|
|
@@ -401,6 +401,7 @@ export type IncludeKeyMaterial = (typeof IncludeKeyMaterial)[keyof typeof Includ
|
|
|
401
401
|
export declare const KeyMaterialState: {
|
|
402
402
|
readonly CURRENT: "CURRENT";
|
|
403
403
|
readonly NON_CURRENT: "NON_CURRENT";
|
|
404
|
+
readonly PENDING_MULTI_REGION_IMPORT_AND_ROTATION: "PENDING_MULTI_REGION_IMPORT_AND_ROTATION";
|
|
404
405
|
readonly PENDING_ROTATION: "PENDING_ROTATION";
|
|
405
406
|
};
|
|
406
407
|
/**
|
|
@@ -1181,11 +1181,10 @@ export interface KeyMetadata {
|
|
|
1181
1181
|
XksKeyConfiguration?: XksKeyConfigurationType | undefined;
|
|
1182
1182
|
/**
|
|
1183
1183
|
* <p>Identifies the current key material. This value is present for symmetric encryption keys
|
|
1184
|
-
* with <code>AWS_KMS</code>
|
|
1185
|
-
*
|
|
1186
|
-
*
|
|
1187
|
-
*
|
|
1188
|
-
* only.</p>
|
|
1184
|
+
* with <code>AWS_KMS</code> or <code>EXTERNAL</code> origin. These KMS keys support automatic
|
|
1185
|
+
* or on-demand key rotation and can have multiple key materials associated with them. KMS uses
|
|
1186
|
+
* the current key material for both encryption and decryption, and the non-current key material
|
|
1187
|
+
* for decryption operations only.</p>
|
|
1189
1188
|
* @public
|
|
1190
1189
|
*/
|
|
1191
1190
|
CurrentKeyMaterialId?: string | undefined;
|
|
@@ -3229,6 +3228,10 @@ export interface ImportKeyMaterialRequest {
|
|
|
3229
3228
|
* parameter defaults to <code>NEW_KEY_MATERIAL</code>. After the first key material is imported,
|
|
3230
3229
|
* if this parameter is omitted then the parameter defaults to
|
|
3231
3230
|
* <code>EXISTING_KEY_MATERIAL</code>.</p>
|
|
3231
|
+
* <p>For multi-Region keys, you must first import new key material into
|
|
3232
|
+
* the primary Region key. You should use the <code>NEW_KEY_MATERIAL</code> import type when importing key
|
|
3233
|
+
* material into the primary Region key. Then, you can import the same key material into the replica Region
|
|
3234
|
+
* key. The import type for the replica Region key should be <code>EXISTING_KEY_MATERIAL</code>.</p>
|
|
3232
3235
|
* @public
|
|
3233
3236
|
*/
|
|
3234
3237
|
ImportType?: ImportType | undefined;
|
|
@@ -3580,14 +3583,20 @@ export interface RotationsListEntry {
|
|
|
3580
3583
|
*/
|
|
3581
3584
|
ImportState?: ImportState | undefined;
|
|
3582
3585
|
/**
|
|
3583
|
-
* <p>There are
|
|
3584
|
-
* <code>NON_CURRENT</code
|
|
3586
|
+
* <p>There are four possible values for this field: <code>CURRENT</code>,
|
|
3587
|
+
* <code>NON_CURRENT</code>, <code>PENDING_MULTI_REGION_IMPORT_AND_ROTATION</code> and
|
|
3588
|
+
* <code>PENDING_ROTATION</code>. KMS uses <code>CURRENT</code>
|
|
3585
3589
|
* key material for both encryption and decryption and <code>NON_CURRENT</code> key material only
|
|
3586
3590
|
* for decryption. <code>PENDING_ROTATION</code> identifies key material that has been imported
|
|
3587
|
-
* for on-demand key rotation but the rotation hasn't completed.
|
|
3588
|
-
*
|
|
3589
|
-
*
|
|
3590
|
-
*
|
|
3591
|
+
* for on-demand key rotation but the rotation hasn't completed. The key material state
|
|
3592
|
+
* <code>PENDING_MULTI_REGION_IMPORT_AND_ROTATION</code> is unique to multi-region,
|
|
3593
|
+
* symmetric encryption keys with imported key material. It indicates key material that has
|
|
3594
|
+
* been imported into the primary Region key but not all of the replica Region keys. When this key material
|
|
3595
|
+
* is imported in to all of the replica Region keys, the key material state will change to
|
|
3596
|
+
* <code>PENDING_ROTATION</code>. Key material in <code>PENDING_MULTI_REGION_IMPORT_AND_ROTATION</code>
|
|
3597
|
+
* or <code>PENDING_ROTATION</code> state is not permanently associated with the KMS key. You can delete
|
|
3598
|
+
* this key material and import different key material in its place. The <code>PENDING_MULTI_REGION_IMPORT_AND_ROTATION</code>
|
|
3599
|
+
* and <code>PENDING_ROTATION</code> values are only used in symmetric encryption keys with imported
|
|
3591
3600
|
* key material. The other values, <code>CURRENT</code> and <code>NON_CURRENT</code>, are used
|
|
3592
3601
|
* for all KMS keys that support automatic or on-demand key rotation.</p>
|
|
3593
3602
|
* @public
|
|
@@ -239,6 +239,7 @@ export type IncludeKeyMaterial =
|
|
|
239
239
|
export declare const KeyMaterialState: {
|
|
240
240
|
readonly CURRENT: "CURRENT";
|
|
241
241
|
readonly NON_CURRENT: "NON_CURRENT";
|
|
242
|
+
readonly PENDING_MULTI_REGION_IMPORT_AND_ROTATION: "PENDING_MULTI_REGION_IMPORT_AND_ROTATION";
|
|
242
243
|
readonly PENDING_ROTATION: "PENDING_ROTATION";
|
|
243
244
|
};
|
|
244
245
|
export type KeyMaterialState =
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/client-kms",
|
|
3
3
|
"description": "AWS SDK for JavaScript Kms Client for Node.js, Browser and React Native",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.938.0",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
|
|
7
7
|
"build:cjs": "node ../../scripts/compilation/inline client-kms",
|