aws-sdk-kms 1.101.0 → 1.105.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -301,7 +301,7 @@ module Aws::KMS
301
301
  # A valid key ID is required. If you supply a null or empty string
302
302
  # value, this operation returns an error.
303
303
  #
304
- # For help finding the key ID and ARN, see [Finding the Key ID and
304
+ # For help finding the key ID and ARN, see [Find the key ID and key
305
305
  # ARN][2] in the <i> <i>Key Management Service Developer Guide</i>
306
306
  # </i>.
307
307
  #
@@ -320,7 +320,7 @@ module Aws::KMS
320
320
  #
321
321
  #
322
322
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
323
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html#find-cmk-id-arn
323
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html
324
324
  # @return [String]
325
325
  #
326
326
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateAliasRequest AWS API Documentation
@@ -387,7 +387,7 @@ module Aws::KMS
387
387
  #
388
388
  #
389
389
  #
390
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-concepts.html#concept-kmsuser
390
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html#concept-kmsuser
391
391
  # @return [String]
392
392
  #
393
393
  # @!attribute [rw] custom_key_store_type
@@ -494,7 +494,7 @@ module Aws::KMS
494
494
  # `RawSecretAccessKey`, a secret key, and `AccessKeyId`, a unique
495
495
  # identifier for the `RawSecretAccessKey`. For character requirements,
496
496
  # see
497
- # [XksProxyAuthenticationCredentialType](kms/latest/APIReference/API_XksProxyAuthenticationCredentialType.html).
497
+ # [XksProxyAuthenticationCredentialType](API_XksProxyAuthenticationCredentialType.html).
498
498
  #
499
499
  # KMS uses this authentication credential to sign requests to the
500
500
  # external key store proxy on your behalf. This credential is
@@ -535,7 +535,7 @@ module Aws::KMS
535
535
  #
536
536
  #
537
537
  #
538
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/plan-xks-keystore.html#choose-xks-connectivity
538
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/choose-xks-connectivity.html
539
539
  # @return [String]
540
540
  #
541
541
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateCustomKeyStoreRequest AWS API Documentation
@@ -621,7 +621,7 @@ module Aws::KMS
621
621
  #
622
622
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
623
623
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns
624
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete
624
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
625
625
  # @return [String]
626
626
  #
627
627
  # @!attribute [rw] operations
@@ -694,7 +694,7 @@ module Aws::KMS
694
694
  #
695
695
  #
696
696
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
697
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
697
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
698
698
  # @return [Array<String>]
699
699
  #
700
700
  # @!attribute [rw] name
@@ -722,12 +722,12 @@ module Aws::KMS
722
722
  # Checks if your request will succeed. `DryRun` is an optional
723
723
  # parameter.
724
724
  #
725
- # To learn more about how to use this parameter, see [Testing your KMS
726
- # API calls][1] in the *Key Management Service Developer Guide*.
725
+ # To learn more about how to use this parameter, see [Testing your
726
+ # permissions][1] in the *Key Management Service Developer Guide*.
727
727
  #
728
728
  #
729
729
  #
730
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
730
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
731
731
  # @return [Boolean]
732
732
  #
733
733
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateGrantRequest AWS API Documentation
@@ -756,7 +756,7 @@ module Aws::KMS
756
756
  #
757
757
  #
758
758
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
759
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
759
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
760
760
  # @return [String]
761
761
  #
762
762
  # @!attribute [rw] grant_id
@@ -796,22 +796,38 @@ module Aws::KMS
796
796
  # that I make are not always immediately visible][2] in the *Amazon
797
797
  # Web Services Identity and Access Management User Guide*.
798
798
  #
799
+ # <note markdown="1"> If either of the required `Resource` or `Action` elements are
800
+ # missing from a key policy statement, the policy statement has no
801
+ # effect. When a key policy statement is missing one of these
802
+ # elements, the KMS console correctly reports an error, but the
803
+ # `CreateKey` and `PutKeyPolicy` API requests succeed, even though the
804
+ # policy statement is ineffective.
805
+ #
806
+ # For more information on required key policy elements, see [Elements
807
+ # in a key policy][3] in the *Key Management Service Developer Guide*.
808
+ #
809
+ # </note>
810
+ #
799
811
  # If you do not provide a key policy, KMS attaches a default key
800
812
  # policy to the KMS key. For more information, see [Default key
801
- # policy][3] in the *Key Management Service Developer Guide*.
813
+ # policy][4] in the *Key Management Service Developer Guide*.
802
814
  #
803
- # The key policy size quota is 32 kilobytes (32768 bytes).
815
+ # <note markdown="1"> If the key policy exceeds the length constraint, KMS returns a
816
+ # `LimitExceededException`.
817
+ #
818
+ # </note>
804
819
  #
805
820
  # For help writing and formatting a JSON policy document, see the [IAM
806
- # JSON Policy Reference][4] in the <i> <i>Identity and Access
821
+ # JSON Policy Reference][5] in the <i> <i>Identity and Access
807
822
  # Management User Guide</i> </i>.
808
823
  #
809
824
  #
810
825
  #
811
826
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
812
827
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
813
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
814
- # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
828
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html#key-policy-elements
829
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html
830
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
815
831
  # @return [String]
816
832
  #
817
833
  # @!attribute [rw] description
@@ -847,7 +863,10 @@ module Aws::KMS
847
863
  # * For asymmetric KMS keys with NIST-recommended elliptic curve key
848
864
  # pairs, specify `SIGN_VERIFY` or `KEY_AGREEMENT`.
849
865
  #
850
- # * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs specify
866
+ # * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs, specify
867
+ # `SIGN_VERIFY`.
868
+ #
869
+ # * For asymmetric KMS keys with ML-DSA key pairs, specify
851
870
  # `SIGN_VERIFY`.
852
871
  #
853
872
  # * For asymmetric KMS keys with SM2 key pairs (China Regions only),
@@ -855,7 +874,7 @@ module Aws::KMS
855
874
  #
856
875
  #
857
876
  #
858
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
877
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
859
878
  # @return [String]
860
879
  #
861
880
  # @!attribute [rw] customer_master_key_spec
@@ -872,8 +891,8 @@ module Aws::KMS
872
891
  # `SYMMETRIC_DEFAULT`, creates a KMS key with a 256-bit AES-GCM key
873
892
  # that is used for encryption and decryption, except in China Regions,
874
893
  # where it creates a 128-bit symmetric key that uses SM4 encryption.
875
- # For help choosing a key spec for your KMS key, see [Choosing a KMS
876
- # key type][1] in the <i> <i>Key Management Service Developer
894
+ # For a detailed description of all supported key specs, see [Key spec
895
+ # reference][1] in the <i> <i>Key Management Service Developer
877
896
  # Guide</i> </i>.
878
897
  #
879
898
  # The `KeySpec` determines whether the KMS key contains a symmetric
@@ -882,10 +901,11 @@ module Aws::KMS
882
901
  # KMS key is created. To further restrict the algorithms that can be
883
902
  # used with the KMS key, use a condition key in its key policy or IAM
884
903
  # policy. For more information, see [kms:EncryptionAlgorithm][2],
885
- # [kms:MacAlgorithm][3] or [kms:Signing Algorithm][4] in the <i>
886
- # <i>Key Management Service Developer Guide</i> </i>.
904
+ # [kms:MacAlgorithm][3], [kms:KeyAgreementAlgorithm][4], or
905
+ # [kms:SigningAlgorithm][5] in the <i> <i>Key Management Service
906
+ # Developer Guide</i> </i>.
887
907
  #
888
- # [Amazon Web Services services that are integrated with KMS][5] use
908
+ # [Amazon Web Services services that are integrated with KMS][6] use
889
909
  # symmetric encryption KMS keys to protect your data. These services
890
910
  # do not support asymmetric KMS keys or HMAC KMS keys.
891
911
  #
@@ -928,6 +948,13 @@ module Aws::KMS
928
948
  # cryptocurrencies.
929
949
  #
930
950
  # ^
951
+ # * Asymmetric ML-DSA key pairs (signing and verification)
952
+ #
953
+ # * `ML_DSA_44`
954
+ #
955
+ # * `ML_DSA_65`
956
+ #
957
+ # * `ML_DSA_87`
931
958
  # * SM2 key pairs (encryption and decryption -or- signing and
932
959
  # verification -or- deriving shared secrets)
933
960
  #
@@ -937,11 +964,12 @@ module Aws::KMS
937
964
  #
938
965
  #
