aws-sdk-kms 1.99.0 → 1.106.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,48 @@ 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. If no key material has
6912
+ # ever been imported into the KMS key, and this parameter is omitted,
6913
+ # the parameter defaults to `NEW_KEY_MATERIAL`. After the first key
6914
+ # material is imported, if this parameter is omitted then the parameter
6915
+ # defaults to `EXISTING_KEY_MATERIAL`.
6916
+ #
6917
+ # @option params [String] :key_material_description
6918
+ # Description for the key material being imported. This parameter is
6919
+ # optional and only usable with symmetric encryption keys. If you do not
6920
+ # specify a key material description, KMS retains the value you
6921
+ # specified when you last imported the same key material into this KMS
6922
+ # key.
6923
+ #
6924
+ # @option params [String] :key_material_id
6925
+ # Identifies the key material being imported. This parameter is optional
6926
+ # and only usable with symmetric encryption keys. You cannot specify a
6927
+ # key material ID with `ImportType` set to `NEW_KEY_MATERIAL`. Whenever
6928
+ # you import key material into a symmetric encryption key, KMS assigns a
6929
+ # unique identifier to the key material based on the KMS key ID and the
6930
+ # imported key material. When you re-import key material with a
6931
+ # specified key material ID, KMS:
6932
+ #
6933
+ # * Computes the identifier for the key material
6934
+ #
6935
+ # * Matches the computed identifier against the specified key material
6936
+ # ID
6937
+ #
6938
+ # * Verifies that the key material ID is already associated with the KMS
6939
+ # key
6940
+ #
6941
+ # To get the list of key material IDs associated with a KMS key, use
6942
+ # ListKeyRotations.
6943
+ #
6944
+ # @return [Types::ImportKeyMaterialResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6945
+ #
6946
+ # * {Types::ImportKeyMaterialResponse#key_id #key_id} => String
6947
+ # * {Types::ImportKeyMaterialResponse#key_material_id #key_material_id} => String
6804
6948
  #
6805
6949
  #
6806
6950
  # @example Example: To import key material into a KMS key
@@ -6814,6 +6958,12 @@ module Aws::KMS
6814
6958
  # 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
6959
  # })
6816
6960
  #
6961
+ # resp.to_h outputs the following:
6962
+ # {
6963
+ # 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.
6964
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # Identifies the imported key material.
6965
+ # }
6966
+ #
6817
6967
  # @example Example: To import key material into a KMS key
6818
6968
  #
6819
6969
  # # The following example imports key material that expires in 3 days. It might be part of an application that frequently
@@ -6827,6 +6977,12 @@ module Aws::KMS
6827
6977
  # valid_to: Time.parse("2023-09-30T00:00:00-00:00"), # Specifies the date and time when the imported key material expires.
6828
6978
  # })
6829
6979
  #
6980
+ # resp.to_h outputs the following:
6981
+ # {
6982
+ # 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.
6983
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # Identifies the imported key material.
6984
+ # }
6985
+ #
6830
6986
  # @example Request syntax with placeholder values
6831
6987
  #
6832
6988
  # resp = client.import_key_material({
@@ -6835,8 +6991,16 @@ module Aws::KMS
6835
6991
  # encrypted_key_material: "data", # required
6836
6992
  # valid_to: Time.now,
6837
6993
  # expiration_model: "KEY_MATERIAL_EXPIRES", # accepts KEY_MATERIAL_EXPIRES, KEY_MATERIAL_DOES_NOT_EXPIRE
6994
+ # import_type: "NEW_KEY_MATERIAL", # accepts NEW_KEY_MATERIAL, EXISTING_KEY_MATERIAL
6995
+ # key_material_description: "KeyMaterialDescriptionType",
6996
+ # key_material_id: "BackingKeyIdType",
6838
6997
  # })
6839
6998
  #
6999
+ # @example Response structure
7000
+ #
7001
+ # resp.key_id #=> String
7002
+ # resp.key_material_id #=> String
7003
+ #
6840
7004
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterial AWS API Documentation
6841
7005
  #
6842
7006
  # @overload import_key_material(params = {})
@@ -6887,10 +7051,10 @@ module Aws::KMS
6887
7051
  #
6888
7052
  #
6889
7053
  #
6890
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#aliases-limit
7054
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/resource-limits.html#aliases-per-key
6891
7055
  # [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
7056
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/alias-access.html
7057
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
6894
7058
  #
6895
7059
  # @option params [String] :key_id
6896
7060
  # Lists only aliases that are associated with the specified KMS key.
@@ -7022,8 +7186,9 @@ module Aws::KMS
7022
7186
  #
7023
7187
  # For detailed information about grants, including grant terminology,
7024
7188
  # 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].
7189
+ # Guide</i> </i>. For examples of creating grants in several programming
7190
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
7191
+ # CLI][2].
7027
7192
  #
7028
7193
  # <note markdown="1"> The `GranteePrincipal` field in the `ListGrants` response usually
7029
7194
  # contains the user or role designated as the grantee principal in the
@@ -7056,10 +7221,10 @@ module Aws::KMS
7056
7221
  #
7057
7222
  #
7058
7223
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
7059
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
7224
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
7060
7225
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services
7061
7226
  # [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
7227
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7063
7228
  #
7064
7229
  # @option params [Integer] :limit
7065
7230
  # Use this parameter to specify the maximum number of items to return.
@@ -7235,7 +7400,7 @@ module Aws::KMS
7235
7400
  #
7236
7401
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7237
7402
  # [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
7403
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7239
7404
  #
7240
7405
  # @option params [required, String] :key_id
7241
7406
  # Gets the names of key policies for the specified KMS key.
@@ -7317,14 +7482,15 @@ module Aws::KMS
7317
7482
  req.send_request(options)
7318
7483
  end
7319
7484
 
7320
- # Returns information about all completed key material rotations for the
7321
- # specified KMS key.
7485
+ # Returns information about the key materials associated with the
7486
+ # specified KMS key. You can use the optional `IncludeKeyMaterial`
7487
+ # parameter to control which key materials are included in the response.
7322
7488
  #
7323
7489
  # You must specify the KMS key in all requests. You can refine the key
7324
7490
  # rotations list by limiting the number of rotations returned.
7325
7491
  #
7326
7492
  # For detailed information about automatic and on-demand key rotations,
