aws-sdk-kms 1.101.0 → 1.109.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -95,7 +95,7 @@ module Aws::KMS
95
95
  # class name or an instance of a plugin class.
96
96
  #
97
97
  # @option options [required, Aws::CredentialProvider] :credentials
98
- # Your AWS credentials. This can be an instance of any one of the
98
+ # Your AWS credentials used for authentication. This can be an instance of any one of the
99
99
  # following classes:
100
100
  #
101
101
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
@@ -128,18 +128,23 @@ module Aws::KMS
128
128
  # locations will be searched for credentials:
129
129
  #
130
130
  # * `Aws.config[:credentials]`
131
+ #
131
132
  # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
133
  # `:account_id` options.
133
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
134
- # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
134
+ #
135
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
136
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
137
+ #
135
138
  # * `~/.aws/credentials`
139
+ #
136
140
  # * `~/.aws/config`
141
+ #
137
142
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
138
143
  # are very aggressive. Construct and pass an instance of
139
144
  # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
140
145
  # enable retries and extended timeouts. Instance profile credential
141
- # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
142
- # to true.
146
+ # fetching can be disabled by setting `ENV['AWS_EC2_METADATA_DISABLED']`
147
+ # to `true`.
143
148
  #
144
149
  # @option options [required, String] :region
145
150
  # The AWS region to connect to. The configured `:region` is
@@ -167,6 +172,11 @@ module Aws::KMS
167
172
  # When false, the request will raise a `RetryCapacityNotAvailableError` and will
168
173
  # not retry instead of sleeping.
169
174
  #
175
+ # @option options [Array<String>] :auth_scheme_preference
176
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
177
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
178
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
179
+ #
170
180
  # @option options [Boolean] :client_side_monitoring (false)
171
181
  # When `true`, client-side metrics will be collected for all API requests from
172
182
  # this client.
@@ -253,8 +263,8 @@ module Aws::KMS
253
263
  # 4 times. Used in `standard` and `adaptive` retry modes.
254
264
  #
255
265
  # @option options [String] :profile ("default")
256
- # Used when loading credentials from the shared credentials file
257
- # at HOME/.aws/credentials. When not specified, 'default' is used.
266
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
267
+ # When not specified, 'default' is used.
258
268
  #
259
269
  # @option options [String] :request_checksum_calculation ("when_supported")
260
270
  # Determines when a checksum will be calculated for request payloads. Values are:
@@ -374,7 +384,7 @@ module Aws::KMS
374
384
  # `Aws::Telemetry::OTelProvider` for telemetry provider.
375
385
  #
376
386
  # @option options [Aws::TokenProvider] :token_provider
377
- # A Bearer Token Provider. This can be an instance of any one of the
387
+ # Your Bearer token used for authentication. This can be an instance of any one of the
378
388
  # following classes:
379
389
  #
380
390
  # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
@@ -503,7 +513,7 @@ module Aws::KMS
503
513
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
504
514
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
505
515
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
506
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
516
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
507
517
  #
508
518
  # @option params [required, String] :key_id
509
519
  # Identifies the KMS key whose deletion is being canceled.
@@ -575,9 +585,9 @@ module Aws::KMS
575
585
  # custom key store is connected. To get the connection state of the
576
586
  # custom key store, use the DescribeCustomKeyStores operation.
577
587
  #
578
- # This operation is part of the [custom key stores][1] feature in KMS,
579
- # which combines the convenience and extensive integration of KMS with
580
- # the isolation and control of a key store that you own and manage.
588
+ # This operation is part of the custom key stores feature in KMS, which
589
+ # combines the convenience and extensive integration of KMS with the
590
+ # isolation and control of a key store that you own and manage.
581
591
  #
582
592
  # The `ConnectCustomKeyStore` operation might fail for various reasons.
583
593
  # To find the reason, use the DescribeCustomKeyStores operation and see
@@ -651,14 +661,14 @@ module Aws::KMS
651
661
  #
652
662
  #
653
663
  #
654
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
664
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
655
665
  # [2]: https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html
656
666
  # [3]: https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_CreateHsm.html
657
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-concepts.html#concept-kmsuser
667
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html#concept-kmsuser
658
668
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
659
669
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
660
670
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
661
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
671
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
662
672
  #
663
673
  # @option params [required, String] :custom_key_store_id
664
674
  # Enter the key store ID of the custom key store that you want to
@@ -720,7 +730,7 @@ module Aws::KMS
720
730
  #
721
731
  # The alias must be unique in the account and Region, but you can have
722
732
  # aliases with the same name in different Regions. For detailed
723
- # information about aliases, see [Using aliases][3] in the *Key
733
+ # information about aliases, see [Aliases in KMS][3] in the *Key
724
734
  # Management Service Developer Guide*.
725
735
  #
726
736
  # This operation does not return a response. To get the alias that you
@@ -756,12 +766,12 @@ module Aws::KMS
756
766
  #
757
767
  #
758
768
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
759
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
769
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
760
770
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
761
771
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
762
772
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
763
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
764
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
773
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/alias-access.html
774
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
765
775
  #
766
776
  # @option params [required, String] :alias_name
767
777
  # Specifies the alias name. This value must begin with `alias/` followed
@@ -779,7 +789,7 @@ module Aws::KMS
779
789
  #
780
790
  #
781
791
  #
782
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
792
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
783
793
  #
784
794
  # @option params [required, String] :target_key_id
785
795
  # Associates the alias with the specified [customer managed key][1]. The
@@ -788,7 +798,7 @@ module Aws::KMS
788
798
  # A valid key ID is required. If you supply a null or empty string
789
799
  # value, this operation returns an error.
790
800
  #
791
- # For help finding the key ID and ARN, see [Finding the Key ID and
801
+ # For help finding the key ID and ARN, see [Find the key ID and key
792
802
  # ARN][2] in the <i> <i>Key Management Service Developer Guide</i> </i>.
793
803
  #
794
804
  # Specify the key ID or key ARN of the KMS key.
@@ -805,8 +815,8 @@ module Aws::KMS
805
815
  #
806
816
  #
807
817
  #
808
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
809
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html#find-cmk-id-arn
818
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key
819
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html
810
820
  #
811
821
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
812
822
  #
@@ -844,9 +854,9 @@ module Aws::KMS
844
854
  # stores][4] backed by an external key store proxy and external key
845
855
  # manager outside of Amazon Web Services.
846
856
  #
847
- # This operation is part of the [custom key stores][1] feature in KMS,
848
- # which combines the convenience and extensive integration of KMS with
849
- # the isolation and control of a key store that you own and manage.
857
+ # This operation is part of the custom key stores feature in KMS, which
858
+ # combines the convenience and extensive integration of KMS with the
859
+ # isolation and control of a key store that you own and manage.
850
860
  #
851
861
  # Before you create the custom key store, the required elements must be
852
862
  # in place and operational. We recommend that you use the test tools
@@ -899,9 +909,6 @@ module Aws::KMS
899
909
  # immediately, you might want to connect it to verify that all settings
900
910
  # are correct and then disconnect it until you are ready to use it.
901
911
  #
902
- # For help with failures, see [Troubleshooting a custom key store][7] in
903
- # the *Key Management Service Developer Guide*.
904
- #
905
912
  # **Cross-account use**: No. You cannot perform this operation on a
906
913
  # custom key store in a different Amazon Web Services account.
907
914
  #
@@ -924,7 +931,7 @@ module Aws::KMS
924
931
  #
925
932
  #
926
933
  #
927
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
934
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
928
935
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
929
936
  # [3]: https://docs.aws.amazon.com/cloudhsm/latest/userguide/clusters.html
930
937
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
@@ -933,7 +940,7 @@ module Aws::KMS
933
940
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
934
941
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
935
942
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
936
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
943
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
937
944
  #
938
945
  # @option params [required, String] :custom_key_store_name
939
946
  # Specifies a friendly name for the custom key store. The name must be
@@ -987,7 +994,7 @@ module Aws::KMS
987
994
  #
988
995
  #
989
996
  #
990
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-concepts.html#concept-kmsuser
997
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html#concept-kmsuser
991
998
  #
992
999
  # @option params [String] :custom_key_store_type
993
1000
  # Specifies the type of custom key store. The default value is
@@ -1088,7 +1095,7 @@ module Aws::KMS
1088
1095
  # `RawSecretAccessKey`, a secret key, and `AccessKeyId`, a unique
1089
1096
  # identifier for the `RawSecretAccessKey`. For character requirements,
1090
1097
  # see
1091
- # [XksProxyAuthenticationCredentialType](kms/latest/APIReference/API_XksProxyAuthenticationCredentialType.html).
1098
+ # [XksProxyAuthenticationCredentialType](API_XksProxyAuthenticationCredentialType.html).
1092
1099
  #
1093
1100
  # KMS uses this authentication credential to sign requests to the
1094
1101
  # external key store proxy on your behalf. This credential is unrelated
@@ -1128,7 +1135,7 @@ module Aws::KMS
1128
1135
  #
1129
1136
  #
1130
1137
  #
1131
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/plan-xks-keystore.html#choose-xks-connectivity
1138
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/choose-xks-connectivity.html
1132
1139
  #
1133
1140
  # @return [Types::CreateCustomKeyStoreResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1134
1141
  #
@@ -1237,8 +1244,9 @@ module Aws::KMS
1237
1244
  #
1238
1245
  # For detailed information about grants, including grant terminology,
1239
1246
  # see [Grants in KMS][1] in the <i> <i>Key Management Service Developer
1240
- # Guide</i> </i>. For examples of working with grants in several
1241
- # programming languages, see [Programming grants][2].
1247
+ # Guide</i> </i>. For examples of creating grants in several programming
1248
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
1249
+ # CLI][2].
1242
1250
  #
1243
1251
  # The `CreateGrant` operation returns a `GrantToken` and a `GrantId`.
1244
1252
  #
@@ -1284,11 +1292,11 @@ module Aws::KMS
1284
1292
  #
1285
1293
  #
1286
1294
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
1287
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
1288
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
1295
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
1296
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
1289
1297
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1290
1298
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
1291
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
1299
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
1292
1300
  #
1293
1301
  # @option params [required, String] :key_id
1294
1302
  # Identifies the KMS key for the grant. The grant gives principals
@@ -1341,7 +1349,7 @@ module Aws::KMS
1341
1349
  #
1342
1350
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1343
1351
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns
1344
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete
1352
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
1345
1353
  #
1346
1354
  # @option params [required, Array<String>] :operations
1347
1355
  # A list of operations that the grant permits.
@@ -1410,7 +1418,7 @@ module Aws::KMS
1410
1418
  #
1411
1419
  #
1412
1420
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
1413
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
1421
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
1414
1422
  #
1415
1423
  # @option params [String] :name
1416
1424
  # A friendly name for the grant. Use this value to prevent the
@@ -1436,12 +1444,12 @@ module Aws::KMS
1436
1444
  # Checks if your request will succeed. `DryRun` is an optional
1437
1445
  # parameter.
1438
1446
  #
1439
- # To learn more about how to use this parameter, see [Testing your KMS
1440
- # API calls][1] in the *Key Management Service Developer Guide*.
1447
+ # To learn more about how to use this parameter, see [Testing your
1448
+ # permissions][1] in the *Key Management Service Developer Guide*.
1441
1449
  #
1442
1450
  #
1443
1451
  #
1444
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
1452
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
1445
1453
  #
1446
1454
  # @return [Types::CreateGrantResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1447
1455
  #
@@ -1511,16 +1519,15 @@ module Aws::KMS
1511
1519
  # A KMS key is a logical representation of a cryptographic key. In
1512
1520
  # addition to the key material used in cryptographic operations, a KMS
1513
1521
  # key includes metadata, such as the key ID, key policy, creation date,
1514
- # description, and key state. For details, see [Managing keys][2] in the
1515
- # *Key Management Service Developer Guide*
1522
+ # description, and key state.
1516
1523
  #
1517
1524
  # Use the parameters of `CreateKey` to specify the type of KMS key, the
1518
1525
  # source of its key material, its key policy, description, tags, and
1519
1526
  # other properties.
1520
1527
  #
1521
- # <note markdown="1"> KMS has replaced the term *customer master key (CMK)* with *KMS key*
1522
- # and *KMS key*. The concept has not changed. To prevent breaking
1523
- # changes, KMS is keeping some variations of this term.
1528
+ # <note markdown="1"> KMS has replaced the term *customer master key (CMK)* with *Key
1529
+ # Management Service key* and *KMS key*. The concept has not changed. To
1530
+ # prevent breaking changes, KMS is keeping some variations of this term.
1524
1531
  #
1525
1532
  # </note>
1526
1533
  #
@@ -1558,20 +1565,21 @@ module Aws::KMS
1558
1565
  # properties after the KMS key is created.
1559
1566
  #
1560
1567
  # Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC)
1561
- # key pair, or an SM2 key pair (China Regions only). The private key
1562
- # in an asymmetric KMS key never leaves KMS unencrypted. However, you
1563
- # can use the GetPublicKey operation to download the public key so it
1564
- # can be used outside of KMS. Each KMS key can have only one key
1565
- # usage. KMS keys with RSA key pairs can be used to encrypt and
1566
- # decrypt data or sign and verify messages (but not both). KMS keys
1567
- # with NIST-recommended ECC key pairs can be used to sign and verify
1568
- # messages or derive shared secrets (but not both). KMS keys with
1569
- # `ECC_SECG_P256K1` can be used only to sign and verify messages. KMS
1570
- # keys with SM2 key pairs (China Regions only) can be used to either
1571
- # encrypt and decrypt data, sign and verify messages, or derive shared
1572
- # secrets (you must choose one key usage type). For information about
1573
- # asymmetric KMS keys, see [Asymmetric KMS keys][3] in the *Key
1574
- # Management Service Developer Guide*.
1568
+ # key pair, ML-DSA key pair or an SM2 key pair (China Regions only).
1569
+ # The private key in an asymmetric KMS key never leaves KMS
1570
+ # unencrypted. However, you can use the GetPublicKey operation to
1571
+ # download the public key so it can be used outside of KMS. Each KMS
1572
+ # key can have only one key usage. KMS keys with RSA key pairs can be
1573
+ # used to encrypt and decrypt data or sign and verify messages (but
1574
+ # not both). KMS keys with NIST-recommended ECC key pairs can be used
1575
+ # to sign and verify messages or derive shared secrets (but not both).
1576
+ # KMS keys with `ECC_SECG_P256K1` can be used only to sign and verify
1577
+ # messages. KMS keys with ML-DSA key pairs can be used to sign and
1578
+ # verify messages. KMS keys with SM2 key pairs (China Regions only)
1579
+ # can be used to either encrypt and decrypt data, sign and verify
1580
+ # messages, or derive shared secrets (you must choose one key usage
1581
+ # type). For information about asymmetric KMS keys, see [Asymmetric
1582
+ # KMS keys][2] in the *Key Management Service Developer Guide*.
1575
1583
  #
1576
1584
  #
1577
1585
  #
@@ -1614,7 +1622,7 @@ module Aws::KMS
1614
1622
  # to encrypt data in one Amazon Web Services Region and decrypt it in
1615
1623
  # a different Amazon Web Services Region without re-encrypting the
1616
1624
  # data or making a cross-Region call. For more information about
1617
- # multi-Region keys, see [Multi-Region keys in KMS][4] in the *Key
1625
+ # multi-Region keys, see [Multi-Region keys in KMS][3] in the *Key
1618
1626
  # Management Service Developer Guide*.
1619
1627
  #
1620
1628
  #
@@ -1626,7 +1634,7 @@ module Aws::KMS
1626
1634
  # token. Use the wrapping public key to encrypt your key material.
1627
1635
  # Then, use ImportKeyMaterial with your import token to import the key
1628
1636
  # material. For step-by-step instructions, see [Importing Key
1629
- # Material][5] in the <i> <i>Key Management Service Developer
1637
+ # Material][4] in the <i> <i>Key Management Service Developer
1630
1638
  # Guide</i> </i>.
1631
1639
  #
1632
1640
  # You can import key material into KMS keys of all supported KMS key
@@ -1639,23 +1647,22 @@ module Aws::KMS
1639
1647
  # the `Origin` parameter of `CreateKey` with a value of `EXTERNAL` and
1640
1648
  # the `MultiRegion` parameter with a value of `True`. To create
1641
1649
  # replicas of the multi-Region primary key, use the ReplicateKey
1642
- # operation. For instructions, see [Importing key material into
1643
- # multi-Region keys][6]. For more information about multi-Region keys,
1644
- # see [Multi-Region keys in KMS][4] in the *Key Management Service
1645
- # Developer Guide*.
1650
+ # operation. For instructions, see [Importing key material step 1][5].
1651
+ # For more information about multi-Region keys, see [Multi-Region keys
1652
+ # in KMS][3] in the *Key Management Service Developer Guide*.
1646
1653
  #
1647
1654
  #
1648
1655
  #
1649
1656
  # Custom key store
1650
1657
  #
1651
- # : A [custom key store][7] lets you protect your Amazon Web Services
1658
+ # : A [custom key store][6] lets you protect your Amazon Web Services
1652
1659
  # resources using keys in a backing key store that you own and manage.
1653
1660
  # When you request a cryptographic operation with a KMS key in a
1654
1661
  # custom key store, the operation is performed in the backing key
1655
1662
  # store using its cryptographic keys.
1656
1663
  #
1657
- # KMS supports [CloudHSM key stores][8] backed by an CloudHSM cluster
1658
- # and [external key stores][9] backed by an external key manager
1664
+ # KMS supports [CloudHSM key stores][7] backed by an CloudHSM cluster
1665
+ # and [external key stores][8] backed by an external key manager
1659
1666
  # outside of Amazon Web Services. When you create a KMS key in an
1660
1667
  # CloudHSM key store, KMS generates an encryption key in the CloudHSM
1661
1668
  # cluster and associates it with the KMS key. When you create a KMS
@@ -1680,13 +1687,13 @@ module Aws::KMS
1680
1687
  # `ENCRYPT_DECRYPT` to create a symmetric encryption key. No other key
1681
1688
  # type is supported in a custom key store.
1682
1689
  #
1683
- # To create a KMS key in an [CloudHSM key store][8], use the `Origin`
1690
+ # To create a KMS key in an [CloudHSM key store][9], use the `Origin`
1684
1691
  # parameter with a value of `AWS_CLOUDHSM`. The CloudHSM cluster that
1685
1692
  # is associated with the custom key store must have at least two
1686
1693
  # active HSMs in different Availability Zones in the Amazon Web
1687
1694
  # Services Region.
1688
1695
  #
1689
- # To create a KMS key in an [external key store][9], use the `Origin`
1696
+ # To create a KMS key in an [external key store][10], use the `Origin`
1690
1697
  # parameter with a value of `EXTERNAL_KEY_STORE` and an `XksKeyId`
1691
1698
  # parameter that identifies an existing external key.
1692
1699
  #
@@ -1699,10 +1706,10 @@ module Aws::KMS
1699
1706
  # **Cross-account use**: No. You cannot use this operation to create a
1700
1707
  # KMS key in a different Amazon Web Services account.
1701
1708
  #
