aws-sdk-kms 1.99.0 → 1.105.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.
@@ -200,8 +200,7 @@ module Aws::KMS
200
200
  # accepted modes and the configuration defaults that are included.
201
201
  #
202
202
  # @option options [Boolean] :disable_host_prefix_injection (false)
203
- # Set to true to disable SDK automatically adding host prefix
204
- # to default service endpoint when available.
203
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
205
204
  #
206
205
  # @option options [Boolean] :disable_request_compression (false)
207
206
  # When set to 'true' the request body will not be compressed
@@ -504,7 +503,7 @@ module Aws::KMS
504
503
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
505
504
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
506
505
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
507
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
506
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
508
507
  #
509
508
  # @option params [required, String] :key_id
510
509
  # Identifies the KMS key whose deletion is being canceled.
@@ -576,9 +575,9 @@ module Aws::KMS
576
575
  # custom key store is connected. To get the connection state of the
577
576
  # custom key store, use the DescribeCustomKeyStores operation.
578
577
  #
579
- # This operation is part of the [custom key stores][1] feature in KMS,
580
- # which combines the convenience and extensive integration of KMS with
581
- # the isolation and control of a key store that you own and manage.
578
+ # This operation is part of the custom key stores feature in KMS, which
579
+ # combines the convenience and extensive integration of KMS with the
580
+ # isolation and control of a key store that you own and manage.
582
581
  #
583
582
  # The `ConnectCustomKeyStore` operation might fail for various reasons.
584
583
  # To find the reason, use the DescribeCustomKeyStores operation and see
@@ -652,14 +651,14 @@ module Aws::KMS
652
651
  #
653
652
  #
654
653
  #
655
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
654
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
656
655
  # [2]: https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html
657
656
  # [3]: https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_CreateHsm.html
658
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-concepts.html#concept-kmsuser
657
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html#concept-kmsuser
659
658
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
660
659
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
661
660
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
662
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
661
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
663
662
  #
664
663
  # @option params [required, String] :custom_key_store_id
665
664
  # Enter the key store ID of the custom key store that you want to
@@ -721,7 +720,7 @@ module Aws::KMS
721
720
  #
722
721
  # The alias must be unique in the account and Region, but you can have
723
722
  # aliases with the same name in different Regions. For detailed
724
- # information about aliases, see [Using aliases][3] in the *Key
723
+ # information about aliases, see [Aliases in KMS][3] in the *Key
725
724
  # Management Service Developer Guide*.
726
725
  #
727
726
  # This operation does not return a response. To get the alias that you
@@ -757,12 +756,12 @@ module Aws::KMS
757
756
  #
758
757
  #
759
758
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
760
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
759
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
761
760
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
762
761
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
763
762
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
764
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
765
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
763
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/alias-access.html
764
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
766
765
  #
767
766
  # @option params [required, String] :alias_name
768
767
  # Specifies the alias name. This value must begin with `alias/` followed
@@ -789,7 +788,7 @@ module Aws::KMS
789
788
  # A valid key ID is required. If you supply a null or empty string
790
789
  # value, this operation returns an error.
791
790
  #
792
- # For help finding the key ID and ARN, see [Finding the Key ID and
791
+ # For help finding the key ID and ARN, see [Find the key ID and key
793
792
  # ARN][2] in the <i> <i>Key Management Service Developer Guide</i> </i>.
794
793
  #
795
794
  # Specify the key ID or key ARN of the KMS key.
@@ -807,7 +806,7 @@ module Aws::KMS
807
806
  #
808
807
  #
809
808
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
810
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html#find-cmk-id-arn
809
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html
811
810
  #
812
811
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
813
812
  #
@@ -845,9 +844,9 @@ module Aws::KMS
845
844
  # stores][4] backed by an external key store proxy and external key
846
845
  # manager outside of Amazon Web Services.
847
846
  #
848
- # This operation is part of the [custom key stores][1] feature in KMS,
849
- # which combines the convenience and extensive integration of KMS with
850
- # the isolation and control of a key store that you own and manage.
847
+ # This operation is part of the custom key stores feature in KMS, which
848
+ # combines the convenience and extensive integration of KMS with the
849
+ # isolation and control of a key store that you own and manage.
851
850
  #
852
851
  # Before you create the custom key store, the required elements must be
853
852
  # in place and operational. We recommend that you use the test tools
@@ -900,9 +899,6 @@ module Aws::KMS
900
899
  # immediately, you might want to connect it to verify that all settings
901
900
  # are correct and then disconnect it until you are ready to use it.
902
901
  #
903
- # For help with failures, see [Troubleshooting a custom key store][7] in
904
- # the *Key Management Service Developer Guide*.
905
- #
906
902
  # **Cross-account use**: No. You cannot perform this operation on a
907
903
  # custom key store in a different Amazon Web Services account.
908
904
  #
@@ -925,7 +921,7 @@ module Aws::KMS
925
921
  #
926
922
  #
927
923
  #
928
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
924
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
929
925
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
930
926
  # [3]: https://docs.aws.amazon.com/cloudhsm/latest/userguide/clusters.html
931
927
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
@@ -934,7 +930,7 @@ module Aws::KMS
934
930
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
935
931
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
936
932
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
937
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
933
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
938
934
  #
939
935
  # @option params [required, String] :custom_key_store_name
940
936
  # Specifies a friendly name for the custom key store. The name must be
@@ -988,7 +984,7 @@ module Aws::KMS
988
984
  #
989
985
  #
990
986
  #
991
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-concepts.html#concept-kmsuser
987
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html#concept-kmsuser
992
988
  #
993
989
  # @option params [String] :custom_key_store_type
994
990
  # Specifies the type of custom key store. The default value is
@@ -1089,7 +1085,7 @@ module Aws::KMS
1089
1085
  # `RawSecretAccessKey`, a secret key, and `AccessKeyId`, a unique
1090
1086
  # identifier for the `RawSecretAccessKey`. For character requirements,
1091
1087
  # see
1092
- # [XksProxyAuthenticationCredentialType](kms/latest/APIReference/API_XksProxyAuthenticationCredentialType.html).
1088
+ # [XksProxyAuthenticationCredentialType](API_XksProxyAuthenticationCredentialType.html).
1093
1089
  #
1094
1090
  # KMS uses this authentication credential to sign requests to the
1095
1091
  # external key store proxy on your behalf. This credential is unrelated
@@ -1129,7 +1125,7 @@ module Aws::KMS
1129
1125
  #
1130
1126
  #
1131
1127
  #
1132
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/plan-xks-keystore.html#choose-xks-connectivity
1128
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/choose-xks-connectivity.html
1133
1129
  #
1134
1130
  # @return [Types::CreateCustomKeyStoreResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1135
1131
  #
@@ -1238,8 +1234,9 @@ module Aws::KMS
1238
1234
  #
1239
1235
  # For detailed information about grants, including grant terminology,
1240
1236
  # see [Grants in KMS][1] in the <i> <i>Key Management Service Developer
1241
- # Guide</i> </i>. For examples of working with grants in several
1242
- # programming languages, see [Programming grants][2].
1237
+ # Guide</i> </i>. For examples of creating grants in several programming
1238
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
1239
+ # CLI][2].
1243
1240
  #
1244
1241
  # The `CreateGrant` operation returns a `GrantToken` and a `GrantId`.
1245
1242
  #
@@ -1285,11 +1282,11 @@ module Aws::KMS
1285
1282
  #
1286
1283
  #
1287
1284
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
1288
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
1289
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
1285
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
1286
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
1290
1287
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1291
1288
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
1292
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
1289
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
1293
1290
  #
1294
1291
  # @option params [required, String] :key_id
1295
1292
  # Identifies the KMS key for the grant. The grant gives principals
@@ -1342,7 +1339,7 @@ module Aws::KMS
1342
1339
  #
1343
1340
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1344
1341
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns
1345
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete
1342
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
1346
1343
  #
1347
1344
  # @option params [required, Array<String>] :operations
1348
1345
  # A list of operations that the grant permits.
@@ -1411,7 +1408,7 @@ module Aws::KMS
1411
1408
  #
1412
1409
  #
1413
1410
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
1414
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
1411
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
1415
1412
  #
1416
1413
  # @option params [String] :name
1417
1414
  # A friendly name for the grant. Use this value to prevent the
@@ -1437,12 +1434,12 @@ module Aws::KMS
1437
1434
  # Checks if your request will succeed. `DryRun` is an optional
1438
1435
  # parameter.
1439
1436
  #
1440
- # To learn more about how to use this parameter, see [Testing your KMS
1441
- # API calls][1] in the *Key Management Service Developer Guide*.
1437
+ # To learn more about how to use this parameter, see [Testing your
1438
+ # permissions][1] in the *Key Management Service Developer Guide*.
1442
1439
  #
1443
1440
  #
1444
1441
  #
1445
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
1442
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
1446
1443
  #
1447
1444
  # @return [Types::CreateGrantResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1448
1445
  #
@@ -1512,8 +1509,7 @@ module Aws::KMS
1512
1509
  # A KMS key is a logical representation of a cryptographic key. In
1513
1510
  # addition to the key material used in cryptographic operations, a KMS
1514
1511
  # key includes metadata, such as the key ID, key policy, creation date,
1515
- # description, and key state. For details, see [Managing keys][2] in the
1516
- # *Key Management Service Developer Guide*
1512
+ # description, and key state.
1517
1513
  #
1518
1514
  # Use the parameters of `CreateKey` to specify the type of KMS key, the
1519
1515
  # source of its key material, its key policy, description, tags, and
@@ -1559,20 +1555,21 @@ module Aws::KMS
1559
1555
  # properties after the KMS key is created.
1560
1556
  #
1561
1557
  # Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC)
1562
- # key pair, or an SM2 key pair (China Regions only). The private key
1563
- # in an asymmetric KMS key never leaves KMS unencrypted. However, you
1564
- # can use the GetPublicKey operation to download the public key so it
1565
- # can be used outside of KMS. Each KMS key can have only one key
1566
- # usage. KMS keys with RSA key pairs can be used to encrypt and
1567
- # decrypt data or sign and verify messages (but not both). KMS keys
1568
- # with NIST-recommended ECC key pairs can be used to sign and verify
1569
- # messages or derive shared secrets (but not both). KMS keys with
1570
- # `ECC_SECG_P256K1` can be used only to sign and verify messages. KMS
1571
- # keys with SM2 key pairs (China Regions only) can be used to either
1572
- # encrypt and decrypt data, sign and verify messages, or derive shared
1573
- # secrets (you must choose one key usage type). For information about
1574
- # asymmetric KMS keys, see [Asymmetric KMS keys][3] in the *Key
1575
- # Management Service Developer Guide*.
1558
+ # key pair, ML-DSA key pair or an SM2 key pair (China Regions only).
1559
+ # The private key in an asymmetric KMS key never leaves KMS
1560
+ # unencrypted. However, you can use the GetPublicKey operation to
1561
+ # download the public key so it can be used outside of KMS. Each KMS
1562
+ # key can have only one key usage. KMS keys with RSA key pairs can be
1563
+ # used to encrypt and decrypt data or sign and verify messages (but
1564
+ # not both). KMS keys with NIST-recommended ECC key pairs can be used
1565
+ # to sign and verify messages or derive shared secrets (but not both).
1566
+ # KMS keys with `ECC_SECG_P256K1` can be used only to sign and verify
1567
+ # messages. KMS keys with ML-DSA key pairs can be used to sign and
1568
+ # verify messages. KMS keys with SM2 key pairs (China Regions only)
1569
+ # can be used to either encrypt and decrypt data, sign and verify
1570
+ # messages, or derive shared secrets (you must choose one key usage
1571
+ # type). For information about asymmetric KMS keys, see [Asymmetric
1572
+ # KMS keys][2] in the *Key Management Service Developer Guide*.
1576
1573
  #
1577
1574
  #
1578
1575
  #
@@ -1615,7 +1612,7 @@ module Aws::KMS
1615
1612
  # to encrypt data in one Amazon Web Services Region and decrypt it in
1616
1613
  # a different Amazon Web Services Region without re-encrypting the
1617
1614
  # data or making a cross-Region call. For more information about
1618
- # multi-Region keys, see [Multi-Region keys in KMS][4] in the *Key
1615
+ # multi-Region keys, see [Multi-Region keys in KMS][3] in the *Key
1619
1616
  # Management Service Developer Guide*.
1620
1617
  #
1621
1618
  #
@@ -1627,7 +1624,7 @@ module Aws::KMS
1627
1624
  # token. Use the wrapping public key to encrypt your key material.
1628
1625
  # Then, use ImportKeyMaterial with your import token to import the key
1629
1626
  # material. For step-by-step instructions, see [Importing Key
1630
- # Material][5] in the <i> <i>Key Management Service Developer
1627
+ # Material][4] in the <i> <i>Key Management Service Developer
1631
1628
  # Guide</i> </i>.
1632
1629
  #
1633
1630
  # You can import key material into KMS keys of all supported KMS key
@@ -1640,23 +1637,22 @@ module Aws::KMS
1640
1637
  # the `Origin` parameter of `CreateKey` with a value of `EXTERNAL` and
1641
1638
  # the `MultiRegion` parameter with a value of `True`. To create
1642
1639
  # replicas of the multi-Region primary key, use the ReplicateKey
1643
- # operation. For instructions, see [Importing key material into
1644
- # multi-Region keys][6]. For more information about multi-Region keys,
1645
- # see [Multi-Region keys in KMS][4] in the *Key Management Service
1646
- # Developer Guide*.
1640
+ # operation. For instructions, see [Importing key material step 1][5].
1641
+ # For more information about multi-Region keys, see [Multi-Region keys
1642
+ # in KMS][3] in the *Key Management Service Developer Guide*.
1647
1643
  #
1648
1644
  #
1649
1645
  #
1650
1646
  # Custom key store
1651
1647
  #
1652
- # : A [custom key store][7] lets you protect your Amazon Web Services
1648
+ # : A [custom key store][6] lets you protect your Amazon Web Services
1653
1649
  # resources using keys in a backing key store that you own and manage.
1654
1650
  # When you request a cryptographic operation with a KMS key in a
1655
1651
  # custom key store, the operation is performed in the backing key
1656
1652
  # store using its cryptographic keys.
1657
1653
  #
1658
- # KMS supports [CloudHSM key stores][8] backed by an CloudHSM cluster
1659
- # and [external key stores][9] backed by an external key manager
1654
+ # KMS supports [CloudHSM key stores][7] backed by an CloudHSM cluster
1655
+ # and [external key stores][8] backed by an external key manager
1660
1656
  # outside of Amazon Web Services. When you create a KMS key in an
1661
1657
  # CloudHSM key store, KMS generates an encryption key in the CloudHSM
1662
1658
  # cluster and associates it with the KMS key. When you create a KMS
@@ -1681,13 +1677,13 @@ module Aws::KMS
1681
1677
  # `ENCRYPT_DECRYPT` to create a symmetric encryption key. No other key
1682
1678
  # type is supported in a custom key store.
1683
1679
  #
1684
- # To create a KMS key in an [CloudHSM key store][8], use the `Origin`
1680
+ # To create a KMS key in an [CloudHSM key store][9], use the `Origin`
1685
1681
  # parameter with a value of `AWS_CLOUDHSM`. The CloudHSM cluster that
1686
1682
  # is associated with the custom key store must have at least two
1687
1683
  # active HSMs in different Availability Zones in the Amazon Web
1688
1684
  # Services Region.
1689
1685
  #
1690
- # To create a KMS key in an [external key store][9], use the `Origin`
1686
+ # To create a KMS key in an [external key store][10], use the `Origin`
1691
1687
  # parameter with a value of `EXTERNAL_KEY_STORE` and an `XksKeyId`
1692
1688
  # parameter that identifies an existing external key.
1693
1689
  #
@@ -1700,10 +1696,10 @@ module Aws::KMS
1700
1696
  # **Cross-account use**: No. You cannot use this operation to create a
1701
1697
  # KMS key in a different Amazon Web Services account.
1702
1698
  #
1703
- # **Required permissions**: [kms:CreateKey][10] (IAM policy). To use the
1704
- # `Tags` parameter, [kms:TagResource][10] (IAM policy). For examples and
1699
+ # **Required permissions**: [kms:CreateKey][11] (IAM policy). To use the
1700
+ # `Tags` parameter, [kms:TagResource][11] (IAM policy). For examples and
1705
1701
  # information about related permissions, see [Allow a user to create KMS
1706
- # keys][11] in the *Key Management Service Developer Guide*.
1702
+ # keys][12] in the *Key Management Service Developer Guide*.
1707
1703
  #
1708
1704
  # **Related operations:**
1709
1705
  #
@@ -1714,22 +1710,23 @@ module Aws::KMS
1714
1710
  # * ScheduleKeyDeletion
1715
1711
  #
1716
1712
  # **Eventual consistency**: The KMS API follows an eventual consistency
1717
- # model. For more information, see [KMS eventual consistency][12].
1713
+ # model. For more information, see [KMS eventual consistency][13].
1718
1714
  #
1719
1715
  #
1720
1716
  #
1721
1717
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms-keys
1722
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html
1723
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
1724
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
1725
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
1726
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-import.html
1727
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1728
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
1729
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
1730
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
1731
- # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policy-example-create-key
1732
- # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
1718
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
1719
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
1720
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
1721
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-create-cmk.html
1722
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
1723
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
1724
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
1725
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/create-cmk-keystore.html
1726
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/create-xks-keys.html
1727
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
1728
+ # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/customer-managed-policies.html#iam-policy-example-create-key
1729
+ # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
1733
1730
  #
1734
1731
  # @option params [String] :policy
1735
1732
  # The key policy to attach to the KMS key.
@@ -1751,22 +1748,38 @@ module Aws::KMS
1751
1748
  # not always immediately visible][2] in the *Amazon Web Services
1752
1749
  # Identity and Access Management User Guide*.
1753
1750
  #
1751
+ # <note markdown="1"> If either of the required `Resource` or `Action` elements are missing
1752
+ # from a key policy statement, the policy statement has no effect. When
1753
+ # a key policy statement is missing one of these elements, the KMS
1754
+ # console correctly reports an error, but the `CreateKey` and
1755
+ # `PutKeyPolicy` API requests succeed, even though the policy statement
1756
+ # is ineffective.
1757
+ #
1758
+ # For more information on required key policy elements, see [Elements in
1759
+ # a key policy][3] in the *Key Management Service Developer Guide*.
1760
+ #
1761
+ # </note>
1762
+ #
1754
1763
  # If you do not provide a key policy, KMS attaches a default key policy