7327
- # see [Rotating KMS keys][1] in the *Key Management Service Developer
7493
+ # see [Rotate KMS keys][1] in the *Key Management Service Developer
7328
7494
  # Guide*.
7329
7495
  #
7330
7496
  # **Cross-account use**: No. You cannot perform this operation on a KMS
@@ -7336,10 +7502,14 @@ module Aws::KMS
7336
7502
  #
7337
7503
  # * EnableKeyRotation
7338
7504
  #
7505
+ # * DeleteImportedKeyMaterial
7506
+ #
7339
7507
  # * DisableKeyRotation
7340
7508
  #
7341
7509
  # * GetKeyRotationStatus
7342
7510
  #
7511
+ # * ImportKeyMaterial
7512
+ #
7343
7513
  # * RotateKeyOnDemand
7344
7514
  #
7345
7515
  # **Eventual consistency**: The KMS API follows an eventual consistency
@@ -7349,7 +7519,7 @@ module Aws::KMS
7349
7519
  #
7350
7520
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
7351
7521
  # [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
7522
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7353
7523
  #
7354
7524
  # @option params [required, String] :key_id
7355
7525
  # Gets the key rotations for the specified KMS key.
@@ -7366,6 +7536,16 @@ module Aws::KMS
7366
7536
  # To get the key ID and key ARN for a KMS key, use ListKeys or
7367
7537
  # DescribeKey.
7368
7538
  #
7539
+ # @option params [String] :include_key_material
7540
+ # Use this optional parameter to control which key materials associated
7541
+ # with this key are listed in the response. The default value of this
7542
+ # parameter is `ROTATIONS_ONLY`. If you omit this parameter, KMS returns
7543
+ # information on the key materials created by automatic or on-demand key
7544
+ # rotation. When you specify a value of `ALL_KEY_MATERIAL`, KMS adds the
7545
+ # first key material and any imported key material pending rotation to
7546
+ # the response. This parameter can only be used with KMS keys that
7547
+ # support automatic or on-demand key rotation.
7548
+ #
7369
7549
  # @option params [Integer] :limit
7370
7550
  # Use this parameter to specify the maximum number of items to return.
7371
7551
  # When this value is present, KMS does not return more than the
@@ -7418,6 +7598,7 @@ module Aws::KMS
7418
7598
  #
7419
7599
  # resp = client.list_key_rotations({
7420
7600
  # key_id: "KeyIdType", # required
7601
+ # include_key_material: "ALL_KEY_MATERIAL", # accepts ALL_KEY_MATERIAL, ROTATIONS_ONLY
7421
7602
  # limit: 1,
7422
7603
  # marker: "MarkerType",
7423
7604
  # })
@@ -7426,6 +7607,12 @@ module Aws::KMS
7426
7607
  #
7427
7608
  # resp.rotations #=> Array
7428
7609
  # resp.rotations[0].key_id #=> String
7610
+ # resp.rotations[0].key_material_id #=> String
7611
+ # resp.rotations[0].key_material_description #=> String
7612
+ # resp.rotations[0].import_state #=> String, one of "IMPORTED", "PENDING_IMPORT"
7613
+ # resp.rotations[0].key_material_state #=> String, one of "NON_CURRENT", "CURRENT", "PENDING_ROTATION"
7614
+ # resp.rotations[0].expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
7615
+ # resp.rotations[0].valid_to #=> Time
7429
7616
  # resp.rotations[0].rotation_date #=> Time
7430
7617
  # resp.rotations[0].rotation_type #=> String, one of "AUTOMATIC", "ON_DEMAND"
7431
7618
  # resp.next_marker #=> String
@@ -7464,7 +7651,7 @@ module Aws::KMS
7464
7651
  #
7465
7652
  #
7466
7653
  # [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
7654
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7468
7655
  #
7469
7656
  # @option params [Integer] :limit
7470
7657
  # Use this parameter to specify the maximum number of items to return.
@@ -7560,7 +7747,7 @@ module Aws::KMS
7560
7747
  # For general information about tags, including the format and syntax,
7561
7748
  # see [Tagging Amazon Web Services resources][1] in the *Amazon Web
7562
7749
  # Services General Reference*. For information about using tags in KMS,
7563
- # see [Tagging keys][2].
7750
+ # see [Tags in KMS][2].
7564
7751
  #
7565
7752
  # **Cross-account use**: No. You cannot perform this operation on a KMS
7566
7753
  # key in a different Amazon Web Services account.
@@ -7585,7 +7772,7 @@ module Aws::KMS
7585
7772
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
7586
7773
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
7587
7774
  # [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
7775
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7589
7776
  #
7590
7777
  # @option params [required, String] :key_id
7591
7778
  # Gets tags on the specified KMS key.
@@ -7690,8 +7877,9 @@ module Aws::KMS
7690
7877
  #
7691
7878
  # For detailed information about grants, including grant terminology,
7692
7879
  # 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].
7880
+ # Guide</i> </i>. For examples of creating grants in several programming
7881
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
7882
+ # CLI][2].
7695
7883
  #
7696
7884
  # **Cross-account use**: You must specify a principal in your Amazon Web
7697
7885
  # Services account. This operation returns a list of grants where the
@@ -7729,9 +7917,9 @@ module Aws::KMS
7729
7917
  #
7730
7918
  #
7731
7919
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
7732
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
7920
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
7733
7921
  # [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
7922
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7735
7923
  #
7736
7924
  # @option params [Integer] :limit
7737
7925
  # Use this parameter to specify the maximum number of items to return.
@@ -7841,8 +8029,9 @@ module Aws::KMS
7841
8029
  # formatting a JSON policy document, see the [IAM JSON Policy
7842
8030
  # Reference][2] in the <i> <i>Identity and Access Management User
7843
8031
  # 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*.
8032
+ # programming languages, see [Use PutKeyPolicy with an Amazon Web
8033
+ # Services SDK or CLI][3] in the *Key Management Service Developer
8034
+ # Guide*.
7846
8035
  #
7847
8036
  # **Cross-account use**: No. You cannot perform this operation on a KMS
7848
8037
  # key in a different Amazon Web Services account.
@@ -7858,9 +8047,9 @@ module Aws::KMS
7858
8047
  #
7859
8048
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
7860
8049
  # [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
8050
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_PutKeyPolicy_section.html
7862
8051
  # [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