1702
- # **Required permissions**: [kms:CreateKey][10] (IAM policy). To use the
1703
- # `Tags` parameter, [kms:TagResource][10] (IAM policy). For examples and
1709
+ # **Required permissions**: [kms:CreateKey][11] (IAM policy). To use the
1710
+ # `Tags` parameter, [kms:TagResource][11] (IAM policy). For examples and
1704
1711
  # information about related permissions, see [Allow a user to create KMS
1705
- # keys][11] in the *Key Management Service Developer Guide*.
1712
+ # keys][12] in the *Key Management Service Developer Guide*.
1706
1713
  #
1707
1714
  # **Related operations:**
1708
1715
  #
@@ -1713,22 +1720,23 @@ module Aws::KMS
1713
1720
  # * ScheduleKeyDeletion
1714
1721
  #
1715
1722
  # **Eventual consistency**: The KMS API follows an eventual consistency
1716
- # model. For more information, see [KMS eventual consistency][12].
1723
+ # model. For more information, see [KMS eventual consistency][13].
1717
1724
  #
1718
1725
  #
1719
1726
  #
1720
1727
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms-keys
1721
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html
1722
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
1723
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
1724
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
1725
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-import.html
1726
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1727
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
1728
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
1729
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
1730
- # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policy-example-create-key
1731
- # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
1728
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
1729
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
1730
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
1731
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-create-cmk.html
1732
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
1733
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
1734
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
1735
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/create-cmk-keystore.html
1736
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/create-xks-keys.html
1737
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
1738
+ # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/customer-managed-policies.html#iam-policy-example-create-key
1739
+ # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
1732
1740
  #
1733
1741
  # @option params [String] :policy
1734
1742
  # The key policy to attach to the KMS key.
@@ -1750,22 +1758,38 @@ module Aws::KMS
1750
1758
  # not always immediately visible][2] in the *Amazon Web Services
1751
1759
  # Identity and Access Management User Guide*.
1752
1760
  #
1761
+ # <note markdown="1"> If either of the required `Resource` or `Action` elements are missing
1762
+ # from a key policy statement, the policy statement has no effect. When
1763
+ # a key policy statement is missing one of these elements, the KMS
1764
+ # console correctly reports an error, but the `CreateKey` and
1765
+ # `PutKeyPolicy` API requests succeed, even though the policy statement
1766
+ # is ineffective.
1767
+ #
1768
+ # For more information on required key policy elements, see [Elements in
1769
+ # a key policy][3] in the *Key Management Service Developer Guide*.
1770
+ #
1771
+ # </note>
1772
+ #
1753
1773
  # If you do not provide a key policy, KMS attaches a default key policy
1754
- # to the KMS key. For more information, see [Default key policy][3] in
1774
+ # to the KMS key. For more information, see [Default key policy][4] in
1755
1775
  # the *Key Management Service Developer Guide*.
1756
1776
  #
1757
- # The key policy size quota is 32 kilobytes (32768 bytes).
1777
+ # <note markdown="1"> If the key policy exceeds the length constraint, KMS returns a
1778
+ # `LimitExceededException`.
1779
+ #
1780
+ # </note>
1758
1781
  #
1759
1782
  # For help writing and formatting a JSON policy document, see the [IAM
1760
- # JSON Policy Reference][4] in the <i> <i>Identity and Access Management
1783
+ # JSON Policy Reference][5] in the <i> <i>Identity and Access Management
1761
1784
  # User Guide</i> </i>.
1762
1785
  #
1763
1786
  #
1764
1787
  #
1765
1788
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
1766
1789
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
1767
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
1768
- # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
1790
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html#key-policy-elements
1791
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html
1792
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
1769
1793
  #
1770
1794
  # @option params [String] :description
1771
1795
  # A description of the KMS key. Use a description that helps you decide
@@ -1799,7 +1823,10 @@ module Aws::KMS
1799
1823
  # * For asymmetric KMS keys with NIST-recommended elliptic curve key
1800
1824
  # pairs, specify `SIGN_VERIFY` or `KEY_AGREEMENT`.
1801
1825
  #
1802
- # * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs specify
1826
+ # * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs, specify
1827
+ # `SIGN_VERIFY`.
1828
+ #
1829
+ # * For asymmetric KMS keys with ML-DSA key pairs, specify
1803
1830
  # `SIGN_VERIFY`.
1804
1831
  #
1805
1832
  # * For asymmetric KMS keys with SM2 key pairs (China Regions only),
@@ -1807,7 +1834,7 @@ module Aws::KMS
1807
1834
  #
1808
1835
  #
1809
1836
  #
1810
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1837
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
1811
1838
  #
1812
1839
  # @option params [String] :customer_master_key_spec
1813
1840
  # Instead, use the `KeySpec` parameter.
@@ -1821,20 +1848,21 @@ module Aws::KMS
1821
1848
  # Specifies the type of KMS key to create. The default value,
1822
1849
  # `SYMMETRIC_DEFAULT`, creates a KMS key with a 256-bit AES-GCM key that
1823
1850
  # is used for encryption and decryption, except in China Regions, where
1824
- # it creates a 128-bit symmetric key that uses SM4 encryption. For help
1825
- # choosing a key spec for your KMS key, see [Choosing a KMS key type][1]
1826
- # in the <i> <i>Key Management Service Developer Guide</i> </i>.
1851
+ # it creates a 128-bit symmetric key that uses SM4 encryption. For a
1852
+ # detailed description of all supported key specs, see [Key spec
1853
+ # reference][1] in the <i> <i>Key Management Service Developer Guide</i>
1854
+ # </i>.
1827
1855
  #
1828
1856
  # The `KeySpec` determines whether the KMS key contains a symmetric key
1829
1857
  # or an asymmetric key pair. It also determines the algorithms that the
1830
1858
  # KMS key supports. You can't change the `KeySpec` after the KMS key is
1831
1859
  # created. To further restrict the algorithms that can be used with the
1832
1860
  # KMS key, use a condition key in its key policy or IAM policy. For more
1833
- # information, see [kms:EncryptionAlgorithm][2], [kms:MacAlgorithm][3]
1834
- # or [kms:Signing Algorithm][4] in the <i> <i>Key Management Service
1835
- # Developer Guide</i> </i>.
1861
+ # information, see [kms:EncryptionAlgorithm][2], [kms:MacAlgorithm][3],
1862
+ # [kms:KeyAgreementAlgorithm][4], or [kms:SigningAlgorithm][5] in the
1863
+ # <i> <i>Key Management Service Developer Guide</i> </i>.
1836
1864
  #
1837
- # [Amazon Web Services services that are integrated with KMS][5] use
1865
+ # [Amazon Web Services services that are integrated with KMS][6] use
1838
1866
  # symmetric encryption KMS keys to protect your data. These services do
1839
1867
  # not support asymmetric KMS keys or HMAC KMS keys.
1840
1868
  #
@@ -1875,6 +1903,13 @@ module Aws::KMS
1875
1903
  # * `ECC_SECG_P256K1` (secp256k1), commonly used for cryptocurrencies.
1876
1904
  #
1877
1905
  # ^
1906
+ # * Asymmetric ML-DSA key pairs (signing and verification)
1907
+ #
1908
+ # * `ML_DSA_44`
1909
+ #
1910
+ # * `ML_DSA_65`
1911
+ #
1912
+ # * `ML_DSA_87`
1878
1913
  # * SM2 key pairs (encryption and decryption -or- signing and
1879
1914
  # verification -or- deriving shared secrets)
1880
1915
  #
@@ -1884,11 +1919,12 @@ module Aws::KMS
1884
1919
  #
1885
1920
  #
1886
1921
  #
1887
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html#symm-asymm-choose
1888
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-algorithm
1889
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-mac-algorithm
1890
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-signing-algorithm
1891
- # [5]: http://aws.amazon.com/kms/features/#AWS_Service_Integration
1922
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html
1923
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-encryption-algorithm
1924
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-mac-algorithm
1925
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-key-agreement-algorithm
1926
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-signing-algorithm
1927
+ # [6]: http://aws.amazon.com/kms/features/#AWS_Service_Integration
1892
1928
  #
1893
1929
  # @option params [String] :origin
1894
1930
  # The source of the key material for the KMS key. You cannot change the
@@ -1938,7 +1974,7 @@ module Aws::KMS
1938
1974
  #
1939
1975
  #
1940
1976
  #
1941
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1977
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
1942
1978
  #
1943
1979
  # @option params [Boolean] :bypass_policy_lockout_safety_check
1944
1980
  # Skips ("bypasses") the key policy lockout safety check. The default
@@ -1986,7 +2022,7 @@ module Aws::KMS
1986
2022
  # When you add tags to an Amazon Web Services resource, Amazon Web
1987
2023
  # Services generates a cost allocation report with usage and costs
1988
2024
  # aggregated by tags. Tags can also be used to control access to a KMS
1989
- # key. For details, see [Tagging Keys][3].
2025
+ # key. For details, see [Tags in KMS][3].
1990
2026
  #
1991
2027
  #
1992
2028
  #
@@ -2057,7 +2093,7 @@ module Aws::KMS
2057
2093
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-external-key
2058
2094
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
2059
2095
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-xks-proxy
2060
- # [4]: https://docs.aws.amazon.com/create-xks-keys.html#xks-key-requirements
2096
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/create-xks-keys.html#xks-key-requirements
2061
2097
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-double-encryption
2062
2098
  #
2063
2099
  # @return [Types::CreateKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2079,6 +2115,7 @@ module Aws::KMS
2079
2115
  # aws_account_id: "111122223333",
2080
2116
  # arn: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
2081
2117
  # creation_date: Time.parse("2017-07-05T14:04:55-07:00"),
2118
+ # current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
2082
2119
  # customer_master_key_spec: "SYMMETRIC_DEFAULT",
2083
2120
  # description: "",
2084
2121
  # enabled: true,
@@ -2131,8 +2168,7 @@ module Aws::KMS
2131
2168
  # @example Example: To create an asymmetric elliptic curve KMS key for signing and verification
2132
2169
  #
2133
2170
  # # This example creates a KMS key that contains an asymmetric elliptic curve (ECC) key pair for signing and verification.
2134
- # # The key usage is required even though "SIGN_VERIFY" is the only valid value for ECC KMS keys. The key spec and key usage
2135
- # # can't be changed after the key is created.
2171
+ # # The key spec and key usage can't be changed after the key is created.
2136
2172
  #
2137
2173
  # resp = client.create_key({
2138
2174
  # key_spec: "ECC_NIST_P521", # Describes the type of key material in the KMS key.
@@ -2193,6 +2229,38 @@ module Aws::KMS
2193
2229
  # }, # Detailed information about the KMS key that this operation creates.
2194
2230
  # }
2195
2231
  #
2232
+ # @example Example: To create an asymmetric ML-DSA KMS key for signing and verification
2233
+ #
2234
+ # # This example creates a module-lattice digital signature algorithm (ML-DSA) key for signing and verification. The
2235
+ # # key-usage parameter is required even though SIGN_VERIFY is the only valid value for ML-DSA keys.
2236
+ #
2237
+ # resp = client.create_key({
2238
+ # key_spec: "ML_DSA_65", # Describes the type of key material in the KMS key.
2239
+ # key_usage: "SIGN_VERIFY", # The cryptographic operations for which you can use the KMS key.
2240
+ # })
2241
+ #
2242
+ # resp.to_h outputs the following:
2243
+ # {
2244
+ # key_metadata: {
2245
+ # aws_account_id: "111122223333",
2246
+ # arn: "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
2247
+ # creation_date: Time.parse(1748371316.734),
2248
+ # customer_master_key_spec: "ML_DSA_65",
2249
+ # description: "",
2250
+ # enabled: true,
2251
+ # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab",
2252
+ # key_manager: "CUSTOMER",
2253
+ # key_spec: "ML_DSA_65",
2254
+ # key_state: "Enabled",
2255
+ # key_usage: "SIGN_VERIFY",
2256
+ # multi_region: false,
2257
+ # origin: "AWS_KMS",
2258
+ # signing_algorithms: [
2259
+ # "ML_DSA_SHAKE_256",
2260
+ # ],
2261
+ # }, # Detailed information about the KMS key that this operation creates.
2262
+ # }
2263
+ #
2196
2264
  # @example Example: To create a multi-Region primary KMS key
2197
2265
  #
2198
2266
  # # This example creates a multi-Region primary symmetric encryption key. Because the default values for all parameters
@@ -2208,6 +2276,7 @@ module Aws::KMS
2208
2276
  # aws_account_id: "111122223333",
2209
2277
  # arn: "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab",
2210
2278
  # creation_date: Time.parse("2021-09-02T016:15:21-09:00"),
2279
+ # current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
2211
2280
  # customer_master_key_spec: "SYMMETRIC_DEFAULT",
2212
2281
  # description: "",
2213
2282
  # enabled: true,
@@ -2344,7 +2413,7 @@ module Aws::KMS
2344
2413
  # description: "DescriptionType",
2345
2414
  # key_usage: "SIGN_VERIFY", # accepts SIGN_VERIFY, ENCRYPT_DECRYPT, GENERATE_VERIFY_MAC, KEY_AGREEMENT
2346
2415
  # customer_master_key_spec: "RSA_2048", # accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SYMMETRIC_DEFAULT, HMAC_224, HMAC_256, HMAC_384, HMAC_512, SM2
2347
- # key_spec: "RSA_2048", # accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SYMMETRIC_DEFAULT, HMAC_224, HMAC_256, HMAC_384, HMAC_512, SM2
2416
+ # key_spec: "RSA_2048", # accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SYMMETRIC_DEFAULT, HMAC_224, HMAC_256, HMAC_384, HMAC_512, SM2, ML_DSA_44, ML_DSA_65, ML_DSA_87
2348
2417
  # origin: "AWS_KMS", # accepts AWS_KMS, EXTERNAL, AWS_CLOUDHSM, EXTERNAL_KEY_STORE
2349
2418
  # custom_key_store_id: "CustomKeyStoreIdType",
2350
2419
  # bypass_policy_lockout_safety_check: false,
@@ -2376,11 +2445,11 @@ module Aws::KMS
2376
2445
  # resp.key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
2377
2446
  # resp.key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
2378
2447
  # resp.key_metadata.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
2379
- # resp.key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
2448
+ # resp.key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2", "ML_DSA_44", "ML_DSA_65", "ML_DSA_87"
2380
2449
  # resp.key_metadata.encryption_algorithms #=> Array
2381
2450
  # resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
2382
2451
  # resp.key_metadata.signing_algorithms #=> Array
2383
- # resp.key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
2452
+ # resp.key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256"
2384
2453
  # resp.key_metadata.key_agreement_algorithms #=> Array
2385
2454
  # resp.key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
2386
2455
  # resp.key_metadata.multi_region #=> Boolean
@@ -2394,6 +2463,7 @@ module Aws::KMS
2394
2463
  # resp.key_metadata.mac_algorithms #=> Array
2395
2464
  # resp.key_metadata.mac_algorithms[0] #=> String, one of "HMAC_SHA_224", "HMAC_SHA_256", "HMAC_SHA_384", "HMAC_SHA_512"
2396
2465
  # resp.key_metadata.xks_key_configuration.id #=> String
2466
+ # resp.key_metadata.current_key_material_id #=> String
2397
2467
  #
2398
2468
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateKey AWS API Documentation
2399
2469
  #
@@ -2444,15 +2514,14 @@ module Aws::KMS
2444
2514
  # key that you intend.
2445
2515
  #
2446
2516
  # Whenever possible, use key policies to give users permission to call
2447
- # the `Decrypt` operation on a particular KMS key, instead of using
2448
- # &amp;IAM; policies. Otherwise, you might create an &amp;IAM; policy
2449
- # that gives the user `Decrypt` permission on all KMS keys. This user
2450
- # could decrypt ciphertext that was encrypted by KMS keys in other
2451
- # accounts if the key policy for the cross-account KMS key permits it.
2452
- # If you must use an IAM policy for `Decrypt` permissions, limit the
2453
- # user to particular KMS keys or particular trusted accounts. For
2454
- # details, see [Best practices for IAM policies][4] in the *Key
2455
- # Management Service Developer Guide*.
2517
+ # the `Decrypt` operation on a particular KMS key, instead of using IAM
2518
+ # policies. Otherwise, you might create an IAM policy that gives the
2519
+ # user `Decrypt` permission on all KMS keys. This user could decrypt
2520
+ # ciphertext that was encrypted by KMS keys in other accounts if the key
2521
+ # policy for the cross-account KMS key permits it. If you must use an
2522
+ # IAM policy for `Decrypt` permissions, limit the user to particular KMS
2523
+ # keys or particular trusted accounts. For details, see [Best practices
2524
+ # for IAM policies][4] in the *Key Management Service Developer Guide*.
2456
2525
  #
2457
2526
  # `Decrypt` also supports [Amazon Web Services Nitro Enclaves][5], which
2458
2527
  # provide an isolated compute environment in Amazon EC2. To call
@@ -2500,7 +2569,7 @@ module Aws::KMS
2500
2569
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2501
2570
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2502
2571
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2503
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
2572
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
2504
2573
  #
2505
2574
  # @option params [required, String, StringIO, File] :ciphertext_blob
2506
2575
  # Ciphertext to be decrypted. The blob includes metadata.
@@ -2525,8 +2594,8 @@ module Aws::KMS
2525
2594
  #
2526
2595
  #
2527
2596
  #
2528
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
2529
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2597
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
2598
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2530
2599
  #
2531
2600
  # @option params [Array<String>] :grant_tokens
2532
2601
  # A list of grant tokens.
@@ -2539,7 +2608,7 @@ module Aws::KMS
2539
2608
  #
2540
2609
  #
2541
2610
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2542
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2611
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2543
2612
  #
2544
2613
  # @option params [String] :key_id
2545
2614
  # Specifies the KMS key that KMS uses to decrypt the ciphertext.
@@ -2615,12 +2684,12 @@ module Aws::KMS
2615
2684
  # Checks if your request will succeed. `DryRun` is an optional
2616
2685
  # parameter.
2617
2686
  #
2618
- # To learn more about how to use this parameter, see [Testing your KMS
2619
- # API calls][1] in the *Key Management Service Developer Guide*.
2687
+ # To learn more about how to use this parameter, see [Testing your
2688
+ # permissions][1] in the *Key Management Service Developer Guide*.
2620
2689
  #
2621
2690
  #
2622
2691
  #
2623
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2692
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2624
2693
  #
2625
2694
  # @return [Types::DecryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2626
2695
  #
@@ -2628,6 +2697,7 @@ module Aws::KMS
2628
2697
  # * {Types::DecryptResponse#plaintext #plaintext} => String
2629
2698
  # * {Types::DecryptResponse#encryption_algorithm #encryption_algorithm} => String
2630
2699
  # * {Types::DecryptResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
2700
+ # * {Types::DecryptResponse#key_material_id #key_material_id} => String
2631
2701
  #
2632
2702
  #
2633
2703
  # @example Example: To decrypt data with a symmetric encryption KMS key
@@ -2644,6 +2714,7 @@ module Aws::KMS
2644
2714
  # {
2645
2715
  # encryption_algorithm: "SYMMETRIC_DEFAULT", # The encryption algorithm that was used to decrypt the ciphertext. SYMMETRIC_DEFAULT is the only valid value for symmetric encryption in AWS KMS.
