aws-sdk-kms 1.56.0 → 1.57.0

Sign up to get free protection for your applications and to get access to all the features.
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