8052
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7864
8053
  #
7865
8054
  # @option params [required, String] :key_id
7866
8055
  # Sets the key policy on the specified KMS key.
@@ -7901,6 +8090,17 @@ module Aws::KMS
7901
8090
  # not always immediately visible][2] in the *Amazon Web Services
7902
8091
  # Identity and Access Management User Guide*.
7903
8092
  #
8093
+ # <note markdown="1"> If either of the required `Resource` or `Action` elements are missing
8094
+ # from a key policy statement, the policy statement has no effect. When
8095
+ # a key policy statement is missing one of these elements, the KMS
8096
+ # console correctly reports an error, but the `PutKeyPolicy` API request
8097
+ # succeeds, even though the policy statement is ineffective.
8098
+ #
8099
+ # For more information on required key policy elements, see [Elements in
8100
+ # a key policy][3] in the *Key Management Service Developer Guide*.
8101
+ #
8102
+ # </note>
8103
+ #
7904
8104
  # A key policy document can include only the following characters:
7905
8105
  #
7906
8106
  # * Printable ASCII characters from the space character (`\u0020`)
@@ -7912,18 +8112,24 @@ module Aws::KMS
7912
8112
  # * The tab (`\u0009`), line feed (`\u000A`), and carriage return
7913
8113
  # (`\u000D`) special characters
7914
8114
  #
7915
- # For information about key policies, see [Key policies in KMS][3] in
8115
+ # <note markdown="1"> If the key policy exceeds the length constraint, KMS returns a
8116
+ # `LimitExceededException`.
8117
+ #
8118
+ # </note>
8119
+ #
8120
+ # For information about key policies, see [Key policies in KMS][4] in
7916
8121
  # the *Key Management Service Developer Guide*.For help writing and
7917
8122
  # formatting a JSON policy document, see the [IAM JSON Policy
7918
- # Reference][4] in the <i> <i>Identity and Access Management User
8123
+ # Reference][5] in the <i> <i>Identity and Access Management User
7919
8124
  # Guide</i> </i>.
7920
8125
  #
7921
8126
  #
7922
8127
  #
7923
8128
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
7924
8129
  # [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
8130
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html#key-policy-elements
8131
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
8132
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
7927
8133
  #
7928
8134
  # @option params [Boolean] :bypass_policy_lockout_safety_check
7929
8135
  # Skips ("bypasses") the key policy lockout safety check. The default
@@ -8072,15 +8278,15 @@ module Aws::KMS
8072
8278
  #
8073
8279
  #
8074
8280
  #
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
8281
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys-manually.html
8282
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
8283
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
8078
8284
  # [4]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
8079
8285
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
8080
8286
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8081
8287
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
8082
8288
  # [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
8289
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8084
8290
  #
8085
8291
  # @option params [required, String, StringIO, File] :ciphertext_blob
8086
8292
  # Ciphertext of the data to reencrypt.
@@ -8103,7 +8309,7 @@ module Aws::KMS
8103
8309
  #
8104
8310
  #
8105
8311
  #
8106
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
8312
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
8107
8313
  #
8108
8314
  # @option params [String] :source_key_id
8109
8315
  # Specifies the KMS key that KMS will use to decrypt the ciphertext
@@ -8189,7 +8395,7 @@ module Aws::KMS
8189
8395
  #
8190
8396
  #
8191
8397
  #
8192
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
8398
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
8193
8399
  #
8194
8400
  # @option params [String] :source_encryption_algorithm
8195
8401
  # Specifies the encryption algorithm that KMS will use to decrypt the
@@ -8223,18 +8429,18 @@ module Aws::KMS
8223
8429
  #
8224
8430
  #
8225
8431
  # [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
8432
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
8227
8433
  #
8228
8434
  # @option params [Boolean] :dry_run
8229
8435
  # Checks if your request will succeed. `DryRun` is an optional
8230
8436
  # parameter.
8231
8437
  #
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*.
8438
+ # To learn more about how to use this parameter, see [Testing your
8439
+ # permissions][1] in the *Key Management Service Developer Guide*.
8234
8440
  #
8235
8441
  #
8236
8442
  #
8237
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
8443
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
8238
8444
  #
8239
8445
  # @return [Types::ReEncryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8240
8446
  #
@@ -8243,6 +8449,8 @@ module Aws::KMS
8243
8449
  # * {Types::ReEncryptResponse#key_id #key_id} => String
8244
8450
  # * {Types::ReEncryptResponse#source_encryption_algorithm #source_encryption_algorithm} => String
8245
8451
  # * {Types::ReEncryptResponse#destination_encryption_algorithm #destination_encryption_algorithm} => String
8452
+ # * {Types::ReEncryptResponse#source_key_material_id #source_key_material_id} => String
8453
+ # * {Types::ReEncryptResponse#destination_key_material_id #destination_key_material_id} => String
8246
8454
  #
8247
8455
  #
8248
8456
  # @example Example: To reencrypt data
@@ -8257,8 +8465,12 @@ module Aws::KMS
8257
8465
  # resp.to_h outputs the following:
8258
8466
  # {
8259
8467
  # ciphertext_blob: "<binary data>", # The reencrypted data.
8468
+ # destination_encryption_algorithm: "SYMMETRIC_DEFAULT", # The encryption algorithm that was used to reencrypt the data.
8469
+ # destination_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to reencrypt the data.
8260
8470
  # 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.
8471
+ # source_encryption_algorithm: "SYMMETRIC_DEFAULT", # The encryption algorithm that was used to decrypt the ciphertext before it was reencrypted.
8261
8472
  # 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.
8473
+ # source_key_material_id: "1c6be7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to originally encrypt the data.
8262
8474
  # }
8263
8475
  #
8264
8476
  # @example Request syntax with placeholder values
@@ -8286,6 +8498,8 @@ module Aws::KMS
8286
8498
  # resp.key_id #=> String
8287
8499
  # resp.source_encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
8288
8500
  # resp.destination_encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
8501
+ # resp.source_key_material_id #=> String
8502
+ # resp.destination_key_material_id #=> String
8289
8503
  #
8290
8504
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncrypt AWS API Documentation
8291
8505
  #
@@ -8317,12 +8531,12 @@ module Aws::KMS
8317
8531
  # independently of its primary and peer replica keys. A primary key and
8318
8532
  # its replica keys share properties that make them interoperable. They
