aws-sdk-kms 1.62.0 → 1.63.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: cc4f9ec57e4facf9bdd94a84c03b65e0243af436d1a71ae364a6cb131578211f
4
- data.tar.gz: c28fd15ca65baf3524392da759ef126639959d84861c83ca0e735716e2df3b67
3
+ metadata.gz: 13e659ace0d14d832118d6e21486a6b09daa9749d3a39a956fa07d716fd5aad0
4
+ data.tar.gz: eedbc3733612a3839fec7e47bf5f6b191ff8960da315188a0757d1ea8427565b
5
5
  SHA512:
6
- metadata.gz: 8ab2220117a3674e77af57eea5ec9ff78d228f9b1d1747f819386d0a7d121014f70d2291f0ed798993dc130660d5caba2666075d862b34d239191583d0953258
7
- data.tar.gz: 22e21dd917f98b22977d2ad7818f1ff36f7aa362ae8734133ca59c9133293a123b119541e777f6790f8830d90ecdbf16fbf7863be34d6cc13cd9ecb206d1949b
6
+ metadata.gz: 932fcf1f5b42d636b97506236eb463f18b7b9a6cda0c7482f0987ec40fba23fca8a6e30d0a8ebd0da9970771c6fb9a5648ce219a7a7b7636651021a9dd9ea7d9
7
+ data.tar.gz: 01dbb9b794db0b4914d8607543225e9d8665f94960a0044a525b8990232d423444e49dc6979f912da47a56505195ba88330535cb98a9490988bb6b05697ef7be
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.63.0 (2023-02-28)
5
+ ------------------
6
+
7
+ * Feature - AWS KMS is deprecating the RSAES_PKCS1_V1_5 wrapping algorithm option in the GetParametersForImport API that is used in the AWS KMS Import Key Material feature. AWS KMS will end support for this wrapping algorithm by October 1, 2023.
8
+
4
9
  1.62.0 (2023-01-18)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.62.0
1
+ 1.63.0
@@ -1184,30 +1184,27 @@ module Aws::KMS
1184
1184
  # @option params [required, String] :grantee_principal
1185
1185
  # The identity that gets the permissions specified in the grant.
1186
1186
  #
1187
- # To specify the principal, use the [Amazon Resource Name (ARN)][1] of
1188
- # an Amazon Web Services principal. Valid Amazon Web Services principals
1189
- # include Amazon Web Services accounts (root), IAM users, IAM roles,
1190
- # federated users, and assumed role users. For examples of the ARN
1191
- # syntax to use for specifying a principal, see [Amazon Web Services
1192
- # Identity and Access Management (IAM)][2] in the Example ARNs section
1193
- # of the *Amazon Web Services General Reference*.
1187
+ # To specify the grantee principal, use the Amazon Resource Name (ARN)
1188
+ # of an Amazon Web Services principal. Valid principals include Amazon
1189
+ # Web Services accounts, IAM users, IAM roles, federated users, and
1190
+ # assumed role users. For help with the ARN syntax for a principal, see
1191
+ # [IAM ARNs][1] in the <i> <i>Identity and Access Management User
1192
+ # Guide</i> </i>.
1194
1193
  #
1195
1194
  #
1196
1195
  #
1197
- # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1198
- # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam
1196
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns
1199
1197
  #
1200
1198
  # @option params [String] :retiring_principal
1201
1199
  # The principal that has permission to use the RetireGrant operation to
1202
1200
  # retire the grant.
1203
1201
  #
1204
1202
  # To specify the principal, use the [Amazon Resource Name (ARN)][1] of
1205
- # an Amazon Web Services principal. Valid Amazon Web Services principals
1206
- # include Amazon Web Services accounts (root), IAM users, federated
1207
- # users, and assumed role users. For examples of the ARN syntax to use
1208
- # for specifying a principal, see [Amazon Web Services Identity and
1209
- # Access Management (IAM)][2] in the Example ARNs section of the *Amazon
1210
- # Web Services General Reference*.
1203
+ # an Amazon Web Services principal. Valid principals include Amazon Web
1204
+ # Services accounts, IAM users, IAM roles, federated users, and assumed
1205
+ # role users. For help with the ARN syntax for a principal, see [IAM
1206
+ # ARNs][2] in the <i> <i>Identity and Access Management User Guide</i>
1207
+ # </i>.
1211
1208
  #
1212
1209
  # The grant determines the retiring principal. Other principals might
1213
1210
  # have permission to retire the grant or revoke the grant. For details,
@@ -1217,7 +1214,7 @@ module Aws::KMS
1217
1214
  #
1218
1215
  #
1219
1216
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1220
- # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam
1217
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns
1221
1218
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete
1222
1219
  #
1223
1220
  # @option params [required, Array<String>] :operations
@@ -1591,26 +1588,23 @@ module Aws::KMS
1591
1588
  #
1592
1589
  # If you provide a key policy, it must meet the following criteria:
1593
1590
  #
1594
- # * If you don't set `BypassPolicyLockoutSafetyCheck` to true, the key
1595
- # policy must allow the principal that is making the `CreateKey`
1596
- # request to make a subsequent PutKeyPolicy request on the KMS key.
1597
- # This reduces the risk that the KMS key becomes unmanageable. For
1598
- # more information, refer to the scenario in the [Default Key
1599
- # Policy][1] section of the <i> <i>Key Management Service Developer
1600
- # Guide</i> </i>.
1591
+ # * The key policy must allow the calling principal to make a subsequent
1592
+ # `PutKeyPolicy` request on the KMS key. This reduces the risk that
1593
+ # the KMS key becomes unmanageable. For more information, see [Default
1594
+ # key policy][1] in the *Key Management Service Developer Guide*. (To
1595
+ # omit this condition, set `BypassPolicyLockoutSafetyCheck` to true.)
1601
1596
  #
1602
1597
  # * Each statement in the key policy must contain one or more
1603
1598
  # principals. The principals in the key policy must exist and be
1604
- # visible to KMS. When you create a new Amazon Web Services principal
1605
- # (for example, an IAM user or role), you might need to enforce a
1606
- # delay before including the new principal in a key policy because the
1607
- # new principal might not be immediately visible to KMS. For more
1608
- # information, see [Changes that I make are not always immediately
1609
- # visible][2] in the *Amazon Web Services Identity and Access
1610
- # Management User Guide*.
1599
+ # visible to KMS. When you create a new Amazon Web Services principal,
1600
+ # you might need to enforce a delay before including the new principal
1601
+ # in a key policy because the new principal might not be immediately
1602
+ # visible to KMS. For more information, see [Changes that I make are
1603
+ # not always immediately visible][2] in the *Amazon Web Services
1604
+ # Identity and Access Management User Guide*.
1611
1605
  #
1612
1606
  # If you do not provide a key policy, KMS attaches a default key policy
1613
- # to the KMS key. For more information, see [Default Key Policy][3] in
1607
+ # to the KMS key. For more information, see [Default key policy][3] in
1614
1608
  # the *Key Management Service Developer Guide*.
1615
1609
  #
1616
1610
  # The key policy size quota is 32 kilobytes (32768 bytes).
@@ -1621,7 +1615,7 @@ module Aws::KMS
1621
1615
  #