939
966
  #
940
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html#symm-asymm-choose
941
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-algorithm
942
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-mac-algorithm
943
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-signing-algorithm
944
- # [5]: http://aws.amazon.com/kms/features/#AWS_Service_Integration
967
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html
968
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-encryption-algorithm
969
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-mac-algorithm
970
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-key-agreement-algorithm
971
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-signing-algorithm
972
+ # [6]: http://aws.amazon.com/kms/features/#AWS_Service_Integration
945
973
  # @return [String]
946
974
  #
947
975
  # @!attribute [rw] origin
@@ -994,7 +1022,7 @@ module Aws::KMS
994
1022
  #
995
1023
  #
996
1024
  #
997
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1025
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
998
1026
  # @return [String]
999
1027
  #
1000
1028
  # @!attribute [rw] bypass_policy_lockout_safety_check
@@ -1045,7 +1073,7 @@ module Aws::KMS
1045
1073
  # When you add tags to an Amazon Web Services resource, Amazon Web
1046
1074
  # Services generates a cost allocation report with usage and costs
1047
1075
  # aggregated by tags. Tags can also be used to control access to a KMS
1048
- # key. For details, see [Tagging Keys][3].
1076
+ # key. For details, see [Tags in KMS][3].
1049
1077
  #
1050
1078
  #
1051
1079
  #
@@ -1118,7 +1146,7 @@ module Aws::KMS
1118
1146
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-external-key
1119
1147
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
1120
1148
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-xks-proxy
1121
- # [4]: https://docs.aws.amazon.com/create-xks-keys.html#xks-key-requirements
1149
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/create-xks-keys.html#xks-key-requirements
1122
1150
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-double-encryption
1123
1151
  # @return [String]
1124
1152
  #
@@ -1526,8 +1554,8 @@ module Aws::KMS
1526
1554
  #
1527
1555
  #
1528
1556
  #
1529
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1530
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
1557
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
1558
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
1531
1559
  # @return [Hash<String,String>]
1532
1560
  #
1533
1561
  # @!attribute [rw] grant_tokens
@@ -1541,7 +1569,7 @@ module Aws::KMS
1541
1569
  #
1542
1570
  #
1543
1571
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
1544
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
1572
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
1545
1573
  # @return [Array<String>]
1546
1574
  #
1547
1575
  # @!attribute [rw] key_id
@@ -1622,12 +1650,12 @@ module Aws::KMS
1622
1650
  # Checks if your request will succeed. `DryRun` is an optional
1623
1651
  # parameter.
1624
1652
  #
1625
- # To learn more about how to use this parameter, see [Testing your KMS
1626
- # API calls][1] in the *Key Management Service Developer Guide*.
1653
+ # To learn more about how to use this parameter, see [Testing your
1654
+ # permissions][1] in the *Key Management Service Developer Guide*.
1627
1655
  #
1628
1656
  #
1629
1657
  #
1630
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
1658
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
1631
1659
  # @return [Boolean]
1632
1660
  #
1633
1661
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DecryptRequest AWS API Documentation
@@ -1682,13 +1710,21 @@ module Aws::KMS
1682
1710
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
1683
1711
  # @return [String]
1684
1712
  #
1713
+ # @!attribute [rw] key_material_id
1714
+ # The identifier of the key material used to decrypt the ciphertext.
1715
+ # This field is present only when the operation uses a symmetric
1716
+ # encryption KMS key. This field is omitted if the request includes
1717
+ # the `Recipient` parameter.
1718
+ # @return [String]
1719
+ #
1685
1720
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DecryptResponse AWS API Documentation
1686
1721
  #
1687
1722
  class DecryptResponse < Struct.new(
1688
1723
  :key_id,
1689
1724
  :plaintext,
1690
1725
  :encryption_algorithm,
1691
- :ciphertext_for_recipient)
1726
+ :ciphertext_for_recipient,
1727
+ :key_material_id)
1692
1728
  SENSITIVE = [:plaintext]
1693
1729
  include Aws::Structure
1694
1730
  end
@@ -1740,10 +1776,43 @@ module Aws::KMS
1740
1776
  # DescribeKey.
1741
1777
  # @return [String]
1742
1778
  #
1779
+ # @!attribute [rw] key_material_id
1780
+ # Identifies the imported key material you are deleting.
1781
+ #
1782
+ # If no KeyMaterialId is specified, KMS deletes the current key
1783
+ # material.
1784
+ #
1785
+ # To get the list of key material IDs associated with a KMS key, use
1786
+ # ListKeyRotations.
1787
+ # @return [String]
1788
+ #
1743
1789
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterialRequest AWS API Documentation
1744
1790
  #
1745
1791
  class DeleteImportedKeyMaterialRequest < Struct.new(
1746
- :key_id)
1792
+ :key_id,
1793
+ :key_material_id)
1794
+ SENSITIVE = []
1795
+ include Aws::Structure
1796
+ end
1797
+
1798
+ # @!attribute [rw] key_id
1799
+ # The Amazon Resource Name ([key ARN][1]) of the KMS key from which
1800
+ # the key material was deleted.
1801
+ #
1802
+ #
1803
+ #
1804
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN
1805
+ # @return [String]
1806
+ #
1807
+ # @!attribute [rw] key_material_id
1808
+ # Identifies the deleted key material.
1809
+ # @return [String]
1810
+ #
1811
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterialResponse AWS API Documentation
1812
+ #
1813
+ class DeleteImportedKeyMaterialResponse < Struct.new(
1814
+ :key_id,
1815
+ :key_material_id)
1747
1816
  SENSITIVE = []
1748
1817
  include Aws::Structure
1749
1818
  end
@@ -1831,19 +1900,19 @@ module Aws::KMS
1831
1900
  #
1832
1901
  #
1833
1902
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
1834
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
1903
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
1835
1904
  # @return [Array<String>]
1836
1905
  #
1837
1906
  # @!attribute [rw] dry_run
1838
1907
  # Checks if your request will succeed. `DryRun` is an optional
1839
1908
  # parameter.
1840
1909
  #
1841
- # To learn more about how to use this parameter, see [Testing your KMS
1842
- # API calls][1] in the *Key Management Service Developer Guide*.
1910
+ # To learn more about how to use this parameter, see [Testing your
1911
+ # permissions][1] in the *Key Management Service Developer Guide*.
1843
1912
  #
1844
1913
  #
1845
1914
  #
1846
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
1915
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
1847
1916
  # @return [Boolean]
1848
1917
  #
1849
1918
  # @!attribute [rw] recipient
@@ -2063,7 +2132,7 @@ module Aws::KMS
2063
2132
  #
2064
2133
  #
2065
2134
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2066
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2135
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2067
2136
  # @return [Array<String>]
2068
2137
  #
2069
2138
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DescribeKeyRequest AWS API Documentation
@@ -2134,7 +2203,7 @@ module Aws::KMS
2134
2203
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks
2135
2204
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
2136
2205
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
2137
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
2206
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
2138
2207
  # @return [String]
2139
2208
  #
2140
2209
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DisableKeyRotationRequest AWS API Documentation
@@ -2237,8 +2306,8 @@ module Aws::KMS
2237
2306
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
2238
2307
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
2239
2308
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
2240
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
2241
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
2309
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
2310
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
2242
2311
  # @return [String]
2243
2312
  #
2244
2313
  # @!attribute [rw] rotation_period_in_days
@@ -2324,8 +2393,8 @@ module Aws::KMS
2324
2393
  #
2325
2394
  #
2326
2395
  #
2327
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
2328
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2396
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
2397
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2329
2398
  # @return [Hash<String,String>]
2330
2399
  #
2331
2400
  # @!attribute [rw] grant_tokens
@@ -2339,7 +2408,7 @@ module Aws::KMS
2339
2408
  #
2340
2409
  #
2341
2410
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2342
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2411
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2343
2412
  # @return [Array<String>]
2344
2413
  #
2345
2414
  # @!attribute [rw] encryption_algorithm
@@ -2359,12 +2428,12 @@ module Aws::KMS
2359
2428
  # Checks if your request will succeed. `DryRun` is an optional
2360
2429
  # parameter.
2361
2430
  #
2362
- # To learn more about how to use this parameter, see [Testing your KMS
2363
- # API calls][1] in the *Key Management Service Developer Guide*.
2431
+ # To learn more about how to use this parameter, see [Testing your
2432
+ # permissions][1] in the *Key Management Service Developer Guide*.
2364
2433
  #
2365
2434
  #
2366
2435
  #