1755
- # to the KMS key. For more information, see [Default key policy][3] in
1764
+ # to the KMS key. For more information, see [Default key policy][4] in
1756
1765
  # the *Key Management Service Developer Guide*.
1757
1766
  #
1758
- # The key policy size quota is 32 kilobytes (32768 bytes).
1767
+ # <note markdown="1"> If the key policy exceeds the length constraint, KMS returns a
1768
+ # `LimitExceededException`.
1769
+ #
1770
+ # </note>
1759
1771
  #
1760
1772
  # For help writing and formatting a JSON policy document, see the [IAM
1761
- # JSON Policy Reference][4] in the <i> <i>Identity and Access Management
1773
+ # JSON Policy Reference][5] in the <i> <i>Identity and Access Management
1762
1774
  # User Guide</i> </i>.
1763
1775
  #
1764
1776
  #
1765
1777
  #
1766
1778
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
1767
1779
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
1768
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
1769
- # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
1780
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html#key-policy-elements
1781
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html
1782
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
1770
1783
  #
1771
1784
  # @option params [String] :description
1772
1785
  # A description of the KMS key. Use a description that helps you decide
@@ -1800,7 +1813,10 @@ module Aws::KMS
1800
1813
  # * For asymmetric KMS keys with NIST-recommended elliptic curve key
1801
1814
  # pairs, specify `SIGN_VERIFY` or `KEY_AGREEMENT`.
1802
1815
  #
1803
- # * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs specify
1816
+ # * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs, specify
1817
+ # `SIGN_VERIFY`.
1818
+ #
1819
+ # * For asymmetric KMS keys with ML-DSA key pairs, specify
1804
1820
  # `SIGN_VERIFY`.
1805
1821
  #
1806
1822
  # * For asymmetric KMS keys with SM2 key pairs (China Regions only),
@@ -1808,7 +1824,7 @@ module Aws::KMS
1808
1824
  #
1809
1825
  #
1810
1826
  #
1811
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1827
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
1812
1828
  #
1813
1829
  # @option params [String] :customer_master_key_spec
1814
1830
  # Instead, use the `KeySpec` parameter.
@@ -1822,20 +1838,21 @@ module Aws::KMS
1822
1838
  # Specifies the type of KMS key to create. The default value,
1823
1839
  # `SYMMETRIC_DEFAULT`, creates a KMS key with a 256-bit AES-GCM key that
1824
1840
  # is used for encryption and decryption, except in China Regions, where
1825
- # it creates a 128-bit symmetric key that uses SM4 encryption. For help
1826
- # choosing a key spec for your KMS key, see [Choosing a KMS key type][1]
1827
- # in the <i> <i>Key Management Service Developer Guide</i> </i>.
1841
+ # it creates a 128-bit symmetric key that uses SM4 encryption. For a
1842
+ # detailed description of all supported key specs, see [Key spec
1843
+ # reference][1] in the <i> <i>Key Management Service Developer Guide</i>
1844
+ # </i>.
1828
1845
  #
1829
1846
  # The `KeySpec` determines whether the KMS key contains a symmetric key
1830
1847
  # or an asymmetric key pair. It also determines the algorithms that the
1831
1848
  # KMS key supports. You can't change the `KeySpec` after the KMS key is
1832
1849
  # created. To further restrict the algorithms that can be used with the
1833
1850
  # KMS key, use a condition key in its key policy or IAM policy. For more
1834
- # information, see [kms:EncryptionAlgorithm][2], [kms:MacAlgorithm][3]
1835
- # or [kms:Signing Algorithm][4] in the <i> <i>Key Management Service
1836
- # Developer Guide</i> </i>.
1851
+ # information, see [kms:EncryptionAlgorithm][2], [kms:MacAlgorithm][3],
1852
+ # [kms:KeyAgreementAlgorithm][4], or [kms:SigningAlgorithm][5] in the
1853
+ # <i> <i>Key Management Service Developer Guide</i> </i>.
1837
1854
  #
1838
- # [Amazon Web Services services that are integrated with KMS][5] use
1855
+ # [Amazon Web Services services that are integrated with KMS][6] use
1839
1856
  # symmetric encryption KMS keys to protect your data. These services do
1840
1857
  # not support asymmetric KMS keys or HMAC KMS keys.
1841
1858
  #
@@ -1876,6 +1893,13 @@ module Aws::KMS
1876
1893
  # * `ECC_SECG_P256K1` (secp256k1), commonly used for cryptocurrencies.
1877
1894
  #
1878
1895
  # ^
1896
+ # * Asymmetric ML-DSA key pairs (signing and verification)
1897
+ #
1898
+ # * `ML_DSA_44`
1899
+ #
1900
+ # * `ML_DSA_65`
1901
+ #
1902
+ # * `ML_DSA_87`
1879
1903
  # * SM2 key pairs (encryption and decryption -or- signing and
1880
1904
  # verification -or- deriving shared secrets)
1881
1905
  #
@@ -1885,11 +1909,12 @@ module Aws::KMS
1885
1909
  #
1886
1910
  #
1887
1911
  #
1888
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html#symm-asymm-choose
1889
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-algorithm
1890
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-mac-algorithm
1891
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-signing-algorithm
1892
- # [5]: http://aws.amazon.com/kms/features/#AWS_Service_Integration
1912
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html
1913
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-encryption-algorithm
1914
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-mac-algorithm
1915
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-key-agreement-algorithm
1916
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-signing-algorithm
1917
+ # [6]: http://aws.amazon.com/kms/features/#AWS_Service_Integration
1893
1918
  #
1894
1919
  # @option params [String] :origin
1895
1920
  # The source of the key material for the KMS key. You cannot change the
@@ -1939,7 +1964,7 @@ module Aws::KMS
1939
1964
  #
1940
1965
  #
1941
1966
  #
1942
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1967
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
1943
1968
  #
1944
1969
  # @option params [Boolean] :bypass_policy_lockout_safety_check
1945
1970
  # Skips ("bypasses") the key policy lockout safety check. The default
@@ -1987,7 +2012,7 @@ module Aws::KMS
1987
2012
  # When you add tags to an Amazon Web Services resource, Amazon Web
1988
2013
  # Services generates a cost allocation report with usage and costs
1989
2014
  # aggregated by tags. Tags can also be used to control access to a KMS
1990
- # key. For details, see [Tagging Keys][3].
2015
+ # key. For details, see [Tags in KMS][3].
1991
2016
  #
1992
2017
  #
1993
2018
  #
@@ -2058,7 +2083,7 @@ module Aws::KMS
2058
2083
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-external-key
2059
2084
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
2060
2085
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-xks-proxy
2061
- # [4]: https://docs.aws.amazon.com/create-xks-keys.html#xks-key-requirements
2086
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/create-xks-keys.html#xks-key-requirements
2062
2087
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-double-encryption
2063
2088
  #
2064
2089
  # @return [Types::CreateKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2080,6 +2105,7 @@ module Aws::KMS
2080
2105
  # aws_account_id: "111122223333",
2081
2106
  # arn: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
2082
2107
  # creation_date: Time.parse("2017-07-05T14:04:55-07:00"),
2108
+ # current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
2083
2109
  # customer_master_key_spec: "SYMMETRIC_DEFAULT",
2084
2110
  # description: "",
2085
2111
  # enabled: true,
@@ -2132,8 +2158,7 @@ module Aws::KMS
2132
2158
  # @example Example: To create an asymmetric elliptic curve KMS key for signing and verification
2133
2159
  #
2134
2160
  # # This example creates a KMS key that contains an asymmetric elliptic curve (ECC) key pair for signing and verification.
2135
- # # The key usage is required even though "SIGN_VERIFY" is the only valid value for ECC KMS keys. The key spec and key usage
2136
- # # can't be changed after the key is created.
2161
+ # # The key spec and key usage can't be changed after the key is created.
2137
2162
  #
2138
2163
  # resp = client.create_key({
2139
2164
  # key_spec: "ECC_NIST_P521", # Describes the type of key material in the KMS key.
@@ -2194,6 +2219,38 @@ module Aws::KMS
2194
2219
  # }, # Detailed information about the KMS key that this operation creates.
2195
2220
  # }
2196
2221
  #
2222
+ # @example Example: To create an asymmetric ML-DSA KMS key for signing and verification
2223
+ #
2224
+ # # This example creates a module-lattice digital signature algorithm (ML-DSA) key for signing and verification. The
2225
+ # # key-usage parameter is required even though SIGN_VERIFY is the only valid value for ML-DSA keys.
2226
+ #
2227
+ # resp = client.create_key({
2228
+ # key_spec: "ML_DSA_65", # Describes the type of key material in the KMS key.
2229
+ # key_usage: "SIGN_VERIFY", # The cryptographic operations for which you can use the KMS key.
2230
+ # })
2231
+ #
2232
+ # resp.to_h outputs the following:
2233
+ # {
2234
+ # key_metadata: {
2235
+ # aws_account_id: "111122223333",
2236
+ # arn: "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
2237
+ # creation_date: Time.parse(1748371316.734),
2238
+ # customer_master_key_spec: "ML_DSA_65",
2239
+ # description: "",
2240
+ # enabled: true,
2241
+ # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab",
2242
+ # key_manager: "CUSTOMER",
2243
+ # key_spec: "ML_DSA_65",
2244
+ # key_state: "Enabled",
2245
+ # key_usage: "SIGN_VERIFY",
2246
+ # multi_region: false,
2247
+ # origin: "AWS_KMS",
2248
+ # signing_algorithms: [
2249
+ # "ML_DSA_SHAKE_256",
2250
+ # ],
2251
+ # }, # Detailed information about the KMS key that this operation creates.
2252
+ # }
2253
+ #
2197
2254
  # @example Example: To create a multi-Region primary KMS key
2198
2255
  #
2199
2256
  # # This example creates a multi-Region primary symmetric encryption key. Because the default values for all parameters
@@ -2209,6 +2266,7 @@ module Aws::KMS
2209
2266
  # aws_account_id: "111122223333",
2210
2267
  # arn: "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab",
2211
2268
  # creation_date: Time.parse("2021-09-02T016:15:21-09:00"),
2269
+ # current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
2212
2270
  # customer_master_key_spec: "SYMMETRIC_DEFAULT",
2213
2271
  # description: "",
2214
2272
  # enabled: true,
@@ -2345,7 +2403,7 @@ module Aws::KMS
2345
2403
  # description: "DescriptionType",
2346
2404
  # key_usage: "SIGN_VERIFY", # accepts SIGN_VERIFY, ENCRYPT_DECRYPT, GENERATE_VERIFY_MAC, KEY_AGREEMENT
2347
2405
  # 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
2348
- # 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
2406
+ # 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
2349
2407
  # origin: "AWS_KMS", # accepts AWS_KMS, EXTERNAL, AWS_CLOUDHSM, EXTERNAL_KEY_STORE
2350
2408
  # custom_key_store_id: "CustomKeyStoreIdType",
2351
2409
  # bypass_policy_lockout_safety_check: false,
@@ -2377,11 +2435,11 @@ module Aws::KMS
2377
2435
  # resp.key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
2378
2436
  # resp.key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
2379
2437
  # 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"
2380
- # 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"
2438
+ # 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"
2381
2439
  # resp.key_metadata.encryption_algorithms #=> Array
2382
2440
  # resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
2383
2441
  # resp.key_metadata.signing_algorithms #=> Array
2384
- # 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"
2442
+ # 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"
2385
2443
  # resp.key_metadata.key_agreement_algorithms #=> Array
2386
2444
  # resp.key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
2387
2445
  # resp.key_metadata.multi_region #=> Boolean
@@ -2395,6 +2453,7 @@ module Aws::KMS
2395
2453
  # resp.key_metadata.mac_algorithms #=> Array
2396
2454
  # resp.key_metadata.mac_algorithms[0] #=> String, one of "HMAC_SHA_224", "HMAC_SHA_256", "HMAC_SHA_384", "HMAC_SHA_512"
2397
2455
  # resp.key_metadata.xks_key_configuration.id #=> String
2456
+ # resp.key_metadata.current_key_material_id #=> String
2398
2457
  #
2399
2458
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateKey AWS API Documentation
2400
2459
  #
@@ -2445,15 +2504,14 @@ module Aws::KMS
2445
2504
  # key that you intend.
2446
2505
  #
2447
2506
  # Whenever possible, use key policies to give users permission to call
2448
- # the `Decrypt` operation on a particular KMS key, instead of using
2449
- # &amp;IAM; policies. Otherwise, you might create an &amp;IAM; policy
2450
- # that gives the user `Decrypt` permission on all KMS keys. This user
2451
- # could decrypt ciphertext that was encrypted by KMS keys in other
2452
- # accounts if the key policy for the cross-account KMS key permits it.
2453
- # If you must use an IAM policy for `Decrypt` permissions, limit the
2454
- # user to particular KMS keys or particular trusted accounts. For
2455
- # details, see [Best practices for IAM policies][4] in the *Key
2456
- # Management Service Developer Guide*.
2507
+ # the `Decrypt` operation on a particular KMS key, instead of using IAM
2508
+ # policies. Otherwise, you might create an IAM policy that gives the
2509
+ # user `Decrypt` permission on all KMS keys. This user could decrypt
2510
+ # ciphertext that was encrypted by KMS keys in other accounts if the key
2511
+ # policy for the cross-account KMS key permits it. If you must use an
2512
+ # IAM policy for `Decrypt` permissions, limit the user to particular KMS
2513
+ # keys or particular trusted accounts. For details, see [Best practices
2514
+ # for IAM policies][4] in the *Key Management Service Developer Guide*.
2457
2515
  #
2458
2516
  # `Decrypt` also supports [Amazon Web Services Nitro Enclaves][5], which
2459
2517
  # provide an isolated compute environment in Amazon EC2. To call
@@ -2501,7 +2559,7 @@ module Aws::KMS
2501
2559
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2502
2560
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2503
2561
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2504
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
2562
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
2505
2563
  #
2506
2564
  # @option params [required, String, StringIO, File] :ciphertext_blob
2507
2565
  # Ciphertext to be decrypted. The blob includes metadata.
@@ -2526,8 +2584,8 @@ module Aws::KMS
2526
2584
  #
2527
2585
  #
2528
2586
  #
2529
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
2530
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2587
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
2588
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2531
2589
  #
2532
2590
  # @option params [Array<String>] :grant_tokens
2533
2591
  # A list of grant tokens.
@@ -2540,7 +2598,7 @@ module Aws::KMS
2540
2598
  #
2541
2599
  #
2542
2600
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2543
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2601
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2544
2602
  #
2545
2603
  # @option params [String] :key_id
2546
2604
  # Specifies the KMS key that KMS uses to decrypt the ciphertext.
@@ -2616,12 +2674,12 @@ module Aws::KMS
2616
2674
  # Checks if your request will succeed. `DryRun` is an optional
2617
2675
  # parameter.
2618
2676
  #
2619
- # To learn more about how to use this parameter, see [Testing your KMS
2620
- # API calls][1] in the *Key Management Service Developer Guide*.
2677
+ # To learn more about how to use this parameter, see [Testing your
2678
+ # permissions][1] in the *Key Management Service Developer Guide*.
2621
2679
  #
2622
2680
  #
2623
2681
  #
2624
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2682
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2625
2683
  #
2626
2684
  # @return [Types::DecryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2627
2685
  #
@@ -2629,6 +2687,7 @@ module Aws::KMS
2629
2687
  # * {Types::DecryptResponse#plaintext #plaintext} => String
2630
2688
  # * {Types::DecryptResponse#encryption_algorithm #encryption_algorithm} => String
2631
2689
  # * {Types::DecryptResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
2690
+ # * {Types::DecryptResponse#key_material_id #key_material_id} => String
2632
2691
  #
2633
2692
  #
2634
2693
  # @example Example: To decrypt data with a symmetric encryption KMS key
@@ -2645,6 +2704,7 @@ module Aws::KMS
2645
2704
  # {
2646
2705
  # 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.
2647
2706
  # 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.
2707
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to decrypt the ciphertext.
2648
2708
  # plaintext: "<binary data>", # The decrypted (plaintext) data.
2649
2709
  # }
2650
2710
  #
@@ -2711,6 +2771,7 @@ module Aws::KMS
2711
2771
  # resp.plaintext #=> String
2712
2772
  # resp.encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
2713
2773
  # resp.ciphertext_for_recipient #=> String
2774
+ # resp.key_material_id #=> String
2714
2775
  #
2715
2776
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Decrypt AWS API Documentation
2716
2777
  #
@@ -2767,7 +2828,7 @@ module Aws::KMS
2767
2828
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
2768
2829
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2769
2830
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
2770
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
2831
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
2771
2832
  #
2772
2833
  # @option params [required, String] :alias_name
2773
2834
  # The alias to be deleted. The alias name must begin with `alias/`
@@ -2806,9 +2867,9 @@ module Aws::KMS
2806
2867
  # does not affect the external key store proxy, external key manager, or
2807
2868
  # any external keys.
2808
2869
  #
2809
- # This operation is part of the [custom key stores][1] feature in KMS,
2810
- # which combines the convenience and extensive integration of KMS with
2811
- # the isolation and control of a key store that you own and manage.
2870
+ # This operation is part of the custom key stores feature in KMS, which
2871
+ # combines the convenience and extensive integration of KMS with the
2872
+ # isolation and control of a key store that you own and manage.
2812
2873
  #
2813
2874
  # The custom key store that you delete cannot contain any [KMS keys][2].
2814
2875
  # Before deleting the key store, verify that you will never need to use
@@ -2859,12 +2920,12 @@ module Aws::KMS
2859
2920
  #
2860
2921
  #
2861
2922
  #
2862
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
2923
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
2863
2924
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys
2864
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
2925
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
2865
2926
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
2866
2927
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2867
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
2928
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
2868
2929
  #
2869
2930
  # @option params [required, String] :custom_key_store_id
2870
2931
  # Enter the ID of the custom key store you want to delete. To find the
@@ -2926,6 +2987,8 @@ module Aws::KMS
2926
2987
  #
2927
2988
  # * GetParametersForImport
2928
2989
  #
2990
+ # * ListKeyRotations
2991
+ #
2929
2992
  # * ImportKeyMaterial
2930
2993
  #