1622
1616
  #
1623
1617
  #
1624
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
1618
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
1625
1619
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
1626
1620
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
1627
1621
  # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
@@ -1797,25 +1791,22 @@ module Aws::KMS
1797
1791
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1798
1792
  #
1799
1793
  # @option params [Boolean] :bypass_policy_lockout_safety_check
1800
- # A flag to indicate whether to bypass the key policy lockout safety
1801
- # check.
1794
+ # Skips ("bypasses") the key policy lockout safety check. The default
1795
+ # value is false.
1802
1796
  #
1803
1797
  # Setting this value to true increases the risk that the KMS key becomes
1804
1798
  # unmanageable. Do not set this value to true indiscriminately.
1805
1799
  #
1806
- # For more information, refer to the scenario in the [Default Key
1807
- # Policy][1] section in the <i> <i>Key Management Service Developer
1808
- # Guide</i> </i>.
1809
- #
1810
- # Use this parameter only when you include a policy in the request and
1811
- # you intend to prevent the principal that is making the request from
1812
- # making a subsequent PutKeyPolicy request on the KMS key.
1800
+ # For more information, see [Default key policy][1] in the *Key
1801
+ # Management Service Developer Guide*.
1813
1802
  #
1814
- # The default value is false.
1803
+ # Use this parameter only when you intend to prevent the principal that
1804
+ # is making the request from making a subsequent PutKeyPolicy request on
1805
+ # the KMS key.
1815
1806
  #
1816
1807
  #
1817
1808
  #
1818
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
1809
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
1819
1810
  #
1820
1811
  # @option params [Array<Types::Tag>] :tags
1821
1812
  # Assigns one or more tags to the KMS key. Use this parameter to tag the
@@ -2296,14 +2287,15 @@ module Aws::KMS
2296
2287
  # key that you intend.
2297
2288
  #
2298
2289
  # Whenever possible, use key policies to give users permission to call
2299
- # the `Decrypt` operation on a particular KMS key, instead of using IAM
2300
- # policies. Otherwise, you might create an IAM user policy that gives
2301
- # the user `Decrypt` permission on all KMS keys. This user could decrypt
2302
- # ciphertext that was encrypted by KMS keys in other accounts if the key
2303
- # policy for the cross-account KMS key permits it. If you must use an
2304
- # IAM policy for `Decrypt` permissions, limit the user to particular KMS
2305
- # keys or particular trusted accounts. For details, see [Best practices
2306
- # for IAM policies][4] in the *Key Management Service Developer Guide*.
2290
+ # the `Decrypt` operation on a particular KMS key, instead of using
2291
+ # &amp;IAM; policies. Otherwise, you might create an &amp;IAM; policy
2292
+ # that gives the user `Decrypt` permission on all KMS keys. This user
2293
+ # could decrypt ciphertext that was encrypted by KMS keys in other
2294
+ # accounts if the key policy for the cross-account KMS key permits it.
2295
+ # If you must use an IAM policy for `Decrypt` permissions, limit the
2296
+ # user to particular KMS keys or particular trusted accounts. For
2297
+ # details, see [Best practices for IAM policies][4] in the *Key
2298
+ # Management Service Developer Guide*.
2307
2299
  #
2308
2300
  # Applications in Amazon Web Services Nitro Enclaves can call this
2309
2301
  # operation by using the [Amazon Web Services Nitro Enclaves Development
@@ -2315,9 +2307,9 @@ module Aws::KMS
2315
2307
  # key state. For details, see [Key states of KMS keys][7] in the *Key
2316
2308
  # Management Service Developer Guide*.
2317
2309
  #
2318
- # **Cross-account use**\: Yes. To perform this operation with a KMS key
2319
- # in a different Amazon Web Services account, specify the key ARN or
2320
- # alias ARN in the value of the `KeyId` parameter.
2310
+ # **Cross-account use**\: Yes. If you use the `KeyId` parameter to
2311
+ # identify a KMS key in a different Amazon Web Services account, specify
2312
+ # the key ARN or the alias ARN of the KMS key.
2321
2313
  #
2322
2314
  # **Required permissions**\: [kms:Decrypt][8] (key policy)
2323
2315
  #
@@ -4001,10 +3993,10 @@ module Aws::KMS
4001
3993
  # `KeySpec` or `NumberOfBytes` parameters (but not both). For 128-bit
4002
3994
  # and 256-bit data keys, use the `KeySpec` parameter.
4003
3995
  #
4004
- # To generate an SM4 data key (China Regions only), specify a `KeySpec`
4005
- # value of `AES_128` or `NumberOfBytes` value of `128`. The symmetric
4006
- # encryption key used in China Regions to encrypt your data key is an
4007
- # SM4 encryption key.
3996
+ # To generate a 128-bit SM4 data key (China Regions only), specify a
3997
+ # `KeySpec` value of `AES_128` or a `NumberOfBytes` value of `16`. The
3998
+ # symmetric encryption key used in China Regions to encrypt your data
3999
+ # key is an SM4 encryption key.
4008
4000
  #
4009
4001
  # To get only an encrypted copy of the data key, use
4010
4002
  # GenerateDataKeyWithoutPlaintext. To generate an asymmetric data key
@@ -5266,14 +5258,21 @@ module Aws::KMS
5266
5258
  # DescribeKey.
5267
5259
  #
5268
5260
  # @option params [required, String] :wrapping_algorithm
5269
- # The algorithm you will use to encrypt the key material before
5270
- # importing it with ImportKeyMaterial. For more information, see
5271
- # [Encrypt the Key Material][1] in the *Key Management Service Developer
5272
- # Guide*.
5261
+ # The algorithm you will use to encrypt the key material before using
5262
+ # the ImportKeyMaterial operation to import it. For more information,
5263
+ # see [Encrypt the key material][1] in the *Key Management Service
5264
+ # Developer Guide*.
5265
+ #
5266
+ # The `RSAES_PKCS1_V1_5` wrapping algorithm is deprecated. We recommend
5267
+ # that you begin using a different wrapping algorithm immediately. KMS
5268
+ # will end support for `RSAES_PKCS1_V1_5` by October 1, 2023 pursuant to
5269
+ # [cryptographic key management guidance][2] from the National Institute
5270
+ # of Standards and Technology (NIST).
5273
5271
  #
5274
5272
  #
5275
5273
  #
5276
5274
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-encrypt-key-material.html
5275
+ # [2]: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar2.pdf
5277
5276
  #
5278
5277
  # @option params [required, String] :wrapping_key_spec
5279
5278
  # The type of wrapping key (public key) to return in the response. Only
@@ -6406,17 +6405,16 @@ module Aws::KMS
6406
6405
  # your Amazon Web Services account.
6407
6406
  #
6408
6407
  # To specify the retiring principal, use the [Amazon Resource Name