2367
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2436
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2368
2437
  # @return [Boolean]
2369
2438
  #
2370
2439
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EncryptRequest AWS API Documentation
@@ -2447,7 +2516,7 @@ module Aws::KMS
2447
2516
  #
2448
2517
  #
2449
2518
  #
2450
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2519
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2451
2520
  # @return [Hash<String,String>]
2452
2521
  #
2453
2522
  # @!attribute [rw] key_id
@@ -2481,9 +2550,11 @@ module Aws::KMS
2481
2550
  #
2482
2551
  # The KMS rule that restricts the use of asymmetric RSA and SM2 KMS
2483
2552
  # keys to encrypt and decrypt or to sign and verify (but not both),
2484
- # and the rule that permits you to use ECC KMS keys only to sign and
2485
- # verify, are not effective on data key pairs, which are used outside
2486
- # of KMS. The SM2 key spec is only available in China Regions.
2553
+ # the rule that permits you to use ECC KMS keys only to sign and
2554
+ # verify, and the rule that permits you to use ML-DSA key pairs to
2555
+ # sign and verify only are not effective on data key pairs, which are
2556
+ # used outside of KMS. The SM2 key spec is only available in China
2557
+ # Regions.
2487
2558
  # @return [String]
2488
2559
  #
2489
2560
  # @!attribute [rw] grant_tokens
@@ -2497,7 +2568,7 @@ module Aws::KMS
2497
2568
  #
2498
2569
  #
2499
2570
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2500
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2571
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2501
2572
  # @return [Array<String>]
2502
2573
  #
2503
2574
  # @!attribute [rw] recipient
@@ -2538,12 +2609,12 @@ module Aws::KMS
2538
2609
  # Checks if your request will succeed. `DryRun` is an optional
2539
2610
  # parameter.
2540
2611
  #
2541
- # To learn more about how to use this parameter, see [Testing your KMS
2542
- # API calls][1] in the *Key Management Service Developer Guide*.
2612
+ # To learn more about how to use this parameter, see [Testing your
2613
+ # permissions][1] in the *Key Management Service Developer Guide*.
2543
2614
  #
2544
2615
  #
2545
2616
  #
2546
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2617
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2547
2618
  # @return [Boolean]
2548
2619
  #
2549
2620
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairRequest AWS API Documentation
@@ -2610,6 +2681,10 @@ module Aws::KMS
2610
2681
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2611
2682
  # @return [String]
2612
2683
  #
2684
+ # @!attribute [rw] key_material_id
2685
+ # The identifier of the key material used to encrypt the private key.
2686
+ # @return [String]
2687
+ #
2613
2688
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairResponse AWS API Documentation
2614
2689
  #
2615
2690
  class GenerateDataKeyPairResponse < Struct.new(
@@ -2618,7 +2693,8 @@ module Aws::KMS
2618
2693
  :public_key,
2619
2694
  :key_id,
2620
2695
  :key_pair_spec,
2621
- :ciphertext_for_recipient)
2696
+ :ciphertext_for_recipient,
2697
+ :key_material_id)
2622
2698
  SENSITIVE = [:private_key_plaintext]
2623
2699
  include Aws::Structure
2624
2700
  end
@@ -2645,7 +2721,7 @@ module Aws::KMS
2645
2721
  #
2646
2722
  #
2647
2723
  #
2648
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2724
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2649
2725
  # @return [Hash<String,String>]
2650
2726
  #
2651
2727
  # @!attribute [rw] key_id
@@ -2679,9 +2755,11 @@ module Aws::KMS
2679
2755
  #
2680
2756
  # The KMS rule that restricts the use of asymmetric RSA and SM2 KMS
2681
2757
  # keys to encrypt and decrypt or to sign and verify (but not both),
2682
- # and the rule that permits you to use ECC KMS keys only to sign and
2683
- # verify, are not effective on data key pairs, which are used outside
2684
- # of KMS. The SM2 key spec is only available in China Regions.
2758
+ # the rule that permits you to use ECC KMS keys only to sign and
2759
+ # verify, and the rule that permits you to use ML-DSA key pairs to
2760
+ # sign and verify only are not effective on data key pairs, which are
2761
+ # used outside of KMS. The SM2 key spec is only available in China
2762
+ # Regions.
2685
2763
  # @return [String]
2686
2764
  #
2687
2765
  # @!attribute [rw] grant_tokens
@@ -2695,19 +2773,19 @@ module Aws::KMS
2695
2773
  #
2696
2774
  #
2697
2775
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2698
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2776
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2699
2777
  # @return [Array<String>]
2700
2778
  #
2701
2779
  # @!attribute [rw] dry_run
2702
2780
  # Checks if your request will succeed. `DryRun` is an optional
2703
2781
  # parameter.
2704
2782
  #
2705
- # To learn more about how to use this parameter, see [Testing your KMS
2706
- # API calls][1] in the *Key Management Service Developer Guide*.
2783
+ # To learn more about how to use this parameter, see [Testing your
2784
+ # permissions][1] in the *Key Management Service Developer Guide*.
2707
2785
  #
2708
2786
  #
2709
2787
  #
2710
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2788
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2711
2789
  # @return [Boolean]
2712
2790
  #
2713
2791
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintextRequest AWS API Documentation
@@ -2747,13 +2825,18 @@ module Aws::KMS
2747
2825
  # The type of data key pair that was generated.
2748
2826
  # @return [String]
2749
2827
  #
2828
+ # @!attribute [rw] key_material_id
2829
+ # The identifier of the key material used to encrypt the private key.
2830
+ # @return [String]
2831
+ #
2750
2832
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintextResponse AWS API Documentation
2751
2833
  #
2752
2834
  class GenerateDataKeyPairWithoutPlaintextResponse < Struct.new(
2753
2835
  :private_key_ciphertext_blob,
2754
2836
  :public_key,
2755
2837
  :key_id,
2756
- :key_pair_spec)
2838
+ :key_pair_spec,
2839
+ :key_material_id)
2757
2840
  SENSITIVE = []
2758
2841
  include Aws::Structure
2759
2842
  end
@@ -2806,7 +2889,7 @@ module Aws::KMS
2806
2889
  #
2807
2890
  #
2808
2891
  #
2809
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2892
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2810
2893
  # @return [Hash<String,String>]
2811
2894
  #
2812
2895
  # @!attribute [rw] number_of_bytes
@@ -2839,7 +2922,7 @@ module Aws::KMS
2839
2922
  #
2840
2923
  #
2841
2924
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2842
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2925
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2843
2926
  # @return [Array<String>]
2844
2927
  #
2845
2928
  # @!attribute [rw] recipient
@@ -2876,12 +2959,12 @@ module Aws::KMS
2876
2959
  # Checks if your request will succeed. `DryRun` is an optional
2877
2960
  # parameter.
2878
2961
  #
2879
- # To learn more about how to use this parameter, see [Testing your KMS
2880
- # API calls][1] in the *Key Management Service Developer Guide*.
2962
+ # To learn more about how to use this parameter, see [Testing your
2963
+ # permissions][1] in the *Key Management Service Developer Guide*.
2881
2964
  #
2882
2965
  #
2883
2966
  #
2884
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2967
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2885
2968
  # @return [Boolean]
2886
2969
  #
2887
2970
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyRequest AWS API Documentation
@@ -2940,13 +3023,20 @@ module Aws::KMS
2940
3023
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2941
3024
  # @return [String]
2942
3025
  #
3026
+ # @!attribute [rw] key_material_id
3027
+ # The identifier of the key material used to encrypt the data key.
3028
+ # This field is omitted if the request includes the `Recipient`
3029
+ # parameter.
3030
+ # @return [String]
3031
+ #
2943
3032
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyResponse AWS API Documentation
2944
3033
  #
2945
3034
  class GenerateDataKeyResponse < Struct.new(
2946
3035
  :ciphertext_blob,
2947
3036
  :plaintext,
2948
3037
  :key_id,
2949
- :ciphertext_for_recipient)
3038
+ :ciphertext_for_recipient,
3039
+ :key_material_id)
2950
3040
  SENSITIVE = [:plaintext]
2951
3041
  include Aws::Structure
2952
3042
  end
@@ -2999,7 +3089,7 @@ module Aws::KMS
2999
3089
  #
3000
3090
  #
3001
3091
  #
3002
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
3092
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
3003
3093
  # @return [Hash<String,String>]
3004
3094
  #
3005
3095
  # @!attribute [rw] key_spec