8319
8533
  # 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.
8534
+ # key spec, key usage, key material origin, and automatic key rotation
8535
+ # status. KMS automatically synchronizes these shared properties among
8536
+ # related multi-Region keys. All other properties of a replica key can
8537
+ # differ, including its [key policy][3], [tags][4], [aliases][5], and
8538
+ # [key state][6]. KMS pricing and quotas for KMS keys apply to each
8539
+ # primary key and replica key.
8326
8540
  #
8327
8541
  # When this operation completes, the new replica key has a transient key
8328
8542
  # state of `Creating`. This key state changes to `Enabled` (or
@@ -8332,7 +8546,7 @@ module Aws::KMS
8332
8546
  # If you are creating and using the replica key programmatically, retry
8333
8547
  # on `KMSInvalidStateException` or call `DescribeKey` to check its
8334
8548
  # `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
8549
+ # state, see [Key states of KMS keys][6] in the *Key Management Service
8336
8550
  # Developer Guide*.
8337
8551
  #
8338
8552
  # You cannot create more than one replica of a primary key in any
@@ -8341,7 +8555,7 @@ module Aws::KMS
8341
8555
  # `AlreadyExistsException` error. If the key state of the existing
8342
8556
  # replica is `PendingDeletion`, you can cancel the scheduled key
8343
8557
  # deletion (CancelKeyDeletion) or wait for the key to be deleted. The
8344
- # new replica key you create will have the same [shared properties][11]
8558
+ # new replica key you create will have the same [shared properties][7]
8345
8559
  # as the original replica key.
8346
8560
  #
8347
8561
  # The CloudTrail log of a `ReplicateKey` operation records a
@@ -8351,8 +8565,6 @@ module Aws::KMS
8351
8565
  # If you replicate a multi-Region primary key with imported key
8352
8566
  # material, the replica key is created with no key material. You must
8353
8567
  # 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
8568
  #
8357
8569
  # To convert a replica key to a primary key, use the UpdatePrimaryRegion
8358
8570
  # operation.
@@ -8383,23 +8595,18 @@ module Aws::KMS
8383
8595
  # * UpdatePrimaryRegion
8384
8596
  #
8385
8597
  # **Eventual consistency**: The KMS API follows an eventual consistency
8386
- # model. For more information, see [KMS eventual consistency][13].
8598
+ # model. For more information, see [KMS eventual consistency][8].
8387
8599
  #
8388
8600
  #
8389
8601
  #
8390
8602
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
8391
8603
  # [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
8604
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
8605
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
8606
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
8607
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8608
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-sync-properties
8609
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8403
8610
  #
8404
8611
  # @option params [required, String] :key_id
8405
8612
  # Identifies the multi-Region primary key that is being replicated. To
@@ -8427,33 +8634,23 @@ module Aws::KMS
8427
8634
  # [KMS service endpoints][1] in the *Amazon Web Services General
8428
8635
  # Reference*.
8429
8636
  #
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
8637
  # The replica must be in a different Amazon Web Services Region than its
8440
8638
  # primary key and other replicas of that primary key, but in the same
8441
8639
  # Amazon Web Services partition. KMS must be available in the replica
8442
8640
  # Region. If the Region is not enabled by default, the Amazon Web
8443
8641
  # Services account must be enabled in the Region. For information about
8444
- # Amazon Web Services partitions, see [Amazon Resource Names (ARNs)][3]
8642
+ # Amazon Web Services partitions, see [Amazon Resource Names (ARNs)][2]
8445
8643
  # 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
8644
+ # enabling and disabling Regions, see [Enabling a Region][3] and
8645
+ # [Disabling a Region][4] in the *Amazon Web Services General
8448
8646
  # Reference*.
8449
8647
  #
8450
8648
  #
8451
8649
  #
8452
8650
  # [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
8651
+ # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
8652
+ # [3]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
8653
+ # [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
8457
8654
  #
8458
8655
  # @option params [String] :policy
8459
8656
  # The key policy to attach to the KMS key. This parameter is optional.
@@ -8501,7 +8698,7 @@ module Aws::KMS
8501
8698
  #
8502
8699
  #
8503
8700
  #
8504
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
8701
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html
8505
8702
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
8506
8703
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
8507
8704
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
@@ -8570,7 +8767,7 @@ module Aws::KMS
8570
8767
  # When you add tags to an Amazon Web Services resource, Amazon Web
8571
8768
  # Services generates a cost allocation report with usage and costs
8572
8769
  # aggregated by tags. Tags can also be used to control access to a KMS
8573
- # key. For details, see [Tagging Keys][3].
8770
+ # key. For details, see [Tags in KMS][3].
8574
8771
  #
8575
8772
  #
8576
8773
  #
@@ -8665,11 +8862,11 @@ module Aws::KMS
8665
8862
  # resp.replica_key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
8666
8863
  # resp.replica_key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
8667
8864
  # 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"
8865
+ # 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
8866
  # resp.replica_key_metadata.encryption_algorithms #=> Array
8670
8867
  # resp.replica_key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
8671
8868
  # 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"
8869
+ # 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
8870
  # resp.replica_key_metadata.key_agreement_algorithms #=> Array
8674
8871
  # resp.replica_key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
8675
8872
  # resp.replica_key_metadata.multi_region #=> Boolean
@@ -8683,6 +8880,7 @@ module Aws::KMS
8683
8880
  # resp.replica_key_metadata.mac_algorithms #=> Array
8684
8881
  # resp.replica_key_metadata.mac_algorithms[0] #=> String, one of "HMAC_SHA_224", "HMAC_SHA_256", "HMAC_SHA_384", "HMAC_SHA_512"
8685
8882
  # resp.replica_key_metadata.xks_key_configuration.id #=> String
8883
+ # resp.replica_key_metadata.current_key_material_id #=> String
8686
8884
  # resp.replica_policy #=> String
8687
8885
  # resp.replica_tags #=> Array
8688
8886
  # resp.replica_tags[0].tag_key #=> String
@@ -8706,20 +8904,20 @@ module Aws::KMS
8706
8904
  # by the *grantee principal* if the grant allows the `RetireGrant`
8707
8905
  # operation, and by the Amazon Web Services account in which the grant
8708
8906
  # 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*.
8907
+ # retiring a grant is delegated.
8711
8908
  #