6409
- # (ARN)][1] of an Amazon Web Services principal. Valid Amazon Web
6410
- # Services principals include Amazon Web Services accounts (root), IAM
6411
- # users, federated users, and assumed role users. For examples of the
6412
- # ARN syntax for specifying a principal, see [Amazon Web Services
6413
- # Identity and Access Management (IAM)][2] in the Example ARNs section
6414
- # of the *Amazon Web Services General Reference*.
6408
+ # (ARN)][1] of an Amazon Web Services principal. Valid principals
6409
+ # include Amazon Web Services accounts, IAM users, IAM roles, federated
6410
+ # users, and assumed role users. For help with the ARN syntax for a
6411
+ # principal, see [IAM ARNs][2] in the <i> <i>Identity and Access
6412
+ # Management User Guide</i> </i>.
6415
6413
  #
6416
6414
  #
6417
6415
  #
6418
6416
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
6419
- # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam
6417
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns
6420
6418
  #
6421
6419
  # @return [Types::ListGrantsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6422
6420
  #
@@ -6537,22 +6535,20 @@ module Aws::KMS
6537
6535
  #
6538
6536
  # The key policy must meet the following criteria:
6539
6537
  #
6540
- # * If you don't set `BypassPolicyLockoutSafetyCheck` to true, the key
6541
- # policy must allow the principal that is making the `PutKeyPolicy`
6542
- # request to make a subsequent `PutKeyPolicy` request on the KMS key.
6543
- # This reduces the risk that the KMS key becomes unmanageable. For
6544
- # more information, refer to the scenario in the [Default Key
6545
- # Policy][1] section of the *Key Management Service Developer Guide*.
6538
+ # * The key policy must allow the calling principal to make a subsequent
6539
+ # `PutKeyPolicy` request on the KMS key. This reduces the risk that
6540
+ # the KMS key becomes unmanageable. For more information, see [Default
6541
+ # key policy][1] in the *Key Management Service Developer Guide*. (To
6542
+ # omit this condition, set `BypassPolicyLockoutSafetyCheck` to true.)
6546
6543
  #
6547
6544
  # * Each statement in the key policy must contain one or more
6548
6545
  # principals. The principals in the key policy must exist and be
6549
- # visible to KMS. When you create a new Amazon Web Services principal
6550
- # (for example, an IAM user or role), you might need to enforce a
6551
- # delay before including the new principal in a key policy because the
6552
- # new principal might not be immediately visible to KMS. For more
6553
- # information, see [Changes that I make are not always immediately
6554
- # visible][2] in the *Amazon Web Services Identity and Access
6555
- # Management User Guide*.
6546
+ # visible to KMS. When you create a new Amazon Web Services principal,
6547
+ # you might need to enforce a delay before including the new principal
6548
+ # in a key policy because the new principal might not be immediately
6549
+ # visible to KMS. For more information, see [Changes that I make are
6550
+ # not always immediately visible][2] in the *Amazon Web Services
6551
+ # Identity and Access Management User Guide*.
6556
6552
  #
6557
6553
  # A key policy document can include only the following characters:
6558
6554
  #
@@ -6573,30 +6569,28 @@ module Aws::KMS
6573
6569
  #
6574
6570
  #
6575
6571
  #
6576
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
6572
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
6577
6573
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
6578
6574
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
6579
6575
  # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
6580
6576
  #
6581
6577
  # @option params [Boolean] :bypass_policy_lockout_safety_check
6582
- # A flag to indicate whether to bypass the key policy lockout safety
6583
- # check.
6578
+ # Skips ("bypasses") the key policy lockout safety check. The default
6579
+ # value is false.
6584
6580
  #
6585
6581
  # Setting this value to true increases the risk that the KMS key becomes
6586
6582
  # unmanageable. Do not set this value to true indiscriminately.
6587
6583
  #
6588
- # For more information, refer to the scenario in the [Default Key
6589
- # Policy][1] section in the *Key Management Service Developer Guide*.
6584
+ # For more information, see [Default key policy][1] in the *Key
6585
+ # Management Service Developer Guide*.
6590
6586
  #
6591
6587
  # Use this parameter only when you intend to prevent the principal that
6592
- # is making the request from making a subsequent `PutKeyPolicy` request
6593
- # on the KMS key.
6594
- #
6595
- # The default value is false.
6588
+ # is making the request from making a subsequent PutKeyPolicy request on
6589
+ # the KMS key.
6596
6590
  #
6597
6591
  #
6598
6592
  #
6599
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
6593
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
6600
6594
  #
6601
6595
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6602
6596
  #
@@ -7097,22 +7091,20 @@ module Aws::KMS
7097
7091
  #
7098
7092
  # If you provide a key policy, it must meet the following criteria:
7099
7093
  #
7100
- # * If you don't set `BypassPolicyLockoutSafetyCheck` to true, the key
7101
- # policy must give the caller `kms:PutKeyPolicy` permission on the
7102
- # replica key. This reduces the risk that the KMS key becomes
7103
- # unmanageable. For more information, refer to the scenario in the
7104
- # [Default Key Policy][2] section of the <i> <i>Key Management Service
7105
- # Developer Guide</i> </i>.
7094
+ # * The key policy must allow the calling principal to make a subsequent
7095
+ # `PutKeyPolicy` request on the KMS key. This reduces the risk that
7096
+ # the KMS key becomes unmanageable. For more information, see [Default
7097
+ # key policy][2] in the *Key Management Service Developer Guide*. (To
7098
+ # omit this condition, set `BypassPolicyLockoutSafetyCheck` to true.)
7106
7099
  #
7107
7100
  # * Each statement in the key policy must contain one or more
7108
7101
  # principals. The principals in the key policy must exist and be
7109
- # visible to KMS. When you create a new Amazon Web Services principal
7110
- # (for example, an IAM user or role), you might need to enforce a
7111
- # delay before including the new principal in a key policy because the
7112
- # new principal might not be immediately visible to KMS. For more
7113
- # information, see [Changes that I make are not always immediately
7114
- # visible][3] in the <i> <i>Identity and Access Management User
7115
- # Guide</i> </i>.
7102
+ # visible to KMS. When you create a new Amazon Web Services principal,
7103
+ # you might need to enforce a delay before including the new principal
7104
+ # in a key policy because the new principal might not be immediately
7105
+ # visible to KMS. For more information, see [Changes that I make are
7106
+ # not always immediately visible][3] in the *Amazon Web Services
7107
+ # Identity and Access Management User Guide*.
7116
7108
  #
7117
7109
  # A key policy document can include only the following characters:
7118
7110
  #
@@ -7134,30 +7126,28 @@ module Aws::KMS
7134
7126
  #
7135
7127
  #
7136
7128
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
7137
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
7129
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
7138
7130
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
7139
7131
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
7140
7132
  # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
7141
7133
  #
7142
7134
  # @option params [Boolean] :bypass_policy_lockout_safety_check
7143
- # A flag to indicate whether to bypass the key policy lockout safety
7144
- # check.
7135
+ # Skips ("bypasses") the key policy lockout safety check. The default
7136
+ # value is false.
7145
7137
  #
7146
7138
  # Setting this value to true increases the risk that the KMS key becomes
7147
7139
  # unmanageable. Do not set this value to true indiscriminately.
7148
7140
  #
7149
- # For more information, refer to the scenario in the [Default Key
7150
- # Policy][1] section in the *Key Management Service Developer Guide*.
7141
+ # For more information, see [Default key policy][1] in the *Key
7142
+ # Management Service Developer Guide*.
7151
7143
  #