2646
2716
  # key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The Amazon Resource Name (ARN) of the KMS key that was used to decrypt the data.
2717
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to decrypt the ciphertext.
2647
2718
  # plaintext: "<binary data>", # The decrypted (plaintext) data.
2648
2719
  # }
2649
2720
  #
@@ -2710,6 +2781,7 @@ module Aws::KMS
2710
2781
  # resp.plaintext #=> String
2711
2782
  # resp.encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
2712
2783
  # resp.ciphertext_for_recipient #=> String
2784
+ # resp.key_material_id #=> String
2713
2785
  #
2714
2786
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Decrypt AWS API Documentation
2715
2787
  #
@@ -2766,7 +2838,7 @@ module Aws::KMS
2766
2838
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
2767
2839
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2768
2840
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
2769
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
2841
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
2770
2842
  #
2771
2843
  # @option params [required, String] :alias_name
2772
2844
  # The alias to be deleted. The alias name must begin with `alias/`
@@ -2805,9 +2877,9 @@ module Aws::KMS
2805
2877
  # does not affect the external key store proxy, external key manager, or
2806
2878
  # any external keys.
2807
2879
  #
2808
- # This operation is part of the [custom key stores][1] feature in KMS,
2809
- # which combines the convenience and extensive integration of KMS with
2810
- # the isolation and control of a key store that you own and manage.
2880
+ # This operation is part of the custom key stores feature in KMS, which
2881
+ # combines the convenience and extensive integration of KMS with the
2882
+ # isolation and control of a key store that you own and manage.
2811
2883
  #
2812
2884
  # The custom key store that you delete cannot contain any [KMS keys][2].
2813
2885
  # Before deleting the key store, verify that you will never need to use
@@ -2858,12 +2930,12 @@ module Aws::KMS
2858
2930
  #
2859
2931
  #
2860
2932
  #
2861
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
2933
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
2862
2934
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys
2863
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
2935
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
2864
2936
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
2865
2937
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2866
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
2938
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
2867
2939
  #
2868
2940
  # @option params [required, String] :custom_key_store_id
2869
2941
  # Enter the ID of the custom key store you want to delete. To find the
@@ -2925,6 +2997,8 @@ module Aws::KMS
2925
2997
  #
2926
2998
  # * GetParametersForImport
2927
2999
  #
3000
+ # * ListKeyRotations
3001
+ #
2928
3002
  # * ImportKeyMaterial
2929
3003
  #
2930
3004
  # **Eventual consistency**: The KMS API follows an eventual consistency
@@ -2935,7 +3009,7 @@ module Aws::KMS
2935
3009
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
2936
3010
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2937
3011
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2938
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3012
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
2939
3013
  #
2940
3014
  # @option params [required, String] :key_id
2941
3015
  # Identifies the KMS key from which you are deleting imported key
@@ -2953,7 +3027,19 @@ module Aws::KMS
2953
3027
  # To get the key ID and key ARN for a KMS key, use ListKeys or
2954
3028
  # DescribeKey.
2955
3029
  #
2956
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3030
+ # @option params [String] :key_material_id
3031
+ # Identifies the imported key material you are deleting.
3032
+ #
3033
+ # If no KeyMaterialId is specified, KMS deletes the current key
3034
+ # material.
3035
+ #
3036
+ # To get the list of key material IDs associated with a KMS key, use
3037
+ # ListKeyRotations.
3038
+ #
3039
+ # @return [Types::DeleteImportedKeyMaterialResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3040
+ #
3041
+ # * {Types::DeleteImportedKeyMaterialResponse#key_id #key_id} => String
3042
+ # * {Types::DeleteImportedKeyMaterialResponse#key_material_id #key_material_id} => String
2957
3043
  #
2958
3044
  #
2959
3045
  # @example Example: To delete imported key material
@@ -2962,14 +3048,21 @@ module Aws::KMS
2962
3048
  #
2963
3049
  # resp = client.delete_imported_key_material({
2964
3050
  # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key whose imported key material you are deleting. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
3051
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # Identifies the deleted key material.
2965
3052
  # })
2966
3053
  #
2967
3054
  # @example Request syntax with placeholder values
2968
3055
  #
2969
3056
  # resp = client.delete_imported_key_material({
2970
3057
  # key_id: "KeyIdType", # required
3058
+ # key_material_id: "BackingKeyIdType",
2971
3059
  # })
2972
3060
  #
3061
+ # @example Response structure
3062
+ #
3063
+ # resp.key_id #=> String
3064
+ # resp.key_material_id #=> String
3065
+ #
2973
3066
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterial AWS API Documentation
2974
3067
  #
2975
3068
  # @overload delete_imported_key_material(params = {})
@@ -3072,7 +3165,7 @@ module Aws::KMS
3072
3165
  # [2]: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Cr2.pdf
3073
3166
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3074
3167
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3075
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3168
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
3076
3169
  #
3077
3170
  # @option params [required, String] :key_id
3078
3171
  # Identifies an asymmetric NIST-recommended ECC or SM2 (China Regions
@@ -3140,18 +3233,18 @@ module Aws::KMS
3140
3233
  #
3141
3234
  #
3142
3235
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
3143
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
3236
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3144
3237
  #
3145
3238
  # @option params [Boolean] :dry_run
3146
3239
  # Checks if your request will succeed. `DryRun` is an optional
3147
3240
  # parameter.
3148
3241
  #
3149
- # To learn more about how to use this parameter, see [Testing your KMS
3150
- # API calls][1] in the *Key Management Service Developer Guide*.
3242
+ # To learn more about how to use this parameter, see [Testing your
3243
+ # permissions][1] in the *Key Management Service Developer Guide*.
3151
3244
  #
3152
3245
  #
3153
3246
  #
3154
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
3247
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
3155
3248
  #
3156
3249
  # @option params [Types::RecipientInfo] :recipient
3157
3250
  # A signed [attestation document][1] from an Amazon Web Services Nitro
@@ -3246,9 +3339,9 @@ module Aws::KMS
3246
3339
  # Gets information about [custom key stores][1] in the account and
3247
3340
  # Region.
3248
3341
  #
3249
- # This operation is part of the [custom key stores][1] feature in KMS,
3250
- # which combines the convenience and extensive integration of KMS with
3251
- # the isolation and control of a key store that you own and manage.
3342
+ # This operation is part of the custom key stores feature in KMS, which
3343
+ # combines the convenience and extensive integration of KMS with the
3344
+ # isolation and control of a key store that you own and manage.
3252
3345
  #
3253
3346
  # By default, this operation returns information about all custom key
3254
3347
  # stores in the account and Region. To get only information about a
@@ -3301,11 +3394,11 @@ module Aws::KMS
3301
3394
  #
3302
3395
  #
3303
3396
  #
3304
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
3397
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
3305
3398
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
3306
3399
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
3307
3400
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3308
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3401
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
3309
3402
  #
3310
3403
  # @option params [String] :custom_key_store_id
3311
3404
  # Gets only information about the specified custom key store. Enter the
@@ -3503,8 +3596,8 @@ module Aws::KMS
3503
3596
  # * Whether automatic key rotation is enabled on the KMS key. To get
3504
3597
  # this information, use GetKeyRotationStatus. Also, some key states
3505
3598
  # prevent a KMS key from being automatically rotated. For details, see
3506
- # [How Automatic Key Rotation Works][6] in the *Key Management Service
3507
- # Developer Guide*.
3599
+ # [How key rotation works][6] in the *Key Management Service Developer
3600
+ # Guide*.
3508
3601
  #
3509
3602
  # * Tags on the KMS key. To get this information, use ListResourceTags.
3510
3603
  #
@@ -3543,14 +3636,14 @@ module Aws::KMS
3543
3636
  #
3544
3637
  #
3545
3638
  #
3546
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
3547
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
3639
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key
3640
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
3548
3641
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
3549
3642
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
3550
3643
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
3551
3644
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-how-it-works
3552
3645
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3553
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3646
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
3554
3647
  #
3555
3648
  # @option params [required, String] :key_id
3556
3649
  # Describes the specified KMS key.
@@ -3581,7 +3674,7 @@ module Aws::KMS
3581
3674
  #
3582
3675
  #
3583
3676
  #
3584
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html##aws-managed-cmk
3677
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
3585
3678
  #
3586
3679
  # @option params [Array<String>] :grant_tokens
3587
3680
  # A list of grant tokens.
@@ -3594,7 +3687,7 @@ module Aws::KMS
3594
3687
  #
3595
3688
  #
3596
3689
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
3597
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
3690
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3598
3691
  #
3599
3692
  # @return [Types::DescribeKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3600
3693
  #
@@ -3615,6 +3708,7 @@ module Aws::KMS
3615
3708
  # aws_account_id: "111122223333",
3616
3709
  # arn: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
3617
3710
  # creation_date: Time.parse("2017-07-05T14:04:55-07:00"),
3711
+ # current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
3618
3712
  # customer_master_key_spec: "SYMMETRIC_DEFAULT",
3619
3713
  # description: "",
3620
3714
  # enabled: true,
@@ -3681,6 +3775,7 @@ module Aws::KMS
3681
3775
  # aws_account_id: "111122223333",
3682
3776
  # arn: "arn:aws:kms:ap-northeast-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab",
3683
3777
  # creation_date: Time.parse(1586329200.918),
3778
+ # current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
3684
3779
  # customer_master_key_spec: "SYMMETRIC_DEFAULT",
3685
3780
  # description: "",
3686
3781
  # enabled: true,
@@ -3837,11 +3932,11 @@ module Aws::KMS
3837
3932
  # resp.key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
3838
3933
  # resp.key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
3839
3934
  # resp.key_metadata.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
3840
- # resp.key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
3935
+ # resp.key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2", "ML_DSA_44", "ML_DSA_65", "ML_DSA_87"
3841
3936
  # resp.key_metadata.encryption_algorithms #=> Array
3842
3937
  # resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
3843
3938
  # resp.key_metadata.signing_algorithms #=> Array
3844
- # resp.key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
3939
+ # resp.key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256"
3845
3940
  # resp.key_metadata.key_agreement_algorithms #=> Array
3846
3941
  # resp.key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
3847
3942
  # resp.key_metadata.multi_region #=> Boolean
@@ -3855,6 +3950,7 @@ module Aws::KMS
3855
3950
  # resp.key_metadata.mac_algorithms #=> Array
3856
3951
  # resp.key_metadata.mac_algorithms[0] #=> String, one of "HMAC_SHA_224", "HMAC_SHA_256", "HMAC_SHA_384", "HMAC_SHA_512"
3857
3952
  # resp.key_metadata.xks_key_configuration.id #=> String
3953
+ # resp.key_metadata.current_key_material_id #=> String
3858
3954
  #
3859
3955
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DescribeKey AWS API Documentation
3860
3956
  #
@@ -3868,13 +3964,10 @@ module Aws::KMS
3868
3964
  # Sets the state of a KMS key to disabled. This change temporarily
3869
3965
  # prevents use of the KMS key for [cryptographic operations][1].
3870
3966
  #
3871
- # For more information about how key state affects the use of a KMS key,
3872
- # see [Key states of KMS keys][2] in the <i> <i>Key Management Service
3873
- # Developer Guide</i> </i>.
3874
- #
3875
3967
  # The KMS key that you use for this operation must be in a compatible
3876
- # key state. For details, see [Key states of KMS keys][2] in the *Key
3877
- # Management Service Developer Guide*.
3968
+ # key state. For more information about how key state affects the use of
3969
+ # a KMS key, see [Key states of KMS keys][2] in the <i> <i>Key
3970
+ # Management Service Developer Guide</i> </i>.
3878
3971
  #
3879
3972
  # **Cross-account use**: No. You cannot perform this operation on a KMS
3880
3973
  # key in a different Amazon Web Services account.
@@ -3888,10 +3981,10 @@ module Aws::KMS
3888
3981
  #
3889
3982
  #
3890
3983
  #
3891
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3984
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
3892
3985
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3893
3986
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3894
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3987
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
3895
3988
  #
3896
3989
  # @option params [required, String] :key_id
3897
3990
  # Identifies the KMS key to disable.
@@ -3980,18 +4073,18 @@ module Aws::KMS
3980
4073
  #
3981
4074
  #
3982
4075
  #
3983
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
4076
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
3984
4077
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
3985
4078
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
3986
4079
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
3987
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
3988
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
3989
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
3990
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
3991
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
4080
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4081
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
4082
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key
4083
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
4084
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-key
3992
4085
  # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3993
4086
  # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3994
- # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4087
+ # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
3995
4088
  #
3996
4089
  # @option params [required, String] :key_id
3997
4090
  # Identifies a symmetric encryption KMS key. You cannot enable or
@@ -4016,7 +4109,7 @@ module Aws::KMS
4016
4109
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks
4017
4110
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
4018
4111
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
4019
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4112
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4020
4113
  #
4021
4114
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4022
4115
  #
@@ -4050,9 +4143,9 @@ module Aws::KMS
4050
4143
  # external key store proxy that communicates with your external key
4051
4144
  # manager.
4052
4145
  #
4053
- # This operation is part of the [custom key stores][1] feature in KMS,
4054
- # which combines the convenience and extensive integration of KMS with
4055
- # the isolation and control of a key store that you own and manage.
4146
+ # This operation is part of the custom key stores feature in KMS, which
4147
+ # combines the convenience and extensive integration of KMS with the
4148
+ # isolation and control of a key store that you own and manage.
4056
4149
  #
4057
4150
  # While a custom key store is disconnected, you can manage the custom
4058
4151
  # key store and its KMS keys, but you cannot create or use its KMS keys.
@@ -4096,10 +4189,10 @@ module Aws::KMS
4096
4189
  #
4097
4190
  #
4098
4191
  #
4099
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4100
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
4192
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4193
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
4101
4194
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4102
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4195
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
4103
4196
  #
4104
4197
  # @option params [required, String] :custom_key_store_id
4105
4198
  # Enter the ID of the custom key store you want to disconnect. To find
@@ -4158,10 +4251,10 @@ module Aws::KMS
4158
4251
  #
4159
4252
  #
4160
4253
  #
4161
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
4254
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
4162
4255
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4163
4256
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4164
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4257
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
4165
4258
  #
4166
4259
  # @option params [required, String] :key_id
4167
4260
  # Identifies the KMS key to enable.
@@ -4222,17 +4315,17 @@ module Aws::KMS
4222
4315
  # any in progress rotations. You can use the ListKeyRotations operation
4223
4316
  # to view the details of completed rotations.
4224
4317
  #
4225
- # Automatic key rotation is supported only on [symmetric encryption KMS
4226
- # keys][3]. You cannot enable automatic rotation of [asymmetric KMS
4227
- # keys][4], [HMAC KMS keys][5], KMS keys with [imported key
4228
- # material][6], or KMS keys in a [custom key store][7]. To enable or
4229
- # disable automatic rotation of a set of related [multi-Region keys][8],
4318
+ # Automatic key rotation is supported only on symmetric encryption KMS
4319
+ # keys. You cannot enable automatic rotation of [asymmetric KMS
4320
+ # keys][3], [HMAC KMS keys][4], KMS keys with [imported key
4321
+ # material][5], or KMS keys in a [custom key store][6]. To enable or
4322
+ # disable automatic rotation of a set of related [multi-Region keys][7],
4230
4323
  # set the property on the primary key.
4231
4324
  #
4232
4325
  # You cannot enable or disable automatic rotation of [Amazon Web
4233
- # Services managed KMS keys][9]. KMS always rotates the key material of
4326
+ # Services managed KMS keys][8]. KMS always rotates the key material of
4234
4327
  # Amazon Web Services managed keys every year. Rotation of [Amazon Web
4235
- # Services owned KMS keys][10] is managed by the Amazon Web Services
4328
+ # Services owned KMS keys][9] is managed by the Amazon Web Services
4236
4329
  # service that owns the key.
4237
4330
  #
4238
4331
  # <note markdown="1"> In May 2022, KMS changed the rotation schedule for Amazon Web Services
@@ -4248,13 +4341,13 @@ module Aws::KMS
4248
4341
  # </note>
4249
4342
  #
4250
4343
  # The KMS key that you use for this operation must be in a compatible
4251
- # key state. For details, see [Key states of KMS keys][11] in the *Key
4344
+ # key state. For details, see [Key states of KMS keys][10] in the *Key
4252
4345
  # Management Service Developer Guide*.
4253
4346
  #
4254
4347
  # **Cross-account use**: No. You cannot perform this operation on a KMS
4255
4348
  # key in a different Amazon Web Services account.
4256
4349
  #
4257
- # **Required permissions**: [kms:EnableKeyRotation][12] (key policy)
4350
+ # **Required permissions**: [kms:EnableKeyRotation][11] (key policy)
4258
4351
  #
4259
4352
  # **Related operations:**
4260
4353
  #
@@ -4273,23 +4366,22 @@ module Aws::KMS
4273
4366
  # </note>
4274
4367
  #
4275
4368
  # **Eventual consistency**: The KMS API follows an eventual consistency
4276
- # model. For more information, see [KMS eventual consistency][13].
4369
+ # model. For more information, see [KMS eventual consistency][12].
4277
4370
  #
4278
4371
  #
4279
4372
  #
4280
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-enable-disable
4281
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
4282
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks
4283
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
4284
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
4285
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
4286
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4287
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
4288
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
4289
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
4290
- # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4291
- # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4292
- # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4373
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
4374
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key
4375
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
4376
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
4377
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
4378
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4379
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
4380
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
4381
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-key
4382
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4383
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4384
+ # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
4293
4385
  #
4294
4386
  # @option params [required, String] :key_id
4295
4387
  # Identifies a symmetric encryption KMS key. You cannot enable automatic
@@ -4315,8 +4407,8 @@ module Aws::KMS
4315
4407
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
4316
4408
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
4317
4409
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
4318
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4319
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
4410
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4411
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
4320
4412
  #
4321
4413
  # @option params [Integer] :rotation_period_in_days
4322
4414
  # Use this parameter to specify a custom period of time between each
@@ -4448,10 +4540,10 @@ module Aws::KMS
4448
4540
  #
4449
4541
  #
4450
4542
  #
4451
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4543
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
4452
4544
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4453
4545
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4454
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4546
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
4455
4547
  #
4456
4548
  # @option params [required, String] :key_id
4457
4549
  # Identifies the KMS key to use in the encryption operation. The KMS key
@@ -4504,8 +4596,8 @@ module Aws::KMS
4504
4596
  #
4505
4597
  #
4506
4598
  #
4507
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
4508
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4599
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
4600
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
4509
4601
  #
4510
4602
  # @option params [Array<String>] :grant_tokens
4511
4603
  # A list of grant tokens.
@@ -4518,7 +4610,7 @@ module Aws::KMS
4518
4610
  #
4519
4611
  #
4520
4612
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
4521
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
4613
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
4522
4614
  #
4523
4615
  # @option params [String] :encryption_algorithm
4524
4616
  # Specifies the encryption algorithm that KMS will use to encrypt the
@@ -4536,12 +4628,12 @@ module Aws::KMS
4536
4628
  # Checks if your request will succeed. `DryRun` is an optional