@@ -3025,19 +3115,19 @@ module Aws::KMS
3025
3115
  #
3026
3116
  #
3027
3117
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
3028
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
3118
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3029
3119
  # @return [Array<String>]
3030
3120
  #
3031
3121
  # @!attribute [rw] dry_run
3032
3122
  # Checks if your request will succeed. `DryRun` is an optional
3033
3123
  # parameter.
3034
3124
  #
3035
- # To learn more about how to use this parameter, see [Testing your KMS
3036
- # API calls][1] in the *Key Management Service Developer Guide*.
3125
+ # To learn more about how to use this parameter, see [Testing your
3126
+ # permissions][1] in the *Key Management Service Developer Guide*.
3037
3127
  #
3038
3128
  #
3039
3129
  #
3040
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
3130
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
3041
3131
  # @return [Boolean]
3042
3132
  #
3043
3133
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintextRequest AWS API Documentation
@@ -3068,11 +3158,16 @@ module Aws::KMS
3068
3158
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN
3069
3159
  # @return [String]
3070
3160
  #
3161
+ # @!attribute [rw] key_material_id
3162
+ # The identifier of the key material used to encrypt the data key.
3163
+ # @return [String]
3164
+ #
3071
3165
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintextResponse AWS API Documentation
3072
3166
  #
3073
3167
  class GenerateDataKeyWithoutPlaintextResponse < Struct.new(
3074
3168
  :ciphertext_blob,
3075
- :key_id)
3169
+ :key_id,
3170
+ :key_material_id)
3076
3171
  SENSITIVE = []
3077
3172
  include Aws::Structure
3078
3173
  end
@@ -3117,19 +3212,19 @@ module Aws::KMS
3117
3212
  #
3118
3213
  #
3119
3214
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
3120
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
3215
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3121
3216
  # @return [Array<String>]
3122
3217
  #
3123
3218
  # @!attribute [rw] dry_run
3124
3219
  # Checks if your request will succeed. `DryRun` is an optional
3125
3220
  # parameter.
3126
3221
  #
3127
- # To learn more about how to use this parameter, see [Testing your KMS
3128
- # API calls][1] in the *Key Management Service Developer Guide*.
3222
+ # To learn more about how to use this parameter, see [Testing your
3223
+ # permissions][1] in the *Key Management Service Developer Guide*.
3129
3224
  #
3130
3225
  #
3131
3226
  #
3132
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
3227
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
3133
3228
  # @return [Boolean]
3134
3229
  #
3135
3230
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateMacRequest AWS API Documentation
@@ -3355,15 +3450,12 @@ module Aws::KMS
3355
3450
  # Identifies the date and time that an in progress on-demand rotation
3356
3451
  # was initiated.
3357
3452
  #
3358
- # The KMS API follows an [eventual consistency][1] model due to the
3359
- # distributed nature of the system. As a result, there might be a
3360
- # slight delay between initiating on-demand key rotation and the
3361
- # rotation's completion. Once the on-demand rotation is complete, use
3362
- # ListKeyRotations to view the details of the on-demand rotation.
3363
- #
3364
- #
3365
- #
3366
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3453
+ # KMS uses a background process to perform rotations. As a result,
3454
+ # there might be a slight delay between initiating on-demand key
3455
+ # rotation and the rotation's completion. Once the on-demand rotation
3456
+ # is complete, KMS removes this field from the response. You can use
3457
+ # ListKeyRotations to view the details of the completed on-demand
3458
+ # rotation.
3367
3459
  # @return [Time]
3368
3460
  #
3369
3461
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyRotationStatusResponse AWS API Documentation
@@ -3403,9 +3495,8 @@ module Aws::KMS
3403
3495
  # @!attribute [rw] wrapping_algorithm
3404
3496
  # The algorithm you will use with the RSA public key (`PublicKey`) in
3405
3497
  # the response to protect your key material during import. For more
3406
- # information, see [Select a wrapping
3407
- # algorithm](kms/latest/developerguide/importing-keys-get-public-key-and-token.html#select-wrapping-algorithm)
3408
- # in the *Key Management Service Developer Guide*.
3498
+ # information, see [Select a wrapping algorithm][1] in the *Key
3499
+ # Management Service Developer Guide*.
3409
3500
  #
3410
3501
  # For RSA\_AES wrapping algorithms, you encrypt your key material with
3411
3502
  # an AES key that you generate, then encrypt your AES key with the RSA
@@ -3437,6 +3528,10 @@ module Aws::KMS
3437
3528
  #
3438
3529
  # * **RSAES\_PKCS1\_V1\_5** (Deprecated) — As of October 10, 2023, KMS
3439
3530
  # does not support the RSAES\_PKCS1\_V1\_5 wrapping algorithm.
3531
+ #
3532
+ #
3533
+ #
3534
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-get-public-key-and-token.html#select-wrapping-algorithm
3440
3535
  # @return [String]
3441
3536
  #
3442
3537
  # @!attribute [rw] wrapping_key_spec
@@ -3532,7 +3627,7 @@ module Aws::KMS
3532
3627
  #
3533
3628
  #
3534
3629
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
3535
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
3630
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3536
3631
  # @return [Array<String>]
3537
3632
  #
3538
3633
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetPublicKeyRequest AWS API Documentation
@@ -3634,9 +3729,9 @@ module Aws::KMS
3634
3729
  #
3635
3730
  # KMS applies the grant constraints only to cryptographic operations
3636
3731
  # that support an encryption context, that is, all cryptographic
3637
- # operations with a [symmetric KMS key][3]. Grant constraints are not
3638
- # applied to operations that do not support an encryption context, such
3639
- # as cryptographic operations with asymmetric KMS keys and management
3732
+ # operations with a symmetric KMS key. Grant constraints are not applied
3733
+ # to operations that do not support an encryption context, such as
3734
+ # cryptographic operations with asymmetric KMS keys and management
3640
3735
  # operations, such as DescribeKey or RetireGrant.
3641
3736
  #
3642
3737
  # In a cryptographic operation, the encryption context in the decryption
@@ -3651,15 +3746,14 @@ module Aws::KMS
3651
3746
  # differ only by case. To require a fully case-sensitive encryption
3652
3747
  # context, use the `kms:EncryptionContext:` and
3653
3748
  # `kms:EncryptionContextKeys` conditions in an IAM or key policy. For
3654
- # details, see [kms:EncryptionContext:][4] in the <i> <i>Key Management
3655
- # Service Developer Guide</i> </i>.
3749
+ # details, see [kms:EncryptionContext:context-key][3] in the <i> <i>Key
3750
+ # Management Service Developer Guide</i> </i>.
3656
3751
  #
3657
3752
  #
3658
3753
  #
3659
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3660
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
3661
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#symmetric-cmks
3662
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-context
3754
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
3755
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
3756
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-encryption-context
3663
3757
  #
3664
3758
  # @!attribute [rw] encryption_context_subset
3665
3759
  # A list of key-value pairs that must be included in the encryption
@@ -3670,7 +3764,7 @@ module Aws::KMS
3670
3764
  #
3671
3765
  #
3672
3766
  #
3673
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3767
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
3674
3768
  # @return [Hash<String,String>]
3675
3769
  #
3676
3770
  # @!attribute [rw] encryption_context_equals
@@ -3681,7 +3775,7 @@ module Aws::KMS
3681
3775
  #
3682
3776
  #
3683
3777
  #
3684
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3778
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
3685
3779
  # @return [Hash<String,String>]
3686
3780
  #
3687
3781
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GrantConstraints AWS API Documentation
@@ -3770,11 +3864,9 @@ module Aws::KMS
3770
3864
  #
3771
3865
  # The KMS key can be a symmetric encryption KMS key, HMAC KMS key,
3772
3866
  # asymmetric encryption KMS key, or asymmetric signing KMS key,
3773
- # including a [multi-Region
3774
- # key](kms/latest/developerguide/multi-region-keys-overview.html) of
3775
- # any supported type. You cannot perform this operation on a KMS key
3776
- # in a custom key store, or on a KMS key in a different Amazon Web
3777
- # Services account.
3867
+ # including a [multi-Region key][1] of any supported type. You cannot
3868
+ # perform this operation on a KMS key in a custom key store, or on a
3869
+ # KMS key in a different Amazon Web Services account.
3778
3870
  #
3779
3871
  # Specify the key ID or key ARN of the KMS key.
3780
3872
  #
@@ -3787,6 +3879,10 @@ module Aws::KMS
3787
3879
  #