2931
2994
  # **Eventual consistency**: The KMS API follows an eventual consistency
@@ -2936,7 +2999,7 @@ module Aws::KMS
2936
2999
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
2937
3000
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2938
3001
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2939
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3002
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
2940
3003
  #
2941
3004
  # @option params [required, String] :key_id
2942
3005
  # Identifies the KMS key from which you are deleting imported key
@@ -2954,7 +3017,19 @@ module Aws::KMS
2954
3017
  # To get the key ID and key ARN for a KMS key, use ListKeys or
2955
3018
  # DescribeKey.
2956
3019
  #
2957
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3020
+ # @option params [String] :key_material_id
3021
+ # Identifies the imported key material you are deleting.
3022
+ #
3023
+ # If no KeyMaterialId is specified, KMS deletes the current key
3024
+ # material.
3025
+ #
3026
+ # To get the list of key material IDs associated with a KMS key, use
3027
+ # ListKeyRotations.
3028
+ #
3029
+ # @return [Types::DeleteImportedKeyMaterialResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3030
+ #
3031
+ # * {Types::DeleteImportedKeyMaterialResponse#key_id #key_id} => String
3032
+ # * {Types::DeleteImportedKeyMaterialResponse#key_material_id #key_material_id} => String
2958
3033
  #
2959
3034
  #
2960
3035
  # @example Example: To delete imported key material
@@ -2963,14 +3038,21 @@ module Aws::KMS
2963
3038
  #
2964
3039
  # resp = client.delete_imported_key_material({
2965
3040
  # 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.
3041
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # Identifies the deleted key material.
2966
3042
  # })
2967
3043
  #
2968
3044
  # @example Request syntax with placeholder values
2969
3045
  #
2970
3046
  # resp = client.delete_imported_key_material({
2971
3047
  # key_id: "KeyIdType", # required
3048
+ # key_material_id: "BackingKeyIdType",
2972
3049
  # })
2973
3050
  #
3051
+ # @example Response structure
3052
+ #
3053
+ # resp.key_id #=> String
3054
+ # resp.key_material_id #=> String
3055
+ #
2974
3056
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterial AWS API Documentation
2975
3057
  #
2976
3058
  # @overload delete_imported_key_material(params = {})
@@ -3073,7 +3155,7 @@ module Aws::KMS
3073
3155
  # [2]: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Cr2.pdf
3074
3156
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3075
3157
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3076
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3158
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
3077
3159
  #
3078
3160
  # @option params [required, String] :key_id
3079
3161
  # Identifies an asymmetric NIST-recommended ECC or SM2 (China Regions
@@ -3141,18 +3223,18 @@ module Aws::KMS
3141
3223
  #
3142
3224
  #
3143
3225
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
3144
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
3226
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3145
3227
  #
3146
3228
  # @option params [Boolean] :dry_run
3147
3229
  # Checks if your request will succeed. `DryRun` is an optional
3148
3230
  # parameter.
3149
3231
  #
3150
- # To learn more about how to use this parameter, see [Testing your KMS
3151
- # API calls][1] in the *Key Management Service Developer Guide*.
3232
+ # To learn more about how to use this parameter, see [Testing your
3233
+ # permissions][1] in the *Key Management Service Developer Guide*.
3152
3234
  #
3153
3235
  #
3154
3236
  #
3155
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
3237
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
3156
3238
  #
3157
3239
  # @option params [Types::RecipientInfo] :recipient
3158
3240
  # A signed [attestation document][1] from an Amazon Web Services Nitro
@@ -3247,9 +3329,9 @@ module Aws::KMS
3247
3329
  # Gets information about [custom key stores][1] in the account and
3248
3330
  # Region.
3249
3331
  #
3250
- # This operation is part of the [custom key stores][1] feature in KMS,
3251
- # which combines the convenience and extensive integration of KMS with
3252
- # the isolation and control of a key store that you own and manage.
3332
+ # This operation is part of the custom key stores feature in KMS, which
3333
+ # combines the convenience and extensive integration of KMS with the
3334
+ # isolation and control of a key store that you own and manage.
3253
3335
  #
3254
3336
  # By default, this operation returns information about all custom key
3255
3337
  # stores in the account and Region. To get only information about a
@@ -3302,11 +3384,11 @@ module Aws::KMS
3302
3384
  #
3303
3385
  #
3304
3386
  #
3305
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
3387
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
3306
3388
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
3307
3389
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
3308
3390
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3309
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3391
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
3310
3392
  #
3311
3393
  # @option params [String] :custom_key_store_id
3312
3394
  # Gets only information about the specified custom key store. Enter the
@@ -3504,8 +3586,8 @@ module Aws::KMS
3504
3586
  # * Whether automatic key rotation is enabled on the KMS key. To get
3505
3587
  # this information, use GetKeyRotationStatus. Also, some key states
3506
3588
  # prevent a KMS key from being automatically rotated. For details, see
3507
- # [How Automatic Key Rotation Works][6] in the *Key Management Service
3508
- # Developer Guide*.
3589
+ # [How key rotation works][6] in the *Key Management Service Developer
3590
+ # Guide*.
3509
3591
  #
3510
3592
  # * Tags on the KMS key. To get this information, use ListResourceTags.
3511
3593
  #
@@ -3551,7 +3633,7 @@ module Aws::KMS
3551
3633
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
3552
3634
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-how-it-works
3553
3635
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3554
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3636
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
3555
3637
  #
3556
3638
  # @option params [required, String] :key_id
3557
3639
  # Describes the specified KMS key.
@@ -3595,7 +3677,7 @@ module Aws::KMS
3595
3677
  #
3596
3678
  #
3597
3679
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
3598
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
3680
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3599
3681
  #
3600
3682
  # @return [Types::DescribeKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3601
3683
  #
@@ -3616,6 +3698,7 @@ module Aws::KMS
3616
3698
  # aws_account_id: "111122223333",
3617
3699
  # arn: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
3618
3700
  # creation_date: Time.parse("2017-07-05T14:04:55-07:00"),
3701
+ # current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
3619
3702
  # customer_master_key_spec: "SYMMETRIC_DEFAULT",
3620
3703
  # description: "",
3621
3704
  # enabled: true,
@@ -3682,6 +3765,7 @@ module Aws::KMS
3682
3765
  # aws_account_id: "111122223333",
3683
3766
  # arn: "arn:aws:kms:ap-northeast-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab",
3684
3767
  # creation_date: Time.parse(1586329200.918),
3768
+ # current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
3685
3769
  # customer_master_key_spec: "SYMMETRIC_DEFAULT",
3686
3770
  # description: "",
3687
3771
  # enabled: true,
@@ -3838,11 +3922,11 @@ module Aws::KMS
3838
3922
  # resp.key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
3839
3923
  # resp.key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
3840
3924
  # 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"
3841
- # 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"
3925
+ # 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"
3842
3926
  # resp.key_metadata.encryption_algorithms #=> Array
3843
3927
  # resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
3844
3928
  # resp.key_metadata.signing_algorithms #=> Array
3845
- # 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"
3929
+ # 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"
3846
3930
  # resp.key_metadata.key_agreement_algorithms #=> Array
3847
3931
  # resp.key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
3848
3932
  # resp.key_metadata.multi_region #=> Boolean
@@ -3856,6 +3940,7 @@ module Aws::KMS
3856
3940
  # resp.key_metadata.mac_algorithms #=> Array
3857
3941
  # resp.key_metadata.mac_algorithms[0] #=> String, one of "HMAC_SHA_224", "HMAC_SHA_256", "HMAC_SHA_384", "HMAC_SHA_512"
3858
3942
  # resp.key_metadata.xks_key_configuration.id #=> String
3943
+ # resp.key_metadata.current_key_material_id #=> String
3859
3944
  #
3860
3945
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DescribeKey AWS API Documentation
3861
3946
  #
@@ -3869,13 +3954,10 @@ module Aws::KMS
3869
3954
  # Sets the state of a KMS key to disabled. This change temporarily
3870
3955
  # prevents use of the KMS key for [cryptographic operations][1].
3871
3956
  #
3872
- # For more information about how key state affects the use of a KMS key,
3873
- # see [Key states of KMS keys][2] in the <i> <i>Key Management Service
3874
- # Developer Guide</i> </i>.
3875
- #
3876
3957
  # The KMS key that you use for this operation must be in a compatible
3877
- # key state. For details, see [Key states of KMS keys][2] in the *Key
3878
- # Management Service Developer Guide*.
3958
+ # key state. For more information about how key state affects the use of
3959
+ # a KMS key, see [Key states of KMS keys][2] in the <i> <i>Key
3960
+ # Management Service Developer Guide</i> </i>.
3879
3961
  #
3880
3962
  # **Cross-account use**: No. You cannot perform this operation on a KMS
3881
3963
  # key in a different Amazon Web Services account.
@@ -3889,10 +3971,10 @@ module Aws::KMS
3889
3971
  #
3890
3972
  #
3891
3973
  #
3892
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3974
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
3893
3975
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3894
3976
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3895
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3977
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
3896
3978
  #
3897
3979
  # @option params [required, String] :key_id
3898
3980
  # Identifies the KMS key to disable.
@@ -3981,18 +4063,18 @@ module Aws::KMS
3981
4063
  #
3982
4064
  #
3983
4065
  #
3984
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
4066
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
3985
4067
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
3986
4068
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
3987
4069
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
3988
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
3989
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
4070
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4071
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
3990
4072
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
3991
4073
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
3992
4074
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
3993
4075
  # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3994
4076
  # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3995
- # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4077
+ # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
3996
4078
  #
3997
4079
  # @option params [required, String] :key_id
3998
4080
  # Identifies a symmetric encryption KMS key. You cannot enable or
@@ -4017,7 +4099,7 @@ module Aws::KMS
4017
4099
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks
4018
4100
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
4019
4101
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
4020
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4102
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4021
4103
  #
4022
4104
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4023
4105
  #
@@ -4051,9 +4133,9 @@ module Aws::KMS
4051
4133
  # external key store proxy that communicates with your external key
4052
4134
  # manager.
4053
4135
  #
4054
- # This operation is part of the [custom key stores][1] feature in KMS,
4055
- # which combines the convenience and extensive integration of KMS with
4056
- # the isolation and control of a key store that you own and manage.
4136
+ # This operation is part of the custom key stores feature in KMS, which
4137
+ # combines the convenience and extensive integration of KMS with the
4138
+ # isolation and control of a key store that you own and manage.
4057
4139
  #
4058
4140
  # While a custom key store is disconnected, you can manage the custom
4059
4141
  # key store and its KMS keys, but you cannot create or use its KMS keys.
@@ -4097,10 +4179,10 @@ module Aws::KMS
4097
4179
  #
4098
4180
  #
4099
4181
  #
4100
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4101
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
4182
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4183
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
4102
4184
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4103
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4185
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
4104
4186
  #
4105
4187
  # @option params [required, String] :custom_key_store_id
4106
4188
  # Enter the ID of the custom key store you want to disconnect. To find
@@ -4159,10 +4241,10 @@ module Aws::KMS
4159
4241
  #
4160
4242
  #
4161
4243
  #
4162
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
4244
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
4163
4245
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4164
4246
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4165
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4247
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
4166
4248
  #
4167
4249
  # @option params [required, String] :key_id
4168
4250
  # Identifies the KMS key to enable.
@@ -4223,17 +4305,17 @@ module Aws::KMS
4223
4305
  # any in progress rotations. You can use the ListKeyRotations operation
4224
4306
  # to view the details of completed rotations.
4225
4307
  #
4226
- # Automatic key rotation is supported only on [symmetric encryption KMS
4227
- # keys][3]. You cannot enable automatic rotation of [asymmetric KMS
4228
- # keys][4], [HMAC KMS keys][5], KMS keys with [imported key
4229
- # material][6], or KMS keys in a [custom key store][7]. To enable or
4230
- # disable automatic rotation of a set of related [multi-Region keys][8],
4308
+ # Automatic key rotation is supported only on symmetric encryption KMS
4309
+ # keys. You cannot enable automatic rotation of [asymmetric KMS
4310
+ # keys][3], [HMAC KMS keys][4], KMS keys with [imported key
4311
+ # material][5], or KMS keys in a [custom key store][6]. To enable or
4312
+ # disable automatic rotation of a set of related [multi-Region keys][7],
4231
4313
  # set the property on the primary key.
4232
4314
  #
4233
4315
  # You cannot enable or disable automatic rotation of [Amazon Web
4234
- # Services managed KMS keys][9]. KMS always rotates the key material of
4316
+ # Services managed KMS keys][8]. KMS always rotates the key material of
4235
4317
  # Amazon Web Services managed keys every year. Rotation of [Amazon Web
4236
- # Services owned KMS keys][10] is managed by the Amazon Web Services
4318
+ # Services owned KMS keys][9] is managed by the Amazon Web Services
4237
4319
  # service that owns the key.
4238
4320
  #
4239
4321
  # <note markdown="1"> In May 2022, KMS changed the rotation schedule for Amazon Web Services
@@ -4249,13 +4331,13 @@ module Aws::KMS
4249
4331
  # </note>
4250
4332
  #
4251
4333
  # The KMS key that you use for this operation must be in a compatible
4252
- # key state. For details, see [Key states of KMS keys][11] in the *Key
4334
+ # key state. For details, see [Key states of KMS keys][10] in the *Key
4253
4335
  # Management Service Developer Guide*.
4254
4336
  #
4255
4337
  # **Cross-account use**: No. You cannot perform this operation on a KMS
4256
4338
  # key in a different Amazon Web Services account.
4257
4339
  #
4258
- # **Required permissions**: [kms:EnableKeyRotation][12] (key policy)
4340
+ # **Required permissions**: [kms:EnableKeyRotation][11] (key policy)
4259
4341
  #
4260
4342
  # **Related operations:**
4261
4343
  #
@@ -4274,23 +4356,22 @@ module Aws::KMS
4274
4356
  # </note>
4275
4357
  #
4276
4358
  # **Eventual consistency**: The KMS API follows an eventual consistency
4277
- # model. For more information, see [KMS eventual consistency][13].
4359
+ # model. For more information, see [KMS eventual consistency][12].
4278
4360
  #
4279
4361
  #
4280
4362
  #
4281
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-enable-disable
4363
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
4282
4364
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
4283
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks
4284
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
4285
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
4286
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
4287
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4288
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
4289
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
4290
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
4291
- # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4292
- # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4293
- # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4365
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
4366
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
4367
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
4368
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4369
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
4370
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
4371
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
4372
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4373
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4374
+ # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
4294
4375
  #
4295
4376
  # @option params [required, String] :key_id
4296
4377
  # Identifies a symmetric encryption KMS key. You cannot enable automatic
@@ -4316,8 +4397,8 @@ module Aws::KMS
4316
4397
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
4317
4398
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
4318
4399
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
4319
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4320
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
4400
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4401
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
4321
4402
  #
4322
4403
  # @option params [Integer] :rotation_period_in_days
4323
4404
  # Use this parameter to specify a custom period of time between each
@@ -4449,10 +4530,10 @@ module Aws::KMS
4449
4530
  #
4450
4531
  #
4451
4532
  #
4452
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4533
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
4453
4534
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4454
4535
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4455
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4536
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
4456
4537
  #
4457
4538
  # @option params [required, String] :key_id
4458
4539
  # Identifies the KMS key to use in the encryption operation. The KMS key
@@ -4505,8 +4586,8 @@ module Aws::KMS
4505
4586
  #
4506
4587
  #
4507
4588
  #
4508
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
4509
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4589
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
4590
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
4510
4591
  #
4511
4592
  # @option params [Array<String>] :grant_tokens
4512
4593
  # A list of grant tokens.
@@ -4519,7 +4600,7 @@ module Aws::KMS
4519
4600
  #
4520
4601
  #
4521
4602
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
4522
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
4603
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
4523
4604
  #
4524
4605
  # @option params [String] :encryption_algorithm
4525
4606
  # Specifies the encryption algorithm that KMS will use to encrypt the
@@ -4537,12 +4618,12 @@ module Aws::KMS
4537
4618
  # Checks if your request will succeed. `DryRun` is an optional
4538
4619
  # parameter.
4539
4620
  #
4540
- # To learn more about how to use this parameter, see [Testing your KMS
4541
- # API calls][1] in the *Key Management Service Developer Guide*.
4621
+ # To learn more about how to use this parameter, see [Testing your
4622
+ # permissions][1] in the *Key Management Service Developer Guide*.
4542
4623
  #
4543
4624
  #
4544
4625
  #
4545
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
4626
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
4546
4627
  #
4547
4628
  # @return [Types::EncryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4548
4629
  #
@@ -4717,7 +4798,7 @@ module Aws::KMS
4717
4798
  #
4718
4799
  #
4719
4800
  #
4720
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4801
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
4721
4802
  # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
4722
4803
  # [3]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
4723
4804
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
@@ -4726,7 +4807,7 @@ module Aws::KMS
4726
4807
  # [7]: https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/
4727
4808
  # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
4728
4809
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4729
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4810
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
4730
4811
  #
4731
4812
  # @option params [required, String] :key_id
4732
4813
  # Specifies the symmetric encryption KMS key that encrypts the data key.
@@ -4774,7 +4855,7 @@ module Aws::KMS
4774
4855
  #
4775
4856
  #
4776
4857
  #
4777
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4858
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
4778
4859
  #
4779
4860
  # @option params [Integer] :number_of_bytes
4780
4861
  # Specifies the length of the data key in bytes. For example, use the
@@ -4804,7 +4885,7 @@ module Aws::KMS
4804
4885
  #
4805
4886
  #
4806
4887
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
4807
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
4888
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
4808
4889
  #
4809
4890
  # @option params [Types::RecipientInfo] :recipient
4810
4891
  # A signed [attestation document][1] from an Amazon Web Services Nitro
@@ -4838,12 +4919,12 @@ module Aws::KMS
4838
4919
  # Checks if your request will succeed. `DryRun` is an optional
4839
4920
  # parameter.
4840
4921
  #
4841
- # To learn more about how to use this parameter, see [Testing your KMS
4842
- # API calls][1] in the *Key Management Service Developer Guide*.
4922
+ # To learn more about how to use this parameter, see [Testing your
4923
+ # permissions][1] in the *Key Management Service Developer Guide*.
4843
4924
  #
4844
4925
  #
4845
4926
  #
4846
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
4927
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
4847
4928
  #