8712
8909
  # 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].
8910
+ # see [Grants in KMS][2] in the <i> <i>Key Management Service Developer
8911
+ # Guide</i> </i>. For examples of creating grants in several programming
8912
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
8913
+ # CLI][3].
8716
8914
  #
8717
8915
  # **Cross-account use**: Yes. You can retire a grant on a KMS key in a
8718
8916
  # different Amazon Web Services account.
8719
8917
  #
8720
8918
  # **Required permissions**: Permission to retire a grant is determined
8721
8919
  # primarily by the grant. For details, see [Retiring and revoking
8722
- # grants][2] in the *Key Management Service Developer Guide*.
8920
+ # grants][4] in the *Key Management Service Developer Guide*.
8723
8921
  #
8724
8922
  # **Related operations:**
8725
8923
  #
@@ -8737,10 +8935,10 @@ module Aws::KMS
8737
8935
  #
8738
8936
  #
8739
8937
  # [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
8938
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
8939
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
8940
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
8941
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8744
8942
  #
8745
8943
  # @option params [String] :grant_token
8746
8944
  # Identifies the grant to be retired. You can use a grant token to
@@ -8775,12 +8973,12 @@ module Aws::KMS
8775
8973
  # Checks if your request will succeed. `DryRun` is an optional
8776
8974
  # parameter.
8777
8975
  #
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*.
8976
+ # To learn more about how to use this parameter, see [Testing your
8977
+ # permissions][1] in the *Key Management Service Developer Guide*.
8780
8978
  #
8781
8979
  #
8782
8980
  #
8783
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
8981
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
8784
8982
  #
8785
8983
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8786
8984
  #
@@ -8825,8 +9023,9 @@ module Aws::KMS
8825
9023
  #
8826
9024
  # For detailed information about grants, including grant terminology,
8827
9025
  # 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].
9026
+ # Guide</i> </i>. For examples of creating grants in several programming
9027
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
9028
+ # CLI][4].
8830
9029
  #
8831
9030
  # **Cross-account use**: Yes. To perform this operation on a KMS key in
8832
9031
  # a different Amazon Web Services account, specify the key ARN in the
@@ -8849,12 +9048,12 @@ module Aws::KMS
8849
9048
  #
8850
9049
  #
8851
9050
  #
8852
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete
9051
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
8853
9052
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-eventual-consistency
8854
9053
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
8855
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
9054
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
8856
9055
  # [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
9056
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8858
9057
  #
8859
9058
  # @option params [required, String] :key_id
8860
9059
  # A unique identifier for the KMS key associated with the grant. To get
@@ -8881,12 +9080,12 @@ module Aws::KMS
8881
9080
  # Checks if your request will succeed. `DryRun` is an optional
8882
9081
  # parameter.
8883
9082
  #
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*.
9083
+ # To learn more about how to use this parameter, see [Testing your
9084
+ # permissions][1] in the *Key Management Service Developer Guide*.
8886
9085
  #
8887
9086
  #
8888
9087
  #
8889
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
9088
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
8890
9089
  #
8891
9090
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8892
9091
  #
@@ -8942,10 +9141,15 @@ module Aws::KMS
8942
9141
  # of the key material for your KMS keys in CloudTrail and Amazon
8943
9142
  # CloudWatch.
8944
9143
  #
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
9144
+ # On-demand key rotation is supported only on symmetric encryption KMS
9145
+ # keys. You cannot perform on-demand rotation of [asymmetric KMS
9146
+ # keys][3], [HMAC KMS keys][4], multi-Region KMS keys with [imported key
9147
+ # material][5], or KMS keys in a [custom key store][6]. When you
9148
+ # initiate on-demand key rotation on a symmetric encryption KMS key with
9149
+ # imported key material, you must have already imported [new key
9150
+ # material][7] and that key material's state should be
9151
+ # `PENDING_ROTATION`. Use the `ListKeyRotations` operation to check the
9152
+ # state of all key materials associated with a KMS key. To perform
8949
9153
  # on-demand rotation of a set of related [multi-Region keys][8], invoke
8950
9154
  # the on-demand rotation on the primary key.
8951
9155
  #
@@ -8972,6 +9176,8 @@ module Aws::KMS
8972
9176
  #
8973
9177
  # * GetKeyRotationStatus
8974
9178
  #
9179
+ # * ImportKeyMaterial
9180
+ #
8975
9181
  # * ListKeyRotations
8976
9182
  #
8977
9183
  # **Eventual consistency**: The KMS API follows an eventual consistency
@@ -8979,27 +9185,27 @@ module Aws::KMS
8979
9185
  #
8980
9186
  #
8981
9187
  #
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
9188
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-on-demand.html
9189
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
9190
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
9191
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
9192
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
9193
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
9194
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html
9195
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
8990
9196
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
8991
9197
  # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
8992
9198
  # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8993
9199
  # [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
9200
+ # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8995
9201
  #
8996
9202
  # @option params [required, String] :key_id
8997
9203
  # Identifies a symmetric encryption KMS key. You cannot perform
8998
9204
  # 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.
9205
+ # multi-Region KMS keys with [imported key material][3], or KMS keys in
9206
+ # a [custom key store][4]. To perform on-demand rotation of a set of
9207
+ # related [multi-Region keys][5], invoke the on-demand rotation on the
9208
+ # primary key.
9003
9209
  #
9004
9210
  # Specify the key ID or key ARN of the KMS key.
9005
9211
  #
@@ -9018,8 +9224,8 @@ module Aws::KMS
9018
9224
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
9019
9225
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
9020
9226
  # [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
9227
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
9228
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
9023
9229
  #
9024
9230
  # @return [Types::RotateKeyOnDemandResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9025
9231
  #
@@ -9073,9 +9279,8 @@ module Aws::KMS
9073
9279
  # operation. When a KMS key is deleted, all data that was encrypted
9074
9280
  # under the KMS key is unrecoverable. (The only exception is a
9075
9281
  # [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.
9282
+ # imported key material][2].) To prevent the use of a KMS key without
9283
+ # deleting it, use DisableKey.
9079
9284
  #
9080
9285
  # You can schedule the deletion of a multi-Region primary key and its
9081
9286
  # replica keys at any time. However, KMS will not delete a multi-Region
@@ -9086,13 +9291,13 @@ module Aws::KMS
9086
9291
  # the last of its replicas keys is deleted (not just scheduled), the key
