aws-sdk-kms 1.56.0 → 1.57.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8a4308839828addc7c0ecbb80cd42c253dbda3a4677b6a638707d8a08631c07f
4
- data.tar.gz: 51919a5b9374ffc0deefb296ef62397d687ad14f0f62294f57ad042522728feb
3
+ metadata.gz: 7203f86fe4816d6cdebd5e9efbaeedd822038a442d94fc07018b12c4a76ec206
4
+ data.tar.gz: bf7605dec77147045b10521260c010744b0cec277c9341994258d0674f32db7d
5
5
  SHA512:
6
- metadata.gz: 63dc796c1abe3444a4dddd64e210fb459cc7bdc05294e9ffb3caa648b75355750674106bb749575ad64570adf760a0a56f0a0009e266306729b4153701e2ba34
7
- data.tar.gz: 2cf2b32d020d82416dd0ea74c69c86ad06646bb6b3364b96c7345bed9b3827c526901b4086da704e9c2553add7c7a5179c05ed6312d83834913b0f95f7184856
6
+ metadata.gz: 7430655554202c7814bad610674215312299285d64286d5396021a0009b28efb2e76da34e22e4d305c395e46a1b890837129e2aeb7dfac17ca4a30c10bd4c1f3
7
+ data.tar.gz: 85f47a5f001383c054b128094065c9d74550d8a67f7e499ebec180d789bf9f07143173fa40c65974c68b4fcdb8f7238320315af972621de6b4fa6d9e92a6b686
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.57.0 (2022-05-17)
5
+ ------------------
6
+
7
+ * Feature - Add HMAC best practice tip, annual rotation of AWS managed keys.
8
+
4
9
  1.56.0 (2022-04-19)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.56.0
1
+ 1.57.0
@@ -1102,11 +1102,11 @@ module Aws::KMS
1102
1102
  #
1103
1103
  # Asymmetric KMS keys contain an RSA key pair or an Elliptic Curve
1104
1104
  # (ECC) key pair. The private key in an asymmetric KMS key never
1105
- # leaves AWS KMS unencrypted. However, you can use the GetPublicKey
1105
+ # leaves KMS unencrypted. However, you can use the GetPublicKey
1106
1106
  # operation to download the public key so it can be used outside of
1107
- # AWS KMS. KMS keys with RSA key pairs can be used to encrypt or
1108
- # decrypt data or sign and verify messages (but not both). KMS keys
1109
- # with ECC key pairs can be used only to sign and verify messages. For
1107
+ # KMS. KMS keys with RSA key pairs can be used to encrypt or decrypt
1108
+ # data or sign and verify messages (but not both). KMS keys with ECC
1109
+ # key pairs can be used only to sign and verify messages. For
1110
1110
  # information about asymmetric KMS keys, see [Asymmetric KMS keys][2]
1111
1111
  # in the *Key Management Service Developer Guide*.
1112
1112
  #
@@ -1230,16 +1230,19 @@ module Aws::KMS
1230
1230
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policy-example-create-key
1231
1231
  #
1232
1232
  # @option params [String] :policy
1233
- # The key policy to attach to the KMS key.
1233
+ # The key policy to attach to the KMS key. If you do not specify a key
1234
+ # policy, KMS attaches a default key policy to the KMS key. For more
1235
+ # information, see [Default key policy][1] in the *Key Management
1236
+ # Service Developer Guide*.
1234
1237
  #
1235
1238
  # If you provide a key policy, it must meet the following criteria:
1236
1239
  #
1237
- # * If you don't set `BypassPolicyLockoutSafetyCheck` to true, the key
1238
- # policy must allow the principal that is making the `CreateKey`
1240
+ # * If you don't set `BypassPolicyLockoutSafetyCheck` to `True`, the
1241
+ # key policy must allow the principal that is making the `CreateKey`
1239
1242
  # request to make a subsequent PutKeyPolicy request on the KMS key.
1240
1243
  # This reduces the risk that the KMS key becomes unmanageable. For
1241
1244
  # more information, refer to the scenario in the [Default Key
1242
- # Policy][1] section of the <i> <i>Key Management Service Developer
1245
+ # Policy][2] section of the <i> <i>Key Management Service Developer
1243
1246
  # Guide</i> </i>.
1244
1247
  #
1245
1248
  # * Each statement in the key policy must contain one or more
@@ -1249,14 +1252,23 @@ module Aws::KMS
1249
1252
  # delay before including the new principal in a key policy because the
1250
1253
  # new principal might not be immediately visible to KMS. For more
1251
1254
  # information, see [Changes that I make are not always immediately
1252
- # visible][2] in the *Amazon Web Services Identity and Access
1255
+ # visible][3] in the *Amazon Web Services Identity and Access
1253
1256
  # Management User Guide*.
1254
1257
  #