4848
4929
  # @return [Types::GenerateDataKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4849
4930
  #
@@ -4851,6 +4932,7 @@ module Aws::KMS
4851
4932
  # * {Types::GenerateDataKeyResponse#plaintext #plaintext} => String
4852
4933
  # * {Types::GenerateDataKeyResponse#key_id #key_id} => String
4853
4934
  # * {Types::GenerateDataKeyResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
4935
+ # * {Types::GenerateDataKeyResponse#key_material_id #key_material_id} => String
4854
4936
  #
4855
4937
  #
4856
4938
  # @example Example: To generate a data key
@@ -4867,6 +4949,7 @@ module Aws::KMS
4867
4949
  # {
4868
4950
  # ciphertext_blob: "<binary data>", # The encrypted data key.
4869
4951
  # 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.
4952
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the data key.
4870
4953
  # plaintext: "<binary data>", # The unencrypted (plaintext) data key.
4871
4954
  # }
4872
4955
  #
@@ -4918,6 +5001,7 @@ module Aws::KMS
4918
5001
  # resp.plaintext #=> String
4919
5002
  # resp.key_id #=> String
4920
5003
  # resp.ciphertext_for_recipient #=> String
5004
+ # resp.key_material_id #=> String
4921
5005
  #
4922
5006
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKey AWS API Documentation
4923
5007
  #
@@ -5026,10 +5110,10 @@ module Aws::KMS
5026
5110
  # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
5027
5111
  # [4]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
5028
5112
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
5029
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5113
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5030
5114
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5031
5115
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5032
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5116
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5033
5117
  #
5034
5118
  # @option params [Hash<String,String>] :encryption_context
5035
5119
  # Specifies the encryption context that will be used when encrypting the
@@ -5052,7 +5136,7 @@ module Aws::KMS
5052
5136
  #
5053
5137
  #
5054
5138
  #
5055
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5139
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5056
5140
  #
5057
5141
  # @option params [required, String] :key_id
5058
5142
  # Specifies the symmetric encryption KMS key that encrypts the private
@@ -5083,10 +5167,11 @@ module Aws::KMS
5083
5167
  # Determines the type of data key pair that is generated.
5084
5168
  #
5085
5169
  # The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys
5086
- # to encrypt and decrypt or to sign and verify (but not both), and the
5087
- # rule that permits you to use ECC KMS keys only to sign and verify, are
5088
- # not effective on data key pairs, which are used outside of KMS. The
5089
- # SM2 key spec is only available in China Regions.
5170
+ # to encrypt and decrypt or to sign and verify (but not both), the rule
5171
+ # that permits you to use ECC KMS keys only to sign and verify, and the
5172
+ # rule that permits you to use ML-DSA key pairs to sign and verify only
5173
+ # are not effective on data key pairs, which are used outside of KMS.
5174
+ # The SM2 key spec is only available in China Regions.
5090
5175
  #
5091
5176
  # @option params [Array<String>] :grant_tokens
5092
5177
  # A list of grant tokens.
@@ -5099,7 +5184,7 @@ module Aws::KMS
5099
5184
  #
5100
5185
  #
5101
5186
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5102
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5187
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5103
5188
  #
5104
5189
  # @option params [Types::RecipientInfo] :recipient
5105
5190
  # A signed [attestation document][1] from an Amazon Web Services Nitro
@@ -5137,12 +5222,12 @@ module Aws::KMS
5137
5222
  # Checks if your request will succeed. `DryRun` is an optional
5138
5223
  # parameter.
5139
5224
  #
5140
- # To learn more about how to use this parameter, see [Testing your KMS
5141
- # API calls][1] in the *Key Management Service Developer Guide*.
5225
+ # To learn more about how to use this parameter, see [Testing your
5226
+ # permissions][1] in the *Key Management Service Developer Guide*.
5142
5227
  #
5143
5228
  #
5144
5229
  #
5145
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5230
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5146
5231
  #
5147
5232
  # @return [Types::GenerateDataKeyPairResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5148
5233
  #
@@ -5152,6 +5237,7 @@ module Aws::KMS
5152
5237
  # * {Types::GenerateDataKeyPairResponse#key_id #key_id} => String
5153
5238
  # * {Types::GenerateDataKeyPairResponse#key_pair_spec #key_pair_spec} => String
5154
5239
  # * {Types::GenerateDataKeyPairResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
5240
+ # * {Types::GenerateDataKeyPairResponse#key_material_id #key_material_id} => String
5155
5241
  #
5156
5242
  #
5157
5243
  # @example Example: To generate an RSA key pair for encryption and decryption
@@ -5167,6 +5253,7 @@ module Aws::KMS
5167
5253
  # resp.to_h outputs the following:
5168
5254
  # {
5169
5255
  # 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.
5256
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the private key.
5170
5257
  # key_pair_spec: "RSA_3072", # The actual key spec of the RSA data key pair.
5171
5258
  # private_key_ciphertext_blob: "<binary data>", # The encrypted private key of the RSA data key pair.
5172
5259
  # private_key_plaintext: "<binary data>", # The plaintext private key of the RSA data key pair.
@@ -5194,6 +5281,7 @@ module Aws::KMS
5194
5281
  # {
5195
5282
  # ciphertext_for_recipient: "<binary data>", # The private key of the RSA data key pair encrypted by the public key from the attestation document
5196
5283
  # 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.
5284
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the private key.
5197
5285
  # key_pair_spec: "RSA_3072", # The actual key spec of the RSA data key pair.
5198
5286
  # private_key_ciphertext_blob: "<binary data>", # The private key of the RSA data key pair encrypted by the KMS key.
5199
5287
  # private_key_plaintext: "", # This field is null or empty
@@ -5224,6 +5312,7 @@ module Aws::KMS
5224
5312
  # resp.key_id #=> String
5225
5313
  # 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"
5226
5314
  # resp.ciphertext_for_recipient #=> String
5315
+ # resp.key_material_id #=> String
5227
5316
  #
5228
5317
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPair AWS API Documentation
5229
5318
  #
@@ -5302,10 +5391,10 @@ module Aws::KMS
5302
5391
  #
5303
5392
  #
5304
5393
  # [1]: https://tools.ietf.org/html/rfc5280
5305
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5394
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5306
5395
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5307
5396
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5308
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5397
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5309
5398
  #
5310
5399
  # @option params [Hash<String,String>] :encryption_context
5311
5400
  # Specifies the encryption context that will be used when encrypting the
@@ -5328,7 +5417,7 @@ module Aws::KMS
5328
5417
  #
5329
5418
  #
5330
5419
  #
5331
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5420
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5332
5421
  #
5333
5422
  # @option params [required, String] :key_id
5334
5423
  # Specifies the symmetric encryption KMS key that encrypts the private
@@ -5359,10 +5448,11 @@ module Aws::KMS
5359
5448
  # Determines the type of data key pair that is generated.
5360
5449
  #
5361
5450
  # The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys
5362
- # to encrypt and decrypt or to sign and verify (but not both), and the
5363
- # rule that permits you to use ECC KMS keys only to sign and verify, are
5364
- # not effective on data key pairs, which are used outside of KMS. The
5365
- # SM2 key spec is only available in China Regions.
5451
+ # to encrypt and decrypt or to sign and verify (but not both), the rule
5452
+ # that permits you to use ECC KMS keys only to sign and verify, and the
5453
+ # rule that permits you to use ML-DSA key pairs to sign and verify only
5454
+ # are not effective on data key pairs, which are used outside of KMS.
5455
+ # The SM2 key spec is only available in China Regions.
5366
5456
  #
5367
5457
  # @option params [Array<String>] :grant_tokens
5368
5458
  # A list of grant tokens.
@@ -5375,18 +5465,18 @@ module Aws::KMS
5375
5465
  #
5376
5466
  #
5377
5467
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5378
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5468
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5379
5469
  #
5380
5470
  # @option params [Boolean] :dry_run
5381
5471
  # Checks if your request will succeed. `DryRun` is an optional
5382
5472
  # parameter.
5383
5473
  #
5384
- # To learn more about how to use this parameter, see [Testing your KMS
5385
- # API calls][1] in the *Key Management Service Developer Guide*.
5474
+ # To learn more about how to use this parameter, see [Testing your
5475
+ # permissions][1] in the *Key Management Service Developer Guide*.
5386
5476
  #
5387
5477
  #
5388
5478
  #
5389
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5479
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5390
5480
  #
5391
5481
  # @return [Types::GenerateDataKeyPairWithoutPlaintextResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5392
5482
  #
@@ -5394,6 +5484,7 @@ module Aws::KMS
5394
5484
  # * {Types::GenerateDataKeyPairWithoutPlaintextResponse#public_key #public_key} => String
5395
5485
  # * {Types::GenerateDataKeyPairWithoutPlaintextResponse#key_id #key_id} => String
5396
5486
  # * {Types::GenerateDataKeyPairWithoutPlaintextResponse#key_pair_spec #key_pair_spec} => String
5487
+ # * {Types::GenerateDataKeyPairWithoutPlaintextResponse#key_material_id #key_material_id} => String
5397
5488
  #
5398
5489
  #
5399
5490
  # @example Example: To generate an asymmetric data key pair without a plaintext key
@@ -5409,6 +5500,7 @@ module Aws::KMS
5409
5500
  # resp.to_h outputs the following:
5410
5501
  # {
5411
5502
  # 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.
5503
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the private key.
5412
5504
  # key_pair_spec: "ECC_NIST_P521", # The actual key spec of the ECC asymmetric data key pair.
5413
5505
  # private_key_ciphertext_blob: "<binary data>", # The encrypted private key of the asymmetric ECC data key pair.
5414
5506
  # public_key: "<binary data>", # The public key (plaintext).
@@ -5432,6 +5524,7 @@ module Aws::KMS
5432
5524
  # resp.public_key #=> String
5433
5525
  # resp.key_id #=> String
5434
5526
  # 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"
5527
+ # resp.key_material_id #=> String
5435
5528
  #
5436
5529
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintext AWS API Documentation
5437
5530
  #
@@ -5521,10 +5614,10 @@ module Aws::KMS
5521
5614
  #
5522
5615
  #
5523
5616
  #
5524
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5617
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5525
5618
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5526
5619
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5527
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5620
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5528
5621
  #
5529
5622
  # @option params [required, String] :key_id
5530
5623
  # Specifies the symmetric encryption KMS key that encrypts the data key.
@@ -5572,7 +5665,7 @@ module Aws::KMS
5572
5665
  #
5573
5666
  #
5574
5667
  #
5575
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5668
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5576
5669
  #
5577
5670
  # @option params [String] :key_spec
5578
5671
  # The length of the data key. Use `AES_128` to generate a 128-bit
@@ -5595,23 +5688,24 @@ module Aws::KMS
5595
5688
  #
5596
5689
  #
5597
5690
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5598
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5691
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5599
5692
  #
5600
5693
  # @option params [Boolean] :dry_run
5601
5694
  # Checks if your request will succeed. `DryRun` is an optional
5602
5695
  # parameter.
5603
5696
  #
5604
- # To learn more about how to use this parameter, see [Testing your KMS
5605
- # API calls][1] in the *Key Management Service Developer Guide*.
5697
+ # To learn more about how to use this parameter, see [Testing your
5698
+ # permissions][1] in the *Key Management Service Developer Guide*.
5606
5699
  #
5607
5700
  #
5608
5701
  #
5609
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5702
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5610
5703
  #
5611
5704
  # @return [Types::GenerateDataKeyWithoutPlaintextResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5612
5705
  #
5613
5706
  # * {Types::GenerateDataKeyWithoutPlaintextResponse#ciphertext_blob #ciphertext_blob} => String
5614
5707
  # * {Types::GenerateDataKeyWithoutPlaintextResponse#key_id #key_id} => String
5708
+ # * {Types::GenerateDataKeyWithoutPlaintextResponse#key_material_id #key_material_id} => String
5615
5709
  #
5616
5710
  #
5617
5711
  # @example Example: To generate an encrypted data key
@@ -5628,6 +5722,7 @@ module Aws::KMS
5628
5722
  # {
5629
5723
  # ciphertext_blob: "<binary data>", # The encrypted data key.
5630
5724
  # 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.
5725
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the data key.
5631
5726
  # }
5632
5727
  #
5633
5728
  # @example Request syntax with placeholder values
@@ -5647,6 +5742,7 @@ module Aws::KMS
5647
5742
  #
5648
5743
  # resp.ciphertext_blob #=> String
5649
5744
  # resp.key_id #=> String
5745
+ # resp.key_material_id #=> String
5650
5746
  #
5651
5747
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintext AWS API Documentation
5652
5748
  #
@@ -5701,7 +5797,7 @@ module Aws::KMS
5701
5797
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
5702
5798
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5703
5799
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5704
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5800
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5705
5801
  #
5706
5802
  # @option params [required, String, StringIO, File] :message
5707
5803
  # The message to be hashed. Specify a message of up to 4,096 bytes.
@@ -5740,18 +5836,18 @@ module Aws::KMS
5740
5836
  #
5741
5837
  #
5742
5838
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5743
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5839
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5744
5840
  #
5745
5841
  # @option params [Boolean] :dry_run
5746
5842
  # Checks if your request will succeed. `DryRun` is an optional
5747
5843
  # parameter.
5748
5844
  #
5749
- # To learn more about how to use this parameter, see [Testing your KMS
5750
- # API calls][1] in the *Key Management Service Developer Guide*.
5845
+ # To learn more about how to use this parameter, see [Testing your
5846
+ # permissions][1] in the *Key Management Service Developer Guide*.
5751
5847
  #
5752
5848
  #
5753
5849
  #
5754
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5850
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5755
5851
  #
5756
5852
  # @return [Types::GenerateMacResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5757
5853
  #
@@ -5825,7 +5921,8 @@ module Aws::KMS
5825
5921
  # Management Service Developer Guide*.
5826
5922
  #
5827
5923
  # For more information about entropy and random number generation, see
5828
- # [Key Management Service Cryptographic Details][4].
5924
+ # [Entropy and random number generation][4] in the *Key Management
5925
+ # Service Developer Guide*.
5829
5926
  #
5830
5927
  # **Cross-account use**: Not applicable. `GenerateRandom` does not use
5831
5928
  # any account-specific resources, such as KMS keys.
@@ -5840,9 +5937,9 @@ module Aws::KMS
5840
5937
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
5841
5938
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
5842
5939
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
5843
- # [4]: https://docs.aws.amazon.com/kms/latest/cryptographic-details/
5940
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#entropy-and-random-numbers
5844
5941
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5845
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5942
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5846
5943
  #
5847
5944
  # @option params [Integer] :number_of_bytes
5848
5945
  # The length of the random byte string. This parameter is required.
@@ -5962,7 +6059,7 @@ module Aws::KMS
5962
6059
  #
5963
6060
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5964
6061
  # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html
5965
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6062
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5966
6063
  #
5967
6064
  # @option params [required, String] :key_id
5968
6065
  # Gets the key policy for the specified KMS key.
@@ -6030,16 +6127,16 @@ module Aws::KMS
6030
6127
  # enabled for the specified KMS key, the [rotation period][2], and the
6031
6128
  # next scheduled rotation date.
6032
6129
  #
6033
- # Automatic key rotation is supported only on [symmetric encryption KMS
6034
- # keys][3]. You cannot enable automatic rotation of [asymmetric KMS
6035
- # keys][4], [HMAC KMS keys][5], KMS keys with [imported key
6036
- # material][6], or KMS keys in a [custom key store][7]. To enable or
6037
- # disable automatic rotation of a set of related [multi-Region keys][8],
6038
- # set the property on the primary key..
6130
+ # Automatic key rotation is supported only on symmetric encryption KMS
6131
+ # keys. You cannot enable automatic rotation of [asymmetric KMS
6132
+ # keys][3], [HMAC KMS keys][4], KMS keys with [imported key
6133
+ # material][5], or KMS keys in a [custom key store][6]. To enable or
6134
+ # disable automatic rotation of a set of related [multi-Region keys][7],
6135
+ # set the property on the primary key.
6039
6136
  #
6040
6137
  # You can enable (EnableKeyRotation) and disable automatic rotation
6041
6138
  # (DisableKeyRotation) of the key material in customer managed KMS keys.
6042
- # Key material rotation of [Amazon Web Services managed KMS keys][9] is
6139
+ # Key material rotation of [Amazon Web Services managed KMS keys][8] is
6043
6140
  # not configurable. KMS always rotates the key material in Amazon Web
6044
6141
  # Services managed KMS keys every year. The key rotation status for
6045
6142
  # Amazon Web Services managed KMS keys is always `true`.
@@ -6058,7 +6155,7 @@ module Aws::KMS
6058
6155
  # </note>
6059
6156
  #
6060
6157
  # The KMS key that you use for this operation must be in a compatible
6061
- # key state. For details, see [Key states of KMS keys][10] in the *Key
6158
+ # key state. For details, see [Key states of KMS keys][9] in the *Key
6062
6159
  # Management Service Developer Guide*.
6063
6160
  #
6064
6161
  # * Disabled: The key rotation status does not change when you disable a
@@ -6079,7 +6176,7 @@ module Aws::KMS
6079
6176
  # a different Amazon Web Services account, specify the key ARN in the
6080
6177
  # value of the `KeyId` parameter.
6081
6178
  #
6082
- # **Required permissions**: [kms:GetKeyRotationStatus][11] (key policy)
6179
+ # **Required permissions**: [kms:GetKeyRotationStatus][10] (key policy)
6083
6180
  #
6084
6181
  # **Related operations:**
6085
6182
  #
@@ -6092,22 +6189,21 @@ module Aws::KMS
6092
6189
  # * RotateKeyOnDemand
6093
6190
  #
6094
6191
  # **Eventual consistency**: The KMS API follows an eventual consistency
6095
- # model. For more information, see [KMS eventual consistency][12].
6192
+ # model. For more information, see [KMS eventual consistency][11].
6096
6193
  #
6097
6194
  #
6098
6195
  #
6099
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
6196
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
6100
6197
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotation-period
6101
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks
6102
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
6103
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
6104
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
6105
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
6106
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
6107
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
6108
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6109
- # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6110
- # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6198
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
6199
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
6200
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
6201
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
6202
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
6203
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
6204
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6205
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6206
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
6111
6207
  #
6112
6208
  # @option params [required, String] :key_id
6113
6209
  # Gets the rotation status for the specified KMS key.