3788
3880
  # To get the key ID and key ARN for a KMS key, use ListKeys or
3789
3881
  # DescribeKey.
3882
+ #
3883
+ #
3884
+ #
3885
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
3790
3886
  # @return [String]
3791
3887
  #
3792
3888
  # @!attribute [rw] import_token
@@ -3838,7 +3934,45 @@ module Aws::KMS
3838
3934
  #
3839
3935
  #
3840
3936
  #
3841
- # [1]: https://docs.aws.amazon.com/en_us/kms/latest/developerguide/importing-keys.html#importing-keys-expiration
3937
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-expiration
3938
+ # @return [String]
3939
+ #
3940
+ # @!attribute [rw] import_type
3941
+ # Indicates whether the key material being imported is previously
3942
+ # associated with this KMS key or not. This parameter is optional and
3943
+ # only usable with symmetric encryption keys. The default is
3944
+ # `EXISTING_KEY_MATERIAL`. If no key material has ever been imported
3945
+ # into the KMS key, and this parameter is omitted, the parameter
3946
+ # defaults to `NEW_KEY_MATERIAL`.
3947
+ # @return [String]
3948
+ #
3949
+ # @!attribute [rw] key_material_description
3950
+ # Description for the key material being imported. This parameter is
3951
+ # optional and only usable with symmetric encryption keys. If you do
3952
+ # not specify a key material description, KMS retains the value you
3953
+ # specified when you last imported the same key material into this KMS
3954
+ # key.
3955
+ # @return [String]
3956
+ #
3957
+ # @!attribute [rw] key_material_id
3958
+ # Identifies the key material being imported. This parameter is
3959
+ # optional and only usable with symmetric encryption keys. You cannot
3960
+ # specify a key material ID with `ImportType` set to
3961
+ # `NEW_KEY_MATERIAL`. Whenever you import key material into a
3962
+ # symmetric encryption key, KMS assigns a unique identifier to the key
3963
+ # material based on the KMS key ID and the imported key material. When
3964
+ # you re-import key material with a specified key material ID, KMS:
3965
+ #
3966
+ # * Computes the identifier for the key material
3967
+ #
3968
+ # * Matches the computed identifier against the specified key material
3969
+ # ID
3970
+ #
3971
+ # * Verifies that the key material ID is already associated with the
3972
+ # KMS key
3973
+ #
3974
+ # To get the list of key material IDs associated with a KMS key, use
3975
+ # ListKeyRotations.
3842
3976
  # @return [String]
3843
3977
  #
3844
3978
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterialRequest AWS API Documentation
@@ -3848,14 +3982,35 @@ module Aws::KMS
3848
3982
  :import_token,
3849
3983
  :encrypted_key_material,
3850
3984
  :valid_to,
3851
- :expiration_model)
3985
+ :expiration_model,
3986
+ :import_type,
3987
+ :key_material_description,
3988
+ :key_material_id)
3852
3989
  SENSITIVE = []
3853
3990
  include Aws::Structure
3854
3991
  end
3855
3992
 
3993
+ # @!attribute [rw] key_id
3994
+ # The Amazon Resource Name ([key ARN][1]) of the KMS key into which
3995
+ # key material was imported.
3996
+ #
3997
+ #
3998
+ #
3999
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN
4000
+ # @return [String]
4001
+ #
4002
+ # @!attribute [rw] key_material_id
4003
+ # Identifies the imported key material.
4004
+ # @return [String]
4005
+ #
3856
4006
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterialResponse AWS API Documentation
3857
4007
  #
3858
- class ImportKeyMaterialResponse < Aws::EmptyStructure; end
4008
+ class ImportKeyMaterialResponse < Struct.new(
4009
+ :key_id,
4010
+ :key_material_id)
4011
+ SENSITIVE = []
4012
+ include Aws::Structure
4013
+ end
3859
4014
 
3860
4015
  # The request was rejected because the specified KMS key cannot decrypt
3861
4016
  # the data. The `KeyId` in a Decrypt request and the `SourceKeyId` in a
@@ -3874,8 +4029,10 @@ module Aws::KMS
3874
4029
  end
3875
4030
 
3876
4031
  # The request was rejected because the key material in the request is,
3877
- # expired, invalid, or is not the same key material that was previously
3878
- # imported into this KMS key.
4032
+ # expired, invalid, or does not meet expectations. For example, it is
4033
+ # not the same key material that was previously imported or KMS expected
4034
+ # new key material but the key material being imported is already
4035
+ # associated with the KMS key.
3879
4036
  #
3880
4037
  # @!attribute [rw] message
3881
4038
  # @return [String]
@@ -4182,7 +4339,7 @@ module Aws::KMS
4182
4339
  #
4183
4340
  #
4184
4341
  #
4185
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
4342
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
4186
4343
  # @return [String]
4187
4344
  #
4188
4345
  # @!attribute [rw] key_state
@@ -4209,11 +4366,12 @@ module Aws::KMS
4209
4366
  # @return [Time]
4210
4367
  #
4211
4368
  # @!attribute [rw] valid_to
4212
- # The time at which the imported key material expires. When the key
4213
- # material expires, KMS deletes the key material and the KMS key
4214
- # becomes unusable. This value is present only for KMS keys whose
4215
- # `Origin` is `EXTERNAL` and whose `ExpirationModel` is
4216
- # `KEY_MATERIAL_EXPIRES`, otherwise this value is omitted.
4369
+ # The earliest time at which any imported key material permanently
4370
+ # associated with this KMS key expires. When a key material expires,
4371
+ # KMS deletes the key material and the KMS key becomes unusable. This
4372
+ # value is present only for KMS keys whose `Origin` is `EXTERNAL` and
4373
+ # the `ExpirationModel` is `KEY_MATERIAL_EXPIRES`, otherwise this
4374
+ # value is omitted.
4217
4375
  # @return [Time]
4218
4376
  #
4219
4377
  # @!attribute [rw] origin
@@ -4232,7 +4390,7 @@ module Aws::KMS
4232
4390
  #
4233
4391
  #
4234
4392
  #
4235
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4393
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4236
4394
  # @return [String]
4237
4395
  #
4238
4396
  # @!attribute [rw] cloud_hsm_cluster_id
@@ -4244,7 +4402,7 @@ module Aws::KMS
4244
4402
  #
4245
4403
  #
4246
4404
  #
4247
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4405
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4248
4406
  # @return [String]
4249
4407
  #
4250
4408
  # @!attribute [rw] expiration_model
@@ -4367,6 +4525,16 @@ module Aws::KMS
4367
4525
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-external-key
4368
4526
  # @return [Types::XksKeyConfigurationType]
4369
4527
  #
4528
+ # @!attribute [rw] current_key_material_id
4529
+ # Identifies the current key material. This value is present for
4530
+ # symmetric encryption keys with `AWS_KMS` origin and single-Region,
4531
+ # symmetric encryption keys with `EXTERNAL` origin. These KMS keys
4532
+ # support automatic or on-demand key rotation and can have multiple
4533
+ # key materials associated with them. KMS uses the current key
4534
+ # material for both encryption and decryption, and the non-current key
4535
+ # material for decryption operations only.
4536
+ # @return [String]
4537
+ #
4370
4538
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/KeyMetadata AWS API Documentation
4371
4539
  #
4372
4540
  class KeyMetadata < Struct.new(
@@ -4394,7 +4562,8 @@ module Aws::KMS
4394
4562
  :multi_region_configuration,
4395
4563
  :pending_deletion_window_in_days,
4396
4564
  :mac_algorithms,
4397
- :xks_key_configuration)
4565
+ :xks_key_configuration,
4566
+ :current_key_material_id)
4398
4567
  SENSITIVE = []
4399
4568
  include Aws::Structure
4400
4569
  end
@@ -4413,9 +4582,9 @@ module Aws::KMS
4413
4582
  include Aws::Structure
4414
4583
  end
4415
4584
 
4416
- # The request was rejected because a quota was exceeded. For more
4417
- # information, see [Quotas][1] in the *Key Management Service Developer
4418
- # Guide*.
4585
+ # The request was rejected because a length constraint or quota was
4586
+ # exceeded. For more information, see [Quotas][1] in the *Key Management
4587
+ # Service Developer Guide*.
4419
4588
  #
4420
4589
  #
4421
4590
  #
@@ -4673,6 +4842,18 @@ module Aws::KMS
4673
4842
  # DescribeKey.
4674
4843
  # @return [String]
4675
4844
  #