1255
- # If you do not provide a key policy, KMS attaches a default key policy
1256
- # to the KMS key. For more information, see [Default Key Policy][3] in
1257
- # the *Key Management Service Developer Guide*.
1258
+ # A key policy document must conform to the following rules.
1258
1259
  #
1259
- # The key policy size quota is 32 kilobytes (32768 bytes).
1260
+ # * Up to 32 kilobytes (32768 bytes)
1261
+ #
1262
+ # * Must be UTF-8 encoded
1263
+ #
1264
+ # * The only Unicode characters that are permitted in a key policy
1265
+ # document are the horizontal tab (U+0009), linefeed (U+000A),
1266
+ # carriage return (U+000D), and characters in the range U+0020 to
1267
+ # U+00FF.
1268
+ #
1269
+ # * The `Sid` element in a key policy statement can include spaces.
1270
+ # (Spaces are prohibited in the `Sid` element of an IAM policy
1271
+ # document.)
1260
1272
  #
1261
1273
  # For help writing and formatting a JSON policy document, see the [IAM
1262
1274
  # JSON Policy Reference][4] in the <i> <i>Identity and Access Management
@@ -1264,9 +1276,9 @@ module Aws::KMS
1264
1276
  #
1265
1277
  #
1266
1278
  #
1267
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
1268
- # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
1269
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
1279
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
1280
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
1281
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
1270
1282
  # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
1271
1283
  #
1272
1284
  # @option params [String] :description
@@ -1319,13 +1331,13 @@ module Aws::KMS
1319
1331
  # Service Developer Guide</i> </i>.
1320
1332
  #
1321
1333
  # The `KeySpec` determines whether the KMS key contains a symmetric key
1322
- # or an asymmetric key pair. It also determines the algorithms that the
1323
- # KMS key supports. You can't change the `KeySpec` after the KMS key is
1324
- # created. To further restrict the algorithms that can be used with the
1325
- # KMS key, use a condition key in its key policy or IAM policy. For more
1326
- # information, see [kms:EncryptionAlgorithm][2], [kms:MacAlgorithm][3]
1327
- # or [kms:Signing Algorithm][4] in the <i> <i>Key Management Service
1328
- # Developer Guide</i> </i>.
1334
+ # or an asymmetric key pair. It also determines the cryptographic
1335
+ # algorithms that the KMS key supports. You can't change the `KeySpec`
1336
+ # after the KMS key is created. To further restrict the algorithms that
1337
+ # can be used with the KMS key, use a condition key in its key policy or
1338
+ # IAM policy. For more information, see [kms:EncryptionAlgorithm][2],
1339
+ # [kms:MacAlgorithm][3] or [kms:Signing Algorithm][4] in the <i> <i>Key
1340
+ # Management Service Developer Guide</i> </i>.
1329
1341
  #
1330
1342
  # [Amazon Web Services services that are integrated with KMS][5] use
1331
1343
  # symmetric encryption KMS keys to protect your data. These services do
@@ -1501,9 +1513,10 @@ module Aws::KMS
1501
1513
  # This value creates a *primary key*, not a replica. To create a
1502
1514
  # *replica key*, use the ReplicateKey operation.
1503
1515
  #
1504
- # You can create a symmetric or asymmetric multi-Region key, and you can
1505
- # create a multi-Region key with imported key material. However, you
1506
- # cannot create a multi-Region key in a custom key store.
1516
+ # You can create a multi-Region version of a symmetric encryption KMS
1517
+ # key, an HMAC KMS key, an asymmetric KMS key, or a KMS key with
1518
+ # imported key material. However, you cannot create a multi-Region key
1519
+ # in a custom key store.
1507
1520
  #
1508
1521
  #
1509
1522
  #
@@ -1833,10 +1846,10 @@ module Aws::KMS
1833
1846
  #
1834
1847
  # The `Decrypt` operation also decrypts ciphertext that was encrypted
1835
1848
  # outside of KMS by the public key in an KMS asymmetric KMS key.
1836
- # However, it cannot decrypt symmetric ciphertext produced by other
1837
- # libraries, such as the [Amazon Web Services Encryption SDK][2] or
1838
- # [Amazon S3 client-side encryption][3]. These libraries return a
1839
- # ciphertext format that is incompatible with KMS.
1849
+ # However, it cannot decrypt ciphertext produced by other libraries,
1850
+ # such as the [Amazon Web Services Encryption SDK][2] or [Amazon S3
1851
+ # client-side encryption][3]. These libraries return a ciphertext format
1852
+ # that is incompatible with KMS.
1840
1853
  #
1841
1854
  # If the ciphertext was encrypted under a symmetric encryption KMS key,
1842
1855
  # the `KeyId` parameter is optional. KMS can get this information from
@@ -2802,23 +2815,37 @@ module Aws::KMS
2802
2815
  req.send_request(options)
2803
2816
  end
2804
2817
 