9087
9292
  # state of the primary key changes to `PendingDeletion` and its waiting
9088
9293
  # period (`PendingWindowInDays`) begins. For details, see [Deleting
9089
- # multi-Region keys][1] in the *Key Management Service Developer Guide*.
9294
+ # multi-Region keys][3] in the *Key Management Service Developer Guide*.
9090
9295
  #
9091
- # When KMS [deletes a KMS key from an CloudHSM key store][2], it makes a
9296
+ # When KMS [deletes a KMS key from an CloudHSM key store][4], it makes a
9092
9297
  # best effort to delete the associated key material from the associated
9093
9298
  # 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
9299
+ # orphaned key material][5] from the cluster and its backups. [Deleting
9300
+ # a KMS key from an external key store][6] has no effect on the
9096
9301
  # associated external key. However, for both types of custom key stores,
9097
9302
  # deleting a KMS key is destructive and irreversible. You cannot decrypt
9098
9303
  # ciphertext encrypted under the KMS key by using only its associated
@@ -9101,11 +9306,11 @@ module Aws::KMS
9101
9306
  # material.
9102
9307
  #
9103
9308
  # For more information about scheduling a KMS key for deletion, see
9104
- # [Deleting KMS keys][5] in the *Key Management Service Developer
9309
+ # [Deleting KMS keys][7] in the *Key Management Service Developer
9105
9310
  # Guide*.
9106
9311
  #
9107
9312
  # 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
9313
+ # key state. For details, see [Key states of KMS keys][8] in the *Key
9109
9314
  # Management Service Developer Guide*.
9110
9315
  #
9111
9316
  # **Cross-account use**: No. You cannot perform this operation on a KMS
@@ -9120,17 +9325,19 @@ module Aws::KMS
9120
9325
  # * DisableKey
9121
9326
  #
9122
9327
  # **Eventual consistency**: The KMS API follows an eventual consistency
9123
- # model. For more information, see [KMS eventual consistency][7].
9328
+ # model. For more information, see [KMS eventual consistency][9].
9124
9329
  #
9125
9330
  #
9126
9331
  #
9127
9332
  # [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
9333
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#import-delete-key
9334
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#deleting-mrks
9335
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#delete-cmk-keystore
9336
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
9337
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#delete-xks-key
9338
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
9339
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9340
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9134
9341
  #
9135
9342
  # @option params [required, String] :key_id
9136
9343
  # The unique identifier of the KMS key to delete.
@@ -9219,11 +9426,11 @@ module Aws::KMS
9219
9426
  # Developer Guide*.
9220
9427
  #
9221
9428
  # 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.
9429
+ # pair, such as an RSA, ECC, or ML-DSA pair that is represented by an
9430
+ # asymmetric KMS key. The key owner (or an authorized user) uses their
9431
+ # private key to sign a message. Anyone with the public key can verify
9432
+ # that the message was signed with that particular private key and that
9433
+ # the message hasn't changed since it was signed.
9227
9434
  #
9228
9435
  # To use the `Sign` operation, provide the following information:
9229
9436
  #
@@ -9236,8 +9443,8 @@ module Aws::KMS
9236
9443
  # to sign. You can submit messages of up to 4096 bytes. To sign a
9237
9444
  # larger message, generate a hash digest of the message, and then
9238
9445
  # 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.
9446
+ # whether the message is a full message, a digest, or an ML-DSA
9447
+ # EXTERNAL\_MU, use the `MessageType` parameter.
9241
9448
  #
9242
9449
  # * Choose a signing algorithm that is compatible with the KMS key.
9243
9450
  #
@@ -9279,7 +9486,7 @@ module Aws::KMS
9279
9486
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
9280
9487
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9281
9488
  # [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
9489
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9283
9490
  #
9284
9491
  # @option params [required, String] :key_id
9285
9492
  # Identifies an asymmetric KMS key. KMS uses the private key in the
@@ -9317,26 +9524,34 @@ module Aws::KMS
9317
9524
  # @option params [String] :message_type
9318
9525
  # Tells KMS whether the value of the `Message` parameter should be
9319
9526
  # hashed as part of the signing algorithm. Use `RAW` for unhashed
9320
- # messages; use `DIGEST` for message digests, which are already hashed.
9527
+ # messages; use `DIGEST` for message digests, which are already hashed;
9528
+ # use `EXTERNAL_MU` for 64-byte representative μ used in ML-DSA signing
9529
+ # as defined in NIST FIPS 204 Section 6.2.
9321
9530
  #
9322
9531
  # When the value of `MessageType` is `RAW`, KMS uses the standard
9323
9532
  # signing algorithm, which begins with a hash function. When the value
9324
- # is `DIGEST`, KMS skips the hashing step in the signing algorithm.
9533
+ # is `DIGEST`, KMS skips the hashing step in the signing algorithm. When
9534
+ # the value is `EXTERNAL_MU` KMS skips the concatenated hashing of the
9535
+ # public key hash and the message done in the ML-DSA signing algorithm.
9325
9536
  #
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.
9537
+ # Use the `DIGEST` or `EXTERNAL_MU` value only when the value of the
9538
+ # `Message` parameter is a message digest. If you use the `DIGEST` value
9539
+ # with an unhashed message, the security of the signing operation can be
9540
+ # compromised.
9329
9541
  #
9330
- # When the value of `MessageType`is `DIGEST`, the length of the
9542
+ # When the value of `MessageType` is `DIGEST`, the length of the
9331
9543
  # `Message` value must match the length of hashed messages for the
9332
9544
  # specified signing algorithm.
9333
9545
  #
9546
+ # When the value of `MessageType` is `EXTERNAL_MU` the length of the
9547
+ # `Message` value must be 64 bytes.
9548
+ #
9334
9549
  # You can submit a message digest and omit the `MessageType` or specify
9335
9550
  # `RAW` so the digest is hashed again while signing. However, this can
9336
9551
  # cause verification failures when verifying with a system that assumes
9337
9552
  # a single hash.
9338
9553
  #
9339
- # The hashing algorithm in that `Sign` uses is based on the
9554
+ # The hashing algorithm that `Sign` uses is based on the
9340
9555
  # `SigningAlgorithm` value.
9341
9556
  #
9342
9557
  # * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