7152
7144
  # Use this parameter only when you intend to prevent the principal that
7153
- # is making the request from making a subsequent `PutKeyPolicy` request
7154
- # on the KMS key.
7155
- #
7156
- # The default value is false.
7145
+ # is making the request from making a subsequent PutKeyPolicy request on
7146
+ # the KMS key.
7157
7147
  #
7158
7148
  #
7159
7149
  #
7160
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
7150
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
7161
7151
  #
7162
7152
  # @option params [String] :description
7163
7153
  # A description of the KMS key. The default value is an empty string (no
@@ -7741,15 +7731,52 @@ module Aws::KMS
7741
7731
  #
7742
7732
  # @option params [required, String, StringIO, File] :message
7743
7733
  # Specifies the message or message digest to sign. Messages can be
7744
- # 0-4096 bytes. To sign a larger message, provide the message digest.
7734
+ # 0-4096 bytes. To sign a larger message, provide a message digest.
7745
7735
  #
7746
- # If you provide a message, KMS generates a hash digest of the message
7747
- # and then signs it.
7736
+ # If you provide a message digest, use the `DIGEST` value of
7737
+ # `MessageType` to prevent the digest from being hashed again while
7738
+ # signing.
7748
7739
  #
7749
7740
  # @option params [String] :message_type
7750
- # Tells KMS whether the value of the `Message` parameter is a message or
7751
- # message digest. The default value, RAW, indicates a message. To
7752
- # indicate a message digest, enter `DIGEST`.
7741
+ # Tells KMS whether the value of the `Message` parameter should be
7742
+ # hashed as part of the signing algorithm. Use `RAW` for unhashed
7743
+ # messages; use `DIGEST` for message digests, which are already hashed.
7744
+ #
7745
+ # When the value of `MessageType` is `RAW`, KMS uses the standard
7746
+ # signing algorithm, which begins with a hash function. When the value
7747
+ # is `DIGEST`, KMS skips the hashing step in the signing algorithm.
7748
+ #
7749
+ # Use the `DIGEST` value only when the value of the `Message` parameter
7750
+ # is a message digest. If you use the `DIGEST` value with an unhashed
7751
+ # message, the security of the signing operation can be compromised.
7752
+ #
7753
+ # When the value of `MessageType`is `DIGEST`, the length of the
7754
+ # `Message` value must match the length of hashed messages for the
7755
+ # specified signing algorithm.
7756
+ #
7757
+ # You can submit a message digest and omit the `MessageType` or specify
7758
+ # `RAW` so the digest is hashed again while signing. However, this can
7759
+ # cause verification failures when verifying with a system that assumes
7760
+ # a single hash.
7761
+ #
7762
+ # The hashing algorithm in that `Sign` uses is based on the
7763
+ # `SigningAlgorithm` value.
7764
+ #
7765
+ # * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
7766
+ # algorithm.
7767
+ #
7768
+ # * Signing algorithms that end in SHA\_384 use the SHA\_384 hashing
7769
+ # algorithm.
7770
+ #
7771
+ # * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
7772
+ # algorithm.
7773
+ #
7774
+ # * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
7775
+ # verification with SM2 key pairs][1].
7776
+ #
7777
+ #
7778
+ #
7779
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
7753
7780
  #
7754
7781
  # @option params [Array<String>] :grant_tokens
7755
7782
  # A list of grant tokens.
@@ -7768,7 +7795,9 @@ module Aws::KMS
7768
7795
  # Specifies the signing algorithm to use when signing the message.
7769
7796
  #
7770
7797
  # Choose an algorithm that is compatible with the type and size of the
7771
- # specified asymmetric KMS key.
7798
+ # specified asymmetric KMS key. When signing with RSA key pairs,
7799
+ # RSASSA-PSS algorithms are preferred. We include RSASSA-PKCS1-v1\_5
7800
+ # algorithms for compatibility with existing applications.
7772
7801
  #
7773
7802
  # @return [Types::SignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7774
7803
  #
@@ -7796,6 +7825,26 @@ module Aws::KMS
7796
7825
  # signing_algorithm: "ECDSA_SHA_384", # The actual signing algorithm that was used to generate the signature.
7797
7826
  # }
7798
7827
  #
7828
+ # @example Example: To digitally sign a message digest with an asymmetric KMS key.
7829
+ #
7830
+ # # This operation uses the private key in an asymmetric RSA signing KMS key to generate a digital signature for a message
7831
+ # # digest. In this example, a large message was hashed and the resulting digest is provided in the Message parameter. To
7832
+ # # tell KMS not to hash the message again, the MessageType field is set to DIGEST
7833
+ #
7834
+ # resp = client.sign({
7835
+ # key_id: "alias/RSA_signing_key", # The asymmetric KMS key to be used to generate the digital signature. This example uses an alias of the KMS key.
7836
+ # message: "<message digest to be signed>", # Message to be signed. Use Base-64 for the CLI.
7837
+ # message_type: "DIGEST", # Indicates whether the message is RAW or a DIGEST. When it is RAW, KMS hashes the message before signing. When it is DIGEST, KMS skips the hashing step and signs the Message value.
7838
+ # signing_algorithm: "RSASSA_PKCS1_V1_5_SHA_256", # The requested signing algorithm. This must be an algorithm that the KMS key supports.
7839
+ # })
7840
+ #
7841
+ # resp.to_h outputs the following:
7842
+ # {
7843
+ # key_id: "arn:aws:kms:us-east-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", # The key ARN of the asymmetric KMS key that was used to sign the message.
7844
+ # signature: "<binary data>", # The digital signature of the message.
7845
+ # signing_algorithm: "RSASSA_PKCS1_V1_5_SHA_256", # The actual signing algorithm that was used to generate the signature.
7846
+ # }
7847
+ #
7799
7848
  # @example Request syntax with placeholder values
7800
7849
  #
7801
7850
  # resp = client.sign({
@@ -8735,9 +8784,12 @@ module Aws::KMS
8735
8784
  # keys, see [Asymmetric KMS keys][1] in the *Key Management Service
8736
8785
  # Developer Guide*.
8737
8786
  #
8738
- # To verify a digital signature, you can use the `Verify` operation.
8739
- # Specify the same asymmetric KMS key, message, and signing algorithm
8740
- # that were used to produce the signature.
8787
+ # To use the `Verify` operation, specify the same asymmetric KMS key,
8788
+ # message, and signing algorithm that were used to produce the
8789
+ # signature. The message type does not need to be the same as the one
8790
+ # used for signing, but it must indicate whether the value of the
8791
+ # `Message` parameter should be hashed as part of the verification
8792
+ # process.
8741
8793
  #
8742
8794
  # You can also verify the digital signature by using the public key of
8743
8795
  # the KMS key outside of KMS. Use the GetPublicKey operation to download
@@ -8808,13 +8860,46 @@ module Aws::KMS
8808
8860
  # digest are considered to be the same message.
8809
8861
  #
8810
8862
  # @option params [String] :message_type