2805
- # Disables [automatic rotation of the key material][1] for the specified
2818
+ # Disables [automatic rotation of the key material][1] of the specified
2806
2819
  # symmetric encryption KMS key.
2807
2820
  #
2808
- # You cannot enable automatic rotation of [asymmetric KMS keys][2],
2809
- # [HMAC KMS keys][3], KMS keys with [imported key material][4], or KMS
2810
- # keys in a [custom key store][5]. To enable or disable automatic
2811
- # rotation of a set of related [multi-Region keys][6], set the property
2812
- # on the primary key.
2821
+ # Automatic key rotation is supported only on symmetric encryption KMS
2822
+ # keys. You cannot enable or disable automatic rotation of [asymmetric
2823
+ # KMS keys][2], [HMAC KMS keys][3], KMS keys with [imported key
2824
+ # material][4], or KMS keys in a [custom key store][5]. The key rotation
2825
+ # status of these KMS keys is always `false`. To enable or disable
2826
+ # automatic rotation of a set of related [multi-Region keys][6], set the
2827
+ # property on the primary key.
2828
+ #
2829
+ # You can enable (EnableKeyRotation) and disable automatic rotation of
2830
+ # the key material in [customer managed KMS keys][7]. Key material
2831
+ # rotation of [Amazon Web Services managed KMS keys][8] is not
2832
+ # configurable. KMS always rotates the key material for every year.
2833
+ # Rotation of [Amazon Web Services owned KMS keys][9] varies.
2834
+ #
2835
+ # <note markdown="1"> In May 2022, KMS changed the rotation schedule for Amazon Web Services
2836
+ # managed keys from every three years to every year. For details, see
2837
+ # EnableKeyRotation.
2838
+ #
2839
+ # </note>
2813
2840
  #
2814
2841
  # The KMS key that you use for this operation must be in a compatible
2815
- # key state. For details, see [Key states of KMS keys][7] in the *Key
2842
+ # key state. For details, see [Key states of KMS keys][10] in the *Key
2816
2843
  # Management Service Developer Guide*.
2817
2844
  #
2818
2845
  # **Cross-account use**\: No. You cannot perform this operation on a KMS
2819
2846
  # key in a different Amazon Web Services account.
2820
2847
  #
2821
- # **Required permissions**\: [kms:DisableKeyRotation][8] (key policy)
2848
+ # **Required permissions**\: [kms:DisableKeyRotation][11] (key policy)
2822
2849
  #
2823
2850
  # **Related operations:**
2824
2851
  #
@@ -2834,8 +2861,11 @@ module Aws::KMS
2834
2861
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
2835
2862
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
2836
2863
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
2837
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2838
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2864
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
2865
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
2866
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
2867
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2868
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2839
2869
  #
2840
2870
  # @option params [required, String] :key_id
2841
2871
  # Identifies a symmetric encryption KMS key. You cannot enable or
@@ -3035,23 +3065,49 @@ module Aws::KMS
3035
3065
  req.send_request(options)
3036
3066
  end
3037
3067
 
3038
- # Enables [automatic rotation of the key material][1] for the specified
3068
+ # Enables [automatic rotation of the key material][1] of the specified
3039
3069
  # symmetric encryption KMS key.
3040
3070
  #
3041
- # You cannot enable automatic rotation of [asymmetric KMS keys][2],
3042
- # [HMAC KMS keys][3], KMS keys with [imported key material][4], or KMS
3043
- # keys in a [custom key store][5]. To enable or disable automatic
3044
- # rotation of a set of related [multi-Region keys][6], set the property
3045
- # on the primary key.
3071
+ # When you enable automatic rotation of a[customer managed KMS key][2],
3072
+ # KMS rotates the key material of the KMS key one year (approximately
3073
+ # 365 days) from the enable date and every year thereafter. You can
3074
+ # monitor rotation of the key material for your KMS keys in CloudTrail
3075
+ # and Amazon CloudWatch. To disable rotation of the key material in a
3076
+ # customer managed KMS key, use the DisableKeyRotation operation.
3077
+ #
3078
+ # Automatic key rotation is supported only on [symmetric encryption KMS
3079
+ # keys][3]. You cannot enable or disable automatic rotation of
3080
+ # [asymmetric KMS keys][4], [HMAC KMS keys][5], KMS keys with [imported
3081
+ # key material][6], or KMS keys in a [custom key store][7]. The key
3082
+ # rotation status of these KMS keys is always `false`. To enable or
3083
+ # disable automatic rotation of a set of related [multi-Region keys][8],
3084
+ # set the property on the primary key.
3085
+ #
3086
+ # You cannot enable or disable automatic rotation [Amazon Web Services
3087
+ # managed KMS keys][9]. KMS always rotates the key material of Amazon
3088
+ # Web Services managed keys every year. Rotation of [Amazon Web Services
3089
+ # owned KMS keys][10] varies.
3090
+ #
3091
+ # <note markdown="1"> In May 2022, KMS changed the rotation schedule for Amazon Web Services
3092
+ # managed keys from every three years (approximately 1,095 days) to
3093
+ # every year (approximately 365 days).
3094
+ #
3095
+ # New Amazon Web Services managed keys are automatically rotated one
3096
+ # year after they are created, and approximately every year thereafter.
3097
+ #
3098
+ # Existing Amazon Web Services managed keys are automatically rotated
3099
+ # one year after their most recent rotation, and every year thereafter.
3100
+ #
3101
+ # </note>
3046
3102
  #