@@ -9348,12 +9563,15 @@ module Aws::KMS
9348
9563
  # * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
9349
9564
  # algorithm.
9350
9565
  #
9566
+ # * Signing algorithms that end in SHAKE\_256 use the SHAKE\_256 hashing
9567
+ # algorithm.
9568
+ #
9351
9569
  # * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
9352
9570
  # verification with SM2 key pairs][1].
9353
9571
  #
9354
9572
  #
9355
9573
  #
9356
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
9574
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
9357
9575
  #
9358
9576
  # @option params [Array<String>] :grant_tokens
9359
9577
  # A list of grant tokens.
@@ -9366,7 +9584,7 @@ module Aws::KMS
9366
9584
  #
9367
9585
  #
9368
9586
  # [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
9587
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
9370
9588
  #
9371
9589
  # @option params [required, String] :signing_algorithm
9372
9590
  # Specifies the signing algorithm to use when signing the message.
@@ -9380,12 +9598,12 @@ module Aws::KMS
9380
9598
  # Checks if your request will succeed. `DryRun` is an optional
9381
9599
  # parameter.
9382
9600
  #
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*.
9601
+ # To learn more about how to use this parameter, see [Testing your
9602
+ # permissions][1] in the *Key Management Service Developer Guide*.
9385
9603
  #
9386
9604
  #
9387
9605
  #
9388
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
9606
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
9389
9607
  #
9390
9608
  # @return [Types::SignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9391
9609
  #
@@ -9438,9 +9656,9 @@ module Aws::KMS
9438
9656
  # resp = client.sign({
9439
9657
  # key_id: "KeyIdType", # required
9440
9658
  # message: "data", # required
9441
- # message_type: "RAW", # accepts RAW, DIGEST
9659
+ # message_type: "RAW", # accepts RAW, DIGEST, EXTERNAL_MU
9442
9660
  # 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
9661
+ # 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
9662
  # dry_run: false,
9445
9663
  # })
9446
9664
  #
@@ -9448,7 +9666,7 @@ module Aws::KMS
9448
9666
  #
9449
9667
  # resp.key_id #=> String
9450
9668
  # 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"
9669
+ # 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
9670
  #
9453
9671
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Sign AWS API Documentation
9454
9672
  #
@@ -9512,13 +9730,13 @@ module Aws::KMS
9512
9730
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
9513
9731
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
9514
9732
  # [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
9733
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
9734
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
9517
9735
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
9518
9736
  # [8]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
9519
9737
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9520
9738
  # [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
9739
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9522
9740
  #
9523
9741
  # @option params [required, String] :key_id
9524
9742
  # Identifies a customer managed key in the account and Region.
@@ -9634,7 +9852,7 @@ module Aws::KMS
9634
9852
  # [4]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
9635
9853
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9636
9854
  # [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
9855
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9638
9856
  #
9639
9857
  # @option params [required, String] :key_id
9640
9858
  # Identifies the KMS key from which you are removing tags.
@@ -9747,7 +9965,7 @@ module Aws::KMS
9747
9965
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9748
9966
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9749
9967
  # [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
9968
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9751
9969
  #
9752
9970
  # @option params [required, String] :alias_name
9753
9971
  # Identifies the alias that is changing its KMS key. This value must
@@ -9827,9 +10045,9 @@ module Aws::KMS
9827
10045
  # verify the updated property values, use the DescribeCustomKeyStores
9828
10046
  # operation.
9829
10047
  #
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.
10048
+ # This operation is part of the custom key stores feature in KMS, which
10049
+ # combines the convenience and extensive integration of KMS with the
10050
+ # isolation and control of a key store that you own and manage.
9833
10051
  #
9834
10052
  # When updating the properties of an external key store, verify that the
9835
10053
  # updated settings connect your key store, via the external key store
@@ -9899,7 +10117,7 @@ module Aws::KMS
9899
10117
  # **Cross-account use**: No. You cannot perform this operation on a
9900
10118
  # custom key store in a different Amazon Web Services account.
9901
10119
  #
9902
- # **Required permissions**: [kms:UpdateCustomKeyStore][2] (IAM policy)
10120
+ # **Required permissions**: [kms:UpdateCustomKeyStore][1] (IAM policy)
9903
10121
  #
9904
10122
  # **Related operations:**
9905
10123
  #
@@ -9914,13 +10132,12 @@ module Aws::KMS
9914
10132
  # * DisconnectCustomKeyStore
9915
10133
  #
9916
10134
  # **Eventual consistency**: The KMS API follows an eventual consistency
9917
- # model. For more information, see [KMS eventual consistency][3].
10135
+ # model. For more information, see [KMS eventual consistency][2].
9918
10136
  #
9919
10137
  #
9920
10138
  #
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
10139
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
10140
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9924
10141
  #
9925
10142
  # @option params [required, String] :custom_key_store_id
9926
10143
  # Identifies the custom key store that you want to update. Enter the ID
@@ -10198,7 +10415,7 @@ module Aws::KMS
10198
10415
  #
10199
10416
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
10200
10417
  # [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
10418
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
10202
10419
  #
10203
10420
  # @option params [required, String] :key_id
10204
10421
  # Updates the description of the specified KMS key.
@@ -10258,8 +10475,8 @@ module Aws::KMS
10258
10475
  # key in `eu-west-2`. If you run `UpdatePrimaryRegion` with a
10259
10476
  # `PrimaryRegion` value of `eu-west-2`, the primary key is now the key
10260
10477
  # 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*.
10478
+ # details, see [Change the primary key in a set of multi-Region keys][1]
10479
+ # in the *Key Management Service Developer Guide*.
10263
10480
  #
10264
10481
  # This operation supports *multi-Region keys*, an KMS feature that lets
10265
10482
  # you create multiple interoperable KMS keys in different Amazon Web
@@ -10327,7 +10544,7 @@ module Aws::KMS
10327
10544
  #
10328
10545
  #
10329
10546
  #
10330
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-update
10547
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-update.html
10331
10548
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
10332
10549
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id
10333
10550
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-spec
@@ -10336,7 +10553,7 @@ module Aws::KMS
10336
10553
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
10337
10554
  # [8]: https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html
10338
10555
  # [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
10556
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
10340
10557
  #
10341
10558
  # @option params [required, String] :key_id
10342
10559
  # Identifies the current primary key. When the operation completes, this