4537
4629
  # parameter.
4538
4630
  #
4539
- # To learn more about how to use this parameter, see [Testing your KMS
4540
- # API calls][1] in the *Key Management Service Developer Guide*.
4631
+ # To learn more about how to use this parameter, see [Testing your
4632
+ # permissions][1] in the *Key Management Service Developer Guide*.
4541
4633
  #
4542
4634
  #
4543
4635
  #
4544
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
4636
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
4545
4637
  #
4546
4638
  # @return [Types::EncryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4547
4639
  #
@@ -4716,7 +4808,7 @@ module Aws::KMS
4716
4808
  #
4717
4809
  #
4718
4810
  #
4719
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4811
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
4720
4812
  # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
4721
4813
  # [3]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
4722
4814
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
@@ -4725,7 +4817,7 @@ module Aws::KMS
4725
4817
  # [7]: https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/
4726
4818
  # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
4727
4819
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4728
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4820
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
4729
4821
  #
4730
4822
  # @option params [required, String] :key_id
4731
4823
  # Specifies the symmetric encryption KMS key that encrypts the data key.
@@ -4773,7 +4865,7 @@ module Aws::KMS
4773
4865
  #
4774
4866
  #
4775
4867
  #
4776
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4868
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
4777
4869
  #
4778
4870
  # @option params [Integer] :number_of_bytes
4779
4871
  # Specifies the length of the data key in bytes. For example, use the
@@ -4803,7 +4895,7 @@ module Aws::KMS
4803
4895
  #
4804
4896
  #
4805
4897
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
4806
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
4898
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
4807
4899
  #
4808
4900
  # @option params [Types::RecipientInfo] :recipient
4809
4901
  # A signed [attestation document][1] from an Amazon Web Services Nitro
@@ -4837,12 +4929,12 @@ module Aws::KMS
4837
4929
  # Checks if your request will succeed. `DryRun` is an optional
4838
4930
  # parameter.
4839
4931
  #
4840
- # To learn more about how to use this parameter, see [Testing your KMS
4841
- # API calls][1] in the *Key Management Service Developer Guide*.
4932
+ # To learn more about how to use this parameter, see [Testing your
4933
+ # permissions][1] in the *Key Management Service Developer Guide*.
4842
4934
  #
4843
4935
  #
4844
4936
  #
4845
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
4937
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
4846
4938
  #
4847
4939
  # @return [Types::GenerateDataKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4848
4940
  #
@@ -4850,6 +4942,7 @@ module Aws::KMS
4850
4942
  # * {Types::GenerateDataKeyResponse#plaintext #plaintext} => String
4851
4943
  # * {Types::GenerateDataKeyResponse#key_id #key_id} => String
4852
4944
  # * {Types::GenerateDataKeyResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
4945
+ # * {Types::GenerateDataKeyResponse#key_material_id #key_material_id} => String
4853
4946
  #
4854
4947
  #
4855
4948
  # @example Example: To generate a data key
@@ -4866,6 +4959,7 @@ module Aws::KMS
4866
4959
  # {
4867
4960
  # ciphertext_blob: "<binary data>", # The encrypted data key.
4868
4961
  # key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The ARN of the KMS key that was used to encrypt the data key.
4962
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the data key.
4869
4963
  # plaintext: "<binary data>", # The unencrypted (plaintext) data key.
4870
4964
  # }
4871
4965
  #
@@ -4917,6 +5011,7 @@ module Aws::KMS
4917
5011
  # resp.plaintext #=> String
4918
5012
  # resp.key_id #=> String
4919
5013
  # resp.ciphertext_for_recipient #=> String
5014
+ # resp.key_material_id #=> String
4920
5015
  #
4921
5016
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKey AWS API Documentation
4922
5017
  #
@@ -5025,10 +5120,10 @@ module Aws::KMS
5025
5120
  # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
5026
5121
  # [4]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
5027
5122
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
5028
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5123
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5029
5124
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5030
5125
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5031
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5126
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5032
5127
  #
5033
5128
  # @option params [Hash<String,String>] :encryption_context
5034
5129
  # Specifies the encryption context that will be used when encrypting the
@@ -5051,7 +5146,7 @@ module Aws::KMS
5051
5146
  #
5052
5147
  #
5053
5148
  #
5054
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5149
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5055
5150
  #
5056
5151
  # @option params [required, String] :key_id
5057
5152
  # Specifies the symmetric encryption KMS key that encrypts the private
@@ -5082,10 +5177,11 @@ module Aws::KMS
5082
5177
  # Determines the type of data key pair that is generated.
5083
5178
  #
5084
5179
  # The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys
5085
- # to encrypt and decrypt or to sign and verify (but not both), and the
5086
- # rule that permits you to use ECC KMS keys only to sign and verify, are
5087
- # not effective on data key pairs, which are used outside of KMS. The
5088
- # SM2 key spec is only available in China Regions.
5180
+ # to encrypt and decrypt or to sign and verify (but not both), the rule
5181
+ # that permits you to use ECC KMS keys only to sign and verify, and the
5182
+ # rule that permits you to use ML-DSA key pairs to sign and verify only
5183
+ # are not effective on data key pairs, which are used outside of KMS.
5184
+ # The SM2 key spec is only available in China Regions.
5089
5185
  #
5090
5186
  # @option params [Array<String>] :grant_tokens
5091
5187
  # A list of grant tokens.
@@ -5098,7 +5194,7 @@ module Aws::KMS
5098
5194
  #
5099
5195
  #
5100
5196
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5101
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5197
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5102
5198
  #
5103
5199
  # @option params [Types::RecipientInfo] :recipient
5104
5200
  # A signed [attestation document][1] from an Amazon Web Services Nitro
@@ -5136,12 +5232,12 @@ module Aws::KMS
5136
5232
  # Checks if your request will succeed. `DryRun` is an optional
5137
5233
  # parameter.
5138
5234
  #
5139
- # To learn more about how to use this parameter, see [Testing your KMS
5140
- # API calls][1] in the *Key Management Service Developer Guide*.
5235
+ # To learn more about how to use this parameter, see [Testing your
5236
+ # permissions][1] in the *Key Management Service Developer Guide*.
5141
5237
  #
5142
5238
  #
5143
5239
  #
5144
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5240
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5145
5241
  #
5146
5242
  # @return [Types::GenerateDataKeyPairResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5147
5243
  #
@@ -5151,6 +5247,7 @@ module Aws::KMS
5151
5247
  # * {Types::GenerateDataKeyPairResponse#key_id #key_id} => String
5152
5248
  # * {Types::GenerateDataKeyPairResponse#key_pair_spec #key_pair_spec} => String
5153
5249
  # * {Types::GenerateDataKeyPairResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
5250
+ # * {Types::GenerateDataKeyPairResponse#key_material_id #key_material_id} => String
5154
5251
  #
5155
5252
  #
5156
5253
  # @example Example: To generate an RSA key pair for encryption and decryption
@@ -5166,6 +5263,7 @@ module Aws::KMS
5166
5263
  # resp.to_h outputs the following:
5167
5264
  # {
5168
5265
  # key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The key ARN of the symmetric encryption KMS key that was used to encrypt the private key.
5266
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the private key.
5169
5267
  # key_pair_spec: "RSA_3072", # The actual key spec of the RSA data key pair.
5170
5268
  # private_key_ciphertext_blob: "<binary data>", # The encrypted private key of the RSA data key pair.
5171
5269
  # private_key_plaintext: "<binary data>", # The plaintext private key of the RSA data key pair.
@@ -5193,6 +5291,7 @@ module Aws::KMS
5193
5291
  # {
5194
5292
  # ciphertext_for_recipient: "<binary data>", # The private key of the RSA data key pair encrypted by the public key from the attestation document
5195
5293
  # key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The key ARN of the symmetric encryption KMS key that was used to encrypt the PrivateKeyCiphertextBlob.
5294
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the private key.
5196
5295
  # key_pair_spec: "RSA_3072", # The actual key spec of the RSA data key pair.
5197
5296
  # private_key_ciphertext_blob: "<binary data>", # The private key of the RSA data key pair encrypted by the KMS key.
5198
5297
  # private_key_plaintext: "", # This field is null or empty
@@ -5223,6 +5322,7 @@ module Aws::KMS
5223
5322
  # resp.key_id #=> String
5224
5323
  # resp.key_pair_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SM2"
5225
5324
  # resp.ciphertext_for_recipient #=> String
5325
+ # resp.key_material_id #=> String
5226
5326
  #
5227
5327
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPair AWS API Documentation
5228
5328
  #
@@ -5301,10 +5401,10 @@ module Aws::KMS
5301
5401
  #
5302
5402
  #
5303
5403
  # [1]: https://tools.ietf.org/html/rfc5280
5304
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5404
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5305
5405
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5306
5406
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5307
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5407
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5308
5408
  #
5309
5409
  # @option params [Hash<String,String>] :encryption_context
5310
5410
  # Specifies the encryption context that will be used when encrypting the
@@ -5327,7 +5427,7 @@ module Aws::KMS
5327
5427
  #
5328
5428
  #
5329
5429
  #
5330
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5430
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5331
5431
  #
5332
5432
  # @option params [required, String] :key_id
5333
5433
  # Specifies the symmetric encryption KMS key that encrypts the private
@@ -5358,10 +5458,11 @@ module Aws::KMS
5358
5458
  # Determines the type of data key pair that is generated.
5359
5459
  #
5360
5460
  # The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys
5361
- # to encrypt and decrypt or to sign and verify (but not both), and the
5362
- # rule that permits you to use ECC KMS keys only to sign and verify, are
5363
- # not effective on data key pairs, which are used outside of KMS. The
5364
- # SM2 key spec is only available in China Regions.
5461
+ # to encrypt and decrypt or to sign and verify (but not both), the rule
5462
+ # that permits you to use ECC KMS keys only to sign and verify, and the
5463
+ # rule that permits you to use ML-DSA key pairs to sign and verify only
5464
+ # are not effective on data key pairs, which are used outside of KMS.
5465
+ # The SM2 key spec is only available in China Regions.
5365
5466
  #
5366
5467
  # @option params [Array<String>] :grant_tokens
5367
5468
  # A list of grant tokens.
@@ -5374,18 +5475,18 @@ module Aws::KMS
5374
5475
  #
5375
5476
  #
5376
5477
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5377
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5478
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5378
5479
  #
5379
5480
  # @option params [Boolean] :dry_run
5380
5481
  # Checks if your request will succeed. `DryRun` is an optional
5381
5482
  # parameter.
5382
5483
  #
5383
- # To learn more about how to use this parameter, see [Testing your KMS
5384
- # API calls][1] in the *Key Management Service Developer Guide*.
5484
+ # To learn more about how to use this parameter, see [Testing your
5485
+ # permissions][1] in the *Key Management Service Developer Guide*.
5385
5486
  #
5386
5487
  #
5387
5488
  #
5388
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5489
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5389
5490
  #
5390
5491
  # @return [Types::GenerateDataKeyPairWithoutPlaintextResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5391
5492
  #
@@ -5393,6 +5494,7 @@ module Aws::KMS
5393
5494
  # * {Types::GenerateDataKeyPairWithoutPlaintextResponse#public_key #public_key} => String
5394
5495
  # * {Types::GenerateDataKeyPairWithoutPlaintextResponse#key_id #key_id} => String
5395
5496
  # * {Types::GenerateDataKeyPairWithoutPlaintextResponse#key_pair_spec #key_pair_spec} => String
5497
+ # * {Types::GenerateDataKeyPairWithoutPlaintextResponse#key_material_id #key_material_id} => String
5396
5498
  #
5397
5499
  #
5398
5500
  # @example Example: To generate an asymmetric data key pair without a plaintext key
@@ -5408,6 +5510,7 @@ module Aws::KMS
5408
5510
  # resp.to_h outputs the following:
5409
5511
  # {
5410
5512
  # key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The key ARN of the symmetric encryption KMS key that encrypted the private key in the ECC asymmetric data key pair.
5513
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the private key.
5411
5514
  # key_pair_spec: "ECC_NIST_P521", # The actual key spec of the ECC asymmetric data key pair.
5412
5515
  # private_key_ciphertext_blob: "<binary data>", # The encrypted private key of the asymmetric ECC data key pair.
5413
5516
  # public_key: "<binary data>", # The public key (plaintext).
@@ -5431,6 +5534,7 @@ module Aws::KMS
5431
5534
  # resp.public_key #=> String
5432
5535
  # resp.key_id #=> String
5433
5536
  # resp.key_pair_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SM2"
5537
+ # resp.key_material_id #=> String
5434
5538
  #
5435
5539
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintext AWS API Documentation
5436
5540
  #
@@ -5520,10 +5624,10 @@ module Aws::KMS
5520
5624
  #
5521
5625
  #
5522
5626
  #
5523
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5627
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5524
5628
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5525
5629
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5526
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5630
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5527
5631
  #
5528
5632
  # @option params [required, String] :key_id
5529
5633
  # Specifies the symmetric encryption KMS key that encrypts the data key.
@@ -5571,7 +5675,7 @@ module Aws::KMS
5571
5675
  #
5572
5676
  #
5573
5677
  #
5574
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5678
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5575
5679
  #
5576
5680
  # @option params [String] :key_spec
5577
5681
  # The length of the data key. Use `AES_128` to generate a 128-bit
@@ -5594,23 +5698,24 @@ module Aws::KMS
5594
5698
  #
5595
5699
  #
5596
5700
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5597
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5701
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5598
5702
  #
5599
5703
  # @option params [Boolean] :dry_run
5600
5704
  # Checks if your request will succeed. `DryRun` is an optional
5601
5705
  # parameter.
5602
5706
  #
5603
- # To learn more about how to use this parameter, see [Testing your KMS
5604
- # API calls][1] in the *Key Management Service Developer Guide*.
5707
+ # To learn more about how to use this parameter, see [Testing your
5708
+ # permissions][1] in the *Key Management Service Developer Guide*.
5605
5709
  #
5606
5710
  #
5607
5711
  #
5608
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5712
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5609
5713
  #
5610
5714
  # @return [Types::GenerateDataKeyWithoutPlaintextResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5611
5715
  #
5612
5716
  # * {Types::GenerateDataKeyWithoutPlaintextResponse#ciphertext_blob #ciphertext_blob} => String
5613
5717
  # * {Types::GenerateDataKeyWithoutPlaintextResponse#key_id #key_id} => String
5718
+ # * {Types::GenerateDataKeyWithoutPlaintextResponse#key_material_id #key_material_id} => String
5614
5719
  #
5615
5720
  #
5616
5721
  # @example Example: To generate an encrypted data key
@@ -5627,6 +5732,7 @@ module Aws::KMS
5627
5732
  # {
5628
5733
  # ciphertext_blob: "<binary data>", # The encrypted data key.
5629
5734
  # key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The ARN of the KMS key that was used to encrypt the data key.
5735
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the data key.
5630
5736
  # }
5631
5737
  #
5632
5738
  # @example Request syntax with placeholder values
@@ -5646,6 +5752,7 @@ module Aws::KMS
5646
5752
  #
5647
5753
  # resp.ciphertext_blob #=> String
5648
5754
  # resp.key_id #=> String
5755
+ # resp.key_material_id #=> String
5649
5756
  #
5650
5757
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintext AWS API Documentation
5651
5758
  #
@@ -5700,7 +5807,7 @@ module Aws::KMS
5700
5807
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
5701
5808
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5702
5809
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5703
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5810
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5704
5811
  #
5705
5812
  # @option params [required, String, StringIO, File] :message
5706
5813
  # The message to be hashed. Specify a message of up to 4,096 bytes.
@@ -5739,18 +5846,18 @@ module Aws::KMS
5739
5846
  #
5740
5847
  #
5741
5848
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5742
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5849
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5743
5850
  #
5744
5851
  # @option params [Boolean] :dry_run
5745
5852
  # Checks if your request will succeed. `DryRun` is an optional
5746
5853
  # parameter.
5747
5854
  #
5748
- # To learn more about how to use this parameter, see [Testing your KMS
5749
- # API calls][1] in the *Key Management Service Developer Guide*.
5855
+ # To learn more about how to use this parameter, see [Testing your
5856
+ # permissions][1] in the *Key Management Service Developer Guide*.
5750
5857
  #
5751
5858
  #
5752
5859
  #
5753
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5860
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5754
5861
  #
5755
5862
  # @return [Types::GenerateMacResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5756
5863
  #
@@ -5824,7 +5931,8 @@ module Aws::KMS
5824
5931
  # Management Service Developer Guide*.
5825
5932
  #
5826
5933
  # For more information about entropy and random number generation, see
5827
- # [Key Management Service Cryptographic Details][4].
5934
+ # [Entropy and random number generation][4] in the *Key Management
5935
+ # Service Developer Guide*.
5828
5936
  #
5829
5937
  # **Cross-account use**: Not applicable. `GenerateRandom` does not use
5830
5938
  # any account-specific resources, such as KMS keys.
@@ -5839,9 +5947,9 @@ module Aws::KMS
5839
5947
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
5840
5948
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
5841
5949
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
5842
- # [4]: https://docs.aws.amazon.com/kms/latest/cryptographic-details/
5950
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#entropy-and-random-numbers
5843
5951
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5844
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5952
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5845
5953
  #
5846
5954
  # @option params [Integer] :number_of_bytes
5847
5955
  # The length of the random byte string. This parameter is required.
@@ -5961,7 +6069,7 @@ module Aws::KMS
5961
6069
  #
5962
6070
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5963
6071
  # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html
5964
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6072
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5965
6073
  #
5966
6074
  # @option params [required, String] :key_id
5967
6075
  # Gets the key policy for the specified KMS key.
@@ -6029,16 +6137,16 @@ module Aws::KMS
6029
6137
  # enabled for the specified KMS key, the [rotation period][2], and the
6030
6138
  # next scheduled rotation date.
6031
6139
  #
6032
- # Automatic key rotation is supported only on [symmetric encryption KMS
6033
- # keys][3]. You cannot enable automatic rotation of [asymmetric KMS
6034
- # keys][4], [HMAC KMS keys][5], KMS keys with [imported key
6035
- # material][6], or KMS keys in a [custom key store][7]. To enable or
6036
- # disable automatic rotation of a set of related [multi-Region keys][8],
6037
- # set the property on the primary key..
6140
+ # Automatic key rotation is supported only on symmetric encryption KMS
6141
+ # keys. You cannot enable automatic rotation of [asymmetric KMS
6142
+ # keys][3], [HMAC KMS keys][4], KMS keys with [imported key
6143
+ # material][5], or KMS keys in a [custom key store][6]. To enable or
6144
+ # disable automatic rotation of a set of related [multi-Region keys][7],
6145
+ # set the property on the primary key.
6038
6146
  #
6039
6147
  # You can enable (EnableKeyRotation) and disable automatic rotation
6040
6148
  # (DisableKeyRotation) of the key material in customer managed KMS keys.
6041
- # Key material rotation of [Amazon Web Services managed KMS keys][9] is
6149
+ # Key material rotation of [Amazon Web Services managed KMS keys][8] is
6042
6150
  # not configurable. KMS always rotates the key material in Amazon Web
6043
6151
  # Services managed KMS keys every year. The key rotation status for