3047
3103
  # The KMS key that you use for this operation must be in a compatible
3048
- # key state. For details, see [Key states of KMS keys][7] in the *Key
3104
+ # key state. For details, see [Key states of KMS keys][11] in the *Key
3049
3105
  # Management Service Developer Guide*.
3050
3106
  #
3051
3107
  # **Cross-account use**\: No. You cannot perform this operation on a KMS
3052
3108
  # key in a different Amazon Web Services account.
3053
3109
  #
3054
- # **Required permissions**\: [kms:EnableKeyRotation][8] (key policy)
3110
+ # **Required permissions**\: [kms:EnableKeyRotation][12] (key policy)
3055
3111
  #
3056
3112
  # **Related operations:**
3057
3113
  #
@@ -3062,20 +3118,25 @@ module Aws::KMS
3062
3118
  #
3063
3119
  #
3064
3120
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
3065
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
3066
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
3067
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
3068
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
3069
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
3070
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3071
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3121
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
3122
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks
3123
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
3124
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
3125
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
3126
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
3127
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
3128
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
3129
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
3130
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3131
+ # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3072
3132
  #
3073
3133
  # @option params [required, String] :key_id
3074
- # Identifies a symmetric encryption KMS key. You cannot enable automatic
3075
- # rotation of [asymmetric KMS keys][1], [HMAC KMS keys][2], KMS keys
3076
- # with [imported key material][3], or KMS keys in a [custom key
3077
- # store][4]. To enable or disable automatic rotation of a set of related
3078
- # [multi-Region keys][5], set the property on the primary key.
3134
+ # Identifies a symmetric encryption KMS key. You cannot enable or
3135
+ # disable automatic rotation of [asymmetric KMS keys][1], [HMAC KMS
3136
+ # keys][2], KMS keys with [imported key material][3], or KMS keys in a
3137
+ # [custom key store][4]. The key rotation status of these KMS keys is
3138
+ # always `false`. To enable or disable automatic rotation of a set of
3139
+ # related [multi-Region keys][5], set the property on the primary key.
3079
3140
  #
3080
3141
  # Specify the key ID or key ARN of the KMS key.
3081
3142
  #
@@ -3948,16 +4009,17 @@ module Aws::KMS
3948
4009
  #
3949
4010
  # This operation is useful for systems that need to encrypt data at some
3950
4011
  # point, but not immediately. When you need to encrypt the data, you
3951
- # call the Decrypt operation on the encrypted copy of the key. It's
3952
- # also useful in distributed systems with different levels of trust. For
3953
- # example, you might store encrypted data in containers. One component
3954
- # of your system creates new containers and stores an encrypted data key
3955
- # with each container. Then, a different component puts the data into
3956
- # the containers. That component first decrypts the data key, uses the
3957
- # plaintext data key to encrypt data, puts the encrypted data into the
3958
- # container, and then destroys the plaintext data key. In this system,
3959
- # the component that creates the containers never sees the plaintext
3960
- # data key.
4012
+ # call the Decrypt operation on the encrypted copy of the key.
4013
+ #
4014
+ # It's also useful in distributed systems with different levels of
4015
+ # trust. For example, you might store encrypted data in containers. One
4016
+ # component of your system creates new containers and stores an
4017
+ # encrypted data key with each container. Then, a different component
4018
+ # puts the data into the containers. That component first decrypts the
4019
+ # data key, uses the plaintext data key to encrypt data, puts the
4020
+ # encrypted data into the container, and then destroys the plaintext
4021
+ # data key. In this system, the component that creates the containers
4022
+ # never sees the plaintext data key.
3961
4023
  #
3962
4024
  # To request an asymmetric data key pair, use the GenerateDataKeyPair or
3963
4025
  # GenerateDataKeyPairWithoutPlaintext operations.
@@ -4135,6 +4197,15 @@ module Aws::KMS
4135
4197
  # see [HMAC keys in KMS][2] in the <i> <i>Key Management Service
4136
4198
  # Developer Guide</i> </i>.
4137
4199
  #
4200
+ # <note markdown="1"> Best practices recommend that you limit the time during which any
4201
+ # signing mechanism, including an HMAC, is effective. This deters an
4202
+ # attack where the actor uses a signed message to establish validity
4203
+ # repeatedly or long after the message is superseded. HMAC tags do not
4204
+ # include a timestamp, but you can include a timestamp in the token or
4205
+ # message to help you detect when its time to refresh the HMAC.
4206
+ #
4207
+ # </note>
4208
+ #
4138
4209
  # The KMS key that you use for this operation must be in a compatible