4845
+ # @!attribute [rw] include_key_material
4846
+ # Use this optional parameter to control which key materials
4847
+ # associated with this key are listed in the response. The default
4848
+ # value of this parameter is `ROTATIONS_ONLY`. If you omit this
4849
+ # parameter, KMS returns information on the key materials created by
4850
+ # automatic or on-demand key rotation. When you specify a value of
4851
+ # `ALL_KEY_MATERIAL`, KMS adds the first key material and any imported
4852
+ # key material pending rotation to the response. This parameter can
4853
+ # only be used with KMS keys that support automatic or on-demand key
4854
+ # rotation.
4855
+ # @return [String]
4856
+ #
4676
4857
  # @!attribute [rw] limit
4677
4858
  # Use this parameter to specify the maximum number of items to return.
4678
4859
  # When this value is present, KMS does not return more than the
@@ -4693,6 +4874,7 @@ module Aws::KMS
4693
4874
  #
4694
4875
  class ListKeyRotationsRequest < Struct.new(
4695
4876
  :key_id,
4877
+ :include_key_material,
4696
4878
  :limit,
4697
4879
  :marker)
4698
4880
  SENSITIVE = []
@@ -4700,7 +4882,10 @@ module Aws::KMS
4700
4882
  end
4701
4883
 
4702
4884
  # @!attribute [rw] rotations
4703
- # A list of completed key material rotations.
4885
+ # A list of completed key material rotations. When the optional input
4886
+ # parameter `IncludeKeyMaterial` is specified with a value of
4887
+ # `ALL_KEY_MATERIAL`, this list includes the first key material and
4888
+ # any imported key material pending rotation.
4704
4889
  # @return [Array<Types::RotationsListEntry>]
4705
4890
  #
4706
4891
  # @!attribute [rw] next_marker
@@ -5023,6 +5208,18 @@ module Aws::KMS
5023
5208
  # that I make are not always immediately visible][2] in the *Amazon
5024
5209
  # Web Services Identity and Access Management User Guide*.
5025
5210
  #
5211
+ # <note markdown="1"> If either of the required `Resource` or `Action` elements are
5212
+ # missing from a key policy statement, the policy statement has no
5213
+ # effect. When a key policy statement is missing one of these
5214
+ # elements, the KMS console correctly reports an error, but the
5215
+ # `PutKeyPolicy` API request succeeds, even though the policy
5216
+ # statement is ineffective.
5217
+ #
5218
+ # For more information on required key policy elements, see [Elements
5219
+ # in a key policy][3] in the *Key Management Service Developer Guide*.
5220
+ #
5221
+ # </note>
5222
+ #
5026
5223
  # A key policy document can include only the following characters:
5027
5224
  #
5028
5225
  # * Printable ASCII characters from the space character (`\u0020`)
@@ -5034,18 +5231,24 @@ module Aws::KMS
5034
5231
  # * The tab (`\u0009`), line feed (`\u000A`), and carriage return
5035
5232
  # (`\u000D`) special characters
5036
5233
  #
5037
- # For information about key policies, see [Key policies in KMS][3] in
5234
+ # <note markdown="1"> If the key policy exceeds the length constraint, KMS returns a
5235
+ # `LimitExceededException`.
5236
+ #
5237
+ # </note>
5238
+ #
5239
+ # For information about key policies, see [Key policies in KMS][4] in
5038
5240
  # the *Key Management Service Developer Guide*.For help writing and
5039
5241
  # formatting a JSON policy document, see the [IAM JSON Policy
5040
- # Reference][4] in the <i> <i>Identity and Access Management User
5242
+ # Reference][5] in the <i> <i>Identity and Access Management User
5041
5243
  # Guide</i> </i>.
5042
5244
  #
5043
5245
  #
5044
5246
  #
5045
5247
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
5046
5248
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
5047
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
5048
- # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
5249
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html#key-policy-elements
5250
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
5251
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
5049
5252
  # @return [String]
5050
5253
  #
5051
5254
  # @!attribute [rw] bypass_policy_lockout_safety_check
@@ -5103,7 +5306,7 @@ module Aws::KMS
5103
5306
  #
5104
5307
  #
5105
5308
  #
5106
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5309
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5107
5310
  # @return [Hash<String,String>]
5108
5311
  #
5109
5312
  # @!attribute [rw] source_key_id
@@ -5193,7 +5396,7 @@ module Aws::KMS
5193
5396
  #
5194
5397
  #
5195
5398
  #
5196
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5399
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5197
5400
  # @return [Hash<String,String>]
5198
5401
  #
5199
5402
  # @!attribute [rw] source_encryption_algorithm
@@ -5230,19 +5433,19 @@ module Aws::KMS
5230
5433
  #
5231
5434
  #
5232
5435
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5233
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5436
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5234
5437
  # @return [Array<String>]
5235
5438
  #
5236
5439
  # @!attribute [rw] dry_run
5237
5440
  # Checks if your request will succeed. `DryRun` is an optional
5238
5441
  # parameter.
5239
5442
  #
5240
- # To learn more about how to use this parameter, see [Testing your KMS
5241
- # API calls][1] in the *Key Management Service Developer Guide*.
5443
+ # To learn more about how to use this parameter, see [Testing your
5444
+ # permissions][1] in the *Key Management Service Developer Guide*.
5242
5445
  #
5243
5446
  #
5244
5447
  #
5245
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5448
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5246
5449
  # @return [Boolean]
5247
5450
  #
5248
5451
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncryptRequest AWS API Documentation
@@ -5290,6 +5493,18 @@ module Aws::KMS
5290
5493
  # The encryption algorithm that was used to reencrypt the data.
5291
5494
  # @return [String]
5292
5495
  #
5496
+ # @!attribute [rw] source_key_material_id
5497
+ # The identifier of the key material used to originally encrypt the
5498
+ # data. This field is present only when the original encryption used a
5499
+ # symmetric encryption KMS key.
5500
+ # @return [String]
5501
+ #
5502
+ # @!attribute [rw] destination_key_material_id
5503
+ # The identifier of the key material used to reencrypt the data. This
5504
+ # field is present only when data is reencrypted using a symmetric
5505
+ # encryption KMS key.
5506
+ # @return [String]
5507
+ #
5293
5508
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncryptResponse AWS API Documentation
5294
5509
  #
5295
5510
  class ReEncryptResponse < Struct.new(
@@ -5297,7 +5512,9 @@ module Aws::KMS
5297
5512
  :source_key_id,
5298
5513
  :key_id,
5299
5514
  :source_encryption_algorithm,
5300
- :destination_encryption_algorithm)
5515
+ :destination_encryption_algorithm,
5516
+ :source_key_material_id,
5517
+ :destination_key_material_id)
5301
5518
  SENSITIVE = []
5302
5519
  include Aws::Structure
5303
5520
  end
@@ -5363,33 +5580,23 @@ module Aws::KMS
5363
5580
  # [KMS service endpoints][1] in the *Amazon Web Services General
5364
5581
  # Reference*.
5365
5582
  #
5366
- # <note markdown="1"> HMAC KMS keys are not supported in all Amazon Web Services Regions.
5367
- # If you try to replicate an HMAC KMS key in an Amazon Web Services
5368
- # Region in which HMAC keys are not supported, the `ReplicateKey`
5369
- # operation returns an `UnsupportedOperationException`. For a list of
5370
- # Regions in which HMAC KMS keys are supported, see [HMAC keys in
5371
- # KMS][2] in the *Key Management Service Developer Guide*.
5372
- #
5373
- # </note>
5374
- #
5375
5583
  # The replica must be in a different Amazon Web Services Region than
5376
5584
  # its primary key and other replicas of that primary key, but in the
5377
5585
  # same Amazon Web Services partition. KMS must be available in the
5378
5586
  # replica Region. If the Region is not enabled by default, the Amazon
5379
5587
  # Web Services account must be enabled in the Region. For information
5380
5588
  # about Amazon Web Services partitions, see [Amazon Resource Names
5381
- # (ARNs)][3] in the *Amazon Web Services General Reference*. For
5589
+ # (ARNs)][2] in the *Amazon Web Services General Reference*. For
5382
5590
  # information about enabling and disabling Regions, see [Enabling a
5383
- # Region][4] and [Disabling a Region][5] in the *Amazon Web Services
5591
+ # Region][3] and [Disabling a Region][4] in the *Amazon Web Services
5384
5592
  # General Reference*.
5385
5593
  #
5386
5594
  #
5387
5595
  #