6044
6152
  # Amazon Web Services managed KMS keys is always `true`.
@@ -6057,7 +6165,7 @@ module Aws::KMS
6057
6165
  # </note>
6058
6166
  #
6059
6167
  # The KMS key that you use for this operation must be in a compatible
6060
- # key state. For details, see [Key states of KMS keys][10] in the *Key
6168
+ # key state. For details, see [Key states of KMS keys][9] in the *Key
6061
6169
  # Management Service Developer Guide*.
6062
6170
  #
6063
6171
  # * Disabled: The key rotation status does not change when you disable a
@@ -6078,7 +6186,7 @@ module Aws::KMS
6078
6186
  # a different Amazon Web Services account, specify the key ARN in the
6079
6187
  # value of the `KeyId` parameter.
6080
6188
  #
6081
- # **Required permissions**: [kms:GetKeyRotationStatus][11] (key policy)
6189
+ # **Required permissions**: [kms:GetKeyRotationStatus][10] (key policy)
6082
6190
  #
6083
6191
  # **Related operations:**
6084
6192
  #
@@ -6091,22 +6199,21 @@ module Aws::KMS
6091
6199
  # * RotateKeyOnDemand
6092
6200
  #
6093
6201
  # **Eventual consistency**: The KMS API follows an eventual consistency
6094
- # model. For more information, see [KMS eventual consistency][12].
6202
+ # model. For more information, see [KMS eventual consistency][11].
6095
6203
  #
6096
6204
  #
6097
6205
  #
6098
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
6206
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
6099
6207
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotation-period
6100
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks
6101
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
6102
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
6103
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
6104
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
6105
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
6106
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
6107
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6108
- # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6109
- # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6208
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
6209
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
6210
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
6211
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
6212
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
6213
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
6214
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6215
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6216
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
6110
6217
  #
6111
6218
  # @option params [required, String] :key_id
6112
6219
  # Gets the rotation status for the specified KMS key.
@@ -6180,9 +6287,7 @@ module Aws::KMS
6180
6287
  # By default, KMS keys are created with key material that KMS generates.
6181
6288
  # This operation supports [Importing key material][1], an advanced
6182
6289
  # feature that lets you generate and import the cryptographic key
6183
- # material for a KMS key. For more information about importing key
6184
- # material into KMS, see [Importing key material][1] in the *Key
6185
- # Management Service Developer Guide*.
6290
+ # material for a KMS key.
6186
6291
  #
6187
6292
  # Before calling `GetParametersForImport`, use the CreateKey operation
6188
6293
  # with an `Origin` value of `EXTERNAL` to create a KMS key with no key
@@ -6251,11 +6356,11 @@ module Aws::KMS
6251
6356
  #
6252
6357
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
6253
6358
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
6254
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
6255
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material
6359
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
6360
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#reimport-key-material
6256
6361
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6257
6362
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6258
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6363
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
6259
6364
  #
6260
6365
  # @option params [required, String] :key_id
6261
6366
  # The identifier of the KMS key that will be associated with the
@@ -6279,9 +6384,8 @@ module Aws::KMS
6279
6384
  # @option params [required, String] :wrapping_algorithm
6280
6385
  # The algorithm you will use with the RSA public key (`PublicKey`) in
6281
6386
  # the response to protect your key material during import. For more
6282
- # information, see [Select a wrapping
6283
- # algorithm](kms/latest/developerguide/importing-keys-get-public-key-and-token.html#select-wrapping-algorithm)
6284
- # in the *Key Management Service Developer Guide*.
6387
+ # information, see [Select a wrapping algorithm][1] in the *Key
6388
+ # Management Service Developer Guide*.
6285
6389
  #
6286
6390
  # For RSA\_AES wrapping algorithms, you encrypt your key material with
6287
6391
  # an AES key that you generate, then encrypt your AES key with the RSA
@@ -6313,6 +6417,10 @@ module Aws::KMS
6313
6417
  # * **RSAES\_PKCS1\_V1\_5** (Deprecated) — As of October 10, 2023, KMS
6314
6418
  # does not support the RSAES\_PKCS1\_V1\_5 wrapping algorithm.
6315
6419
  #
6420
+ #
6421
+ #
6422
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-get-public-key-and-token.html#select-wrapping-algorithm
6423
+ #
6316
6424
  # @option params [required, String] :wrapping_key_spec
6317
6425
  # The type of RSA public key to return in the response. You will use
6318
6426
  # this wrapping key with the specified wrapping algorithm to protect
@@ -6460,8 +6568,9 @@ module Aws::KMS
6460
6568
  # * [KeyUsage][3]: Whether the key is used for encryption, signing, or
6461
6569
  # deriving a shared secret.
6462
6570
  #
6463
- # * [EncryptionAlgorithms][4] or [SigningAlgorithms][5]: A list of the
6464
- # encryption algorithms or the signing algorithms for the key.
6571
+ # * [EncryptionAlgorithms][4], [KeyAgreementAlgorithms][5], or
6572
+ # [SigningAlgorithms][6]: A list of the encryption algorithms, key
6573
+ # agreement algorithms, or signing algorithms for the key.
6465
6574
  #
6466
6575
  # Although KMS cannot enforce these restrictions on external operations,
6467
6576
  # it is crucial that you use this information to prevent the public key
@@ -6474,22 +6583,22 @@ module Aws::KMS
6474
6583
  # To verify a signature outside of KMS with an SM2 public key (China
6475
6584
  # Regions only), you must specify the distinguishing ID. By default, KMS
6476
6585
  # uses `1234567812345678` as the distinguishing ID. For more
6477
- # information, see [Offline verification with SM2 key pairs][6].
6586
+ # information, see [Offline verification with SM2 key pairs][7].
6478
6587
  #
6479
6588
  # The KMS key that you use for this operation must be in a compatible
6480
- # key state. For details, see [Key states of KMS keys][7] in the *Key
6589
+ # key state. For details, see [Key states of KMS keys][8] in the *Key
6481
6590
  # Management Service Developer Guide*.
6482
6591
  #
6483
6592
  # **Cross-account use**: Yes. To perform this operation with a KMS key
6484
6593
  # in a different Amazon Web Services account, specify the key ARN or
6485
6594
  # alias ARN in the value of the `KeyId` parameter.
6486
6595
  #
6487
- # **Required permissions**: [kms:GetPublicKey][8] (key policy)
6596
+ # **Required permissions**: [kms:GetPublicKey][9] (key policy)
6488
6597
  #
6489
6598
  # **Related operations**: CreateKey
6490
6599
  #
6491
6600
  # **Eventual consistency**: The KMS API follows an eventual consistency
6492
- # model. For more information, see [KMS eventual consistency][9].
6601
+ # model. For more information, see [KMS eventual consistency][10].
6493
6602
  #
6494
6603
  #
6495
6604
  #
@@ -6497,11 +6606,12 @@ module Aws::KMS
6497
6606
  # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeySpec
6498
6607
  # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeyUsage
6499
6608
  # [4]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-EncryptionAlgorithms
6500
- # [5]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-SigningAlgorithms
6501
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
6502
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6503
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6504
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6609
+ # [5]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeyAgreementAlgorithms
6610
+ # [6]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-SigningAlgorithms
6611
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
6612
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6613
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6614
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
6505
6615
  #
6506
6616
  # @option params [required, String] :key_id
6507
6617
  # Identifies the asymmetric KMS key that includes the public key.
@@ -6536,7 +6646,7 @@ module Aws::KMS
6536
6646
  #
6537
6647
  #
6538
6648
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
6539
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
6649
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
6540
6650
  #
6541
6651
  # @return [Types::GetPublicKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6542
6652
  #
@@ -6584,12 +6694,12 @@ module Aws::KMS
6584
6694
  # resp.key_id #=> String
6585
6695
  # resp.public_key #=> String
6586
6696
  # resp.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
6587
- # resp.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
6697
+ # resp.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2", "ML_DSA_44", "ML_DSA_65", "ML_DSA_87"
6588
6698
  # resp.key_usage #=> String, one of "SIGN_VERIFY", "ENCRYPT_DECRYPT", "GENERATE_VERIFY_MAC", "KEY_AGREEMENT"
6589
6699
  # resp.encryption_algorithms #=> Array
6590
6700
  # resp.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
6591
6701
  # resp.signing_algorithms #=> Array
6592
- # resp.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
6702
+ # resp.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256"
6593
6703
  # resp.key_agreement_algorithms #=> Array
6594
6704
  # resp.key_agreement_algorithms[0] #=> String, one of "ECDH"
6595
6705
  #
@@ -6603,53 +6713,47 @@ module Aws::KMS
6603
6713
  end
6604
6714
 
6605
6715
  # Imports or reimports key material into an existing KMS key that was
6606
- # created without key material. `ImportKeyMaterial` also sets the
6607
- # expiration model and expiration date of the imported key material.
6608
- #
6609
- # By default, KMS keys are created with key material that KMS generates.
6610
- # This operation supports [Importing key material][1], an advanced
6611
- # feature that lets you generate and import the cryptographic key
6612
- # material for a KMS key. For more information about importing key
6613
- # material into KMS, see [Importing key material][1] in the *Key
6614
- # Management Service Developer Guide*.
6716
+ # created without key material. You can also use this operation to set
6717
+ # or update the expiration model and expiration date of the imported key
6718
+ # material.
6615
6719
  #
6616
- # After you successfully import key material into a KMS key, you can
6617
- # [reimport the same key material][2] into that KMS key, but you cannot
6618
- # import different key material. You might reimport key material to
6619
- # replace key material that expired or key material that you deleted.
6620
- # You might also reimport key material to change the expiration model or
6621
- # expiration date of the key material.
6720
+ # By default, KMS creates KMS keys with key material that it generates.
6721
+ # You can also generate and import your own key material. For more
6722
+ # information about importing key material, see [Importing key
6723
+ # material][1].
6724
+ #
6725
+ # For asymmetric, HMAC and multi-Region keys, you cannot change the key
6726
+ # material after the initial import. You can import multiple key
6727
+ # materials into single-Region, symmetric encryption keys and rotate the
6728
+ # key material on demand using `RotateKeyOnDemand`.
6729
+ #
6730
+ # After you import key material, you can [reimport the same key
6731
+ # material][2] into that KMS key or, if the key supports on-demand
6732
+ # rotation, import new key material. You can use the `ImportType`
6733
+ # parameter to indicate whether you are importing new key material or
6734
+ # re-importing previously imported key material. You might reimport key
6735
+ # material to replace key material that expired or key material that you
6736
+ # deleted. You might also reimport key material to change the expiration
6737
+ # model or expiration date of the key material.
6622
6738
  #
6623
6739
  # Each time you import key material into KMS, you can determine whether
6624
6740
  # (`ExpirationModel`) and when (`ValidTo`) the key material expires. To
6625
6741
  # change the expiration of your key material, you must import it again,
6626
6742
  # either by calling `ImportKeyMaterial` or using the [import
6627
- # features](kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-import-key-material-console)
6628
- # of the KMS console.
6743
+ # features][3] of the KMS console.
6629
6744
  #
6630
- # Before calling `ImportKeyMaterial`:
6745
+ # Before you call `ImportKeyMaterial`, complete these steps:
6631
6746
  #
6632
- # * Create or identify a KMS key with no key material. The KMS key must
6633
- # have an `Origin` value of `EXTERNAL`, which indicates that the KMS
6634
- # key is designed for imported key material.
6747
+ # * Create or identify a KMS key with `EXTERNAL` origin, which indicates
6748
+ # that the KMS key is designed for imported key material.
6635
6749
  #
6636
- # To create an new KMS key for imported key material, call the
6750
+ # To create a new KMS key for imported key material, call the
6637
6751
  # CreateKey operation with an `Origin` value of `EXTERNAL`. You can
6638
6752
  # create a symmetric encryption KMS key, HMAC KMS key, asymmetric
6639
- # encryption KMS key, or asymmetric signing KMS key. You can also
6640
- # import key material into a [multi-Region
6641
- # key](kms/latest/developerguide/multi-region-keys-overview.html) of
6642
- # any supported type. However, you can't import key material into a
6643
- # KMS key in a [custom key
6644
- # store](kms/latest/developerguide/custom-key-store-overview.html).
6645
- #
6646
- # * Use the DescribeKey operation to verify that the `KeyState` of the
6647
- # KMS key is `PendingImport`, which indicates that the KMS key has no
6648
- # key material.
6649
- #
6650
- # If you are reimporting the same key material into an existing KMS
6651
- # key, you might need to call the DeleteImportedKeyMaterial to delete
6652
- # its existing key material.
6753
+ # encryption KMS key, asymmetric key agreement key, or asymmetric
6754
+ # signing KMS key. You can also import key material into a
6755
+ # [multi-Region key][4] of any supported type. However, you can't
6756
+ # import key material into a KMS key in a [custom key store][5].
6653
6757
  #
6654
6758
  # * Call the GetParametersForImport operation to get a public key and
6655
6759
  # import token set for importing key material.
@@ -6664,10 +6768,9 @@ module Aws::KMS
6664
6768
  # * The key ID or key ARN of the KMS key to associate with the imported
6665
6769
  # key material. Its `Origin` must be `EXTERNAL` and its `KeyState`
6666
6770
  # must be `PendingImport`. You cannot perform this operation on a KMS
6667
- # key in a [custom key
6668
- # store](kms/latest/developerguide/custom-key-store-overview.html), or
6669
- # on a KMS key in a different Amazon Web Services account. To get the
6670
- # `Origin` and `KeyState` of a KMS key, call DescribeKey.
6771
+ # key in a [custom key store][5], or on a KMS key in a different
6772
+ # Amazon Web Services account. To get the `Origin` and `KeyState` of a
6773
+ # KMS key, call DescribeKey.
6671
6774
  #
6672
6775
  # * The encrypted key material.
6673
6776
  #
@@ -6677,7 +6780,7 @@ module Aws::KMS
6677
6780
  #
6678
6781
  # * Whether the key material expires (`ExpirationModel`) and, if so,
6679
6782
  # when (`ValidTo`). For help with this choice, see [Setting an
6680
- # expiration time][3] in the *Key Management Service Developer Guide*.
6783
+ # expiration time][6] in the *Key Management Service Developer Guide*.
6681
6784
  #
6682
6785
  # If you set an expiration date, KMS deletes the key material from the
6683
6786
  # KMS key on the specified date, making the KMS key unusable. To use
@@ -6689,23 +6792,27 @@ module Aws::KMS
6689
6792
  #
6690
6793
  # When this operation is successful, the key state of the KMS key
6691
6794
  # changes from `PendingImport` to `Enabled`, and you can use the KMS key
6692
- # in cryptographic operations.
6795
+ # in cryptographic operations. For single-Region, symmetric encryption
6796
+ # keys, you will need to import all of the key materials associated with
6797
+ # the KMS key to change its state to `Enabled`. Use the
6798
+ # `ListKeyRotations` operation to list the ID and import state of each
6799
+ # key material associated with a KMS key.
6693
6800
  #
6694
6801
  # If this operation fails, use the exception to help determine the
6695
6802
  # problem. If the error is related to the key material, the import
6696
6803
  # token, or wrapping key, use GetParametersForImport to get a new public
6697
6804
  # key and import token for the KMS key and repeat the import procedure.
6698
- # For help, see [How To Import Key Material][4] in the *Key Management
6699
- # Service Developer Guide*.
6805
+ # For help, see [Create a KMS key with imported key material][7] in the
6806
+ # *Key Management Service Developer Guide*.
6700
6807
  #
6701
6808
  # The KMS key that you use for this operation must be in a compatible
6702
- # key state. For details, see [Key states of KMS keys][5] in the *Key
6809
+ # key state. For details, see [Key states of KMS keys][8] in the *Key
6703
6810
  # Management Service Developer Guide*.
6704
6811
  #
6705
6812
  # **Cross-account use**: No. You cannot perform this operation on a KMS
6706
6813
  # key in a different Amazon Web Services account.
6707
6814
  #
6708
- # **Required permissions**: [kms:ImportKeyMaterial][6] (key policy)
6815
+ # **Required permissions**: [kms:ImportKeyMaterial][9] (key policy)
6709
6816
  #
6710
6817
  # **Related operations:**
6711
6818
  #
@@ -6713,18 +6820,25 @@ module Aws::KMS
6713
6820
  #
6714
6821
  # * GetParametersForImport
6715
6822
  #
6823
+ # * ListKeyRotations
6824
+ #
6825
+ # * RotateKeyOnDemand
6826
+ #
6716
6827
  # **Eventual consistency**: The KMS API follows an eventual consistency
6717
- # model. For more information, see [KMS eventual consistency][7].
6828
+ # model. For more information, see [KMS eventual consistency][10].
6718
6829
  #
6719
6830
  #
6720
6831
  #
6721
6832
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
6722
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material
6723
- # [3]: https://docs.aws.amazon.com/en_us/kms/latest/developerguide/importing-keys.html#importing-keys-expiration
6724
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#importing-keys-overview
6725
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6726
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6727
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6833
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#reimport-key-material
6834
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-import-key-material-console
6835
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
6836
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
6837
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-expiration
6838
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-conceptual.html
6839
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6840
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6841
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
6728
6842
  #
6729
6843
  # @option params [required, String] :key_id
6730
6844
  # The identifier of the KMS key that will be associated with the
@@ -6735,11 +6849,9 @@ module Aws::KMS
6735
6849
  #
6736
6850
  # The KMS key can be a symmetric encryption KMS key, HMAC KMS key,
6737
6851
  # asymmetric encryption KMS key, or asymmetric signing KMS key,
6738
- # including a [multi-Region
6739
- # key](kms/latest/developerguide/multi-region-keys-overview.html) of any
6740
- # supported type. You cannot perform this operation on a KMS key in a
6741
- # custom key store, or on a KMS key in a different Amazon Web Services
6742
- # account.
6852
+ # including a [multi-Region key][1] of any supported type. You cannot
6853
+ # perform this operation on a KMS key in a custom key store, or on a KMS
6854
+ # key in a different Amazon Web Services account.
6743
6855
  #
6744
6856
  # Specify the key ID or key ARN of the KMS key.
6745
6857
  #
@@ -6753,6 +6865,10 @@ module Aws::KMS
6753
6865
  # To get the key ID and key ARN for a KMS key, use ListKeys or
6754
6866
  # DescribeKey.
6755
6867
  #
6868
+ #
6869
+ #
6870
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
6871
+ #
6756
6872
  # @option params [required, String, StringIO, File] :import_token
6757
6873
  # The import token that you received in the response to a previous
6758
6874
  # GetParametersForImport request. It must be from the same response that
@@ -6797,9 +6913,48 @@ module Aws::KMS
6797
6913
  #
6798
6914
  #
6799
6915
  #
6800
- # [1]: https://docs.aws.amazon.com/en_us/kms/latest/developerguide/importing-keys.html#importing-keys-expiration
6916
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-expiration
6801
6917
  #