4139
4210
  # key state. For details, see [Key states of KMS keys][3] in the *Key
4140
4211
  # Management Service Developer Guide*.
@@ -4391,31 +4462,56 @@ module Aws::KMS
4391
4462
  # Gets a Boolean value that indicates whether [automatic rotation of the
4392
4463
  # key material][1] is enabled for the specified KMS key.
4393
4464
  #
4394
- # You cannot enable automatic rotation of [asymmetric KMS keys][2],
4395
- # [HMAC KMS keys][3], KMS keys with [imported key material][4], or KMS
4396
- # keys in a [custom key store][5]. To enable or disable automatic
4397
- # rotation of a set of related [multi-Region keys][6], set the property
4398
- # on the primary key. The key rotation status for these KMS keys is
4399
- # always `false`.
4465
+ # When you enable automatic rotation for [customer managed KMS keys][2],
4466
+ # KMS rotates the key material of the KMS key one year (approximately
4467
+ # 365 days) from the enable date and every year thereafter. You can
4468
+ # monitor rotation of the key material for your KMS keys in CloudTrail
4469
+ # and Amazon CloudWatch.
4470
+ #
4471
+ # Automatic key rotation is supported only on [symmetric encryption KMS
4472
+ # keys][3]. You cannot enable or disable automatic rotation of
4473
+ # [asymmetric KMS keys][4], [HMAC KMS keys][5], KMS keys with [imported
4474
+ # key material][6], or KMS keys in a [custom key store][7]. The key
4475
+ # rotation status of these KMS keys is always `false`. To enable or
4476
+ # disable automatic rotation of a set of related [multi-Region keys][8],
4477
+ # set the property on the primary key..
4478
+ #
4479
+ # You can enable (EnableKeyRotation) and disable automatic rotation
4480
+ # (DisableKeyRotation) of the key material in customer managed KMS keys.
4481
+ # Key material rotation of [Amazon Web Services managed KMS keys][9] is
4482
+ # not configurable. KMS always rotates the key material in Amazon Web
4483
+ # Services managed KMS keys every year. The key rotation status for
4484
+ # Amazon Web Services managed KMS keys is always `true`.
4485
+ #
4486
+ # <note markdown="1"> In May 2022, KMS changed the rotation schedule for Amazon Web Services
4487
+ # managed keys from every three years to every year. For details, see
4488
+ # EnableKeyRotation.
4489
+ #
4490
+ # </note>
4400
4491
  #
4401
4492
  # The KMS key that you use for this operation must be in a compatible
4402
- # key state. For details, see [Key states of KMS keys][7] in the *Key
4493
+ # key state. For details, see [Key states of KMS keys][10] in the *Key
4403
4494
  # Management Service Developer Guide*.
4404
4495
  #
4405
4496
  # * Disabled: The key rotation status does not change when you disable a
4406
4497
  # KMS key. However, while the KMS key is disabled, KMS does not rotate
4407
- # the key material.
4498
+ # the key material. When you re-enable the KMS key, rotation resumes.
4499
+ # If the key material in the re-enabled KMS key hasn't been rotated
4500
+ # in one year, KMS rotates it immediately, and every year thereafter.
4501
+ # If it's been less than a year since the key material in the
4502
+ # re-enabled KMS key was rotated, the KMS key resumes its prior
4503
+ # rotation schedule.
4408
4504
  #
4409
4505
  # * Pending deletion: While a KMS key is pending deletion, its key
4410
4506
  # rotation status is `false` and KMS does not rotate the key material.
4411
- # If you cancel the deletion, the original key rotation status is
4412
- # restored.
4507
+ # If you cancel the deletion, the original key rotation status returns
4508
+ # to `true`.
4413
4509
  #
4414
4510
  # **Cross-account use**\: Yes. To perform this operation on a KMS key in
4415
4511
  # a different Amazon Web Services account, specify the key ARN in the
4416
4512
  # value of the `KeyId` parameter.
4417
4513
  #
4418
- # **Required permissions**\: [kms:GetKeyRotationStatus][8] (key policy)
4514
+ # **Required permissions**\: [kms:GetKeyRotationStatus][11] (key policy)
4419
4515
  #
4420
4516
  # **Related operations:**
4421
4517
  #
@@ -4426,13 +4522,16 @@ module Aws::KMS
4426
4522
  #
4427
4523
  #
4428
4524
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
4429
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
4430
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
4431
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
4432
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4433
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
4434
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4435
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4525
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
4526
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks
4527
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
4528
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
4529
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
4530
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4531
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
4532
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
4533
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4534
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4436
4535
  #
4437
4536
  # @option params [required, String] :key_id