8811
- # Tells KMS whether the value of the `Message` parameter is a message or
8812
- # message digest. The default value, RAW, indicates a message. To
8813
- # indicate a message digest, enter `DIGEST`.
8863
+ # Tells KMS whether the value of the `Message` parameter should be
8864
+ # hashed as part of the signing algorithm. Use `RAW` for unhashed
8865
+ # messages; use `DIGEST` for message digests, which are already hashed.
8866
+ #
8867
+ # When the value of `MessageType` is `RAW`, KMS uses the standard
8868
+ # signing algorithm, which begins with a hash function. When the value
8869
+ # is `DIGEST`, KMS skips the hashing step in the signing algorithm.
8814
8870
  #
8815
8871
  # Use the `DIGEST` value only when the value of the `Message` parameter
8816
- # is a message digest. If you use the `DIGEST` value with a raw message,
8817
- # the security of the verification operation can be compromised.
8872
+ # is a message digest. If you use the `DIGEST` value with an unhashed
8873
+ # message, the security of the verification operation can be
8874
+ # compromised.
8875
+ #
8876
+ # When the value of `MessageType`is `DIGEST`, the length of the
8877
+ # `Message` value must match the length of hashed messages for the
8878
+ # specified signing algorithm.
8879
+ #
8880
+ # You can submit a message digest and omit the `MessageType` or specify
8881
+ # `RAW` so the digest is hashed again while signing. However, if the
8882
+ # signed message is hashed once while signing, but twice while
8883
+ # verifying, verification fails, even when the message hasn't changed.
8884
+ #
8885
+ # The hashing algorithm in that `Verify` uses is based on the
8886
+ # `SigningAlgorithm` value.
8887
+ #
8888
+ # * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
8889
+ # algorithm.
8890
+ #
8891
+ # * Signing algorithms that end in SHA\_384 use the SHA\_384 hashing
8892
+ # algorithm.
8893
+ #
8894
+ # * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
8895
+ # algorithm.
8896
+ #
8897
+ # * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
8898
+ # verification with SM2 key pairs][1].
8899
+ #
8900
+ #
8901
+ #
8902
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
8818
8903
  #
8819
8904
  # @option params [required, String, StringIO, File] :signature
8820
8905
  # The signature that the `Sign` operation generated.
@@ -8863,6 +8948,27 @@ module Aws::KMS
8863
8948
  # signing_algorithm: "ECDSA_SHA_384", # The signing algorithm that was used to verify the signature.
8864
8949
  # }
8865
8950
  #
8951
+ # @example Example: To use an asymmetric KMS key to verify a digital signature on a message digest
8952
+ #
8953
+ # # This operation uses the public key in an RSA asymmetric signing key pair to verify the digital signature of a message
8954
+ # # digest. Hashing a message into a digest before sending it to KMS lets you verify messages that exceed the 4096-byte
8955
+ # # message size limit. To indicate that the value of Message is a digest, use the MessageType parameter
8956
+ #
8957
+ # resp = client.verify({
8958
+ # key_id: "arn:aws:kms:us-east-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", # The asymmetric KMS key to be used to verify the digital signature. This example uses an alias to identify the KMS key.
8959
+ # message: "<message digest to be verified>", # The message that was signed.
8960
+ # message_type: "DIGEST", # Indicates whether the message is RAW or a DIGEST. When it is RAW, KMS hashes the message before signing. When it is DIGEST, KMS skips the hashing step and signs the Message value.
8961
+ # signature: "<binary data>", # The signature to be verified.
8962
+ # signing_algorithm: "RSASSA_PSS_SHA_512", # The signing algorithm to be used to verify the signature.
8963
+ # })
8964
+ #
8965
+ # resp.to_h outputs the following:
8966
+ # {
8967
+ # key_id: "arn:aws:kms:us-east-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", # The key ARN of the asymmetric KMS key that was used to verify the digital signature.
8968
+ # signature_valid: true, # A value of 'true' Indicates that the signature was verified. If verification fails, the call to Verify fails.
8969
+ # signing_algorithm: "RSASSA_PSS_SHA_512", # The signing algorithm that was used to verify the signature.
8970
+ # }
8971
+ #
8866
8972
  # @example Request syntax with placeholder values
8867
8973
  #
8868
8974
  # resp = client.verify({
@@ -9026,7 +9132,7 @@ module Aws::KMS
9026
9132
  params: params,
9027
9133
  config: config)
9028
9134
  context[:gem_name] = 'aws-sdk-kms'
9029
- context[:gem_version] = '1.62.0'
9135
+ context[:gem_version] = '1.63.0'
9030
9136
  Seahorse::Client::Request.new(handlers, context)
9031
9137
  end
9032
9138
 
@@ -50,9 +50,6 @@ module Aws::KMS
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
- if self[:region].nil?
54
- raise ArgumentError, "Missing required EndpointParameter: :region"
55
- end
56
53
  self[:use_dual_stack] = options[:use_dual_stack]
57
54
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
58
55
  if self[:use_dual_stack].nil?
@@ -14,36 +14,39 @@ module Aws::KMS
14
14
  use_dual_stack = parameters.use_dual_stack
15
15
  use_fips = parameters.use_fips
16
16
  endpoint = parameters.endpoint