6802
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6918
+ # @option params [String] :import_type
6919
+ # Indicates whether the key material being imported is previously
6920
+ # associated with this KMS key or not. This parameter is optional and
6921
+ # only usable with symmetric encryption keys. If no key material has
6922
+ # ever been imported into the KMS key, and this parameter is omitted,
6923
+ # the parameter defaults to `NEW_KEY_MATERIAL`. After the first key
6924
+ # material is imported, if this parameter is omitted then the parameter
6925
+ # defaults to `EXISTING_KEY_MATERIAL`.
6926
+ #
6927
+ # @option params [String] :key_material_description
6928
+ # Description for the key material being imported. This parameter is
6929
+ # optional and only usable with symmetric encryption keys. If you do not
6930
+ # specify a key material description, KMS retains the value you
6931
+ # specified when you last imported the same key material into this KMS
6932
+ # key.
6933
+ #
6934
+ # @option params [String] :key_material_id
6935
+ # Identifies the key material being imported. This parameter is optional
6936
+ # and only usable with symmetric encryption keys. You cannot specify a
6937
+ # key material ID with `ImportType` set to `NEW_KEY_MATERIAL`. Whenever
6938
+ # you import key material into a symmetric encryption key, KMS assigns a
6939
+ # unique identifier to the key material based on the KMS key ID and the
6940
+ # imported key material. When you re-import key material with a
6941
+ # specified key material ID, KMS:
6942
+ #
6943
+ # * Computes the identifier for the key material
6944
+ #
6945
+ # * Matches the computed identifier against the specified key material
6946
+ # ID
6947
+ #
6948
+ # * Verifies that the key material ID is already associated with the KMS
6949
+ # key
6950
+ #
6951
+ # To get the list of key material IDs associated with a KMS key, use
6952
+ # ListKeyRotations.
6953
+ #
6954
+ # @return [Types::ImportKeyMaterialResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6955
+ #
6956
+ # * {Types::ImportKeyMaterialResponse#key_id #key_id} => String
6957
+ # * {Types::ImportKeyMaterialResponse#key_material_id #key_material_id} => String
6803
6958
  #
6804
6959
  #
6805
6960
  # @example Example: To import key material into a KMS key
@@ -6813,6 +6968,12 @@ module Aws::KMS
6813
6968
  # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key to import the key material into. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
6814
6969
  # })
6815
6970
  #
6971
+ # resp.to_h outputs the following:
6972
+ # {
6973
+ # key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The Amazon Resource Name (ARN) of the KMS key into which key material was imported.
6974
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # Identifies the imported key material.
6975
+ # }
6976
+ #
6816
6977
  # @example Example: To import key material into a KMS key
6817
6978
  #
6818
6979
  # # The following example imports key material that expires in 3 days. It might be part of an application that frequently
@@ -6826,6 +6987,12 @@ module Aws::KMS
6826
6987
  # valid_to: Time.parse("2023-09-30T00:00:00-00:00"), # Specifies the date and time when the imported key material expires.
6827
6988
  # })
6828
6989
  #
6990
+ # resp.to_h outputs the following:
6991
+ # {
6992
+ # key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The Amazon Resource Name (ARN) of the KMS key into which key material was imported.
6993
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # Identifies the imported key material.
6994
+ # }
6995
+ #
6829
6996
  # @example Request syntax with placeholder values
6830
6997
  #
6831
6998
  # resp = client.import_key_material({
@@ -6834,8 +7001,16 @@ module Aws::KMS
6834
7001
  # encrypted_key_material: "data", # required
6835
7002
  # valid_to: Time.now,
6836
7003
  # expiration_model: "KEY_MATERIAL_EXPIRES", # accepts KEY_MATERIAL_EXPIRES, KEY_MATERIAL_DOES_NOT_EXPIRE
7004
+ # import_type: "NEW_KEY_MATERIAL", # accepts NEW_KEY_MATERIAL, EXISTING_KEY_MATERIAL
7005
+ # key_material_description: "KeyMaterialDescriptionType",
7006
+ # key_material_id: "BackingKeyIdType",
6837
7007
  # })
6838
7008
  #
7009
+ # @example Response structure
7010
+ #
7011
+ # resp.key_id #=> String
7012
+ # resp.key_material_id #=> String
7013
+ #
6839
7014
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterial AWS API Documentation
6840
7015
  #
6841
7016
  # @overload import_key_material(params = {})
@@ -6886,10 +7061,10 @@ module Aws::KMS
6886
7061
  #
6887
7062
  #
6888
7063
  #
6889
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#aliases-limit
7064
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/resource-limits.html#aliases-per-key
6890
7065
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6891
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
6892
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7066
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/alias-access.html
7067
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
6893
7068
  #
6894
7069
  # @option params [String] :key_id
6895
7070
  # Lists only aliases that are associated with the specified KMS key.
@@ -7021,8 +7196,9 @@ module Aws::KMS
7021
7196
  #
7022
7197
  # For detailed information about grants, including grant terminology,
7023
7198
  # see [Grants in KMS][1] in the <i> <i>Key Management Service Developer
7024
- # Guide</i> </i>. For examples of working with grants in several
7025
- # programming languages, see [Programming grants][2].
7199
+ # Guide</i> </i>. For examples of creating grants in several programming
7200
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
7201
+ # CLI][2].
7026
7202
  #
7027
7203
  # <note markdown="1"> The `GranteePrincipal` field in the `ListGrants` response usually
7028
7204
  # contains the user or role designated as the grantee principal in the
@@ -7055,10 +7231,10 @@ module Aws::KMS
7055
7231
  #
7056
7232
  #
7057
7233
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
7058
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
7234
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
7059
7235
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services
7060
7236
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7061
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7237
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7062
7238
  #
7063
7239
  # @option params [Integer] :limit
7064
7240
  # Use this parameter to specify the maximum number of items to return.
@@ -7234,7 +7410,7 @@ module Aws::KMS
7234
7410
  #
7235
7411
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7236
7412
  # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html
7237
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7413
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7238
7414
  #
7239
7415
  # @option params [required, String] :key_id
7240
7416
  # Gets the names of key policies for the specified KMS key.
@@ -7316,14 +7492,15 @@ module Aws::KMS
7316
7492
  req.send_request(options)
7317
7493
  end
7318
7494
 
7319
- # Returns information about all completed key material rotations for the
7320
- # specified KMS key.
7495
+ # Returns information about the key materials associated with the
7496
+ # specified KMS key. You can use the optional `IncludeKeyMaterial`
7497
+ # parameter to control which key materials are included in the response.
7321
7498
  #
7322
7499
  # You must specify the KMS key in all requests. You can refine the key
7323
7500
  # rotations list by limiting the number of rotations returned.
7324
7501
  #
7325
7502
  # For detailed information about automatic and on-demand key rotations,
7326
- # see [Rotating KMS keys][1] in the *Key Management Service Developer
7503
+ # see [Rotate KMS keys][1] in the *Key Management Service Developer
7327
7504
  # Guide*.
7328
7505
  #
7329
7506
  # **Cross-account use**: No. You cannot perform this operation on a KMS
@@ -7335,10 +7512,14 @@ module Aws::KMS
7335
7512
  #
7336
7513
  # * EnableKeyRotation
7337
7514
  #
7515
+ # * DeleteImportedKeyMaterial
7516
+ #
7338
7517
  # * DisableKeyRotation
7339
7518
  #
7340
7519
  # * GetKeyRotationStatus
7341
7520
  #
7521
+ # * ImportKeyMaterial
7522
+ #
7342
7523
  # * RotateKeyOnDemand
7343
7524
  #
7344
7525
  # **Eventual consistency**: The KMS API follows an eventual consistency
@@ -7348,7 +7529,7 @@ module Aws::KMS
7348
7529
  #
7349
7530
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
7350
7531
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7351
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7532
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7352
7533
  #
7353
7534
  # @option params [required, String] :key_id
7354
7535
  # Gets the key rotations for the specified KMS key.
@@ -7365,6 +7546,16 @@ module Aws::KMS
7365
7546
  # To get the key ID and key ARN for a KMS key, use ListKeys or
7366
7547
  # DescribeKey.
7367
7548
  #
7549
+ # @option params [String] :include_key_material
7550
+ # Use this optional parameter to control which key materials associated
7551
+ # with this key are listed in the response. The default value of this
7552
+ # parameter is `ROTATIONS_ONLY`. If you omit this parameter, KMS returns
7553
+ # information on the key materials created by automatic or on-demand key
7554
+ # rotation. When you specify a value of `ALL_KEY_MATERIAL`, KMS adds the
7555
+ # first key material and any imported key material pending rotation to
7556
+ # the response. This parameter can only be used with KMS keys that
7557
+ # support automatic or on-demand key rotation.
7558
+ #
7368
7559
  # @option params [Integer] :limit
7369
7560
  # Use this parameter to specify the maximum number of items to return.
7370
7561
  # When this value is present, KMS does not return more than the
@@ -7417,6 +7608,7 @@ module Aws::KMS
7417
7608
  #
7418
7609
  # resp = client.list_key_rotations({
7419
7610
  # key_id: "KeyIdType", # required
7611
+ # include_key_material: "ALL_KEY_MATERIAL", # accepts ALL_KEY_MATERIAL, ROTATIONS_ONLY
7420
7612
  # limit: 1,
7421
7613
  # marker: "MarkerType",
7422
7614
  # })
@@ -7425,6 +7617,12 @@ module Aws::KMS
7425
7617
  #
7426
7618
  # resp.rotations #=> Array
7427
7619
  # resp.rotations[0].key_id #=> String
7620
+ # resp.rotations[0].key_material_id #=> String
7621
+ # resp.rotations[0].key_material_description #=> String
7622
+ # resp.rotations[0].import_state #=> String, one of "IMPORTED", "PENDING_IMPORT"
7623
+ # resp.rotations[0].key_material_state #=> String, one of "NON_CURRENT", "CURRENT", "PENDING_ROTATION"
7624
+ # resp.rotations[0].expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
7625
+ # resp.rotations[0].valid_to #=> Time
7428
7626
  # resp.rotations[0].rotation_date #=> Time
7429
7627
  # resp.rotations[0].rotation_type #=> String, one of "AUTOMATIC", "ON_DEMAND"
7430
7628
  # resp.next_marker #=> String
@@ -7463,7 +7661,7 @@ module Aws::KMS
7463
7661
  #
7464
7662
  #
7465
7663
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7466
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7664
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7467
7665
  #
7468
7666
  # @option params [Integer] :limit
7469
7667
  # Use this parameter to specify the maximum number of items to return.
@@ -7559,7 +7757,7 @@ module Aws::KMS
7559
7757
  # For general information about tags, including the format and syntax,
7560
7758
  # see [Tagging Amazon Web Services resources][1] in the *Amazon Web
7561
7759
  # Services General Reference*. For information about using tags in KMS,
7562
- # see [Tagging keys][2].
7760
+ # see [Tags in KMS][2].
7563
7761
  #
7564
7762
  # **Cross-account use**: No. You cannot perform this operation on a KMS
7565
7763
  # key in a different Amazon Web Services account.
@@ -7584,7 +7782,7 @@ module Aws::KMS
7584
7782
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
7585
7783
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
7586
7784
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7587
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7785
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7588
7786
  #
7589
7787
  # @option params [required, String] :key_id
7590
7788
  # Gets tags on the specified KMS key.
@@ -7689,8 +7887,9 @@ module Aws::KMS
7689
7887
  #
7690
7888
  # For detailed information about grants, including grant terminology,
7691
7889
  # see [Grants in KMS][1] in the <i> <i>Key Management Service Developer
7692
- # Guide</i> </i>. For examples of working with grants in several
7693
- # programming languages, see [Programming grants][2].
7890
+ # Guide</i> </i>. For examples of creating grants in several programming
7891
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
7892
+ # CLI][2].
7694
7893
  #
7695
7894
  # **Cross-account use**: You must specify a principal in your Amazon Web
7696
7895
  # Services account. This operation returns a list of grants where the
@@ -7728,9 +7927,9 @@ module Aws::KMS
7728
7927
  #
7729
7928
  #
7730
7929
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
7731
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
7930
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
7732
7931
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7733
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7932
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7734
7933
  #
7735
7934
  # @option params [Integer] :limit
7736
7935
  # Use this parameter to specify the maximum number of items to return.
@@ -7840,8 +8039,9 @@ module Aws::KMS
7840
8039
  # formatting a JSON policy document, see the [IAM JSON Policy
7841
8040
  # Reference][2] in the <i> <i>Identity and Access Management User
7842
8041
  # Guide</i> </i>. For examples of adding a key policy in multiple
7843
- # programming languages, see [Setting a key policy][3] in the *Key
7844
- # Management Service Developer Guide*.
8042
+ # programming languages, see [Use PutKeyPolicy with an Amazon Web
8043
+ # Services SDK or CLI][3] in the *Key Management Service Developer
8044
+ # Guide*.
7845
8045
  #
7846
8046
  # **Cross-account use**: No. You cannot perform this operation on a KMS
7847
8047
  # key in a different Amazon Web Services account.
@@ -7857,9 +8057,9 @@ module Aws::KMS
7857
8057
  #
7858
8058
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
7859
8059
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
7860
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-key-policies.html#put-policy
8060
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_PutKeyPolicy_section.html
7861
8061
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7862
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8062
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7863
8063
  #
7864
8064
  # @option params [required, String] :key_id
7865
8065
  # Sets the key policy on the specified KMS key.
@@ -7900,6 +8100,17 @@ module Aws::KMS
7900
8100
  # not always immediately visible][2] in the *Amazon Web Services
7901
8101
  # Identity and Access Management User Guide*.
7902
8102
  #
8103
+ # <note markdown="1"> If either of the required `Resource` or `Action` elements are missing
8104
+ # from a key policy statement, the policy statement has no effect. When
8105
+ # a key policy statement is missing one of these elements, the KMS
8106
+ # console correctly reports an error, but the `PutKeyPolicy` API request
8107
+ # succeeds, even though the policy statement is ineffective.
8108
+ #
8109
+ # For more information on required key policy elements, see [Elements in
8110
+ # a key policy][3] in the *Key Management Service Developer Guide*.
8111
+ #
8112
+ # </note>
8113
+ #
7903
8114
  # A key policy document can include only the following characters:
7904
8115
  #
7905
8116
  # * Printable ASCII characters from the space character (`\u0020`)
@@ -7911,18 +8122,24 @@ module Aws::KMS
7911
8122
  # * The tab (`\u0009`), line feed (`\u000A`), and carriage return
7912
8123
  # (`\u000D`) special characters
7913
8124
  #
7914
- # For information about key policies, see [Key policies in KMS][3] in
8125
+ # <note markdown="1"> If the key policy exceeds the length constraint, KMS returns a
8126
+ # `LimitExceededException`.
8127
+ #
8128
+ # </note>
8129
+ #
8130
+ # For information about key policies, see [Key policies in KMS][4] in
7915
8131
  # the *Key Management Service Developer Guide*.For help writing and
7916
8132
  # formatting a JSON policy document, see the [IAM JSON Policy
7917
- # Reference][4] in the <i> <i>Identity and Access Management User
8133
+ # Reference][5] in the <i> <i>Identity and Access Management User
7918
8134
  # Guide</i> </i>.
7919
8135
  #
7920
8136
  #
7921
8137
  #
7922
8138
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
7923
8139
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
7924
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
7925
- # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
8140
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html#key-policy-elements
8141
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
8142
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
7926
8143
  #
7927
8144
  # @option params [Boolean] :bypass_policy_lockout_safety_check
7928
8145
  # Skips ("bypasses") the key policy lockout safety check. The default
@@ -8071,15 +8288,15 @@ module Aws::KMS
8071
8288
  #
8072
8289
  #
8073
8290
  #
8074
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-manually
8075
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
8076
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#asymmetric-cmks
8291
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys-manually.html
8292
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
8293
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
8077
8294
  # [4]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
8078
8295
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
8079
8296
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8080
8297
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
8081
8298
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
8082
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8299
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8083
8300
  #
8084
8301
  # @option params [required, String, StringIO, File] :ciphertext_blob
8085
8302
  # Ciphertext of the data to reencrypt.
@@ -8102,7 +8319,7 @@ module Aws::KMS
8102
8319
  #
8103
8320
  #
8104
8321
  #
8105
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
8322
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
8106
8323
  #
8107
8324
  # @option params [String] :source_key_id
8108
8325
  # Specifies the KMS key that KMS will use to decrypt the ciphertext
@@ -8188,7 +8405,7 @@ module Aws::KMS
8188
8405
  #
8189
8406
  #
8190
8407
  #
8191
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
8408
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
8192
8409
  #
8193
8410
  # @option params [String] :source_encryption_algorithm
8194
8411
  # Specifies the encryption algorithm that KMS will use to decrypt the
@@ -8222,18 +8439,18 @@ module Aws::KMS
8222
8439
  #
8223
8440
  #
8224
8441
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
8225
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
8442
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
8226
8443
  #
8227
8444
  # @option params [Boolean] :dry_run
8228
8445
  # Checks if your request will succeed. `DryRun` is an optional
8229
8446
  # parameter.
8230
8447
  #
8231
- # To learn more about how to use this parameter, see [Testing your KMS
8232
- # API calls][1] in the *Key Management Service Developer Guide*.
8448
+ # To learn more about how to use this parameter, see [Testing your
8449
+ # permissions][1] in the *Key Management Service Developer Guide*.
8233
8450
  #
8234
8451
  #
8235
8452
  #
8236
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
8453
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
8237
8454
  #
8238
8455
  # @return [Types::ReEncryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8239
8456
  #
@@ -8242,6 +8459,8 @@ module Aws::KMS
8242
8459
  # * {Types::ReEncryptResponse#key_id #key_id} => String
8243
8460
  # * {Types::ReEncryptResponse#source_encryption_algorithm #source_encryption_algorithm} => String
8244
8461
  # * {Types::ReEncryptResponse#destination_encryption_algorithm #destination_encryption_algorithm} => String
8462
+ # * {Types::ReEncryptResponse#source_key_material_id #source_key_material_id} => String
8463
+ # * {Types::ReEncryptResponse#destination_key_material_id #destination_key_material_id} => String
8245
8464
  #
8246
8465
  #
8247
8466
  # @example Example: To reencrypt data
@@ -8256,8 +8475,12 @@ module Aws::KMS
8256
8475
  # resp.to_h outputs the following:
8257
8476
  # {
8258
8477
  # ciphertext_blob: "<binary data>", # The reencrypted data.
8478
+ # destination_encryption_algorithm: "SYMMETRIC_DEFAULT", # The encryption algorithm that was used to reencrypt the data.
8479
+ # destination_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to reencrypt the data.
8259
8480
  # key_id: "arn:aws:kms:us-east-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", # The ARN of the KMS key that was used to reencrypt the data.
8481
+ # source_encryption_algorithm: "SYMMETRIC_DEFAULT", # The encryption algorithm that was used to decrypt the ciphertext before it was reencrypted.
8260
8482
  # source_key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The ARN of the KMS key that was originally used to encrypt the data.
8483
+ # source_key_material_id: "1c6be7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to originally encrypt the data.
8261
8484
  # }
8262
8485
  #
8263
8486
  # @example Request syntax with placeholder values
@@ -8285,6 +8508,8 @@ module Aws::KMS
8285
8508
  # resp.key_id #=> String
8286
8509
  # resp.source_encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
8287
8510
  # resp.destination_encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