4438
4537
  # Gets the rotation status for the specified KMS key.
@@ -5811,15 +5910,25 @@ module Aws::KMS
5811
5910
  # visible][2] in the *Amazon Web Services Identity and Access
5812
5911
  # Management User Guide*.
5813
5912
  #
5814
- # The key policy cannot exceed 32 kilobytes (32768 bytes). For more
5815
- # information, see [Resource Quotas][3] in the *Key Management Service
5816
- # Developer Guide*.
5913
+ # A key policy document must conform to the following rules.
5914
+ #
5915
+ # * Up to 32 kilobytes (32768 bytes)
5916
+ #
5917
+ # * Must be UTF-8 encoded
5918
+ #
5919
+ # * The only Unicode characters that are permitted in a key policy
5920
+ # document are the horizontal tab (U+0009), linefeed (U+000A),
5921
+ # carriage return (U+000D), and characters in the range U+0020 to
5922
+ # U+00FF.
5923
+ #
5924
+ # * The `Sid` element in a key policy statement can include spaces.
5925
+ # (Spaces are prohibited in the `Sid` element of an IAM policy
5926
+ # document.)
5817
5927
  #
5818
5928
  #
5819
5929
  #
5820
5930
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
5821
5931
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
5822
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/resource-limits.html
5823
5932
  #
5824
5933
  # @option params [Boolean] :bypass_policy_lockout_safety_check
5825
5934
  # A flag to indicate whether to bypass the key policy lockout safety
@@ -6357,7 +6466,20 @@ module Aws::KMS
6357
6466
  # visible][3] in the <i> <i>Identity and Access Management User
6358
6467
  # Guide</i> </i>.
6359
6468
  #
6360
- # * The key policy size quota is 32 kilobytes (32768 bytes).
6469
+ # A key policy document must conform to the following rules.
6470
+ #
6471
+ # * Up to 32 kilobytes (32768 bytes)
6472
+ #
6473
+ # * Must be UTF-8 encoded
6474
+ #
6475
+ # * The only Unicode characters that are permitted in a key policy
6476
+ # document are the horizontal tab (U+0009), linefeed (U+000A),
6477
+ # carriage return (U+000D), and characters in the range U+0020 to
6478
+ # U+00FF.
6479
+ #
6480
+ # * The `Sid` element in a key policy statement can include spaces.
6481
+ # (Spaces are prohibited in the `Sid` element of an IAM policy
6482
+ # document.)
6361
6483
  #
6362
6484
  #
6363
6485
  #
@@ -6814,7 +6936,7 @@ module Aws::KMS
6814
6936
  # The waiting period, specified in number of days. After the waiting
6815
6937
  # period ends, KMS deletes the KMS key.
6816
6938
  #
6817
- # If the KMS key is a multi-Region primary key with replicas, the
6939
+ # If the KMS key is a multi-Region primary key with replica keys, the
6818
6940
  # waiting period begins when the last of its replica keys is deleted.
6819
6941
  # Otherwise, the waiting period begins immediately.
6820
6942
  #
@@ -6900,6 +7022,15 @@ module Aws::KMS
6900
7022
  # When signing a message, be sure to record the KMS key and the signing
6901
7023
  # algorithm. This information is required to verify the signature.
6902
7024
  #
7025
+ # <note markdown="1"> Best practices recommend that you limit the time during which any
7026
+ # signature is effective. This deters an attack where the actor uses a
7027
+ # signed message to establish validity repeatedly or long after the
7028
+ # message is superseded. Signatures do not include a timestamp, but you
7029
+ # can include a timestamp in the signed message to help you detect when
7030
+ # its time to refresh the signature.
7031
+ #
7032
+ # </note>
7033
+ #
6903
7034
  # To verify the signature that this operation generates, use the Verify
6904
7035
  # operation. Or use the GetPublicKey operation to download the public
6905
7036
  # key and then use the public key to verify the signature outside of
@@ -8033,7 +8164,7 @@ module Aws::KMS
8033
8164
  params: params,
8034
8165
  config: config)
8035
8166
  context[:gem_name] = 'aws-sdk-kms'
8036
- context[:gem_version] = '1.56.0'
8167
+ context[:gem_version] = '1.57.0'
8037
8168
  Seahorse::Client::Request.new(handlers, context)
8038
8169
  end
8039
8170
 
@@ -642,16 +642,19 @@ module Aws::KMS
642
642
  # }
643
643
  #
644
644
  # @!attribute [rw] policy
645
- # The key policy to attach to the KMS key.
645
+ # The key policy to attach to the KMS key. If you do not specify a key
646
+ # policy, KMS attaches a default key policy to the KMS key. For more
647
+ # information, see [Default key policy][1] in the *Key Management
648
+ # Service Developer Guide*.
646
649
  #
647
650
  # If you provide a key policy, it must meet the following criteria:
648
651
  #