@@ -6181,9 +6277,7 @@ module Aws::KMS
6181
6277
  # By default, KMS keys are created with key material that KMS generates.
6182
6278
  # This operation supports [Importing key material][1], an advanced
6183
6279
  # feature that lets you generate and import the cryptographic key
6184
- # material for a KMS key. For more information about importing key
6185
- # material into KMS, see [Importing key material][1] in the *Key
6186
- # Management Service Developer Guide*.
6280
+ # material for a KMS key.
6187
6281
  #
6188
6282
  # Before calling `GetParametersForImport`, use the CreateKey operation
6189
6283
  # with an `Origin` value of `EXTERNAL` to create a KMS key with no key
@@ -6252,11 +6346,11 @@ module Aws::KMS
6252
6346
  #
6253
6347
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
6254
6348
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
6255
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
6256
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material
6349
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
6350
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#reimport-key-material
6257
6351
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6258
6352
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6259
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6353
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
6260
6354
  #
6261
6355
  # @option params [required, String] :key_id
6262
6356
  # The identifier of the KMS key that will be associated with the
@@ -6280,9 +6374,8 @@ module Aws::KMS
6280
6374
  # @option params [required, String] :wrapping_algorithm
6281
6375
  # The algorithm you will use with the RSA public key (`PublicKey`) in
6282
6376
  # the response to protect your key material during import. For more
6283
- # information, see [Select a wrapping
6284
- # algorithm](kms/latest/developerguide/importing-keys-get-public-key-and-token.html#select-wrapping-algorithm)
6285
- # in the *Key Management Service Developer Guide*.
6377
+ # information, see [Select a wrapping algorithm][1] in the *Key
6378
+ # Management Service Developer Guide*.
6286
6379
  #
6287
6380
  # For RSA\_AES wrapping algorithms, you encrypt your key material with
6288
6381
  # an AES key that you generate, then encrypt your AES key with the RSA
@@ -6314,6 +6407,10 @@ module Aws::KMS
6314
6407
  # * **RSAES\_PKCS1\_V1\_5** (Deprecated) — As of October 10, 2023, KMS
6315
6408
  # does not support the RSAES\_PKCS1\_V1\_5 wrapping algorithm.
6316
6409
  #
6410
+ #
6411
+ #
6412
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-get-public-key-and-token.html#select-wrapping-algorithm
6413
+ #
6317
6414
  # @option params [required, String] :wrapping_key_spec
6318
6415
  # The type of RSA public key to return in the response. You will use
6319
6416
  # this wrapping key with the specified wrapping algorithm to protect
@@ -6461,8 +6558,9 @@ module Aws::KMS
6461
6558
  # * [KeyUsage][3]: Whether the key is used for encryption, signing, or
6462
6559
  # deriving a shared secret.
6463
6560
  #
6464
- # * [EncryptionAlgorithms][4] or [SigningAlgorithms][5]: A list of the
6465
- # encryption algorithms or the signing algorithms for the key.
6561
+ # * [EncryptionAlgorithms][4], [KeyAgreementAlgorithms][5], or
6562
+ # [SigningAlgorithms][6]: A list of the encryption algorithms, key
6563
+ # agreement algorithms, or signing algorithms for the key.
6466
6564
  #
6467
6565
  # Although KMS cannot enforce these restrictions on external operations,
6468
6566
  # it is crucial that you use this information to prevent the public key
@@ -6475,22 +6573,22 @@ module Aws::KMS
6475
6573
  # To verify a signature outside of KMS with an SM2 public key (China
6476
6574
  # Regions only), you must specify the distinguishing ID. By default, KMS
6477
6575
  # uses `1234567812345678` as the distinguishing ID. For more
6478
- # information, see [Offline verification with SM2 key pairs][6].
6576
+ # information, see [Offline verification with SM2 key pairs][7].
6479
6577
  #
6480
6578
  # The KMS key that you use for this operation must be in a compatible
6481
- # key state. For details, see [Key states of KMS keys][7] in the *Key
6579
+ # key state. For details, see [Key states of KMS keys][8] in the *Key
6482
6580
  # Management Service Developer Guide*.
6483
6581
  #
6484
6582
  # **Cross-account use**: Yes. To perform this operation with a KMS key
6485
6583
  # in a different Amazon Web Services account, specify the key ARN or
6486
6584
  # alias ARN in the value of the `KeyId` parameter.
6487
6585
  #
6488
- # **Required permissions**: [kms:GetPublicKey][8] (key policy)
6586
+ # **Required permissions**: [kms:GetPublicKey][9] (key policy)
6489
6587
  #
6490
6588
  # **Related operations**: CreateKey
6491
6589
  #
6492
6590
  # **Eventual consistency**: The KMS API follows an eventual consistency
6493
- # model. For more information, see [KMS eventual consistency][9].
6591
+ # model. For more information, see [KMS eventual consistency][10].
6494
6592
  #
6495
6593
  #
6496
6594
  #
@@ -6498,11 +6596,12 @@ module Aws::KMS
6498
6596
  # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeySpec
6499
6597
  # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeyUsage
6500
6598
  # [4]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-EncryptionAlgorithms
6501
- # [5]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-SigningAlgorithms
6502
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
6503
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6504
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6505
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6599
+ # [5]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeyAgreementAlgorithms
6600
+ # [6]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-SigningAlgorithms
6601
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
6602
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6603
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6604
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
6506
6605
  #
6507
6606
  # @option params [required, String] :key_id
6508
6607
  # Identifies the asymmetric KMS key that includes the public key.
@@ -6537,7 +6636,7 @@ module Aws::KMS
6537
6636
  #
6538
6637
  #
6539
6638
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
6540
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
6639
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
6541
6640
  #
6542
6641
  # @return [Types::GetPublicKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6543
6642
  #
@@ -6585,12 +6684,12 @@ module Aws::KMS
6585
6684
  # resp.key_id #=> String
6586
6685
  # resp.public_key #=> String
6587
6686
  # 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"
6588
- # 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"
6687
+ # 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"
6589
6688
  # resp.key_usage #=> String, one of "SIGN_VERIFY", "ENCRYPT_DECRYPT", "GENERATE_VERIFY_MAC", "KEY_AGREEMENT"
6590
6689
  # resp.encryption_algorithms #=> Array
6591
6690
  # resp.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
6592
6691
  # resp.signing_algorithms #=> Array
6593
- # 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"
6692
+ # 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"
6594
6693
  # resp.key_agreement_algorithms #=> Array
6595
6694
  # resp.key_agreement_algorithms[0] #=> String, one of "ECDH"
6596
6695
  #
@@ -6604,53 +6703,47 @@ module Aws::KMS
6604
6703
  end
6605
6704
 
6606
6705
  # Imports or reimports key material into an existing KMS key that was
6607
- # created without key material. `ImportKeyMaterial` also sets the
6608
- # expiration model and expiration date of the imported key material.
6609
- #
6610
- # By default, KMS keys are created with key material that KMS generates.
6611
- # This operation supports [Importing key material][1], an advanced
6612
- # feature that lets you generate and import the cryptographic key
6613
- # material for a KMS key. For more information about importing key
6614
- # material into KMS, see [Importing key material][1] in the *Key
6615
- # Management Service Developer Guide*.
6706
+ # created without key material. You can also use this operation to set
6707
+ # or update the expiration model and expiration date of the imported key
6708
+ # material.
6616
6709
  #
6617
- # After you successfully import key material into a KMS key, you can
6618
- # [reimport the same key material][2] into that KMS key, but you cannot
6619
- # import different key material. You might reimport key material to
6620
- # replace key material that expired or key material that you deleted.
6621
- # You might also reimport key material to change the expiration model or
6622
- # expiration date of the key material.
6710
+ # By default, KMS creates KMS keys with key material that it generates.
6711
+ # You can also generate and import your own key material. For more
6712
+ # information about importing key material, see [Importing key
6713
+ # material][1].
6714
+ #
6715
+ # For asymmetric, HMAC and multi-Region keys, you cannot change the key
6716
+ # material after the initial import. You can import multiple key
6717
+ # materials into single-Region, symmetric encryption keys and rotate the
6718
+ # key material on demand using `RotateKeyOnDemand`.
6719
+ #
6720
+ # After you import key material, you can [reimport the same key
6721
+ # material][2] into that KMS key or, if the key supports on-demand
6722
+ # rotation, import new key material. You can use the `ImportType`
6723
+ # parameter to indicate whether you are importing new key material or
6724
+ # re-importing previously imported key material. You might reimport key
6725
+ # material to replace key material that expired or key material that you
6726
+ # deleted. You might also reimport key material to change the expiration
6727
+ # model or expiration date of the key material.
6623
6728
  #
6624
6729
  # Each time you import key material into KMS, you can determine whether
6625
6730
  # (`ExpirationModel`) and when (`ValidTo`) the key material expires. To
6626
6731
  # change the expiration of your key material, you must import it again,
6627
6732
  # either by calling `ImportKeyMaterial` or using the [import
6628
- # features](kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-import-key-material-console)
6629
- # of the KMS console.
6733
+ # features][3] of the KMS console.
6630
6734
  #
6631
- # Before calling `ImportKeyMaterial`:
6735
+ # Before you call `ImportKeyMaterial`, complete these steps:
6632
6736
  #
6633
- # * Create or identify a KMS key with no key material. The KMS key must
6634
- # have an `Origin` value of `EXTERNAL`, which indicates that the KMS
6635
- # key is designed for imported key material.
6737
+ # * Create or identify a KMS key with `EXTERNAL` origin, which indicates
6738
+ # that the KMS key is designed for imported key material.
6636
6739
  #
6637
- # To create an new KMS key for imported key material, call the
6740
+ # To create a new KMS key for imported key material, call the
6638
6741
  # CreateKey operation with an `Origin` value of `EXTERNAL`. You can
6639
6742
  # create a symmetric encryption KMS key, HMAC KMS key, asymmetric
6640
- # encryption KMS key, or asymmetric signing KMS key. You can also
6641
- # import key material into a [multi-Region
6642
- # key](kms/latest/developerguide/multi-region-keys-overview.html) of
6643
- # any supported type. However, you can't import key material into a
6644
- # KMS key in a [custom key
6645
- # store](kms/latest/developerguide/custom-key-store-overview.html).
6646
- #
6647
- # * Use the DescribeKey operation to verify that the `KeyState` of the
6648
- # KMS key is `PendingImport`, which indicates that the KMS key has no
6649
- # key material.
6650
- #
6651
- # If you are reimporting the same key material into an existing KMS
6652
- # key, you might need to call the DeleteImportedKeyMaterial to delete
6653
- # its existing key material.
6743
+ # encryption KMS key, asymmetric key agreement key, or asymmetric
6744
+ # signing KMS key. You can also import key material into a
6745
+ # [multi-Region key][4] of any supported type. However, you can't
6746
+ # import key material into a KMS key in a [custom key store][5].
6654
6747
  #
6655
6748
  # * Call the GetParametersForImport operation to get a public key and
6656
6749
  # import token set for importing key material.
@@ -6665,10 +6758,9 @@ module Aws::KMS
6665
6758
  # * The key ID or key ARN of the KMS key to associate with the imported
6666
6759
  # key material. Its `Origin` must be `EXTERNAL` and its `KeyState`
6667
6760
  # must be `PendingImport`. You cannot perform this operation on a KMS
6668
- # key in a [custom key
6669
- # store](kms/latest/developerguide/custom-key-store-overview.html), or
6670
- # on a KMS key in a different Amazon Web Services account. To get the
6671
- # `Origin` and `KeyState` of a KMS key, call DescribeKey.
6761
+ # key in a [custom key store][5], or on a KMS key in a different
6762
+ # Amazon Web Services account. To get the `Origin` and `KeyState` of a
6763
+ # KMS key, call DescribeKey.
6672
6764
  #
6673
6765
  # * The encrypted key material.
6674
6766
  #
@@ -6678,7 +6770,7 @@ module Aws::KMS
6678
6770
  #
6679
6771
  # * Whether the key material expires (`ExpirationModel`) and, if so,
6680
6772
  # when (`ValidTo`). For help with this choice, see [Setting an
6681
- # expiration time][3] in the *Key Management Service Developer Guide*.
6773
+ # expiration time][6] in the *Key Management Service Developer Guide*.
6682
6774
  #
6683
6775
  # If you set an expiration date, KMS deletes the key material from the
6684
6776
  # KMS key on the specified date, making the KMS key unusable. To use
@@ -6690,23 +6782,27 @@ module Aws::KMS
6690
6782
  #
6691
6783
  # When this operation is successful, the key state of the KMS key
6692
6784
  # changes from `PendingImport` to `Enabled`, and you can use the KMS key
6693
- # in cryptographic operations.
6785
+ # in cryptographic operations. For single-Region, symmetric encryption
6786
+ # keys, you will need to import all of the key materials associated with
6787
+ # the KMS key to change its state to `Enabled`. Use the
6788
+ # `ListKeyRotations` operation to list the ID and import state of each
6789
+ # key material associated with a KMS key.
6694
6790
  #
6695
6791
  # If this operation fails, use the exception to help determine the
6696
6792
  # problem. If the error is related to the key material, the import
6697
6793
  # token, or wrapping key, use GetParametersForImport to get a new public
6698
6794
  # key and import token for the KMS key and repeat the import procedure.
6699
- # For help, see [How To Import Key Material][4] in the *Key Management
6700
- # Service Developer Guide*.
6795
+ # For help, see [Create a KMS key with imported key material][7] in the
6796
+ # *Key Management Service Developer Guide*.
6701
6797
  #
6702
6798
  # The KMS key that you use for this operation must be in a compatible
6703
- # key state. For details, see [Key states of KMS keys][5] in the *Key
6799
+ # key state. For details, see [Key states of KMS keys][8] in the *Key
6704
6800
  # Management Service Developer Guide*.
6705
6801
  #
6706
6802
  # **Cross-account use**: No. You cannot perform this operation on a KMS
6707
6803
  # key in a different Amazon Web Services account.
6708
6804
  #
6709
- # **Required permissions**: [kms:ImportKeyMaterial][6] (key policy)
6805
+ # **Required permissions**: [kms:ImportKeyMaterial][9] (key policy)
6710
6806
  #
6711
6807
  # **Related operations:**
6712
6808
  #
@@ -6714,18 +6810,25 @@ module Aws::KMS
6714
6810
  #
6715
6811
  # * GetParametersForImport
6716
6812
  #
6813
+ # * ListKeyRotations
6814
+ #
6815
+ # * RotateKeyOnDemand
6816
+ #
6717
6817
  # **Eventual consistency**: The KMS API follows an eventual consistency
6718
- # model. For more information, see [KMS eventual consistency][7].
6818
+ # model. For more information, see [KMS eventual consistency][10].
6719
6819
  #
6720
6820
  #
6721
6821
  #
6722
6822
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
6723
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material
6724
- # [3]: https://docs.aws.amazon.com/en_us/kms/latest/developerguide/importing-keys.html#importing-keys-expiration
6725
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#importing-keys-overview
6726
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6727
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6728
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6823
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#reimport-key-material
6824
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-import-key-material-console
6825
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
6826
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
6827
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-expiration
6828
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-conceptual.html
6829
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6830
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6831
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
6729
6832
  #
6730
6833
  # @option params [required, String] :key_id
6731
6834
  # The identifier of the KMS key that will be associated with the
@@ -6736,11 +6839,9 @@ module Aws::KMS
6736
6839
  #
6737
6840
  # The KMS key can be a symmetric encryption KMS key, HMAC KMS key,
6738
6841
  # asymmetric encryption KMS key, or asymmetric signing KMS key,
6739
- # including a [multi-Region
6740
- # key](kms/latest/developerguide/multi-region-keys-overview.html) of any
6741
- # supported type. You cannot perform this operation on a KMS key in a
6742
- # custom key store, or on a KMS key in a different Amazon Web Services
6743
- # account.
6842
+ # including a [multi-Region key][1] of any supported type. You cannot
6843
+ # perform this operation on a KMS key in a custom key store, or on a KMS
6844
+ # key in a different Amazon Web Services account.
6744
6845
  #
6745
6846
  # Specify the key ID or key ARN of the KMS key.
6746
6847
  #
@@ -6754,6 +6855,10 @@ module Aws::KMS
6754
6855
  # To get the key ID and key ARN for a KMS key, use ListKeys or
6755
6856
  # DescribeKey.
6756
6857
  #
6858
+ #
6859
+ #
6860
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
6861
+ #
6757
6862
  # @option params [required, String, StringIO, File] :import_token
6758
6863
  # The import token that you received in the response to a previous
6759
6864
  # GetParametersForImport request. It must be from the same response that
@@ -6798,9 +6903,47 @@ module Aws::KMS
6798
6903
  #
6799
6904
  #
6800
6905
  #
6801
- # [1]: https://docs.aws.amazon.com/en_us/kms/latest/developerguide/importing-keys.html#importing-keys-expiration
6906
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-expiration
6802
6907
  #
6803
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6908
+ # @option params [String] :import_type
6909
+ # Indicates whether the key material being imported is previously
6910
+ # associated with this KMS key or not. This parameter is optional and
6911
+ # only usable with symmetric encryption keys. The default is
6912
+ # `EXISTING_KEY_MATERIAL`. If no key material has ever been imported
6913
+ # into the KMS key, and this parameter is omitted, the parameter
6914
+ # defaults to `NEW_KEY_MATERIAL`.
6915
+ #
6916
+ # @option params [String] :key_material_description
6917
+ # Description for the key material being imported. This parameter is
6918
+ # optional and only usable with symmetric encryption keys. If you do not
6919
+ # specify a key material description, KMS retains the value you
6920
+ # specified when you last imported the same key material into this KMS
6921
+ # key.
6922
+ #
6923
+ # @option params [String] :key_material_id
6924
+ # Identifies the key material being imported. This parameter is optional
6925
+ # and only usable with symmetric encryption keys. You cannot specify a
6926
+ # key material ID with `ImportType` set to `NEW_KEY_MATERIAL`. Whenever
6927
+ # you import key material into a symmetric encryption key, KMS assigns a
6928
+ # unique identifier to the key material based on the KMS key ID and the
6929
+ # imported key material. When you re-import key material with a
6930
+ # specified key material ID, KMS:
6931
+ #
6932
+ # * Computes the identifier for the key material
6933
+ #
6934
+ # * Matches the computed identifier against the specified key material
6935
+ # ID
6936
+ #
6937
+ # * Verifies that the key material ID is already associated with the KMS
6938
+ # key
6939
+ #
6940
+ # To get the list of key material IDs associated with a KMS key, use
6941
+ # ListKeyRotations.
6942
+ #
6943
+ # @return [Types::ImportKeyMaterialResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6944
+ #
6945
+ # * {Types::ImportKeyMaterialResponse#key_id #key_id} => String
6946
+ # * {Types::ImportKeyMaterialResponse#key_material_id #key_material_id} => String
6804
6947
  #