5388
5596
  # [1]: https://docs.aws.amazon.com/general/latest/gr/kms.html#kms_region
5389
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
5390
- # [3]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
5391
- # [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
5392
- # [5]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
5597
+ # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
5598
+ # [3]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
5599
+ # [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
5393
5600
  # @return [String]
5394
5601
  #
5395
5602
  # @!attribute [rw] policy
@@ -5439,7 +5646,7 @@ module Aws::KMS
5439
5646
  #
5440
5647
  #
5441
5648
  #
5442
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
5649
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html
5443
5650
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
5444
5651
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
5445
5652
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
@@ -5512,7 +5719,7 @@ module Aws::KMS
5512
5719
  # When you add tags to an Amazon Web Services resource, Amazon Web
5513
5720
  # Services generates a cost allocation report with usage and costs
5514
5721
  # aggregated by tags. Tags can also be used to control access to a KMS
5515
- # key. For details, see [Tagging Keys][3].
5722
+ # key. For details, see [Tags in KMS][3].
5516
5723
  #
5517
5724
  #
5518
5725
  #
@@ -5603,12 +5810,12 @@ module Aws::KMS
5603
5810
  # Checks if your request will succeed. `DryRun` is an optional
5604
5811
  # parameter.
5605
5812
  #
5606
- # To learn more about how to use this parameter, see [Testing your KMS
5607
- # API calls][1] in the *Key Management Service Developer Guide*.
5813
+ # To learn more about how to use this parameter, see [Testing your
5814
+ # permissions][1] in the *Key Management Service Developer Guide*.
5608
5815
  #
5609
5816
  #
5610
5817
  #
5611
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5818
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5612
5819
  # @return [Boolean]
5613
5820
  #
5614
5821
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RetireGrantRequest AWS API Documentation
@@ -5651,12 +5858,12 @@ module Aws::KMS
5651
5858
  # Checks if your request will succeed. `DryRun` is an optional
5652
5859
  # parameter.
5653
5860
  #
5654
- # To learn more about how to use this parameter, see [Testing your KMS
5655
- # API calls][1] in the *Key Management Service Developer Guide*.
5861
+ # To learn more about how to use this parameter, see [Testing your
5862
+ # permissions][1] in the *Key Management Service Developer Guide*.
5656
5863
  #
5657
5864
  #
5658
5865
  #
5659
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5866
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5660
5867
  # @return [Boolean]
5661
5868
  #
5662
5869
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RevokeGrantRequest AWS API Documentation
@@ -5672,10 +5879,10 @@ module Aws::KMS
5672
5879
  # @!attribute [rw] key_id
5673
5880
  # Identifies a symmetric encryption KMS key. You cannot perform
5674
5881
  # on-demand rotation of [asymmetric KMS keys][1], [HMAC KMS keys][2],
5675
- # KMS keys with [imported key material][3], or KMS keys in a [custom
5676
- # key store][4]. To perform on-demand rotation of a set of related
5677
- # [multi-Region keys][5], invoke the on-demand rotation on the primary
5678
- # key.
5882
+ # multi-Region KMS keys with [imported key material][3], or KMS keys
5883
+ # in a [custom key store][4]. To perform on-demand rotation of a set
5884
+ # of related [multi-Region keys][5], invoke the on-demand rotation on
5885
+ # the primary key.
5679
5886
  #
5680
5887
  # Specify the key ID or key ARN of the KMS key.
5681
5888
  #
@@ -5694,8 +5901,8 @@ module Aws::KMS
5694
5901
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
5695
5902
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
5696
5903
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
5697
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
5698
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
5904
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
5905
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
5699
5906
  # @return [String]
5700
5907
  #
5701
5908
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RotateKeyOnDemandRequest AWS API Documentation
@@ -5719,31 +5926,88 @@ module Aws::KMS
5719
5926
  include Aws::Structure
5720
5927
  end
5721
5928
 
5722
- # Contains information about completed key material rotations.
5929
+ # Each entry contains information about one of the key materials
5930
+ # associated with a KMS key.
5723
5931
  #
5724
5932
  # @!attribute [rw] key_id
5725
5933
  # Unique identifier of the key.
5726
5934
  # @return [String]
5727
5935
  #
5936
+ # @!attribute [rw] key_material_id
5937
+ # Unique identifier of the key material.
5938
+ # @return [String]
5939
+ #
5940
+ # @!attribute [rw] key_material_description
5941
+ # User-specified description of the key material. This field is only
5942
+ # present for symmetric encryption KMS keys with `EXTERNAL` origin.
5943
+ # @return [String]
5944
+ #
5945
+ # @!attribute [rw] import_state
5946
+ # Indicates if the key material is currently imported into KMS. It has
5947
+ # two possible values: `IMPORTED` or `PENDING_IMPORT`. This field is
5948
+ # only present for symmetric encryption KMS keys with `EXTERNAL`
5949
+ # origin.
5950
+ # @return [String]
5951
+ #
5952
+ # @!attribute [rw] key_material_state
5953
+ # There are three possible values for this field: `CURRENT`,
5954
+ # `NON_CURRENT` and `PENDING_ROTATION`. KMS uses `CURRENT` key
5955
+ # material for both encryption and decryption and `NON_CURRENT` key
5956
+ # material only for decryption. `PENDING_ROTATION` identifies key
5957
+ # material that has been imported for on-demand key rotation but the
5958
+ # rotation hasn't completed. Key material in `PENDING_ROTATION` is
5959
+ # not permanently associated with the KMS key. You can delete this key
5960
+ # material and import different key material in its place. The
5961
+ # `PENDING_ROTATION` value is only used in symmetric encryption keys
5962
+ # with imported key material. The other values, `CURRENT` and
5963
+ # `NON_CURRENT`, are used for all KMS keys that support automatic or
5964
+ # on-demand key rotation.
5965
+ # @return [String]
5966
+ #
5967
+ # @!attribute [rw] expiration_model
5968
+ # Indicates if the key material is configured to automatically expire.
5969
+ # There are two possible values for this field: `KEY_MATERIAL_EXPIRES`
5970
+ # and `KEY_MATERIAL_DOES_NOT_EXPIRE`. For any key material that
5971
+ # expires, the expiration date and time is indicated in `ValidTo`.
5972
+ # This field is only present for symmetric encryption KMS keys with
5973
+ # `EXTERNAL` origin.
5974
+ # @return [String]
5975
+ #
5976
+ # @!attribute [rw] valid_to
5977
+ # Date and time at which the key material expires. This field is only
5978
+ # present for symmetric encryption KMS keys with `EXTERNAL` origin in
5979
+ # rotation list entries with an `ExpirationModel` value of
5980
+ # `KEY_MATERIAL_EXPIRES`.
5981
+ # @return [Time]
5982
+ #
5728
5983
  # @!attribute [rw] rotation_date
5729
5984
  # Date and time that the key material rotation completed. Formatted as
5730
- # Unix time.
5985
+ # Unix time. This field is not present for the first key material or
5986
+ # an imported key material in `PENDING_ROTATION` state.
5731
5987
  # @return [Time]
5732
5988
  #
5733
5989
  # @!attribute [rw] rotation_type
5734
5990
  # Identifies whether the key material rotation was a scheduled
5735
- # [automatic rotation][1] or an [on-demand rotation][2].
5991
+ # [automatic rotation][1] or an [on-demand rotation][2]. This field is
5992
+ # not present for the first key material or an imported key material
5993
+ # in `PENDING_ROTATION` state.
5736
5994
  #
5737
5995
  #
5738
5996
  #
5739
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-enable-disable
5740
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-on-demand
5997
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
5998
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-on-demand.html
5741
5999
  # @return [String]
5742
6000
  #
5743
6001
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RotationsListEntry AWS API Documentation
5744
6002
  #
5745
6003
  class RotationsListEntry < Struct.new(
5746
6004
  :key_id,
6005
+ :key_material_id,
6006
+ :key_material_description,
6007
+ :import_state,
6008
+ :key_material_state,
6009
+ :expiration_model,
6010
+ :valid_to,
5747
6011
  :rotation_date,
5748
6012
  :rotation_type)
5749
6013
  SENSITIVE = []
@@ -5881,27 +6145,34 @@ module Aws::KMS
5881
6145
  # Tells KMS whether the value of the `Message` parameter should be
5882
6146
  # hashed as part of the signing algorithm. Use `RAW` for unhashed
5883
6147
  # messages; use `DIGEST` for message digests, which are already