17
- if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
- if Aws::Endpoints::Matchers.set?(endpoint)
19
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
- raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
- end
22
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
- raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
- end
25
- return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
- end
27
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
- return Aws::Endpoints::Endpoint.new(url: "https://kms-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
- end
31
- raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
- end
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
33
18
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
- return Aws::Endpoints::Endpoint.new(url: "https://kms-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
36
- end
37
- raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
38
20
  end
39
21
  if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
40
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
41
- return Aws::Endpoints::Endpoint.new(url: "https://kms.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
25
+ end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://kms-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
34
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
+ return Aws::Endpoints::Endpoint.new(url: "https://kms-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
39
+ end
40
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
41
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
+ return Aws::Endpoints::Endpoint.new(url: "https://kms.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
+ end
44
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
42
45
  end
43
- raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
46
+ return Aws::Endpoints::Endpoint.new(url: "https://kms.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
44
47
  end
45
- return Aws::Endpoints::Endpoint.new(url: "https://kms.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
46
48
  end
49
+ raise ArgumentError, "Invalid Configuration: Missing Region"
47
50
  raise ArgumentError, 'No endpoint could be resolved'
48
51
 
49
52
  end
@@ -566,18 +566,16 @@ module Aws::KMS
566
566
  # @!attribute [rw] grantee_principal
567
567
  # The identity that gets the permissions specified in the grant.
568
568
  #
569
- # To specify the principal, use the [Amazon Resource Name (ARN)][1] of
570
- # an Amazon Web Services principal. Valid Amazon Web Services
571
- # principals include Amazon Web Services accounts (root), IAM users,
572
- # IAM roles, federated users, and assumed role users. For examples of
573
- # the ARN syntax to use for specifying a principal, see [Amazon Web
574
- # Services Identity and Access Management (IAM)][2] in the Example
575
- # ARNs section of the *Amazon Web Services General Reference*.
569
+ # To specify the grantee principal, use the Amazon Resource Name (ARN)
570
+ # of an Amazon Web Services principal. Valid principals include Amazon
571
+ # Web Services accounts, IAM users, IAM roles, federated users, and
572
+ # assumed role users. For help with the ARN syntax for a principal,
573
+ # see [IAM ARNs][1] in the <i> <i>Identity and Access Management User
574
+ # Guide</i> </i>.
576
575
  #
577
576
  #
578
577
  #
579
- # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
580
- # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam
578
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns
581
579
  # @return [String]
582
580
  #
583
581
  # @!attribute [rw] retiring_principal
@@ -585,12 +583,11 @@ module Aws::KMS
585
583
  # to retire the grant.
586
584
  #
587
585
  # To specify the principal, use the [Amazon Resource Name (ARN)][1] of
588
- # an Amazon Web Services principal. Valid Amazon Web Services
589
- # principals include Amazon Web Services accounts (root), IAM users,
590
- # federated users, and assumed role users. For examples of the ARN
591
- # syntax to use for specifying a principal, see [Amazon Web Services
592
- # Identity and Access Management (IAM)][2] in the Example ARNs section
593
- # of the *Amazon Web Services General Reference*.
586
+ # an Amazon Web Services principal. Valid principals include Amazon
587
+ # Web Services accounts, IAM users, IAM roles, federated users, and
588
+ # assumed role users. For help with the ARN syntax for a principal,
589
+ # see [IAM ARNs][2] in the <i> <i>Identity and Access Management User
590
+ # Guide</i> </i>.
594
591
  #
595
592
  # The grant determines the retiring principal. Other principals might
596
593
  # have permission to retire the grant or revoke the grant. For
@@ -600,7 +597,7 @@ module Aws::KMS
600
597
  #
601
598
  #
602
599
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
603
- # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam
600
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns
604
601
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete
605
602
  # @return [String]
606
603
  #
@@ -741,27 +738,25 @@ module Aws::KMS
741
738
  #
742
739
  # If you provide a key policy, it must meet the following criteria:
743
740
  #
744
- # * If you don't set `BypassPolicyLockoutSafetyCheck` to true, the
745
- # key policy must allow the principal that is making the `CreateKey`
746
- # request to make a subsequent PutKeyPolicy request on the KMS key.
747
- # This reduces the risk that the KMS key becomes unmanageable. For
748
- # more information, refer to the scenario in the [Default Key
749
- # Policy][1] section of the <i> <i>Key Management Service Developer
750
- # Guide</i> </i>.
741
+ # * The key policy must allow the calling principal to make a
742
+ # subsequent `PutKeyPolicy` request on the KMS key. This reduces the
743
+ # risk that the KMS key becomes unmanageable. For more information,
744
+ # see [Default key policy][1] in the *Key Management Service
745
+ # Developer Guide*. (To omit this condition, set
746
+ # `BypassPolicyLockoutSafetyCheck` to true.)
751
747
  #
752
748
  # * Each statement in the key policy must contain one or more
753
749
  # principals. The principals in the key policy must exist and be
754
750
  # visible to KMS. When you create a new Amazon Web Services
755
- # principal (for example, an IAM user or role), you might need to
756
- # enforce a delay before including the new principal in a key policy
757
- # because the new principal might not be immediately visible to KMS.
758
- # For more information, see [Changes that I make are not always
759
- # immediately visible][2] in the *Amazon Web Services Identity and
760
- # Access Management User Guide*.
751
+ # principal, you might need to enforce a delay before including the
752
+ # new principal in a key policy because the new principal might not
753
+ # be immediately visible to KMS. For more information, see [Changes
754
+ # that I make are not always immediately visible][2] in the *Amazon
755
+ # Web Services Identity and Access Management User Guide*.
761
756
  #
762
757
  # If you do not provide a key policy, KMS attaches a default key
763
- # policy to the KMS key. For more information, see [Default Key
764
- # Policy][3] in the *Key Management Service Developer Guide*.
758
+ # policy to the KMS key. For more information, see [Default key
759
+ # policy][3] in the *Key Management Service Developer Guide*.
765
760
  #
766
761
  # The key policy size quota is 32 kilobytes (32768 bytes).
767
762
  #
@@ -771,7 +766,7 @@ module Aws::KMS
771
766
  #
772
767
  #
773
768
  #
774
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
769
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
775
770
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
776
771
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
777
772
  # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
@@ -957,26 +952,23 @@ module Aws::KMS
957
952
  # @return [String]
958
953
  #
959
954
  # @!attribute [rw] bypass_policy_lockout_safety_check
960
- # A flag to indicate whether to bypass the key policy lockout safety
961
- # check.
955
+ # Skips ("bypasses") the key policy lockout safety check. The
956
+ # default value is false.
962
957
  #
963
958
  # Setting this value to true increases the risk that the KMS key
964
959
  # becomes unmanageable. Do not set this value to true
965
960
  # indiscriminately.
966
961
  #
967
- # For more information, refer to the scenario in the [Default Key
968
- # Policy][1] section in the <i> <i>Key Management Service Developer
969
- # Guide</i> </i>.
970
- #
971
- # Use this parameter only when you include a policy in the request and
972
- # you intend to prevent the principal that is making the request from
973
- # making a subsequent PutKeyPolicy request on the KMS key.
962
+ # For more information, see [Default key policy][1] in the *Key
963
+ # Management Service Developer Guide*.
974
964
  #
975
- # The default value is false.
965
+ # Use this parameter only when you intend to prevent the principal
966
+ # that is making the request from making a subsequent PutKeyPolicy
967
+ # request on the KMS key.
976
968
  #
977
969
  #
978
970
  #
979
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
971
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
980
972
  # @return [Boolean]
981
973
  #
982
974
  # @!attribute [rw] tags
@@ -2776,14 +2768,21 @@ module Aws::KMS
2776
2768
  # @return [String]
2777
2769
  #
2778
2770
  # @!attribute [rw] wrapping_algorithm
2779
- # The algorithm you will use to encrypt the key material before
2780
- # importing it with ImportKeyMaterial. For more information, see
2781
- # [Encrypt the Key Material][1] in the *Key Management Service
2771
+ # The algorithm you will use to encrypt the key material before using
2772
+ # the ImportKeyMaterial operation to import it. For more information,
2773
+ # see [Encrypt the key material][1] in the *Key Management Service
2782
2774
  # Developer Guide*.
2783
2775
  #
2776
+ # The `RSAES_PKCS1_V1_5` wrapping algorithm is deprecated. We
2777
+ # recommend that you begin using a different wrapping algorithm
2778
+ # immediately. KMS will end support for `RSAES_PKCS1_V1_5` by October
2779
+ # 1, 2023 pursuant to [cryptographic key management guidance][2] from
2780
+ # the National Institute of Standards and Technology (NIST).
2781
+ #
2784
2782
  #
2785
2783
  #
2786
2784
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-encrypt-key-material.html
2785
+ # [2]: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar2.pdf
2787
2786
  # @return [String]
2788
2787
  #
2789
2788
  # @!attribute [rw] wrapping_key_spec
@@ -4128,17 +4127,16 @@ module Aws::KMS
4128
4127
  # in your Amazon Web Services account.
4129
4128
  #
4130
4129
  # To specify the retiring principal, use the [Amazon Resource Name
4131
- # (ARN)][1] of an Amazon Web Services principal. Valid Amazon Web
4132
- # Services principals include Amazon Web Services accounts (root), IAM
4133
- # users, federated users, and assumed role users. For examples of the
4134
- # ARN syntax for specifying a principal, see [Amazon Web Services
4135
- # Identity and Access Management (IAM)][2] in the Example ARNs section
4136
- # of the *Amazon Web Services General Reference*.
4130
+ # (ARN)][1] of an Amazon Web Services principal. Valid principals
4131
+ # include Amazon Web Services accounts, IAM users, IAM roles,
4132
+ # federated users, and assumed role users. For help with the ARN
4133
+ # syntax for a principal, see [IAM ARNs][2] in the <i> <i>Identity and
4134
+ # Access Management User Guide</i> </i>.
4137
4135
  #
4138
4136
  #
4139
4137
  #
4140
4138
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
4141
- # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam
4139
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns
4142
4140
  # @return [String]
4143
4141
  #
4144
4142
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListRetirableGrantsRequest AWS API Documentation
@@ -4256,23 +4254,21 @@ module Aws::KMS
4256
4254
  #
4257
4255
  # The key policy must meet the following criteria:
4258
4256
  #
4259
- # * If you don't set `BypassPolicyLockoutSafetyCheck` to true, the
4260
- # key policy must allow the principal that is making the
4261
- # `PutKeyPolicy` request to make a subsequent `PutKeyPolicy` request
4262
- # on the KMS key. This reduces the risk that the KMS key becomes
4263
- # unmanageable. For more information, refer to the scenario in the
4264
- # [Default Key Policy][1] section of the *Key Management Service
4265
- # Developer Guide*.
4257
+ # * The key policy must allow the calling principal to make a
4258
+ # subsequent `PutKeyPolicy` request on the KMS key. This reduces the
4259
+ # risk that the KMS key becomes unmanageable. For more information,
4260
+ # see [Default key policy][1] in the *Key Management Service
4261
+ # Developer Guide*. (To omit this condition, set
4262
+ # `BypassPolicyLockoutSafetyCheck` to true.)
4266
4263
  #
4267
4264
  # * Each statement in the key policy must contain one or more
4268
4265
  # principals. The principals in the key policy must exist and be
4269
4266
  # visible to KMS. When you create a new Amazon Web Services
4270
- # principal (for example, an IAM user or role), you might need to
4271
- # enforce a delay before including the new principal in a key policy
4272
- # because the new principal might not be immediately visible to KMS.
4273
- # For more information, see [Changes that I make are not always
4274
- # immediately visible][2] in the *Amazon Web Services Identity and
4275
- # Access Management User Guide*.
4267
+ # principal, you might need to enforce a delay before including the
4268
+ # new principal in a key policy because the new principal might not
4269
+ # be immediately visible to KMS. For more information, see [Changes
4270
+ # that I make are not always immediately visible][2] in the *Amazon
4271
+ # Web Services Identity and Access Management User Guide*.
4276
4272
  #
4277
4273
  # A key policy document can include only the following characters:
4278
4274
  #
@@ -4293,32 +4289,30 @@ module Aws::KMS
4293
4289
  #
4294
4290
  #
4295
4291
  #
4296
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
4292
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
4297
4293
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
4298
4294
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
4299
4295
  # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
4300
4296
  # @return [String]
4301
4297
  #
4302
4298
  # @!attribute [rw] bypass_policy_lockout_safety_check
4303
- # A flag to indicate whether to bypass the key policy lockout safety
4304
- # check.
4299
+ # Skips ("bypasses") the key policy lockout safety check. The
4300
+ # default value is false.
4305
4301
  #
4306
4302
  # Setting this value to true increases the risk that the KMS key
4307
4303
  # becomes unmanageable. Do not set this value to true
4308
4304
  # indiscriminately.
4309
4305
  #
4310
- # For more information, refer to the scenario in the [Default Key
4311
- # Policy][1] section in the *Key Management Service Developer Guide*.
4306
+ # For more information, see [Default key policy][1] in the *Key
4307
+ # Management Service Developer Guide*.
4312
4308
  #
4313
4309
  # Use this parameter only when you intend to prevent the principal
4314
- # that is making the request from making a subsequent `PutKeyPolicy`
4310
+ # that is making the request from making a subsequent PutKeyPolicy
4315
4311
  # request on the KMS key.
4316
4312
  #
4317
- # The default value is false.
4318
- #
4319
4313
  #
4320
4314
  #
4321
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
4315
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
4322
4316
  # @return [Boolean]
4323
4317
  #
4324
4318
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/PutKeyPolicyRequest AWS API Documentation
@@ -4606,22 +4600,21 @@ module Aws::KMS
4606
4600
  #
4607
4601
  # If you provide a key policy, it must meet the following criteria:
4608
4602
  #
4609
- # * If you don't set `BypassPolicyLockoutSafetyCheck` to true, the
4610
- # key policy must give the caller `kms:PutKeyPolicy` permission on
4611
- # the replica key. This reduces the risk that the KMS key becomes
4612
- # unmanageable. For more information, refer to the scenario in the
4613
- # [Default Key Policy][2] section of the <i> <i>Key Management
4614
- # Service Developer Guide</i> </i>.
4603
+ # * The key policy must allow the calling principal to make a
4604
+ # subsequent `PutKeyPolicy` request on the KMS key. This reduces the
4605
+ # risk that the KMS key becomes unmanageable. For more information,
4606
+ # see [Default key policy][2] in the *Key Management Service
4607
+ # Developer Guide*. (To omit this condition, set
4608
+ # `BypassPolicyLockoutSafetyCheck` to true.)
4615
4609
  #
4616
4610
  # * Each statement in the key policy must contain one or more
4617
4611
  # principals. The principals in the key policy must exist and be
4618
4612
  # visible to KMS. When you create a new Amazon Web Services
4619
- # principal (for example, an IAM user or role), you might need to
4620
- # enforce a delay before including the new principal in a key policy
4621
- # because the new principal might not be immediately visible to KMS.
4622
- # For more information, see [Changes that I make are not always
4623
- # immediately visible][3] in the <i> <i>Identity and Access
4624
- # Management User Guide</i> </i>.
4613
+ # principal, you might need to enforce a delay before including the
4614
+ # new principal in a key policy because the new principal might not
4615
+ # be immediately visible to KMS. For more information, see [Changes
4616
+ # that I make are not always immediately visible][3] in the *Amazon
4617
+ # Web Services Identity and Access Management User Guide*.
4625
4618
  #
4626
4619
  # A key policy document can include only the following characters:
4627
4620
  #
@@ -4643,32 +4636,30 @@ module Aws::KMS
4643
4636
  #
4644
4637
  #
4645
4638
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
4646
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
4639
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
4647
4640
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
4648
4641
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
4649
4642
  # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
4650
4643
  # @return [String]
4651
4644
  #
4652
4645
  # @!attribute [rw] bypass_policy_lockout_safety_check
4653
- # A flag to indicate whether to bypass the key policy lockout safety
4654
- # check.
4646
+ # Skips ("bypasses") the key policy lockout safety check. The
4647
+ # default value is false.
4655
4648
  #
4656
4649
  # Setting this value to true increases the risk that the KMS key
4657
4650
  # becomes unmanageable. Do not set this value to true
4658
4651
  # indiscriminately.
4659
4652
  #
4660
- # For more information, refer to the scenario in the [Default Key
4661
- # Policy][1] section in the *Key Management Service Developer Guide*.
4653
+ # For more information, see [Default key policy][1] in the *Key
4654
+ # Management Service Developer Guide*.
4662
4655
  #
4663
4656
  # Use this parameter only when you intend to prevent the principal
4664
- # that is making the request from making a subsequent `PutKeyPolicy`
4657
+ # that is making the request from making a subsequent PutKeyPolicy
4665
4658
  # request on the KMS key.
4666
4659
  #
4667
- # The default value is false.
4668
4660
  #
4669
4661
  #
4670
- #
4671
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
4662
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
4672
4663
  # @return [Boolean]
4673
4664
  #
4674
4665
  # @!attribute [rw] description
@@ -4952,16 +4943,55 @@ module Aws::KMS
4952
4943
  #
4953
4944
  # @!attribute [rw] message
4954
4945
  # Specifies the message or message digest to sign. Messages can be
4955
- # 0-4096 bytes. To sign a larger message, provide the message digest.
4946
+ # 0-4096 bytes. To sign a larger message, provide a message digest.
4956
4947
  #
4957
- # If you provide a message, KMS generates a hash digest of the message
4958
- # and then signs it.
4948
+ # If you provide a message digest, use the `DIGEST` value of
4949
+ # `MessageType` to prevent the digest from being hashed again while
4950
+ # signing.
4959
4951
  # @return [String]
4960
4952
  #
4961
4953
  # @!attribute [rw] message_type
4962
- # Tells KMS whether the value of the `Message` parameter is a message
4963
- # or message digest. The default value, RAW, indicates a message. To
4964
- # indicate a message digest, enter `DIGEST`.
4954
+ # Tells KMS whether the value of the `Message` parameter should be
4955
+ # hashed as part of the signing algorithm. Use `RAW` for unhashed
4956
+ # messages; use `DIGEST` for message digests, which are already
4957
+ # hashed.
4958
+ #
4959
+ # When the value of `MessageType` is `RAW`, KMS uses the standard
4960
+ # signing algorithm, which begins with a hash function. When the value
4961
+ # is `DIGEST`, KMS skips the hashing step in the signing algorithm.
4962
+ #
4963
+ # Use the `DIGEST` value only when the value of the `Message`
4964
+ # parameter is a message digest. If you use the `DIGEST` value with an
4965
+ # unhashed message, the security of the signing operation can be
4966
+ # compromised.
4967
+ #
4968
+ # When the value of `MessageType`is `DIGEST`, the length of the
4969
+ # `Message` value must match the length of hashed messages for the
4970
+ # specified signing algorithm.
4971
+ #
4972
+ # You can submit a message digest and omit the `MessageType` or
4973
+ # specify `RAW` so the digest is hashed again while signing. However,
4974
+ # this can cause verification failures when verifying with a system
4975
+ # that assumes a single hash.
4976
+ #
4977
+ # The hashing algorithm in that `Sign` uses is based on the
4978
+ # `SigningAlgorithm` value.
4979
+ #
4980
+ # * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
4981
+ # algorithm.
4982
+ #
4983
+ # * Signing algorithms that end in SHA\_384 use the SHA\_384 hashing
4984
+ # algorithm.
4985
+ #
4986
+ # * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
4987
+ # algorithm.
4988
+ #
4989
+ # * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
4990
+ # verification with SM2 key pairs][1].
4991
+ #
4992
+ #
4993
+ #
4994
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
4965
4995
  # @return [String]
4966
4996
  #
4967
4997
  # @!attribute [rw] grant_tokens
@@ -4982,7 +5012,9 @@ module Aws::KMS
4982
5012
  # Specifies the signing algorithm to use when signing the message.
4983
5013
  #
4984
5014
  # Choose an algorithm that is compatible with the type and size of the
4985
- # specified asymmetric KMS key.
5015
+ # specified asymmetric KMS key. When signing with RSA key pairs,
5016
+ # RSASSA-PSS algorithms are preferred. We include RSASSA-PKCS1-v1\_5
5017
+ # algorithms for compatibility with existing applications.
4986
5018
  # @return [String]
4987
5019
  #
4988
5020
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/SignRequest AWS API Documentation
@@ -5548,14 +5580,48 @@ module Aws::KMS
5548
5580
  # @return [String]
5549
5581
  #
5550
5582
  # @!attribute [rw] message_type
5551
- # Tells KMS whether the value of the `Message` parameter is a message
5552
- # or message digest. The default value, RAW, indicates a message. To
5553
- # indicate a message digest, enter `DIGEST`.
5583
+ # Tells KMS whether the value of the `Message` parameter should be
5584
+ # hashed as part of the signing algorithm. Use `RAW` for unhashed
5585
+ # messages; use `DIGEST` for message digests, which are already
5586
+ # hashed.
5587
+ #
5588
+ # When the value of `MessageType` is `RAW`, KMS uses the standard
5589
+ # signing algorithm, which begins with a hash function. When the value
5590
+ # is `DIGEST`, KMS skips the hashing step in the signing algorithm.
5554
5591
  #
5555
5592
  # Use the `DIGEST` value only when the value of the `Message`
5556
- # parameter is a message digest. If you use the `DIGEST` value with a
5557
- # raw message, the security of the verification operation can be
5593
+ # parameter is a message digest. If you use the `DIGEST` value with an
5594
+ # unhashed message, the security of the verification operation can be
5558
5595
  # compromised.
5596
+ #
5597
+ # When the value of `MessageType`is `DIGEST`, the length of the
5598
+ # `Message` value must match the length of hashed messages for the
5599
+ # specified signing algorithm.
5600
+ #
5601
+ # You can submit a message digest and omit the `MessageType` or
5602
+ # specify `RAW` so the digest is hashed again while signing. However,
5603
+ # if the signed message is hashed once while signing, but twice while
5604
+ # verifying, verification fails, even when the message hasn't
5605
+ # changed.
5606
+ #
5607
+ # The hashing algorithm in that `Verify` uses is based on the
5608
+ # `SigningAlgorithm` value.
5609
+ #
5610
+ # * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
5611
+ # algorithm.
5612
+ #
5613
+ # * Signing algorithms that end in SHA\_384 use the SHA\_384 hashing
5614
+ # algorithm.
5615
+ #
5616
+ # * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
5617
+ # algorithm.
5618
+ #
5619
+ # * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
5620
+ # verification with SM2 key pairs][1].
5621
+ #
5622
+ #
5623
+ #
5624
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
5559
5625
  # @return [String]
5560
5626
  #
5561
5627
  # @!attribute [rw] signature
data/lib/aws-sdk-kms.rb CHANGED
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-kms/customizations'
52
52
  # @!group service
53
53
  module Aws::KMS
54
54
 
55
- GEM_VERSION = '1.62.0'
55
+ GEM_VERSION = '1.63.0'
56
56
 
57
57
  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.62.0
4
+ version: 1.63.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: 2023-01-18 00:00:00.000000000 Z
11
+ date: 2023-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core