8511
+ # resp.source_key_material_id #=> String
8512
+ # resp.destination_key_material_id #=> String
8288
8513
  #
8289
8514
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncrypt AWS API Documentation
8290
8515
  #
@@ -8316,12 +8541,12 @@ module Aws::KMS
8316
8541
  # independently of its primary and peer replica keys. A primary key and
8317
8542
  # its replica keys share properties that make them interoperable. They
8318
8543
  # have the same [key ID][2] and key material. They also have the same
8319
- # [key spec][3], [key usage][4], [key material origin][5], and
8320
- # [automatic key rotation status][6]. KMS automatically synchronizes
8321
- # these shared properties among related multi-Region keys. All other
8322
- # properties of a replica key can differ, including its [key policy][7],
8323
- # [tags][8], [aliases][9], and [Key states of KMS keys][10]. KMS pricing
8324
- # and quotas for KMS keys apply to each primary key and replica key.
8544
+ # key spec, key usage, key material origin, and automatic key rotation
8545
+ # status. KMS automatically synchronizes these shared properties among
8546
+ # related multi-Region keys. All other properties of a replica key can
8547
+ # differ, including its [key policy][3], [tags][4], [aliases][5], and
8548
+ # [key state][6]. KMS pricing and quotas for KMS keys apply to each
8549
+ # primary key and replica key.
8325
8550
  #
8326
8551
  # When this operation completes, the new replica key has a transient key
8327
8552
  # state of `Creating`. This key state changes to `Enabled` (or
@@ -8331,7 +8556,7 @@ module Aws::KMS
8331
8556
  # If you are creating and using the replica key programmatically, retry
8332
8557
  # on `KMSInvalidStateException` or call `DescribeKey` to check its
8333
8558
  # `KeyState` value before using it. For details about the `Creating` key
8334
- # state, see [Key states of KMS keys][10] in the *Key Management Service
8559
+ # state, see [Key states of KMS keys][6] in the *Key Management Service
8335
8560
  # Developer Guide*.
8336
8561
  #
8337
8562
  # You cannot create more than one replica of a primary key in any
@@ -8340,7 +8565,7 @@ module Aws::KMS
8340
8565
  # `AlreadyExistsException` error. If the key state of the existing
8341
8566
  # replica is `PendingDeletion`, you can cancel the scheduled key
8342
8567
  # deletion (CancelKeyDeletion) or wait for the key to be deleted. The
8343
- # new replica key you create will have the same [shared properties][11]
8568
+ # new replica key you create will have the same [shared properties][7]
8344
8569
  # as the original replica key.
8345
8570
  #
8346
8571
  # The CloudTrail log of a `ReplicateKey` operation records a
@@ -8350,8 +8575,6 @@ module Aws::KMS
8350
8575
  # If you replicate a multi-Region primary key with imported key
8351
8576
  # material, the replica key is created with no key material. You must
8352
8577
  # import the same key material that you imported into the primary key.
8353
- # For details, see [Importing key material into multi-Region keys][12]
8354
- # in the *Key Management Service Developer Guide*.
8355
8578
  #
8356
8579
  # To convert a replica key to a primary key, use the UpdatePrimaryRegion
8357
8580
  # operation.
@@ -8382,23 +8605,18 @@ module Aws::KMS
8382
8605
  # * UpdatePrimaryRegion
8383
8606
  #
8384
8607
  # **Eventual consistency**: The KMS API follows an eventual consistency
8385
- # model. For more information, see [KMS eventual consistency][13].
8608
+ # model. For more information, see [KMS eventual consistency][8].
8386
8609
  #
8387
8610
  #
8388
8611
  #
8389
8612
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
8390
8613
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id
8391
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-spec
8392
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-usage
8393
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-origin
8394
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
8395
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
8396
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
8397
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
8398
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8399
- # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-sync-properties
8400
- # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-import.html
8401
- # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8614
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
8615
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
8616
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
8617
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8618
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-sync-properties
8619
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8402
8620
  #
8403
8621
  # @option params [required, String] :key_id
8404
8622
  # Identifies the multi-Region primary key that is being replicated. To
@@ -8426,33 +8644,23 @@ module Aws::KMS
8426
8644
  # [KMS service endpoints][1] in the *Amazon Web Services General
8427
8645
  # Reference*.
8428
8646
  #
8429
- # <note markdown="1"> HMAC KMS keys are not supported in all Amazon Web Services Regions. If
8430
- # you try to replicate an HMAC KMS key in an Amazon Web Services Region
8431
- # in which HMAC keys are not supported, the `ReplicateKey` operation
8432
- # returns an `UnsupportedOperationException`. For a list of Regions in
8433
- # which HMAC KMS keys are supported, see [HMAC keys in KMS][2] in the
8434
- # *Key Management Service Developer Guide*.
8435
- #
8436
- # </note>
8437
- #
8438
8647
  # The replica must be in a different Amazon Web Services Region than its
8439
8648
  # primary key and other replicas of that primary key, but in the same
8440
8649
  # Amazon Web Services partition. KMS must be available in the replica
8441
8650
  # Region. If the Region is not enabled by default, the Amazon Web
8442
8651
  # Services account must be enabled in the Region. For information about
8443
- # Amazon Web Services partitions, see [Amazon Resource Names (ARNs)][3]
8652
+ # Amazon Web Services partitions, see [Amazon Resource Names (ARNs)][2]
8444
8653
  # in the *Amazon Web Services General Reference*. For information about
8445
- # enabling and disabling Regions, see [Enabling a Region][4] and
8446
- # [Disabling a Region][5] in the *Amazon Web Services General
8654
+ # enabling and disabling Regions, see [Enabling a Region][3] and
8655
+ # [Disabling a Region][4] in the *Amazon Web Services General
8447
8656
  # Reference*.
8448
8657
  #
8449
8658
  #
8450
8659
  #
8451
8660
  # [1]: https://docs.aws.amazon.com/general/latest/gr/kms.html#kms_region
8452
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
8453
- # [3]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
8454
- # [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
8455
- # [5]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
8661
+ # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
8662
+ # [3]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
8663
+ # [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
8456
8664
  #
8457
8665
  # @option params [String] :policy
8458
8666
  # The key policy to attach to the KMS key. This parameter is optional.
@@ -8500,7 +8708,7 @@ module Aws::KMS
8500
8708
  #
8501
8709
  #
8502
8710
  #
8503
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
8711
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html
8504
8712
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
8505
8713
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
8506
8714
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
@@ -8569,7 +8777,7 @@ module Aws::KMS
8569
8777
  # When you add tags to an Amazon Web Services resource, Amazon Web
8570
8778
  # Services generates a cost allocation report with usage and costs
8571
8779
  # aggregated by tags. Tags can also be used to control access to a KMS
8572
- # key. For details, see [Tagging Keys][3].
8780
+ # key. For details, see [Tags in KMS][3].
8573
8781
  #
8574
8782
  #
8575
8783
  #
@@ -8664,11 +8872,11 @@ module Aws::KMS
8664
8872
  # resp.replica_key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
8665
8873
  # resp.replica_key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
8666
8874
  # resp.replica_key_metadata.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
8667
- # resp.replica_key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
8875
+ # resp.replica_key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2", "ML_DSA_44", "ML_DSA_65", "ML_DSA_87"
8668
8876
  # resp.replica_key_metadata.encryption_algorithms #=> Array
8669
8877
  # resp.replica_key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
8670
8878
  # resp.replica_key_metadata.signing_algorithms #=> Array
8671
- # resp.replica_key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
8879
+ # resp.replica_key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256"
8672
8880
  # resp.replica_key_metadata.key_agreement_algorithms #=> Array
8673
8881
  # resp.replica_key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
8674
8882
  # resp.replica_key_metadata.multi_region #=> Boolean
@@ -8682,6 +8890,7 @@ module Aws::KMS
8682
8890
  # resp.replica_key_metadata.mac_algorithms #=> Array
8683
8891
  # resp.replica_key_metadata.mac_algorithms[0] #=> String, one of "HMAC_SHA_224", "HMAC_SHA_256", "HMAC_SHA_384", "HMAC_SHA_512"
8684
8892
  # resp.replica_key_metadata.xks_key_configuration.id #=> String
8893
+ # resp.replica_key_metadata.current_key_material_id #=> String
8685
8894
  # resp.replica_policy #=> String
8686
8895
  # resp.replica_tags #=> Array
8687
8896
  # resp.replica_tags[0].tag_key #=> String
@@ -8705,20 +8914,20 @@ module Aws::KMS
8705
8914
  # by the *grantee principal* if the grant allows the `RetireGrant`
8706
8915
  # operation, and by the Amazon Web Services account in which the grant
8707
8916
  # is created. It can also be called by principals to whom permission for
8708
- # retiring a grant is delegated. For details, see [Retiring and revoking
8709
- # grants][2] in the *Key Management Service Developer Guide*.
8917
+ # retiring a grant is delegated.
8710
8918
  #
8711
8919
  # For detailed information about grants, including grant terminology,
8712
- # see [Grants in KMS][3] in the <i> <i>Key Management Service Developer
8713
- # Guide</i> </i>. For examples of working with grants in several
8714
- # programming languages, see [Programming grants][4].
8920
+ # see [Grants in KMS][2] in the <i> <i>Key Management Service Developer
8921
+ # Guide</i> </i>. For examples of creating grants in several programming
8922
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
8923
+ # CLI][3].
8715
8924
  #
8716
8925
  # **Cross-account use**: Yes. You can retire a grant on a KMS key in a
8717
8926
  # different Amazon Web Services account.
8718
8927
  #
8719
8928
  # **Required permissions**: Permission to retire a grant is determined
8720
8929
  # primarily by the grant. For details, see [Retiring and revoking
8721
- # grants][2] in the *Key Management Service Developer Guide*.
8930
+ # grants][4] in the *Key Management Service Developer Guide*.
8722
8931
  #
8723
8932
  # **Related operations:**
8724
8933
  #
@@ -8736,10 +8945,10 @@ module Aws::KMS
8736
8945
  #
8737
8946
  #
8738
8947
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
8739
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete
8740
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
8741
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
8742
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8948
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
8949
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
8950
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
8951
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8743
8952
  #
8744
8953
  # @option params [String] :grant_token
8745
8954
  # Identifies the grant to be retired. You can use a grant token to
@@ -8774,12 +8983,12 @@ module Aws::KMS
8774
8983
  # Checks if your request will succeed. `DryRun` is an optional
8775
8984
  # parameter.
8776
8985
  #
8777
- # To learn more about how to use this parameter, see [Testing your KMS
8778
- # API calls][1] in the *Key Management Service Developer Guide*.
8986
+ # To learn more about how to use this parameter, see [Testing your
8987
+ # permissions][1] in the *Key Management Service Developer Guide*.
8779
8988
  #
8780
8989
  #
8781
8990
  #
8782
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
8991
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
8783
8992
  #
8784
8993
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8785
8994
  #
@@ -8824,8 +9033,9 @@ module Aws::KMS
8824
9033
  #
8825
9034
  # For detailed information about grants, including grant terminology,
8826
9035
  # see [Grants in KMS][3] in the <i> <i>Key Management Service Developer
8827
- # Guide</i> </i>. For examples of working with grants in several
8828
- # programming languages, see [Programming grants][4].
9036
+ # Guide</i> </i>. For examples of creating grants in several programming
9037
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
9038
+ # CLI][4].
8829
9039
  #
8830
9040
  # **Cross-account use**: Yes. To perform this operation on a KMS key in
8831
9041
  # a different Amazon Web Services account, specify the key ARN in the
@@ -8848,12 +9058,12 @@ module Aws::KMS
8848
9058
  #
8849
9059
  #
8850
9060
  #
8851
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete
9061
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
8852
9062
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-eventual-consistency
8853
9063
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
8854
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
9064
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
8855
9065
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
8856
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9066
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8857
9067
  #
8858
9068
  # @option params [required, String] :key_id
8859
9069
  # A unique identifier for the KMS key associated with the grant. To get
@@ -8880,12 +9090,12 @@ module Aws::KMS
8880
9090
  # Checks if your request will succeed. `DryRun` is an optional
8881
9091
  # parameter.
8882
9092
  #
8883
- # To learn more about how to use this parameter, see [Testing your KMS
8884
- # API calls][1] in the *Key Management Service Developer Guide*.
9093
+ # To learn more about how to use this parameter, see [Testing your
9094
+ # permissions][1] in the *Key Management Service Developer Guide*.
8885
9095
  #
8886
9096
  #
8887
9097
  #
8888
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
9098
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
8889
9099
  #
8890
9100
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8891
9101
  #
@@ -8941,10 +9151,15 @@ module Aws::KMS
8941
9151
  # of the key material for your KMS keys in CloudTrail and Amazon
8942
9152
  # CloudWatch.
8943
9153
  #
8944
- # On-demand key rotation is supported only on [symmetric encryption KMS
8945
- # keys][3]. You cannot perform on-demand rotation of [asymmetric KMS
8946
- # keys][4], [HMAC KMS keys][5], KMS keys with [imported key
8947
- # material][6], or KMS keys in a [custom key store][7]. To perform
9154
+ # On-demand key rotation is supported only on symmetric encryption KMS
9155
+ # keys. You cannot perform on-demand rotation of [asymmetric KMS
9156
+ # keys][3], [HMAC KMS keys][4], multi-Region KMS keys with [imported key
9157
+ # material][5], or KMS keys in a [custom key store][6]. When you
9158
+ # initiate on-demand key rotation on a symmetric encryption KMS key with
9159
+ # imported key material, you must have already imported [new key
9160
+ # material][7] and that key material's state should be
9161
+ # `PENDING_ROTATION`. Use the `ListKeyRotations` operation to check the
9162
+ # state of all key materials associated with a KMS key. To perform
8948
9163
  # on-demand rotation of a set of related [multi-Region keys][8], invoke
8949
9164
  # the on-demand rotation on the primary key.
8950
9165
  #
@@ -8971,6 +9186,8 @@ module Aws::KMS
8971
9186
  #
8972
9187
  # * GetKeyRotationStatus
8973
9188
  #
9189
+ # * ImportKeyMaterial
9190
+ #
8974
9191
  # * ListKeyRotations
8975
9192
  #
8976
9193
  # **Eventual consistency**: The KMS API follows an eventual consistency
@@ -8978,27 +9195,27 @@ module Aws::KMS
8978
9195
  #
8979
9196
  #
8980
9197
  #
8981
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-on-demand
8982
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-enable-disable
8983
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks
8984
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
8985
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
8986
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
8987
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
8988
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
8989
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
8990
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
9198
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-on-demand.html
9199
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
9200
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
9201
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
9202
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
9203
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
9204
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html
9205
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
9206
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
9207
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-key
8991
9208
  # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8992
9209
  # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
8993
- # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9210
+ # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8994
9211
  #
8995
9212
  # @option params [required, String] :key_id
8996
9213
  # Identifies a symmetric encryption KMS key. You cannot perform
8997
9214
  # on-demand rotation of [asymmetric KMS keys][1], [HMAC KMS keys][2],
8998
- # KMS keys with [imported key material][3], or KMS keys in a [custom key
8999
- # store][4]. To perform on-demand rotation of a set of related
9000
- # [multi-Region keys][5], invoke the on-demand rotation on the primary
9001
- # key.
9215
+ # multi-Region KMS keys with [imported key material][3], or KMS keys in
9216
+ # a [custom key store][4]. To perform on-demand rotation of a set of
9217
+ # related [multi-Region keys][5], invoke the on-demand rotation on the
9218
+ # primary key.
9002
9219
  #
9003
9220
  # Specify the key ID or key ARN of the KMS key.
9004
9221
  #
@@ -9017,8 +9234,8 @@ module Aws::KMS
9017
9234
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
9018
9235
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
9019
9236
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
9020
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
9021
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
9237
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
9238
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
9022
9239
  #
9023
9240
  # @return [Types::RotateKeyOnDemandResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9024
9241
  #
@@ -9072,9 +9289,8 @@ module Aws::KMS
9072
9289
  # operation. When a KMS key is deleted, all data that was encrypted
9073
9290
  # under the KMS key is unrecoverable. (The only exception is a
9074
9291
  # [multi-Region replica key][1], or an [asymmetric or HMAC KMS key with
9075
- # imported key
9076
- # material](kms/latest/developerguide/importing-keys-managing.html#import-delete-key).)
9077
- # To prevent the use of a KMS key without deleting it, use DisableKey.
9292
+ # imported key material][2].) To prevent the use of a KMS key without
9293
+ # deleting it, use DisableKey.
9078
9294
  #
9079
9295
  # You can schedule the deletion of a multi-Region primary key and its
9080
9296
  # replica keys at any time. However, KMS will not delete a multi-Region
@@ -9085,13 +9301,13 @@ module Aws::KMS
9085
9301
  # the last of its replicas keys is deleted (not just scheduled), the key
9086
9302
  # state of the primary key changes to `PendingDeletion` and its waiting
9087
9303
  # period (`PendingWindowInDays`) begins. For details, see [Deleting
9088
- # multi-Region keys][1] in the *Key Management Service Developer Guide*.
9304
+ # multi-Region keys][3] in the *Key Management Service Developer Guide*.
9089
9305
  #
9090
- # When KMS [deletes a KMS key from an CloudHSM key store][2], it makes a
9306
+ # When KMS [deletes a KMS key from an CloudHSM key store][4], it makes a
9091
9307
  # best effort to delete the associated key material from the associated
9092
9308
  # CloudHSM cluster. However, you might need to manually [delete the
9093
- # orphaned key material][3] from the cluster and its backups. [Deleting
9094
- # a KMS key from an external key store][4] has no effect on the
9309
+ # orphaned key material][5] from the cluster and its backups. [Deleting
9310
+ # a KMS key from an external key store][6] has no effect on the
9095
9311
  # associated external key. However, for both types of custom key stores,
9096
9312
  # deleting a KMS key is destructive and irreversible. You cannot decrypt
9097
9313
  # ciphertext encrypted under the KMS key by using only its associated
@@ -9100,11 +9316,11 @@ module Aws::KMS
9100
9316
  # material.
9101
9317
  #
9102
9318
  # For more information about scheduling a KMS key for deletion, see
9103
- # [Deleting KMS keys][5] in the *Key Management Service Developer
9319
+ # [Deleting KMS keys][7] in the *Key Management Service Developer
9104
9320
  # Guide*.
9105
9321
  #
9106
9322
  # The KMS key that you use for this operation must be in a compatible
9107
- # key state. For details, see [Key states of KMS keys][6] in the *Key
9323
+ # key state. For details, see [Key states of KMS keys][8] in the *Key
9108
9324
  # Management Service Developer Guide*.
9109
9325
  #
9110
9326
  # **Cross-account use**: No. You cannot perform this operation on a KMS
@@ -9119,17 +9335,19 @@ module Aws::KMS
9119
9335
  # * DisableKey
9120
9336
  #
9121
9337
  # **Eventual consistency**: The KMS API follows an eventual consistency
9122
- # model. For more information, see [KMS eventual consistency][7].
9338
+ # model. For more information, see [KMS eventual consistency][9].
9123
9339
  #
9124
9340
  #
9125
9341
  #