6805
6948
  #
6806
6949
  # @example Example: To import key material into a KMS key
@@ -6814,6 +6957,12 @@ module Aws::KMS
6814
6957
  # 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.
6815
6958
  # })
6816
6959
  #
6960
+ # resp.to_h outputs the following:
6961
+ # {
6962
+ # 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.
6963
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # Identifies the imported key material.
6964
+ # }
6965
+ #
6817
6966
  # @example Example: To import key material into a KMS key
6818
6967
  #
6819
6968
  # # The following example imports key material that expires in 3 days. It might be part of an application that frequently
@@ -6827,6 +6976,12 @@ module Aws::KMS
6827
6976
  # valid_to: Time.parse("2023-09-30T00:00:00-00:00"), # Specifies the date and time when the imported key material expires.
6828
6977
  # })
6829
6978
  #
6979
+ # resp.to_h outputs the following:
6980
+ # {
6981
+ # 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.
6982
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # Identifies the imported key material.
6983
+ # }
6984
+ #
6830
6985
  # @example Request syntax with placeholder values
6831
6986
  #
6832
6987
  # resp = client.import_key_material({
@@ -6835,8 +6990,16 @@ module Aws::KMS
6835
6990
  # encrypted_key_material: "data", # required
6836
6991
  # valid_to: Time.now,
6837
6992
  # expiration_model: "KEY_MATERIAL_EXPIRES", # accepts KEY_MATERIAL_EXPIRES, KEY_MATERIAL_DOES_NOT_EXPIRE
6993
+ # import_type: "NEW_KEY_MATERIAL", # accepts NEW_KEY_MATERIAL, EXISTING_KEY_MATERIAL
6994
+ # key_material_description: "KeyMaterialDescriptionType",
6995
+ # key_material_id: "BackingKeyIdType",
6838
6996
  # })
6839
6997
  #
6998
+ # @example Response structure
6999
+ #
7000
+ # resp.key_id #=> String
7001
+ # resp.key_material_id #=> String
7002
+ #
6840
7003
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterial AWS API Documentation
6841
7004
  #
6842
7005
  # @overload import_key_material(params = {})
@@ -6887,10 +7050,10 @@ module Aws::KMS
6887
7050
  #
6888
7051
  #
6889
7052
  #
6890
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#aliases-limit
7053
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/resource-limits.html#aliases-per-key
6891
7054
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6892
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
6893
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7055
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/alias-access.html
7056
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
6894
7057
  #
6895
7058
  # @option params [String] :key_id
6896
7059
  # Lists only aliases that are associated with the specified KMS key.
@@ -7022,8 +7185,9 @@ module Aws::KMS
7022
7185
  #
7023
7186
  # For detailed information about grants, including grant terminology,
7024
7187
  # see [Grants in KMS][1] in the <i> <i>Key Management Service Developer
7025
- # Guide</i> </i>. For examples of working with grants in several
7026
- # programming languages, see [Programming grants][2].
7188
+ # Guide</i> </i>. For examples of creating grants in several programming
7189
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
7190
+ # CLI][2].
7027
7191
  #
7028
7192
  # <note markdown="1"> The `GranteePrincipal` field in the `ListGrants` response usually
7029
7193
  # contains the user or role designated as the grantee principal in the
@@ -7056,10 +7220,10 @@ module Aws::KMS
7056
7220
  #
7057
7221
  #
7058
7222
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
7059
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
7223
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
7060
7224
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services
7061
7225
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7062
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7226
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7063
7227
  #
7064
7228
  # @option params [Integer] :limit
7065
7229
  # Use this parameter to specify the maximum number of items to return.
@@ -7235,7 +7399,7 @@ module Aws::KMS
7235
7399
  #
7236
7400
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7237
7401
  # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html
7238
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7402
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7239
7403
  #
7240
7404
  # @option params [required, String] :key_id
7241
7405
  # Gets the names of key policies for the specified KMS key.
@@ -7317,14 +7481,15 @@ module Aws::KMS
7317
7481
  req.send_request(options)
7318
7482
  end
7319
7483
 
7320
- # Returns information about all completed key material rotations for the
7321
- # specified KMS key.
7484
+ # Returns information about the key materials associated with the
7485
+ # specified KMS key. You can use the optional `IncludeKeyMaterial`
7486
+ # parameter to control which key materials are included in the response.
7322
7487
  #
7323
7488
  # You must specify the KMS key in all requests. You can refine the key
7324
7489
  # rotations list by limiting the number of rotations returned.
7325
7490
  #
7326
7491
  # For detailed information about automatic and on-demand key rotations,
7327
- # see [Rotating KMS keys][1] in the *Key Management Service Developer
7492
+ # see [Rotate KMS keys][1] in the *Key Management Service Developer
7328
7493
  # Guide*.
7329
7494
  #
7330
7495
  # **Cross-account use**: No. You cannot perform this operation on a KMS
@@ -7336,10 +7501,14 @@ module Aws::KMS
7336
7501
  #
7337
7502
  # * EnableKeyRotation
7338
7503
  #
7504
+ # * DeleteImportedKeyMaterial
7505
+ #
7339
7506
  # * DisableKeyRotation
7340
7507
  #
7341
7508
  # * GetKeyRotationStatus
7342
7509
  #
7510
+ # * ImportKeyMaterial
7511
+ #
7343
7512
  # * RotateKeyOnDemand
7344
7513
  #
7345
7514
  # **Eventual consistency**: The KMS API follows an eventual consistency
@@ -7349,7 +7518,7 @@ module Aws::KMS
7349
7518
  #
7350
7519
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
7351
7520
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7352
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7521
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7353
7522
  #
7354
7523
  # @option params [required, String] :key_id
7355
7524
  # Gets the key rotations for the specified KMS key.
@@ -7366,6 +7535,16 @@ module Aws::KMS
7366
7535
  # To get the key ID and key ARN for a KMS key, use ListKeys or
7367
7536
  # DescribeKey.
7368
7537
  #
7538
+ # @option params [String] :include_key_material
7539
+ # Use this optional parameter to control which key materials associated
7540
+ # with this key are listed in the response. The default value of this
7541
+ # parameter is `ROTATIONS_ONLY`. If you omit this parameter, KMS returns
7542
+ # information on the key materials created by automatic or on-demand key
7543
+ # rotation. When you specify a value of `ALL_KEY_MATERIAL`, KMS adds the
7544
+ # first key material and any imported key material pending rotation to
7545
+ # the response. This parameter can only be used with KMS keys that
7546
+ # support automatic or on-demand key rotation.
7547
+ #
7369
7548
  # @option params [Integer] :limit
7370
7549
  # Use this parameter to specify the maximum number of items to return.
7371
7550
  # When this value is present, KMS does not return more than the
@@ -7418,6 +7597,7 @@ module Aws::KMS
7418
7597
  #
7419
7598
  # resp = client.list_key_rotations({
7420
7599
  # key_id: "KeyIdType", # required
7600
+ # include_key_material: "ALL_KEY_MATERIAL", # accepts ALL_KEY_MATERIAL, ROTATIONS_ONLY
7421
7601
  # limit: 1,
7422
7602
  # marker: "MarkerType",
7423
7603
  # })
@@ -7426,6 +7606,12 @@ module Aws::KMS
7426
7606
  #
7427
7607
  # resp.rotations #=> Array
7428
7608
  # resp.rotations[0].key_id #=> String
7609
+ # resp.rotations[0].key_material_id #=> String
7610
+ # resp.rotations[0].key_material_description #=> String
7611
+ # resp.rotations[0].import_state #=> String, one of "IMPORTED", "PENDING_IMPORT"
7612
+ # resp.rotations[0].key_material_state #=> String, one of "NON_CURRENT", "CURRENT", "PENDING_ROTATION"
7613
+ # resp.rotations[0].expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
7614
+ # resp.rotations[0].valid_to #=> Time
7429
7615
  # resp.rotations[0].rotation_date #=> Time
7430
7616
  # resp.rotations[0].rotation_type #=> String, one of "AUTOMATIC", "ON_DEMAND"
7431
7617
  # resp.next_marker #=> String
@@ -7464,7 +7650,7 @@ module Aws::KMS
7464
7650
  #
7465
7651
  #
7466
7652
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7467
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7653
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7468
7654
  #
7469
7655
  # @option params [Integer] :limit
7470
7656
  # Use this parameter to specify the maximum number of items to return.
@@ -7560,7 +7746,7 @@ module Aws::KMS
7560
7746
  # For general information about tags, including the format and syntax,
7561
7747
  # see [Tagging Amazon Web Services resources][1] in the *Amazon Web
7562
7748
  # Services General Reference*. For information about using tags in KMS,
7563
- # see [Tagging keys][2].
7749
+ # see [Tags in KMS][2].
7564
7750
  #
7565
7751
  # **Cross-account use**: No. You cannot perform this operation on a KMS
7566
7752
  # key in a different Amazon Web Services account.
@@ -7585,7 +7771,7 @@ module Aws::KMS
7585
7771
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
7586
7772
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
7587
7773
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7588
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7774
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7589
7775
  #
7590
7776
  # @option params [required, String] :key_id
7591
7777
  # Gets tags on the specified KMS key.
@@ -7690,8 +7876,9 @@ module Aws::KMS
7690
7876
  #
7691
7877
  # For detailed information about grants, including grant terminology,
7692
7878
  # see [Grants in KMS][1] in the <i> <i>Key Management Service Developer
7693
- # Guide</i> </i>. For examples of working with grants in several
7694
- # programming languages, see [Programming grants][2].
7879
+ # Guide</i> </i>. For examples of creating grants in several programming
7880
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
7881
+ # CLI][2].
7695
7882
  #
7696
7883
  # **Cross-account use**: You must specify a principal in your Amazon Web
7697
7884
  # Services account. This operation returns a list of grants where the
@@ -7729,9 +7916,9 @@ module Aws::KMS
7729
7916
  #
7730
7917
  #
7731
7918
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
7732
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
7919
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
7733
7920
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7734
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7921
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7735
7922
  #
7736
7923
  # @option params [Integer] :limit
7737
7924
  # Use this parameter to specify the maximum number of items to return.
@@ -7841,8 +8028,9 @@ module Aws::KMS
7841
8028
  # formatting a JSON policy document, see the [IAM JSON Policy
7842
8029
  # Reference][2] in the <i> <i>Identity and Access Management User
7843
8030
  # Guide</i> </i>. For examples of adding a key policy in multiple
7844
- # programming languages, see [Setting a key policy][3] in the *Key
7845
- # Management Service Developer Guide*.
8031
+ # programming languages, see [Use PutKeyPolicy with an Amazon Web
8032
+ # Services SDK or CLI][3] in the *Key Management Service Developer
8033
+ # Guide*.
7846
8034
  #
7847
8035
  # **Cross-account use**: No. You cannot perform this operation on a KMS
7848
8036
  # key in a different Amazon Web Services account.
@@ -7858,9 +8046,9 @@ module Aws::KMS
7858
8046
  #
7859
8047
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
7860
8048
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
7861
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-key-policies.html#put-policy
8049
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_PutKeyPolicy_section.html
7862
8050
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7863
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8051
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7864
8052
  #
7865
8053
  # @option params [required, String] :key_id
7866
8054
  # Sets the key policy on the specified KMS key.
@@ -7901,6 +8089,17 @@ module Aws::KMS
7901
8089
  # not always immediately visible][2] in the *Amazon Web Services
7902
8090
  # Identity and Access Management User Guide*.
7903
8091
  #
8092
+ # <note markdown="1"> If either of the required `Resource` or `Action` elements are missing
8093
+ # from a key policy statement, the policy statement has no effect. When
8094
+ # a key policy statement is missing one of these elements, the KMS
8095
+ # console correctly reports an error, but the `PutKeyPolicy` API request
8096
+ # succeeds, even though the policy statement is ineffective.
8097
+ #
8098
+ # For more information on required key policy elements, see [Elements in
8099
+ # a key policy][3] in the *Key Management Service Developer Guide*.
8100
+ #
8101
+ # </note>
8102
+ #
7904
8103
  # A key policy document can include only the following characters:
7905
8104
  #
7906
8105
  # * Printable ASCII characters from the space character (`\u0020`)
@@ -7912,18 +8111,24 @@ module Aws::KMS
7912
8111
  # * The tab (`\u0009`), line feed (`\u000A`), and carriage return
7913
8112
  # (`\u000D`) special characters
7914
8113
  #
7915
- # For information about key policies, see [Key policies in KMS][3] in
8114
+ # <note markdown="1"> If the key policy exceeds the length constraint, KMS returns a
8115
+ # `LimitExceededException`.
8116
+ #
8117
+ # </note>
8118
+ #
8119
+ # For information about key policies, see [Key policies in KMS][4] in
7916
8120
  # the *Key Management Service Developer Guide*.For help writing and
7917
8121
  # formatting a JSON policy document, see the [IAM JSON Policy
7918
- # Reference][4] in the <i> <i>Identity and Access Management User
8122
+ # Reference][5] in the <i> <i>Identity and Access Management User
7919
8123
  # Guide</i> </i>.
7920
8124
  #
7921
8125
  #
7922
8126
  #
7923
8127
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
7924
8128
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
7925
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
7926
- # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
8129
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html#key-policy-elements
8130
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
8131
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
7927
8132
  #
7928
8133
  # @option params [Boolean] :bypass_policy_lockout_safety_check
7929
8134
  # Skips ("bypasses") the key policy lockout safety check. The default
@@ -8072,15 +8277,15 @@ module Aws::KMS
8072
8277
  #
8073
8278
  #
8074
8279
  #
8075
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-manually
8076
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
8077
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#asymmetric-cmks
8280
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys-manually.html
8281
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
8282
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
8078
8283
  # [4]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
8079
8284
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
8080
8285
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8081
8286
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
8082
8287
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
8083
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8288
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8084
8289
  #
8085
8290
  # @option params [required, String, StringIO, File] :ciphertext_blob
8086
8291
  # Ciphertext of the data to reencrypt.
@@ -8103,7 +8308,7 @@ module Aws::KMS
8103
8308
  #
8104
8309
  #
8105
8310
  #
8106
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
8311
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
8107
8312
  #
8108
8313
  # @option params [String] :source_key_id
8109
8314
  # Specifies the KMS key that KMS will use to decrypt the ciphertext
@@ -8189,7 +8394,7 @@ module Aws::KMS
8189
8394
  #
8190
8395
  #
8191
8396
  #
8192
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
8397
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
8193
8398
  #
8194
8399
  # @option params [String] :source_encryption_algorithm
8195
8400
  # Specifies the encryption algorithm that KMS will use to decrypt the
@@ -8223,18 +8428,18 @@ module Aws::KMS
8223
8428
  #
8224
8429
  #
8225
8430
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
8226
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
8431
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
8227
8432
  #
8228
8433
  # @option params [Boolean] :dry_run
8229
8434
  # Checks if your request will succeed. `DryRun` is an optional
8230
8435
  # parameter.
8231
8436
  #
8232
- # To learn more about how to use this parameter, see [Testing your KMS
8233
- # API calls][1] in the *Key Management Service Developer Guide*.
8437
+ # To learn more about how to use this parameter, see [Testing your
8438
+ # permissions][1] in the *Key Management Service Developer Guide*.
8234
8439
  #
8235
8440
  #
8236
8441
  #
8237
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
8442
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
8238
8443
  #
8239
8444
  # @return [Types::ReEncryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8240
8445
  #
@@ -8243,6 +8448,8 @@ module Aws::KMS
8243
8448
  # * {Types::ReEncryptResponse#key_id #key_id} => String
8244
8449
  # * {Types::ReEncryptResponse#source_encryption_algorithm #source_encryption_algorithm} => String
8245
8450
  # * {Types::ReEncryptResponse#destination_encryption_algorithm #destination_encryption_algorithm} => String
8451
+ # * {Types::ReEncryptResponse#source_key_material_id #source_key_material_id} => String
8452
+ # * {Types::ReEncryptResponse#destination_key_material_id #destination_key_material_id} => String
8246
8453
  #
8247
8454
  #
8248
8455
  # @example Example: To reencrypt data
@@ -8257,8 +8464,12 @@ module Aws::KMS
8257
8464
  # resp.to_h outputs the following:
8258
8465
  # {
8259
8466
  # ciphertext_blob: "<binary data>", # The reencrypted data.
8467
+ # destination_encryption_algorithm: "SYMMETRIC_DEFAULT", # The encryption algorithm that was used to reencrypt the data.
8468
+ # destination_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to reencrypt the data.
8260
8469
  # 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.
8470
+ # source_encryption_algorithm: "SYMMETRIC_DEFAULT", # The encryption algorithm that was used to decrypt the ciphertext before it was reencrypted.
8261
8471
  # 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.
8472
+ # source_key_material_id: "1c6be7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to originally encrypt the data.
8262
8473
  # }
8263
8474
  #
8264
8475
  # @example Request syntax with placeholder values
@@ -8286,6 +8497,8 @@ module Aws::KMS
8286
8497
  # resp.key_id #=> String
8287
8498
  # resp.source_encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
8288
8499
  # resp.destination_encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
8500
+ # resp.source_key_material_id #=> String
8501
+ # resp.destination_key_material_id #=> String
8289
8502
  #
8290
8503
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncrypt AWS API Documentation
8291
8504
  #
@@ -8317,12 +8530,12 @@ module Aws::KMS
8317
8530
  # independently of its primary and peer replica keys. A primary key and
8318
8531
  # its replica keys share properties that make them interoperable. They
8319
8532
  # have the same [key ID][2] and key material. They also have the same