649
- # * If you don't set `BypassPolicyLockoutSafetyCheck` to true, the
652
+ # * If you don't set `BypassPolicyLockoutSafetyCheck` to `True`, the
650
653
  # key policy must allow the principal that is making the `CreateKey`
651
654
  # request to make a subsequent PutKeyPolicy request on the KMS key.
652
655
  # This reduces the risk that the KMS key becomes unmanageable. For
653
656
  # more information, refer to the scenario in the [Default Key
654
- # Policy][1] section of the <i> <i>Key Management Service Developer
657
+ # Policy][2] section of the <i> <i>Key Management Service Developer
655
658
  # Guide</i> </i>.
656
659
  #
657
660
  # * Each statement in the key policy must contain one or more
@@ -661,14 +664,23 @@ module Aws::KMS
661
664
  # enforce a delay before including the new principal in a key policy
662
665
  # because the new principal might not be immediately visible to KMS.
663
666
  # For more information, see [Changes that I make are not always
664
- # immediately visible][2] in the *Amazon Web Services Identity and
667
+ # immediately visible][3] in the *Amazon Web Services Identity and
665
668
  # Access Management User Guide*.
666
669
  #
667
- # If you do not provide a key policy, KMS attaches a default key
668
- # policy to the KMS key. For more information, see [Default Key
669
- # Policy][3] in the *Key Management Service Developer Guide*.
670
+ # A key policy document must conform to the following rules.
671
+ #
672
+ # * Up to 32 kilobytes (32768 bytes)
673
+ #
674
+ # * Must be UTF-8 encoded
675
+ #
676
+ # * The only Unicode characters that are permitted in a key policy
677
+ # document are the horizontal tab (U+0009), linefeed (U+000A),
678
+ # carriage return (U+000D), and characters in the range U+0020 to
679
+ # U+00FF.
670
680
  #
671
- # The key policy size quota is 32 kilobytes (32768 bytes).
681
+ # * The `Sid` element in a key policy statement can include spaces.
682
+ # (Spaces are prohibited in the `Sid` element of an IAM policy
683
+ # document.)
672
684
  #
673
685
  # For help writing and formatting a JSON policy document, see the [IAM
674
686
  # JSON Policy Reference][4] in the <i> <i>Identity and Access
@@ -676,9 +688,9 @@ module Aws::KMS
676
688
  #
677
689
  #
678
690
  #
679
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
680
- # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
681
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
691
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
692
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
693
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
682
694
  # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
683
695
  # @return [String]
684
696
  #
@@ -735,13 +747,14 @@ module Aws::KMS
735
747
  # Management Service Developer Guide</i> </i>.
736
748
  #
737
749
  # The `KeySpec` determines whether the KMS key contains a symmetric
738
- # key or an asymmetric key pair. It also determines the algorithms
739
- # that the KMS key supports. You can't change the `KeySpec` after the
740
- # KMS key is created. To further restrict the algorithms that can be
741
- # used with the KMS key, use a condition key in its key policy or IAM
742
- # policy. For more information, see [kms:EncryptionAlgorithm][2],
743
- # [kms:MacAlgorithm][3] or [kms:Signing Algorithm][4] in the <i>
744
- # <i>Key Management Service Developer Guide</i> </i>.
750
+ # key or an asymmetric key pair. It also determines the cryptographic
751
+ # algorithms that the KMS key supports. You can't change the
752
+ # `KeySpec` after the KMS key is created. To further restrict the
753
+ # algorithms that can be used with the KMS key, use a condition key in
754
+ # its key policy or IAM policy. For more information, see
755
+ # [kms:EncryptionAlgorithm][2], [kms:MacAlgorithm][3] or [kms:Signing
756
+ # Algorithm][4] in the <i> <i>Key Management Service Developer
757
+ # Guide</i> </i>.
745
758
  #
746
759
  # [Amazon Web Services services that are integrated with KMS][5] use
747
760
  # symmetric encryption KMS keys to protect your data. These services
@@ -924,9 +937,10 @@ module Aws::KMS
924
937
  # This value creates a *primary key*, not a replica. To create a
925
938
  # *replica key*, use the ReplicateKey operation.
926
939
  #
927
- # You can create a symmetric or asymmetric multi-Region key, and you
928
- # can create a multi-Region key with imported key material. However,
929
- # you cannot create a multi-Region key in a custom key store.
940
+ # You can create a multi-Region version of a symmetric encryption KMS
941
+ # key, an HMAC KMS key, an asymmetric KMS key, or a KMS key with
942
+ # imported key material. However, you cannot create a multi-Region key
943
+ # in a custom key store.
930
944
  #
931
945
  #
932
946
  #
@@ -1709,10 +1723,11 @@ module Aws::KMS
1709
1723
  # }
1710
1724
  #
1711
1725
  # @!attribute [rw] key_id