9126
9342
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-delete.html
9127
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/delete-cmk-keystore.html
9128
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
9129
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/delete-xks-key.html
9130
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
9131
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9132
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9343
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#import-delete-key
9344
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#deleting-mrks
9345
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#delete-cmk-keystore
9346
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
9347
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#delete-xks-key
9348
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
9349
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9350
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9133
9351
  #
9134
9352
  # @option params [required, String] :key_id
9135
9353
  # The unique identifier of the KMS key to delete.
@@ -9218,11 +9436,11 @@ module Aws::KMS
9218
9436
  # Developer Guide*.
9219
9437
  #
9220
9438
  # Digital signatures are generated and verified by using asymmetric key
9221
- # pair, such as an RSA or ECC pair that is represented by an asymmetric
9222
- # KMS key. The key owner (or an authorized user) uses their private key
9223
- # to sign a message. Anyone with the public key can verify that the
9224
- # message was signed with that particular private key and that the
9225
- # message hasn't changed since it was signed.
9439
+ # pair, such as an RSA, ECC, or ML-DSA pair that is represented by an
9440
+ # asymmetric KMS key. The key owner (or an authorized user) uses their
9441
+ # private key to sign a message. Anyone with the public key can verify
9442
+ # that the message was signed with that particular private key and that
9443
+ # the message hasn't changed since it was signed.
9226
9444
  #
9227
9445
  # To use the `Sign` operation, provide the following information:
9228
9446
  #
@@ -9235,8 +9453,8 @@ module Aws::KMS
9235
9453
  # to sign. You can submit messages of up to 4096 bytes. To sign a
9236
9454
  # larger message, generate a hash digest of the message, and then
9237
9455
  # provide the hash digest in the `Message` parameter. To indicate
9238
- # whether the message is a full message or a digest, use the
9239
- # `MessageType` parameter.
9456
+ # whether the message is a full message, a digest, or an ML-DSA
9457
+ # EXTERNAL\_MU, use the `MessageType` parameter.
9240
9458
  #
9241
9459
  # * Choose a signing algorithm that is compatible with the KMS key.
9242
9460
  #
@@ -9278,7 +9496,7 @@ module Aws::KMS
9278
9496
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
9279
9497
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9280
9498
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9281
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9499
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9282
9500
  #
9283
9501
  # @option params [required, String] :key_id
9284
9502
  # Identifies an asymmetric KMS key. KMS uses the private key in the
@@ -9316,26 +9534,34 @@ module Aws::KMS
9316
9534
  # @option params [String] :message_type
9317
9535
  # Tells KMS whether the value of the `Message` parameter should be
9318
9536
  # hashed as part of the signing algorithm. Use `RAW` for unhashed
9319
- # messages; use `DIGEST` for message digests, which are already hashed.
9537
+ # messages; use `DIGEST` for message digests, which are already hashed;
9538
+ # use `EXTERNAL_MU` for 64-byte representative μ used in ML-DSA signing
9539
+ # as defined in NIST FIPS 204 Section 6.2.
9320
9540
  #
9321
9541
  # When the value of `MessageType` is `RAW`, KMS uses the standard
9322
9542
  # signing algorithm, which begins with a hash function. When the value
9323
- # is `DIGEST`, KMS skips the hashing step in the signing algorithm.
9543
+ # is `DIGEST`, KMS skips the hashing step in the signing algorithm. When
9544
+ # the value is `EXTERNAL_MU` KMS skips the concatenated hashing of the
9545
+ # public key hash and the message done in the ML-DSA signing algorithm.
9324
9546
  #
9325
- # Use the `DIGEST` value only when the value of the `Message` parameter
9326
- # is a message digest. If you use the `DIGEST` value with an unhashed
9327
- # message, the security of the signing operation can be compromised.
9547
+ # Use the `DIGEST` or `EXTERNAL_MU` value only when the value of the
9548
+ # `Message` parameter is a message digest. If you use the `DIGEST` value
9549
+ # with an unhashed message, the security of the signing operation can be
9550
+ # compromised.
9328
9551
  #
9329
- # When the value of `MessageType`is `DIGEST`, the length of the
9552
+ # When the value of `MessageType` is `DIGEST`, the length of the
9330
9553
  # `Message` value must match the length of hashed messages for the
9331
9554
  # specified signing algorithm.
9332
9555
  #
9556
+ # When the value of `MessageType` is `EXTERNAL_MU` the length of the
9557
+ # `Message` value must be 64 bytes.
9558
+ #
9333
9559
  # You can submit a message digest and omit the `MessageType` or specify
9334
9560
  # `RAW` so the digest is hashed again while signing. However, this can
9335
9561
  # cause verification failures when verifying with a system that assumes
9336
9562
  # a single hash.
9337
9563
  #
9338
- # The hashing algorithm in that `Sign` uses is based on the
9564
+ # The hashing algorithm that `Sign` uses is based on the
9339
9565
  # `SigningAlgorithm` value.
9340
9566
  #
9341
9567
  # * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
@@ -9347,12 +9573,15 @@ module Aws::KMS
9347
9573
  # * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
9348
9574
  # algorithm.
9349
9575
  #
9576
+ # * Signing algorithms that end in SHAKE\_256 use the SHAKE\_256 hashing
9577
+ # algorithm.
9578
+ #
9350
9579
  # * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
9351
9580
  # verification with SM2 key pairs][1].
9352
9581
  #
9353
9582
  #
9354
9583
  #
9355
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
9584
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
9356
9585
  #
9357
9586
  # @option params [Array<String>] :grant_tokens
9358
9587
  # A list of grant tokens.
@@ -9365,7 +9594,7 @@ module Aws::KMS
9365
9594
  #
9366
9595
  #
9367
9596
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
9368
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
9597
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
9369
9598
  #
9370
9599
  # @option params [required, String] :signing_algorithm
9371
9600
  # Specifies the signing algorithm to use when signing the message.
@@ -9379,12 +9608,12 @@ module Aws::KMS
9379
9608
  # Checks if your request will succeed. `DryRun` is an optional
9380
9609
  # parameter.
9381
9610
  #
9382
- # To learn more about how to use this parameter, see [Testing your KMS
9383
- # API calls][1] in the *Key Management Service Developer Guide*.
9611
+ # To learn more about how to use this parameter, see [Testing your
9612
+ # permissions][1] in the *Key Management Service Developer Guide*.
9384
9613
  #
9385
9614
  #
9386
9615
  #
9387
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
9616
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
9388
9617
  #
9389
9618
  # @return [Types::SignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9390
9619
  #
@@ -9437,9 +9666,9 @@ module Aws::KMS
9437
9666
  # resp = client.sign({
9438
9667
  # key_id: "KeyIdType", # required
9439
9668
  # message: "data", # required
9440
- # message_type: "RAW", # accepts RAW, DIGEST
9669
+ # message_type: "RAW", # accepts RAW, DIGEST, EXTERNAL_MU
9441
9670
  # grant_tokens: ["GrantTokenType"],
9442
- # signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, SM2DSA
9671
+ # signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, SM2DSA, ML_DSA_SHAKE_256
9443
9672
  # dry_run: false,
9444
9673
  # })
9445
9674
  #
@@ -9447,7 +9676,7 @@ module Aws::KMS
9447
9676
  #
9448
9677
  # resp.key_id #=> String
9449
9678
  # resp.signature #=> String
9450
- # resp.signing_algorithm #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
9679
+ # resp.signing_algorithm #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256"
9451
9680
  #
9452
9681
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Sign AWS API Documentation
9453
9682
  #
@@ -9507,17 +9736,17 @@ module Aws::KMS
9507
9736
  #
9508
9737
  #
9509
9738
  #
9510
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
9739
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key
9511
9740
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
9512
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
9513
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
9514
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#keystore-concept
9515
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#alias-concept
9741
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
9742
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-key
9743
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
9744
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
9516
9745
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
9517
9746
  # [8]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
9518
9747
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9519
9748
  # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9520
- # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9749
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9521
9750
  #
9522
9751
  # @option params [required, String] :key_id
9523
9752
  # Identifies a customer managed key in the account and Region.
@@ -9627,13 +9856,13 @@ module Aws::KMS
9627
9856
  #
9628
9857
  #
9629
9858
  #
9630
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
9859
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key
9631
9860
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
9632
9861
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
9633
9862
  # [4]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
9634
9863
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9635
9864
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9636
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9865
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9637
9866
  #
9638
9867
  # @option params [required, String] :key_id
9639
9868
  # Identifies the KMS key from which you are removing tags.
@@ -9746,7 +9975,7 @@ module Aws::KMS
9746
9975
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9747
9976
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9748
9977
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
9749
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9978
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9750
9979
  #
9751
9980
  # @option params [required, String] :alias_name
9752
9981
  # Identifies the alias that is changing its KMS key. This value must
@@ -9785,8 +10014,8 @@ module Aws::KMS
9785
10014
  #
9786
10015
  #
9787
10016
  #
9788
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
9789
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
10017
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key
10018
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
9790
10019
  #
9791
10020
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9792
10021
  #
@@ -9826,9 +10055,9 @@ module Aws::KMS
9826
10055
  # verify the updated property values, use the DescribeCustomKeyStores
9827
10056
  # operation.
9828
10057
  #
9829
- # This operation is part of the [custom key stores][1] feature in KMS,
9830
- # which combines the convenience and extensive integration of KMS with
9831
- # the isolation and control of a key store that you own and manage.
10058
+ # This operation is part of the custom key stores feature in KMS, which
10059
+ # combines the convenience and extensive integration of KMS with the
10060
+ # isolation and control of a key store that you own and manage.
9832
10061
  #
9833
10062
  # When updating the properties of an external key store, verify that the
9834
10063
  # updated settings connect your key store, via the external key store
@@ -9898,7 +10127,7 @@ module Aws::KMS
9898
10127
  # **Cross-account use**: No. You cannot perform this operation on a
9899
10128
  # custom key store in a different Amazon Web Services account.
9900
10129
  #
9901
- # **Required permissions**: [kms:UpdateCustomKeyStore][2] (IAM policy)
10130
+ # **Required permissions**: [kms:UpdateCustomKeyStore][1] (IAM policy)
9902
10131
  #
9903
10132
  # **Related operations:**
9904
10133
  #
@@ -9913,13 +10142,12 @@ module Aws::KMS
9913
10142
  # * DisconnectCustomKeyStore
9914
10143
  #
9915
10144
  # **Eventual consistency**: The KMS API follows an eventual consistency
9916
- # model. For more information, see [KMS eventual consistency][3].
10145
+ # model. For more information, see [KMS eventual consistency][2].
9917
10146
  #
9918
10147
  #
9919
10148
  #
9920
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
9921
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9922
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
10149
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
10150
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9923
10151
  #
9924
10152
  # @option params [required, String] :custom_key_store_id
9925
10153
  # Identifies the custom key store that you want to update. Enter the ID
@@ -10197,7 +10425,7 @@ module Aws::KMS
10197
10425
  #
10198
10426
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
10199
10427
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
10200
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
10428
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
10201
10429
  #
10202
10430
  # @option params [required, String] :key_id
10203
10431
  # Updates the description of the specified KMS key.
@@ -10257,8 +10485,8 @@ module Aws::KMS
10257
10485
  # key in `eu-west-2`. If you run `UpdatePrimaryRegion` with a
10258
10486
  # `PrimaryRegion` value of `eu-west-2`, the primary key is now the key
10259
10487
  # in `eu-west-2`, and the key in `us-east-1` becomes a replica key. For
10260
- # details, see [Updating the primary Region][1] in the *Key Management
10261
- # Service Developer Guide*.
10488
+ # details, see [Change the primary key in a set of multi-Region keys][1]
10489
+ # in the *Key Management Service Developer Guide*.
10262
10490
  #
10263
10491
  # This operation supports *multi-Region keys*, an KMS feature that lets
10264
10492
  # you create multiple interoperable KMS keys in different Amazon Web
@@ -10326,7 +10554,7 @@ module Aws::KMS
10326
10554
  #
10327
10555
  #
10328
10556
  #
10329
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-update
10557
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-update.html
10330
10558
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
10331
10559
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id
10332
10560
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-spec
@@ -10335,7 +10563,7 @@ module Aws::KMS
10335
10563
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
10336
10564
  # [8]: https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html
10337
10565
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
10338
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
10566
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
10339
10567
  #
10340
10568
  # @option params [required, String] :key_id
10341
10569
  # Identifies the current primary key. When the operation completes, this
@@ -10450,10 +10678,10 @@ module Aws::KMS
10450
10678
  #
10451
10679
  #
10452
10680
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
10453
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
10681
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
10454
10682
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
10455
10683
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
10456
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
10684
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
10457
10685
  #
10458
10686
  # @option params [required, String] :key_id
10459
10687
  # Identifies the asymmetric KMS key that will be used to verify the
@@ -10492,27 +10720,34 @@ module Aws::KMS
10492
10720
  # @option params [String] :message_type
10493
10721
  # Tells KMS whether the value of the `Message` parameter should be
10494
10722
  # hashed as part of the signing algorithm. Use `RAW` for unhashed
10495
- # messages; use `DIGEST` for message digests, which are already hashed.
10723
+ # messages; use `DIGEST` for message digests, which are already hashed;
10724
+ # use `EXTERNAL_MU` for 64-byte representative μ used in ML-DSA signing
10725
+ # as defined in NIST FIPS 204 Section 6.2.
10496
10726
  #
10497
10727
  # When the value of `MessageType` is `RAW`, KMS uses the standard
10498
10728
  # signing algorithm, which begins with a hash function. When the value
10499
- # is `DIGEST`, KMS skips the hashing step in the signing algorithm.
10729
+ # is `DIGEST`, KMS skips the hashing step in the signing algorithm. When
10730
+ # the value is `EXTERNAL_MU` KMS skips the concatenated hashing of the
10731
+ # public key hash and the message done in the ML-DSA signing algorithm.
10500
10732
  #
10501
- # Use the `DIGEST` value only when the value of the `Message` parameter
10502
- # is a message digest. If you use the `DIGEST` value with an unhashed
10503
- # message, the security of the verification operation can be
10733
+ # Use the `DIGEST` or `EXTERNAL_MU` value only when the value of the
10734
+ # `Message` parameter is a message digest. If you use the `DIGEST` value
10735
+ # with an unhashed message, the security of the signing operation can be
10504
10736
  # compromised.
10505
10737
  #
10506
- # When the value of `MessageType`is `DIGEST`, the length of the
10738
+ # When the value of `MessageType` is `DIGEST`, the length of the
10507
10739
  # `Message` value must match the length of hashed messages for the
10508
10740
  # specified signing algorithm.
10509
10741
  #
10742
+ # When the value of `MessageType` is `EXTERNAL_MU` the length of the
10743
+ # `Message` value must be 64 bytes.
10744
+ #
10510
10745
  # You can submit a message digest and omit the `MessageType` or specify
10511
10746
  # `RAW` so the digest is hashed again while signing. However, if the
10512
10747
  # signed message is hashed once while signing, but twice while
10513
10748
  # verifying, verification fails, even when the message hasn't changed.
10514
10749
  #
10515
- # The hashing algorithm in that `Verify` uses is based on the
10750
+ # The hashing algorithm that `Verify` uses is based on the
10516
10751
  # `SigningAlgorithm` value.
10517
10752
  #
10518
10753
  # * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
@@ -10524,12 +10759,15 @@ module Aws::KMS
10524
10759
  # * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
10525
10760
  # algorithm.
10526
10761
  #
10762
+ # * Signing algorithms that end in SHAKE\_256 use the SHAKE\_256 hashing
10763
+ # algorithm.
10764
+ #
10527
10765
  # * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
10528
10766
  # verification with SM2 key pairs][1].
10529
10767
  #
10530
10768
  #
10531
10769
  #
10532
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
10770
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
10533
10771
  #
10534
10772
  # @option params [required, String, StringIO, File] :signature
10535
10773
  # The signature that the `Sign` operation generated.
@@ -10549,18 +10787,18 @@ module Aws::KMS
10549
10787
  #
10550
10788
  #
10551
10789
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
10552
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
10790
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
10553
10791
  #
10554
10792
  # @option params [Boolean] :dry_run
10555
10793
  # Checks if your request will succeed. `DryRun` is an optional
10556
10794
  # parameter.
10557
10795
  #
10558
- # To learn more about how to use this parameter, see [Testing your KMS
10559
- # API calls][1] in the *Key Management Service Developer Guide*.
10796
+ # To learn more about how to use this parameter, see [Testing your
10797
+ # permissions][1] in the *Key Management Service Developer Guide*.
10560
10798
  #
10561
10799
  #
10562
10800
  #
10563
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
10801
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
10564
10802
  #
10565
10803
  # @return [Types::VerifyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10566
10804
  #
@@ -10615,9 +10853,9 @@ module Aws::KMS
10615
10853
  # resp = client.verify({
10616
10854
  # key_id: "KeyIdType", # required
10617
10855
  # message: "data", # required
10618
- # message_type: "RAW", # accepts RAW, DIGEST
10856
+ # message_type: "RAW", # accepts RAW, DIGEST, EXTERNAL_MU
10619
10857
  # signature: "data", # required
10620
- # signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, SM2DSA
10858
+ # signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, SM2DSA, ML_DSA_SHAKE_256
10621
10859
  # grant_tokens: ["GrantTokenType"],
10622
10860
  # dry_run: false,
10623
10861
  # })
@@ -10626,7 +10864,7 @@ module Aws::KMS
10626
10864
  #
10627
10865
  # resp.key_id #=> String
10628
10866
  # resp.signature_valid #=> Boolean
10629
- # resp.signing_algorithm #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
10867
+ # resp.signing_algorithm #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256"
10630
10868
  #
10631
10869
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Verify AWS API Documentation
10632
10870
  #
@@ -10674,7 +10912,7 @@ module Aws::KMS
10674
10912
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
10675
10913
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
10676
10914
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
10677
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
10915
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
10678
10916
  #
10679
10917
  # @option params [required, String, StringIO, File] :message
10680
10918
  # The message that will be used in the verification. Enter the same
@@ -10712,18 +10950,18 @@ module Aws::KMS
10712
10950
  #
10713
10951
  #
10714
10952
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
10715
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
10953
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
10716
10954
  #
10717
10955
  # @option params [Boolean] :dry_run
10718
10956
  # Checks if your request will succeed. `DryRun` is an optional
10719
10957
  # parameter.
10720
10958
  #
10721
- # To learn more about how to use this parameter, see [Testing your KMS
10722
- # API calls][1] in the *Key Management Service Developer Guide*.
10959
+ # To learn more about how to use this parameter, see [Testing your
10960
+ # permissions][1] in the *Key Management Service Developer Guide*.
10723
10961
  #
10724
10962
  #
10725
10963
  #
10726
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
10964
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
10727
10965
  #
10728
10966
  # @return [Types::VerifyMacResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10729
10967
  #
@@ -10795,7 +11033,7 @@ module Aws::KMS
10795
11033
  tracer: tracer
10796
11034
  )
10797
11035
  context[:gem_name] = 'aws-sdk-kms'
10798
- context[:gem_version] = '1.101.0'
11036
+ context[:gem_version] = '1.109.0'
10799
11037
  Seahorse::Client::Request.new(handlers, context)
10800
11038
  end
10801
11039