8320
- # [key spec][3], [key usage][4], [key material origin][5], and
8321
- # [automatic key rotation status][6]. KMS automatically synchronizes
8322
- # these shared properties among related multi-Region keys. All other
8323
- # properties of a replica key can differ, including its [key policy][7],
8324
- # [tags][8], [aliases][9], and [Key states of KMS keys][10]. KMS pricing
8325
- # and quotas for KMS keys apply to each primary key and replica key.
8533
+ # key spec, key usage, key material origin, and automatic key rotation
8534
+ # status. KMS automatically synchronizes these shared properties among
8535
+ # related multi-Region keys. All other properties of a replica key can
8536
+ # differ, including its [key policy][3], [tags][4], [aliases][5], and
8537
+ # [key state][6]. KMS pricing and quotas for KMS keys apply to each
8538
+ # primary key and replica key.
8326
8539
  #
8327
8540
  # When this operation completes, the new replica key has a transient key
8328
8541
  # state of `Creating`. This key state changes to `Enabled` (or
@@ -8332,7 +8545,7 @@ module Aws::KMS
8332
8545
  # If you are creating and using the replica key programmatically, retry
8333
8546
  # on `KMSInvalidStateException` or call `DescribeKey` to check its
8334
8547
  # `KeyState` value before using it. For details about the `Creating` key
8335
- # state, see [Key states of KMS keys][10] in the *Key Management Service
8548
+ # state, see [Key states of KMS keys][6] in the *Key Management Service
8336
8549
  # Developer Guide*.
8337
8550
  #
8338
8551
  # You cannot create more than one replica of a primary key in any
@@ -8341,7 +8554,7 @@ module Aws::KMS
8341
8554
  # `AlreadyExistsException` error. If the key state of the existing
8342
8555
  # replica is `PendingDeletion`, you can cancel the scheduled key
8343
8556
  # deletion (CancelKeyDeletion) or wait for the key to be deleted. The
8344
- # new replica key you create will have the same [shared properties][11]
8557
+ # new replica key you create will have the same [shared properties][7]
8345
8558
  # as the original replica key.
8346
8559
  #
8347
8560
  # The CloudTrail log of a `ReplicateKey` operation records a
@@ -8351,8 +8564,6 @@ module Aws::KMS
8351
8564
  # If you replicate a multi-Region primary key with imported key
8352
8565
  # material, the replica key is created with no key material. You must
8353
8566
  # import the same key material that you imported into the primary key.
8354
- # For details, see [Importing key material into multi-Region keys][12]
8355
- # in the *Key Management Service Developer Guide*.
8356
8567
  #
8357
8568
  # To convert a replica key to a primary key, use the UpdatePrimaryRegion
8358
8569
  # operation.
@@ -8383,23 +8594,18 @@ module Aws::KMS
8383
8594
  # * UpdatePrimaryRegion
8384
8595
  #
8385
8596
  # **Eventual consistency**: The KMS API follows an eventual consistency
8386
- # model. For more information, see [KMS eventual consistency][13].
8597
+ # model. For more information, see [KMS eventual consistency][8].
8387
8598
  #
8388
8599
  #
8389
8600
  #
8390
8601
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
8391
8602
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id
8392
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-spec
8393
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-usage
8394
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-origin
8395
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
8396
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
8397
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
8398
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
8399
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8400
- # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-sync-properties
8401
- # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-import.html
8402
- # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8603
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
8604
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
8605
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
8606
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8607
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-sync-properties
8608
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8403
8609
  #
8404
8610
  # @option params [required, String] :key_id
8405
8611
  # Identifies the multi-Region primary key that is being replicated. To
@@ -8427,33 +8633,23 @@ module Aws::KMS
8427
8633
  # [KMS service endpoints][1] in the *Amazon Web Services General
8428
8634
  # Reference*.
8429
8635
  #
8430
- # <note markdown="1"> HMAC KMS keys are not supported in all Amazon Web Services Regions. If
8431
- # you try to replicate an HMAC KMS key in an Amazon Web Services Region
8432
- # in which HMAC keys are not supported, the `ReplicateKey` operation
8433
- # returns an `UnsupportedOperationException`. For a list of Regions in
8434
- # which HMAC KMS keys are supported, see [HMAC keys in KMS][2] in the
8435
- # *Key Management Service Developer Guide*.
8436
- #
8437
- # </note>
8438
- #
8439
8636
  # The replica must be in a different Amazon Web Services Region than its
8440
8637
  # primary key and other replicas of that primary key, but in the same
8441
8638
  # Amazon Web Services partition. KMS must be available in the replica
8442
8639
  # Region. If the Region is not enabled by default, the Amazon Web
8443
8640
  # Services account must be enabled in the Region. For information about
8444
- # Amazon Web Services partitions, see [Amazon Resource Names (ARNs)][3]
8641
+ # Amazon Web Services partitions, see [Amazon Resource Names (ARNs)][2]
8445
8642
  # in the *Amazon Web Services General Reference*. For information about
8446
- # enabling and disabling Regions, see [Enabling a Region][4] and
8447
- # [Disabling a Region][5] in the *Amazon Web Services General
8643
+ # enabling and disabling Regions, see [Enabling a Region][3] and
8644
+ # [Disabling a Region][4] in the *Amazon Web Services General
8448
8645
  # Reference*.
8449
8646
  #
8450
8647
  #
8451
8648
  #
8452
8649
  # [1]: https://docs.aws.amazon.com/general/latest/gr/kms.html#kms_region
8453
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
8454
- # [3]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
8455
- # [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
8456
- # [5]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
8650
+ # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
8651
+ # [3]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
8652
+ # [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
8457
8653
  #
8458
8654
  # @option params [String] :policy
8459
8655
  # The key policy to attach to the KMS key. This parameter is optional.
@@ -8501,7 +8697,7 @@ module Aws::KMS
8501
8697
  #
8502
8698
  #
8503
8699
  #
8504
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
8700
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html
8505
8701
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
8506
8702
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
8507
8703
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
@@ -8570,7 +8766,7 @@ module Aws::KMS
8570
8766
  # When you add tags to an Amazon Web Services resource, Amazon Web
8571
8767
  # Services generates a cost allocation report with usage and costs
8572
8768
  # aggregated by tags. Tags can also be used to control access to a KMS
8573
- # key. For details, see [Tagging Keys][3].
8769
+ # key. For details, see [Tags in KMS][3].
8574
8770
  #
8575
8771
  #
8576
8772
  #
@@ -8665,11 +8861,11 @@ module Aws::KMS
8665
8861
  # resp.replica_key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
8666
8862
  # resp.replica_key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
8667
8863
  # 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"
8668
- # 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"
8864
+ # 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"
8669
8865
  # resp.replica_key_metadata.encryption_algorithms #=> Array
8670
8866
  # resp.replica_key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
8671
8867
  # resp.replica_key_metadata.signing_algorithms #=> Array
8672
- # 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"
8868
+ # 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"
8673
8869
  # resp.replica_key_metadata.key_agreement_algorithms #=> Array
8674
8870
  # resp.replica_key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
8675
8871
  # resp.replica_key_metadata.multi_region #=> Boolean
@@ -8683,6 +8879,7 @@ module Aws::KMS
8683
8879
  # resp.replica_key_metadata.mac_algorithms #=> Array
8684
8880
  # resp.replica_key_metadata.mac_algorithms[0] #=> String, one of "HMAC_SHA_224", "HMAC_SHA_256", "HMAC_SHA_384", "HMAC_SHA_512"
8685
8881
  # resp.replica_key_metadata.xks_key_configuration.id #=> String
8882
+ # resp.replica_key_metadata.current_key_material_id #=> String
8686
8883
  # resp.replica_policy #=> String
8687
8884
  # resp.replica_tags #=> Array
8688
8885
  # resp.replica_tags[0].tag_key #=> String
@@ -8706,20 +8903,20 @@ module Aws::KMS
8706
8903
  # by the *grantee principal* if the grant allows the `RetireGrant`
8707
8904
  # operation, and by the Amazon Web Services account in which the grant
8708
8905
  # is created. It can also be called by principals to whom permission for
8709
- # retiring a grant is delegated. For details, see [Retiring and revoking
8710
- # grants][2] in the *Key Management Service Developer Guide*.
8906
+ # retiring a grant is delegated.
8711
8907
  #
8712
8908
  # For detailed information about grants, including grant terminology,
8713
- # see [Grants in KMS][3] in the <i> <i>Key Management Service Developer
8714
- # Guide</i> </i>. For examples of working with grants in several
8715
- # programming languages, see [Programming grants][4].
8909
+ # see [Grants in KMS][2] in the <i> <i>Key Management Service Developer
8910
+ # Guide</i> </i>. For examples of creating grants in several programming
8911
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
8912
+ # CLI][3].
8716
8913
  #
8717
8914
  # **Cross-account use**: Yes. You can retire a grant on a KMS key in a
8718
8915
  # different Amazon Web Services account.
8719
8916
  #
8720
8917
  # **Required permissions**: Permission to retire a grant is determined
8721
8918
  # primarily by the grant. For details, see [Retiring and revoking
8722
- # grants][2] in the *Key Management Service Developer Guide*.
8919
+ # grants][4] in the *Key Management Service Developer Guide*.
8723
8920
  #
8724
8921
  # **Related operations:**
8725
8922
  #
@@ -8737,10 +8934,10 @@ module Aws::KMS
8737
8934
  #
8738
8935
  #
8739
8936
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
8740
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete
8741
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
8742
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
8743
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8937
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
8938
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
8939
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
8940
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8744
8941
  #
8745
8942
  # @option params [String] :grant_token
8746
8943
  # Identifies the grant to be retired. You can use a grant token to
@@ -8775,12 +8972,12 @@ module Aws::KMS
8775
8972
  # Checks if your request will succeed. `DryRun` is an optional
8776
8973
  # parameter.
8777
8974
  #
8778
- # To learn more about how to use this parameter, see [Testing your KMS
8779
- # API calls][1] in the *Key Management Service Developer Guide*.
8975
+ # To learn more about how to use this parameter, see [Testing your
8976
+ # permissions][1] in the *Key Management Service Developer Guide*.
8780
8977
  #
8781
8978
  #
8782
8979
  #
8783
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
8980
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
8784
8981
  #
8785
8982
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8786
8983
  #
@@ -8825,8 +9022,9 @@ module Aws::KMS
8825
9022
  #
8826
9023
  # For detailed information about grants, including grant terminology,
8827
9024
  # see [Grants in KMS][3] in the <i> <i>Key Management Service Developer
8828
- # Guide</i> </i>. For examples of working with grants in several
8829
- # programming languages, see [Programming grants][4].
9025
+ # Guide</i> </i>. For examples of creating grants in several programming
9026
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
9027
+ # CLI][4].
8830
9028
  #
8831
9029
  # **Cross-account use**: Yes. To perform this operation on a KMS key in
8832
9030
  # a different Amazon Web Services account, specify the key ARN in the
@@ -8849,12 +9047,12 @@ module Aws::KMS
8849
9047
  #
8850
9048
  #
8851
9049
  #
8852
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete
9050
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
8853
9051
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-eventual-consistency
8854
9052
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
8855
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
9053
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
8856
9054
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
8857
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9055
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8858
9056
  #
8859
9057
  # @option params [required, String] :key_id
8860
9058
  # A unique identifier for the KMS key associated with the grant. To get
@@ -8881,12 +9079,12 @@ module Aws::KMS
8881
9079
  # Checks if your request will succeed. `DryRun` is an optional
8882
9080
  # parameter.
8883
9081
  #
8884
- # To learn more about how to use this parameter, see [Testing your KMS
8885
- # API calls][1] in the *Key Management Service Developer Guide*.
9082
+ # To learn more about how to use this parameter, see [Testing your
9083
+ # permissions][1] in the *Key Management Service Developer Guide*.
8886
9084
  #
8887
9085
  #
8888
9086
  #
8889
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
9087
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
8890
9088
  #
8891
9089
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8892
9090
  #
@@ -8942,10 +9140,15 @@ module Aws::KMS
8942
9140
  # of the key material for your KMS keys in CloudTrail and Amazon
8943
9141
  # CloudWatch.
8944
9142
  #
8945
- # On-demand key rotation is supported only on [symmetric encryption KMS
8946
- # keys][3]. You cannot perform on-demand rotation of [asymmetric KMS
8947
- # keys][4], [HMAC KMS keys][5], KMS keys with [imported key
8948
- # material][6], or KMS keys in a [custom key store][7]. To perform
9143
+ # On-demand key rotation is supported only on symmetric encryption KMS
9144
+ # keys. You cannot perform on-demand rotation of [asymmetric KMS
9145
+ # keys][3], [HMAC KMS keys][4], multi-Region KMS keys with [imported key
9146
+ # material][5], or KMS keys in a [custom key store][6]. When you
9147
+ # initiate on-demand key rotation on a symmetric encryption KMS key with
9148
+ # imported key material, you must have already imported [new key
9149
+ # material][7] and that key material's state should be
9150
+ # `PENDING_ROTATION`. Use the `ListKeyRotations` operation to check the
9151
+ # state of all key materials associated with a KMS key. To perform
8949
9152
  # on-demand rotation of a set of related [multi-Region keys][8], invoke
8950
9153
  # the on-demand rotation on the primary key.
8951
9154
  #
@@ -8972,6 +9175,8 @@ module Aws::KMS
8972
9175
  #
8973
9176
  # * GetKeyRotationStatus
8974
9177
  #
9178
+ # * ImportKeyMaterial
9179
+ #
8975
9180
  # * ListKeyRotations
8976
9181
  #
8977
9182
  # **Eventual consistency**: The KMS API follows an eventual consistency
@@ -8979,27 +9184,27 @@ module Aws::KMS
8979
9184
  #
8980
9185
  #
8981
9186
  #
8982
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-on-demand
8983
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-enable-disable
8984
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks
8985
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
8986
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
8987
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
8988
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
8989
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
9187
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-on-demand.html
9188
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
9189
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
9190
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
9191
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
9192
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
9193
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html
9194
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
8990
9195
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
8991
9196
  # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
8992
9197
  # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8993
9198
  # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
8994
- # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9199
+ # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8995
9200
  #
8996
9201
  # @option params [required, String] :key_id
8997
9202
  # Identifies a symmetric encryption KMS key. You cannot perform
8998
9203
  # on-demand rotation of [asymmetric KMS keys][1], [HMAC KMS keys][2],
8999
- # KMS keys with [imported key material][3], or KMS keys in a [custom key
9000
- # store][4]. To perform on-demand rotation of a set of related
9001
- # [multi-Region keys][5], invoke the on-demand rotation on the primary
9002
- # key.
9204
+ # multi-Region KMS keys with [imported key material][3], or KMS keys in
9205
+ # a [custom key store][4]. To perform on-demand rotation of a set of
9206
+ # related [multi-Region keys][5], invoke the on-demand rotation on the
9207
+ # primary key.
9003
9208
  #
9004
9209
  # Specify the key ID or key ARN of the KMS key.
9005
9210
  #
@@ -9018,8 +9223,8 @@ module Aws::KMS
9018
9223
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
9019
9224
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
9020
9225
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
9021
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
9022
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
9226
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
9227
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
9023
9228
  #
9024
9229
  # @return [Types::RotateKeyOnDemandResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9025
9230
  #
@@ -9073,9 +9278,8 @@ module Aws::KMS
9073
9278
  # operation. When a KMS key is deleted, all data that was encrypted
9074
9279
  # under the KMS key is unrecoverable. (The only exception is a
9075
9280
  # [multi-Region replica key][1], or an [asymmetric or HMAC KMS key with
9076
- # imported key
9077
- # material](kms/latest/developerguide/importing-keys-managing.html#import-delete-key).)
9078
- # To prevent the use of a KMS key without deleting it, use DisableKey.
9281
+ # imported key material][2].) To prevent the use of a KMS key without
9282
+ # deleting it, use DisableKey.
9079
9283
  #
9080
9284
  # You can schedule the deletion of a multi-Region primary key and its
9081
9285
  # replica keys at any time. However, KMS will not delete a multi-Region
@@ -9086,13 +9290,13 @@ module Aws::KMS
9086
9290
  # the last of its replicas keys is deleted (not just scheduled), the key
9087
9291
  # state of the primary key changes to `PendingDeletion` and its waiting
9088
9292
  # period (`PendingWindowInDays`) begins. For details, see [Deleting
9089
- # multi-Region keys][1] in the *Key Management Service Developer Guide*.
9293
+ # multi-Region keys][3] in the *Key Management Service Developer Guide*.
9090
9294
  #
9091
- # When KMS [deletes a KMS key from an CloudHSM key store][2], it makes a
9295
+ # When KMS [deletes a KMS key from an CloudHSM key store][4], it makes a
9092
9296
  # best effort to delete the associated key material from the associated
9093
9297
  # CloudHSM cluster. However, you might need to manually [delete the
9094
- # orphaned key material][3] from the cluster and its backups. [Deleting
9095
- # a KMS key from an external key store][4] has no effect on the
9298
+ # orphaned key material][5] from the cluster and its backups. [Deleting
9299
+ # a KMS key from an external key store][6] has no effect on the
9096
9300
  # associated external key. However, for both types of custom key stores,
9097
9301
  # deleting a KMS key is destructive and irreversible. You cannot decrypt
9098
9302
  # ciphertext encrypted under the KMS key by using only its associated
@@ -9101,11 +9305,11 @@ module Aws::KMS
9101
9305
  # material.
9102
9306
  #
9103
9307
  # For more information about scheduling a KMS key for deletion, see
9104
- # [Deleting KMS keys][5] in the *Key Management Service Developer
9308
+ # [Deleting KMS keys][7] in the *Key Management Service Developer
9105
9309
  # Guide*.
9106
9310
  #
9107
9311
  # The KMS key that you use for this operation must be in a compatible
9108
- # key state. For details, see [Key states of KMS keys][6] in the *Key
9312
+ # key state. For details, see [Key states of KMS keys][8] in the *Key
9109
9313
  # Management Service Developer Guide*.
9110
9314
  #
9111
9315
  # **Cross-account use**: No. You cannot perform this operation on a KMS
@@ -9120,17 +9324,19 @@ module Aws::KMS
9120
9324
  # * DisableKey
9121
9325
  #
9122
9326
  # **Eventual consistency**: The KMS API follows an eventual consistency
9123
- # model. For more information, see [KMS eventual consistency][7].
9327
+ # model. For more information, see [KMS eventual consistency][9].
9124
9328
  #
9125
9329
  #
9126
9330
  #