@@ -10451,10 +10668,10 @@ module Aws::KMS
10451
10668
  #
10452
10669
  #
10453
10670
  # [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
10671
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
10455
10672
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
10456
10673
  # [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
10674
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
10458
10675
  #
10459
10676
  # @option params [required, String] :key_id
10460
10677
  # Identifies the asymmetric KMS key that will be used to verify the
@@ -10493,27 +10710,34 @@ module Aws::KMS
10493
10710
  # @option params [String] :message_type
10494
10711
  # Tells KMS whether the value of the `Message` parameter should be
10495
10712
  # hashed as part of the signing algorithm. Use `RAW` for unhashed
10496
- # messages; use `DIGEST` for message digests, which are already hashed.
10713
+ # messages; use `DIGEST` for message digests, which are already hashed;
10714
+ # use `EXTERNAL_MU` for 64-byte representative μ used in ML-DSA signing
10715
+ # as defined in NIST FIPS 204 Section 6.2.
10497
10716
  #
10498
10717
  # When the value of `MessageType` is `RAW`, KMS uses the standard
10499
10718
  # signing algorithm, which begins with a hash function. When the value
10500
- # is `DIGEST`, KMS skips the hashing step in the signing algorithm.
10719
+ # is `DIGEST`, KMS skips the hashing step in the signing algorithm. When
10720
+ # the value is `EXTERNAL_MU` KMS skips the concatenated hashing of the
10721
+ # public key hash and the message done in the ML-DSA signing algorithm.
10501
10722
  #
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
10723
+ # Use the `DIGEST` or `EXTERNAL_MU` value only when the value of the
10724
+ # `Message` parameter is a message digest. If you use the `DIGEST` value
10725
+ # with an unhashed message, the security of the signing operation can be
10505
10726
  # compromised.
10506
10727
  #
10507
- # When the value of `MessageType`is `DIGEST`, the length of the
10728
+ # When the value of `MessageType` is `DIGEST`, the length of the
10508
10729
  # `Message` value must match the length of hashed messages for the
10509
10730
  # specified signing algorithm.
10510
10731
  #
10732
+ # When the value of `MessageType` is `EXTERNAL_MU` the length of the
10733
+ # `Message` value must be 64 bytes.
10734
+ #
10511
10735
  # You can submit a message digest and omit the `MessageType` or specify
10512
10736
  # `RAW` so the digest is hashed again while signing. However, if the
10513
10737
  # signed message is hashed once while signing, but twice while
10514
10738
  # verifying, verification fails, even when the message hasn't changed.
10515
10739
  #
10516
- # The hashing algorithm in that `Verify` uses is based on the
10740
+ # The hashing algorithm that `Verify` uses is based on the
10517
10741
  # `SigningAlgorithm` value.
10518
10742
  #
10519
10743
  # * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
@@ -10525,12 +10749,15 @@ module Aws::KMS
10525
10749
  # * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
10526
10750
  # algorithm.
10527
10751
  #
10752
+ # * Signing algorithms that end in SHAKE\_256 use the SHAKE\_256 hashing
10753
+ # algorithm.
10754
+ #
10528
10755
  # * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
10529
10756
  # verification with SM2 key pairs][1].
10530
10757
  #
10531
10758
  #
10532
10759
  #
10533
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
10760
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
10534
10761
  #
10535
10762
  # @option params [required, String, StringIO, File] :signature
10536
10763
  # The signature that the `Sign` operation generated.
@@ -10550,18 +10777,18 @@ module Aws::KMS
10550
10777
  #
10551
10778
  #
10552
10779
  # [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
10780
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
10554
10781
  #
10555
10782
  # @option params [Boolean] :dry_run
10556
10783
  # Checks if your request will succeed. `DryRun` is an optional
10557
10784
  # parameter.
10558
10785
  #
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*.
10786
+ # To learn more about how to use this parameter, see [Testing your
10787
+ # permissions][1] in the *Key Management Service Developer Guide*.
10561
10788
  #
10562
10789
  #
10563
10790
  #
10564
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
10791
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
10565
10792
  #
10566
10793
  # @return [Types::VerifyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10567
10794
  #
@@ -10616,9 +10843,9 @@ module Aws::KMS
10616
10843
  # resp = client.verify({
10617
10844
  # key_id: "KeyIdType", # required
10618
10845
  # message: "data", # required
10619
- # message_type: "RAW", # accepts RAW, DIGEST
10846
+ # message_type: "RAW", # accepts RAW, DIGEST, EXTERNAL_MU
10620
10847
  # 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
10848
+ # 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
10849
  # grant_tokens: ["GrantTokenType"],
10623
10850
  # dry_run: false,
10624
10851
  # })
@@ -10627,7 +10854,7 @@ module Aws::KMS
10627
10854
  #
10628
10855
  # resp.key_id #=> String
10629
10856
  # 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"
10857
+ # 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
10858
  #
10632
10859
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Verify AWS API Documentation
10633
10860
  #
@@ -10675,7 +10902,7 @@ module Aws::KMS
10675
10902
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
10676
10903
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
10677
10904
  # [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
10905
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
10679
10906
  #
10680
10907
  # @option params [required, String, StringIO, File] :message
10681
10908
  # The message that will be used in the verification. Enter the same
@@ -10713,18 +10940,18 @@ module Aws::KMS
10713
10940
  #
10714
10941
  #
10715
10942
  # [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
10943
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
10717
10944
  #
10718
10945
  # @option params [Boolean] :dry_run
10719
10946
  # Checks if your request will succeed. `DryRun` is an optional
10720
10947
  # parameter.
10721
10948
  #
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*.
10949
+ # To learn more about how to use this parameter, see [Testing your
10950
+ # permissions][1] in the *Key Management Service Developer Guide*.
10724
10951
  #
10725
10952
  #
10726
10953
  #
10727
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
10954
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
10728
10955
  #
10729
10956
  # @return [Types::VerifyMacResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10730
10957
  #
@@ -10796,7 +11023,7 @@ module Aws::KMS
10796
11023
  tracer: tracer
10797
11024
  )
10798
11025
  context[:gem_name] = 'aws-sdk-kms'
10799
- context[:gem_version] = '1.99.0'
11026
+ context[:gem_version] = '1.106.0'
10800
11027
  Seahorse::Client::Request.new(handlers, context)
10801
11028
  end
10802
11029