1712
- # Identifies a symmetric encryption KMS key. You cannot enable
1713
- # automatic rotation of [asymmetric KMS keys][1], [HMAC KMS keys][2],
1714
- # KMS keys with [imported key material][3], or KMS keys in a [custom
1715
- # key store][4]. To enable or disable automatic rotation of a set of
1726
+ # Identifies a symmetric encryption KMS key. You cannot enable or
1727
+ # disable automatic rotation of [asymmetric KMS keys][1], [HMAC KMS
1728
+ # keys][2], KMS keys with [imported key material][3], or KMS keys in a
1729
+ # [custom key store][4]. The key rotation status of these KMS keys is
1730
+ # always `false`. To enable or disable automatic rotation of a set of
1716
1731
  # related [multi-Region keys][5], set the property on the primary key.
1717
1732
  #
1718
1733
  # Specify the key ID or key ARN of the KMS key.
@@ -3091,8 +3106,8 @@ module Aws::KMS
3091
3106
  class ImportKeyMaterialResponse < Aws::EmptyStructure; end
3092
3107
 
3093
3108
  # The request was rejected because the specified KMS key cannot decrypt
3094
- # the data. The `KeyId` in a `Decrypt` request and the `SourceKeyId` in
3095
- # a `ReEncrypt` request must identify the same KMS key that was used to
3109
+ # the data. The `KeyId` in a Decrypt request and the `SourceKeyId` in a
3110
+ # ReEncrypt request must identify the same KMS key that was used to
3096
3111
  # encrypt the ciphertext.
3097
3112
  #
3098
3113
  # @!attribute [rw] message
@@ -4226,15 +4241,25 @@ module Aws::KMS
4226
4241
  # immediately visible][2] in the *Amazon Web Services Identity and
4227
4242
  # Access Management User Guide*.
4228
4243
  #
4229
- # The key policy cannot exceed 32 kilobytes (32768 bytes). For more
4230
- # information, see [Resource Quotas][3] in the *Key Management Service
4231
- # Developer Guide*.
4244
+ # A key policy document must conform to the following rules.
4245
+ #
4246
+ # * Up to 32 kilobytes (32768 bytes)
4247
+ #
4248
+ # * Must be UTF-8 encoded
4249
+ #
4250
+ # * The only Unicode characters that are permitted in a key policy
4251
+ # document are the horizontal tab (U+0009), linefeed (U+000A),
4252
+ # carriage return (U+000D), and characters in the range U+0020 to
4253
+ # U+00FF.
4254
+ #
4255
+ # * The `Sid` element in a key policy statement can include spaces.
4256
+ # (Spaces are prohibited in the `Sid` element of an IAM policy
4257
+ # document.)
4232
4258
  #
4233
4259
  #
4234
4260
  #
4235
4261
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
4236
4262
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
4237
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/resource-limits.html
4238
4263
  # @return [String]
4239
4264
  #
4240
4265
  # @!attribute [rw] bypass_policy_lockout_safety_check
@@ -4596,7 +4621,20 @@ module Aws::KMS
4596
4621
  # immediately visible][3] in the <i> <i>Identity and Access
4597
4622
  # Management User Guide</i> </i>.
4598
4623
  #
4599
- # * The key policy size quota is 32 kilobytes (32768 bytes).
4624
+ # A key policy document must conform to the following rules.
4625
+ #
4626
+ # * Up to 32 kilobytes (32768 bytes)
4627
+ #
4628
+ # * Must be UTF-8 encoded
4629
+ #
4630
+ # * The only Unicode characters that are permitted in a key policy
4631
+ # document are the horizontal tab (U+0009), linefeed (U+000A),
4632
+ # carriage return (U+000D), and characters in the range U+0020 to
4633
+ # U+00FF.
4634
+ #
4635
+ # * The `Sid` element in a key policy statement can include spaces.
4636
+ # (Spaces are prohibited in the `Sid` element of an IAM policy
4637
+ # document.)
4600
4638
  #
4601
4639
  #
4602
4640
  #
@@ -4840,7 +4878,7 @@ module Aws::KMS
4840
4878
  # The waiting period, specified in number of days. After the waiting
4841
4879
  # period ends, KMS deletes the KMS key.
4842
4880
  #
4843
- # If the KMS key is a multi-Region primary key with replicas, the
4881
+ # If the KMS key is a multi-Region primary key with replica keys, the
4844
4882
  # waiting period begins when the last of its replica keys is deleted.
4845
4883
  # Otherwise, the waiting period begins immediately.
4846
4884
  #
data/lib/aws-sdk-kms.rb CHANGED
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-kms/customizations'
48
48
  # @!group service
49
49
  module Aws::KMS
50
50
 
51
- GEM_VERSION = '1.56.0'
51
+ GEM_VERSION = '1.57.0'
52
52
 
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-kms
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.56.0
4
+ version: 1.57.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-19 00:00:00.000000000 Z
11
+ date: 2022-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core