@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 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 = {
@@ -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, HMAC and multi-Region keys, you cannot change the key material after the
38
- * initial import. You can import multiple key materials into single-Region, symmetric encryption
39
- * keys and rotate the key material on demand using <code>RotateKeyOnDemand</code>.</p>
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> Then, in an <code>ImportKeyMaterial</code> request, you submit your encrypted key
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 a KMS key in a
79
- * <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
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 key state of the KMS key changes from
100
- * <code>PendingImport</code> to <code>Enabled</code>, and you can use the KMS key in
101
- * cryptographic operations. For single-Region, symmetric encryption keys, you will need to
102
- * import all of the key materials associated with the KMS key to change its state to
103
- * <code>Enabled</code>. Use the <code>ListKeyRotations</code> operation to list the ID and
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>, multi-Region KMS
50
- * keys with <a href="https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html">imported key
51
- * material</a>, or KMS keys in a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html">custom key store</a>. When you initiate on-demand key
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>, invoke
57
- * the on-demand rotation on the primary key.</p>
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> origin and single-Region, symmetric encryption keys with
1185
- * <code>EXTERNAL</code> origin. These KMS keys support automatic or on-demand key rotation and
1186
- * can have multiple key materials associated with them. KMS uses the current key material for
1187
- * both encryption and decryption, and the non-current key material for decryption operations
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 three possible values for this field: <code>CURRENT</code>,
3584
- * <code>NON_CURRENT</code> and <code>PENDING_ROTATION</code>. KMS uses <code>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. Key material in
3588
- * <code>PENDING_ROTATION</code> is not permanently associated with the KMS key. You can delete
3589
- * this key material and import different key material in its place. The
3590
- * <code>PENDING_ROTATION</code> value is only used in symmetric encryption keys with imported
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.936.0",
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",