9127
9331
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-delete.html
9128
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/delete-cmk-keystore.html
9129
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
9130
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/delete-xks-key.html
9131
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
9132
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9133
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9332
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#import-delete-key
9333
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#deleting-mrks
9334
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#delete-cmk-keystore
9335
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
9336
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#delete-xks-key
9337
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
9338
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9339
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9134
9340
  #
9135
9341
  # @option params [required, String] :key_id
9136
9342
  # The unique identifier of the KMS key to delete.
@@ -9219,11 +9425,11 @@ module Aws::KMS
9219
9425
  # Developer Guide*.
9220
9426
  #
9221
9427
  # Digital signatures are generated and verified by using asymmetric key
9222
- # pair, such as an RSA or ECC pair that is represented by an asymmetric
9223
- # KMS key. The key owner (or an authorized user) uses their private key
9224
- # to sign a message. Anyone with the public key can verify that the
9225
- # message was signed with that particular private key and that the
9226
- # message hasn't changed since it was signed.
9428
+ # pair, such as an RSA, ECC, or ML-DSA pair that is represented by an
9429
+ # asymmetric KMS key. The key owner (or an authorized user) uses their
9430
+ # private key to sign a message. Anyone with the public key can verify
9431
+ # that the message was signed with that particular private key and that
9432
+ # the message hasn't changed since it was signed.
9227
9433
  #
9228
9434
  # To use the `Sign` operation, provide the following information:
9229
9435
  #
@@ -9236,8 +9442,8 @@ module Aws::KMS
9236
9442
  # to sign. You can submit messages of up to 4096 bytes. To sign a
9237
9443
  # larger message, generate a hash digest of the message, and then
9238
9444
  # provide the hash digest in the `Message` parameter. To indicate
9239
- # whether the message is a full message or a digest, use the
9240
- # `MessageType` parameter.
9445
+ # whether the message is a full message, a digest, or an ML-DSA
9446
+ # EXTERNAL\_MU, use the `MessageType` parameter.
9241
9447
  #
9242
9448
  # * Choose a signing algorithm that is compatible with the KMS key.
9243
9449
  #
@@ -9279,7 +9485,7 @@ module Aws::KMS
9279
9485
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
9280
9486
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9281
9487
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9282
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9488
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9283
9489
  #
9284
9490
  # @option params [required, String] :key_id
9285
9491
  # Identifies an asymmetric KMS key. KMS uses the private key in the
@@ -9317,26 +9523,34 @@ module Aws::KMS
9317
9523
  # @option params [String] :message_type
9318
9524
  # Tells KMS whether the value of the `Message` parameter should be
9319
9525
  # hashed as part of the signing algorithm. Use `RAW` for unhashed
9320
- # messages; use `DIGEST` for message digests, which are already hashed.
9526
+ # messages; use `DIGEST` for message digests, which are already hashed;
9527
+ # use `EXTERNAL_MU` for 64-byte representative μ used in ML-DSA signing
9528
+ # as defined in NIST FIPS 204 Section 6.2.
9321
9529
  #
9322
9530
  # When the value of `MessageType` is `RAW`, KMS uses the standard
9323
9531
  # signing algorithm, which begins with a hash function. When the value
9324
- # is `DIGEST`, KMS skips the hashing step in the signing algorithm.
9532
+ # is `DIGEST`, KMS skips the hashing step in the signing algorithm. When
9533
+ # the value is `EXTERNAL_MU` KMS skips the concatenated hashing of the
9534
+ # public key hash and the message done in the ML-DSA signing algorithm.
9325
9535
  #
9326
- # Use the `DIGEST` value only when the value of the `Message` parameter
9327
- # is a message digest. If you use the `DIGEST` value with an unhashed
9328
- # message, the security of the signing operation can be compromised.
9536
+ # Use the `DIGEST` or `EXTERNAL_MU` value only when the value of the
9537
+ # `Message` parameter is a message digest. If you use the `DIGEST` value
9538
+ # with an unhashed message, the security of the signing operation can be
9539
+ # compromised.
9329
9540
  #
9330
- # When the value of `MessageType`is `DIGEST`, the length of the
9541
+ # When the value of `MessageType` is `DIGEST`, the length of the
9331
9542
  # `Message` value must match the length of hashed messages for the
9332
9543
  # specified signing algorithm.
9333
9544
  #
9545
+ # When the value of `MessageType` is `EXTERNAL_MU` the length of the
9546
+ # `Message` value must be 64 bytes.
9547
+ #
9334
9548
  # You can submit a message digest and omit the `MessageType` or specify
9335
9549
  # `RAW` so the digest is hashed again while signing. However, this can
9336
9550
  # cause verification failures when verifying with a system that assumes
9337
9551
  # a single hash.
9338
9552
  #
9339
- # The hashing algorithm in that `Sign` uses is based on the
9553
+ # The hashing algorithm that `Sign` uses is based on the
9340
9554
  # `SigningAlgorithm` value.
9341
9555
  #
9342
9556
  # * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
@@ -9348,12 +9562,15 @@ module Aws::KMS
9348
9562
  # * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
9349
9563
  # algorithm.
9350
9564
  #
9565
+ # * Signing algorithms that end in SHAKE\_256 use the SHAKE\_256 hashing
9566
+ # algorithm.
9567
+ #
9351
9568
  # * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
9352
9569
  # verification with SM2 key pairs][1].
9353
9570
  #
9354
9571
  #
9355
9572
  #
9356
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
9573
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
9357
9574
  #
9358
9575
  # @option params [Array<String>] :grant_tokens
9359
9576
  # A list of grant tokens.
@@ -9366,7 +9583,7 @@ module Aws::KMS
9366
9583
  #
9367
9584
  #
9368
9585
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
9369
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
9586
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
9370
9587
  #
9371
9588
  # @option params [required, String] :signing_algorithm
9372
9589
  # Specifies the signing algorithm to use when signing the message.
@@ -9380,12 +9597,12 @@ module Aws::KMS
9380
9597
  # Checks if your request will succeed. `DryRun` is an optional
9381
9598
  # parameter.
9382
9599
  #
9383
- # To learn more about how to use this parameter, see [Testing your KMS
9384
- # API calls][1] in the *Key Management Service Developer Guide*.
9600
+ # To learn more about how to use this parameter, see [Testing your
9601
+ # permissions][1] in the *Key Management Service Developer Guide*.
9385
9602
  #
9386
9603
  #
9387
9604
  #
9388
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
9605
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
9389
9606
  #
9390
9607
  # @return [Types::SignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9391
9608
  #
@@ -9438,9 +9655,9 @@ module Aws::KMS
9438
9655
  # resp = client.sign({
9439
9656
  # key_id: "KeyIdType", # required
9440
9657
  # message: "data", # required
9441
- # message_type: "RAW", # accepts RAW, DIGEST
9658
+ # message_type: "RAW", # accepts RAW, DIGEST, EXTERNAL_MU
9442
9659
  # grant_tokens: ["GrantTokenType"],
9443
- # 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
9660
+ # 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
9444
9661
  # dry_run: false,
9445
9662
  # })
9446
9663
  #
@@ -9448,7 +9665,7 @@ module Aws::KMS
9448
9665
  #
9449
9666
  # resp.key_id #=> String
9450
9667
  # resp.signature #=> String
9451
- # 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"
9668
+ # 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"
9452
9669
  #
9453
9670
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Sign AWS API Documentation
9454
9671
  #
@@ -9512,13 +9729,13 @@ module Aws::KMS
9512
9729
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
9513
9730
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
9514
9731
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
9515
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#keystore-concept
9516
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#alias-concept
9732
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
9733
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
9517
9734
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
9518
9735
  # [8]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
9519
9736
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9520
9737
  # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9521
- # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9738
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9522
9739
  #
9523
9740
  # @option params [required, String] :key_id
9524
9741
  # Identifies a customer managed key in the account and Region.
@@ -9634,7 +9851,7 @@ module Aws::KMS
9634
9851
  # [4]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
9635
9852
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9636
9853
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9637
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9854
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9638
9855
  #
9639
9856
  # @option params [required, String] :key_id
9640
9857
  # Identifies the KMS key from which you are removing tags.
@@ -9747,7 +9964,7 @@ module Aws::KMS
9747
9964
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9748
9965
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9749
9966
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
9750
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9967
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9751
9968
  #
9752
9969
  # @option params [required, String] :alias_name
9753
9970
  # Identifies the alias that is changing its KMS key. This value must
@@ -9827,9 +10044,9 @@ module Aws::KMS
9827
10044
  # verify the updated property values, use the DescribeCustomKeyStores
9828
10045
  # operation.
9829
10046
  #
9830
- # This operation is part of the [custom key stores][1] feature in KMS,
9831
- # which combines the convenience and extensive integration of KMS with
9832
- # the isolation and control of a key store that you own and manage.
10047
+ # This operation is part of the custom key stores feature in KMS, which
10048
+ # combines the convenience and extensive integration of KMS with the
10049
+ # isolation and control of a key store that you own and manage.
9833
10050
  #
9834
10051
  # When updating the properties of an external key store, verify that the
9835
10052
  # updated settings connect your key store, via the external key store
@@ -9899,7 +10116,7 @@ module Aws::KMS
9899
10116
  # **Cross-account use**: No. You cannot perform this operation on a
9900
10117
  # custom key store in a different Amazon Web Services account.
9901
10118
  #
9902
- # **Required permissions**: [kms:UpdateCustomKeyStore][2] (IAM policy)
10119
+ # **Required permissions**: [kms:UpdateCustomKeyStore][1] (IAM policy)
9903
10120
  #
9904
10121
  # **Related operations:**
9905
10122
  #
@@ -9914,13 +10131,12 @@ module Aws::KMS
9914
10131
  # * DisconnectCustomKeyStore
9915
10132
  #
9916
10133
  # **Eventual consistency**: The KMS API follows an eventual consistency
9917
- # model. For more information, see [KMS eventual consistency][3].
10134
+ # model. For more information, see [KMS eventual consistency][2].
9918
10135
  #
9919
10136
  #
9920
10137
  #
9921
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
9922
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9923
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
10138
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
10139
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9924
10140
  #
9925
10141
  # @option params [required, String] :custom_key_store_id
9926
10142
  # Identifies the custom key store that you want to update. Enter the ID
@@ -10198,7 +10414,7 @@ module Aws::KMS
10198
10414
  #
10199
10415
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
10200
10416
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
10201
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
10417
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
10202
10418
  #
10203
10419
  # @option params [required, String] :key_id
10204
10420
  # Updates the description of the specified KMS key.
@@ -10258,8 +10474,8 @@ module Aws::KMS
10258
10474
  # key in `eu-west-2`. If you run `UpdatePrimaryRegion` with a
10259
10475
  # `PrimaryRegion` value of `eu-west-2`, the primary key is now the key
10260
10476
  # in `eu-west-2`, and the key in `us-east-1` becomes a replica key. For
10261
- # details, see [Updating the primary Region][1] in the *Key Management
10262
- # Service Developer Guide*.
10477
+ # details, see [Change the primary key in a set of multi-Region keys][1]
10478
+ # in the *Key Management Service Developer Guide*.
10263
10479
  #
10264
10480
  # This operation supports *multi-Region keys*, an KMS feature that lets
10265
10481
  # you create multiple interoperable KMS keys in different Amazon Web
@@ -10327,7 +10543,7 @@ module Aws::KMS
10327
10543
  #
10328
10544
  #
10329
10545
  #
10330
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-update
10546
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-update.html
10331
10547
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
10332
10548
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id
10333
10549
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-spec
@@ -10336,7 +10552,7 @@ module Aws::KMS
10336
10552
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
10337
10553
  # [8]: https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html
10338
10554
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
10339
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
10555
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
10340
10556
  #
10341
10557
  # @option params [required, String] :key_id
10342
10558
  # Identifies the current primary key. When the operation completes, this
@@ -10451,10 +10667,10 @@ module Aws::KMS
10451
10667
  #
10452
10668
  #
10453
10669
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
10454
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
10670
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
10455
10671
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
10456
10672
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
10457
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
10673
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
10458
10674
  #
10459
10675
  # @option params [required, String] :key_id
10460
10676
  # Identifies the asymmetric KMS key that will be used to verify the
@@ -10493,27 +10709,34 @@ module Aws::KMS
10493
10709
  # @option params [String] :message_type
10494
10710
  # Tells KMS whether the value of the `Message` parameter should be
10495
10711
  # hashed as part of the signing algorithm. Use `RAW` for unhashed
10496
- # messages; use `DIGEST` for message digests, which are already hashed.
10712
+ # messages; use `DIGEST` for message digests, which are already hashed;
10713
+ # use `EXTERNAL_MU` for 64-byte representative μ used in ML-DSA signing
10714
+ # as defined in NIST FIPS 204 Section 6.2.
10497
10715
  #
10498
10716
  # When the value of `MessageType` is `RAW`, KMS uses the standard
10499
10717
  # signing algorithm, which begins with a hash function. When the value
10500
- # is `DIGEST`, KMS skips the hashing step in the signing algorithm.
10718
+ # is `DIGEST`, KMS skips the hashing step in the signing algorithm. When
10719
+ # the value is `EXTERNAL_MU` KMS skips the concatenated hashing of the
10720
+ # public key hash and the message done in the ML-DSA signing algorithm.
10501
10721
  #
10502
- # Use the `DIGEST` value only when the value of the `Message` parameter
10503
- # is a message digest. If you use the `DIGEST` value with an unhashed
10504
- # message, the security of the verification operation can be
10722
+ # Use the `DIGEST` or `EXTERNAL_MU` value only when the value of the
10723
+ # `Message` parameter is a message digest. If you use the `DIGEST` value
10724
+ # with an unhashed message, the security of the signing operation can be
10505
10725
  # compromised.
10506
10726
  #
10507
- # When the value of `MessageType`is `DIGEST`, the length of the
10727
+ # When the value of `MessageType` is `DIGEST`, the length of the
10508
10728
  # `Message` value must match the length of hashed messages for the
10509
10729
  # specified signing algorithm.
10510
10730
  #
10731
+ # When the value of `MessageType` is `EXTERNAL_MU` the length of the
10732
+ # `Message` value must be 64 bytes.
10733
+ #
10511
10734
  # You can submit a message digest and omit the `MessageType` or specify
10512
10735
  # `RAW` so the digest is hashed again while signing. However, if the
10513
10736
  # signed message is hashed once while signing, but twice while
10514
10737
  # verifying, verification fails, even when the message hasn't changed.
10515
10738
  #
10516
- # The hashing algorithm in that `Verify` uses is based on the
10739
+ # The hashing algorithm that `Verify` uses is based on the
10517
10740
  # `SigningAlgorithm` value.
10518
10741
  #
10519
10742
  # * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
@@ -10525,12 +10748,15 @@ module Aws::KMS
10525
10748
  # * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
10526
10749
  # algorithm.
10527
10750
  #
10751
+ # * Signing algorithms that end in SHAKE\_256 use the SHAKE\_256 hashing
10752
+ # algorithm.
10753
+ #
10528
10754
  # * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
10529
10755
  # verification with SM2 key pairs][1].
10530
10756
  #
10531
10757
  #
10532
10758
  #
10533
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
10759
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
10534
10760
  #
10535
10761
  # @option params [required, String, StringIO, File] :signature
10536
10762
  # The signature that the `Sign` operation generated.
@@ -10550,18 +10776,18 @@ module Aws::KMS
10550
10776
  #
10551
10777
  #
10552
10778
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
10553
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
10779
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
10554
10780
  #
10555
10781
  # @option params [Boolean] :dry_run
10556
10782
  # Checks if your request will succeed. `DryRun` is an optional
10557
10783
  # parameter.
10558
10784
  #
10559
- # To learn more about how to use this parameter, see [Testing your KMS
10560
- # API calls][1] in the *Key Management Service Developer Guide*.
10785
+ # To learn more about how to use this parameter, see [Testing your
10786
+ # permissions][1] in the *Key Management Service Developer Guide*.
10561
10787
  #
10562
10788
  #
10563
10789
  #
10564
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
10790
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
10565
10791
  #
10566
10792
  # @return [Types::VerifyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10567
10793
  #
@@ -10616,9 +10842,9 @@ module Aws::KMS
10616
10842
  # resp = client.verify({
10617
10843
  # key_id: "KeyIdType", # required
10618
10844
  # message: "data", # required
10619
- # message_type: "RAW", # accepts RAW, DIGEST
10845
+ # message_type: "RAW", # accepts RAW, DIGEST, EXTERNAL_MU
10620
10846
  # signature: "data", # required
10621
- # 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
10847
+ # 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
10622
10848
  # grant_tokens: ["GrantTokenType"],
10623
10849
  # dry_run: false,
10624
10850
  # })
@@ -10627,7 +10853,7 @@ module Aws::KMS
10627
10853
  #
10628
10854
  # resp.key_id #=> String
10629
10855
  # resp.signature_valid #=> Boolean
10630
- # 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"
10856
+ # 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"
10631
10857
  #
10632
10858
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Verify AWS API Documentation
10633
10859
  #
@@ -10675,7 +10901,7 @@ module Aws::KMS
10675
10901
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
10676
10902
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
10677
10903
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
10678
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
10904
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
10679
10905
  #
10680
10906
  # @option params [required, String, StringIO, File] :message
10681
10907
  # The message that will be used in the verification. Enter the same
@@ -10713,18 +10939,18 @@ module Aws::KMS
10713
10939
  #
10714
10940
  #
10715
10941
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
10716
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
10942
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
10717
10943
  #
10718
10944
  # @option params [Boolean] :dry_run
10719
10945
  # Checks if your request will succeed. `DryRun` is an optional
10720
10946
  # parameter.
10721
10947
  #
10722
- # To learn more about how to use this parameter, see [Testing your KMS
10723
- # API calls][1] in the *Key Management Service Developer Guide*.
10948
+ # To learn more about how to use this parameter, see [Testing your
10949
+ # permissions][1] in the *Key Management Service Developer Guide*.
10724
10950
  #
10725
10951
  #
10726
10952
  #
10727
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
10953
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
10728
10954
  #
10729
10955
  # @return [Types::VerifyMacResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10730
10956
  #
@@ -10796,7 +11022,7 @@ module Aws::KMS
10796
11022
  tracer: tracer
10797
11023
  )
10798
11024
  context[:gem_name] = 'aws-sdk-kms'
10799
- context[:gem_version] = '1.99.0'
11025
+ context[:gem_version] = '1.105.0'
10800
11026
  Seahorse::Client::Request.new(handlers, context)
10801
11027
  end
10802
11028