5884
- # hashed.
6148
+ # hashed; use `EXTERNAL_MU` for 64-byte representative μ used in
6149
+ # ML-DSA signing as defined in NIST FIPS 204 Section 6.2.
5885
6150
  #
5886
6151
  # When the value of `MessageType` is `RAW`, KMS uses the standard
5887
6152
  # signing algorithm, which begins with a hash function. When the value
5888
6153
  # is `DIGEST`, KMS skips the hashing step in the signing algorithm.
6154
+ # When the value is `EXTERNAL_MU` KMS skips the concatenated hashing
6155
+ # of the public key hash and the message done in the ML-DSA signing
6156
+ # algorithm.
5889
6157
  #
5890
- # Use the `DIGEST` value only when the value of the `Message`
5891
- # parameter is a message digest. If you use the `DIGEST` value with an
5892
- # unhashed message, the security of the signing operation can be
5893
- # compromised.
6158
+ # Use the `DIGEST` or `EXTERNAL_MU` value only when the value of the
6159
+ # `Message` parameter is a message digest. If you use the `DIGEST`
6160
+ # value with an unhashed message, the security of the signing
6161
+ # operation can be compromised.
5894
6162
  #
5895
- # When the value of `MessageType`is `DIGEST`, the length of the
6163
+ # When the value of `MessageType` is `DIGEST`, the length of the
5896
6164
  # `Message` value must match the length of hashed messages for the
5897
6165
  # specified signing algorithm.
5898
6166
  #
6167
+ # When the value of `MessageType` is `EXTERNAL_MU` the length of the
6168
+ # `Message` value must be 64 bytes.
6169
+ #
5899
6170
  # You can submit a message digest and omit the `MessageType` or
5900
6171
  # specify `RAW` so the digest is hashed again while signing. However,
5901
6172
  # this can cause verification failures when verifying with a system
5902
6173
  # that assumes a single hash.
5903
6174
  #
5904
- # The hashing algorithm in that `Sign` uses is based on the
6175
+ # The hashing algorithm that `Sign` uses is based on the
5905
6176
  # `SigningAlgorithm` value.
5906
6177
  #
5907
6178
  # * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
@@ -5913,12 +6184,15 @@ module Aws::KMS
5913
6184
  # * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
5914
6185
  # algorithm.
5915
6186
  #
6187
+ # * Signing algorithms that end in SHAKE\_256 use the SHAKE\_256
6188
+ # hashing algorithm.
6189
+ #
5916
6190
  # * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
5917
6191
  # verification with SM2 key pairs][1].
5918
6192
  #
5919
6193
  #
5920
6194
  #
5921
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
6195
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
5922
6196
  # @return [String]
5923
6197
  #
5924
6198
  # @!attribute [rw] grant_tokens
@@ -5932,7 +6206,7 @@ module Aws::KMS
5932
6206
  #
5933
6207
  #
5934
6208
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5935
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
6209
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5936
6210
  # @return [Array<String>]
5937
6211
  #
5938
6212
  # @!attribute [rw] signing_algorithm
@@ -5948,12 +6222,12 @@ module Aws::KMS
5948
6222
  # Checks if your request will succeed. `DryRun` is an optional
5949
6223
  # parameter.
5950
6224
  #
5951
- # To learn more about how to use this parameter, see [Testing your KMS
5952
- # API calls][1] in the *Key Management Service Developer Guide*.
6225
+ # To learn more about how to use this parameter, see [Testing your
6226
+ # permissions][1] in the *Key Management Service Developer Guide*.
5953
6227
  #
5954
6228
  #
5955
6229
  #
5956
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
6230
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5957
6231
  # @return [Boolean]
5958
6232
  #
5959
6233
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/SignRequest AWS API Documentation
@@ -6458,19 +6732,19 @@ module Aws::KMS
6458
6732
  #
6459
6733
  #
6460
6734
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
6461
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
6735
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
6462
6736
  # @return [Array<String>]
6463
6737
  #
6464
6738
  # @!attribute [rw] dry_run
6465
6739
  # Checks if your request will succeed. `DryRun` is an optional
6466
6740
  # parameter.
6467
6741
  #
6468
- # To learn more about how to use this parameter, see [Testing your KMS
6469
- # API calls][1] in the *Key Management Service Developer Guide*.
6742
+ # To learn more about how to use this parameter, see [Testing your
6743
+ # permissions][1] in the *Key Management Service Developer Guide*.
6470
6744
  #
6471
6745
  #
6472
6746
  #
6473
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
6747
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
6474
6748
  # @return [Boolean]
6475
6749
  #
6476
6750
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/VerifyMacRequest AWS API Documentation
@@ -6554,28 +6828,35 @@ module Aws::KMS
6554
6828
  # Tells KMS whether the value of the `Message` parameter should be
6555
6829
  # hashed as part of the signing algorithm. Use `RAW` for unhashed
6556
6830
  # messages; use `DIGEST` for message digests, which are already
6557
- # hashed.
6831
+ # hashed; use `EXTERNAL_MU` for 64-byte representative μ used in
6832
+ # ML-DSA signing as defined in NIST FIPS 204 Section 6.2.
6558
6833
  #
6559
6834
  # When the value of `MessageType` is `RAW`, KMS uses the standard
6560
6835
  # signing algorithm, which begins with a hash function. When the value
6561
6836
  # is `DIGEST`, KMS skips the hashing step in the signing algorithm.
6837
+ # When the value is `EXTERNAL_MU` KMS skips the concatenated hashing
6838
+ # of the public key hash and the message done in the ML-DSA signing
6839
+ # algorithm.
6562
6840
  #
6563
- # Use the `DIGEST` value only when the value of the `Message`
6564
- # parameter is a message digest. If you use the `DIGEST` value with an
6565
- # unhashed message, the security of the verification operation can be
6566
- # compromised.
6841
+ # Use the `DIGEST` or `EXTERNAL_MU` value only when the value of the
6842
+ # `Message` parameter is a message digest. If you use the `DIGEST`
6843
+ # value with an unhashed message, the security of the signing
6844
+ # operation can be compromised.
6567
6845
  #
6568
- # When the value of `MessageType`is `DIGEST`, the length of the
6846
+ # When the value of `MessageType` is `DIGEST`, the length of the
6569
6847
  # `Message` value must match the length of hashed messages for the
6570
6848
  # specified signing algorithm.
6571
6849
  #
6850
+ # When the value of `MessageType` is `EXTERNAL_MU` the length of the
6851
+ # `Message` value must be 64 bytes.
6852
+ #
6572
6853
  # You can submit a message digest and omit the `MessageType` or
6573
6854
  # specify `RAW` so the digest is hashed again while signing. However,
6574
6855
  # if the signed message is hashed once while signing, but twice while
6575
6856
  # verifying, verification fails, even when the message hasn't
6576
6857
  # changed.
6577
6858
  #
6578
- # The hashing algorithm in that `Verify` uses is based on the
6859
+ # The hashing algorithm that `Verify` uses is based on the
6579
6860
  # `SigningAlgorithm` value.
6580
6861
  #
6581
6862
  # * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
@@ -6587,12 +6868,15 @@ module Aws::KMS
6587
6868
  # * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
6588
6869
  # algorithm.
6589
6870
  #
6871
+ # * Signing algorithms that end in SHAKE\_256 use the SHAKE\_256
6872
+ # hashing algorithm.
6873
+ #
6590
6874
  # * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
6591
6875
  # verification with SM2 key pairs][1].
6592
6876
  #
6593
6877
  #
6594
6878
  #
6595
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
6879
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
6596
6880
  # @return [String]
6597
6881
  #
6598
6882
  # @!attribute [rw] signature
@@ -6615,19 +6899,19 @@ module Aws::KMS
6615
6899
  #
6616
6900
  #
6617
6901
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
6618
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
6902
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
6619
6903
  # @return [Array<String>]
6620
6904
  #
6621
6905
  # @!attribute [rw] dry_run
6622
6906
  # Checks if your request will succeed. `DryRun` is an optional
6623
6907
  # parameter.
6624
6908
  #
6625
- # To learn more about how to use this parameter, see [Testing your KMS
6626
- # API calls][1] in the *Key Management Service Developer Guide*.
6909
+ # To learn more about how to use this parameter, see [Testing your
6910
+ # permissions][1] in the *Key Management Service Developer Guide*.
6627
6911
  #
6628
6912
  #
6629
6913
  #
6630
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
6914
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
6631
6915
  # @return [Boolean]
6632
6916
  #
6633
6917
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/VerifyRequest AWS API Documentation