aws-sdk-kms 1.101.0 → 1.118.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +85 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-kms/client.rb +1102 -740
- data/lib/aws-sdk-kms/client_api.rb +38 -1
- data/lib/aws-sdk-kms/customizations.rb +0 -8
- data/lib/aws-sdk-kms/endpoint_parameters.rb +4 -4
- data/lib/aws-sdk-kms/types.rb +709 -326
- data/lib/aws-sdk-kms.rb +1 -1
- data/sig/client.rbs +39 -17
- data/sig/resource.rbs +1 -0
- data/sig/types.rbs +47 -16
- metadata +4 -4
data/lib/aws-sdk-kms/client.rb
CHANGED
|
@@ -95,8 +95,8 @@ module Aws::KMS
|
|
|
95
95
|
# class name or an instance of a plugin class.
|
|
96
96
|
#
|
|
97
97
|
# @option options [required, Aws::CredentialProvider] :credentials
|
|
98
|
-
# Your AWS credentials. This can be
|
|
99
|
-
# following classes:
|
|
98
|
+
# Your AWS credentials used for authentication. This can be any class that includes and implements
|
|
99
|
+
# `Aws::CredentialProvider`, or instance of any one of the following classes:
|
|
100
100
|
#
|
|
101
101
|
# * `Aws::Credentials` - Used for configuring static, non-refreshing
|
|
102
102
|
# credentials.
|
|
@@ -124,22 +124,24 @@ module Aws::KMS
|
|
|
124
124
|
# * `Aws::CognitoIdentityCredentials` - Used for loading credentials
|
|
125
125
|
# from the Cognito Identity service.
|
|
126
126
|
#
|
|
127
|
-
# When `:credentials` are not configured directly, the following
|
|
128
|
-
# locations will be searched for credentials:
|
|
127
|
+
# When `:credentials` are not configured directly, the following locations will be searched for credentials:
|
|
129
128
|
#
|
|
130
129
|
# * `Aws.config[:credentials]`
|
|
130
|
+
#
|
|
131
131
|
# * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
|
|
132
132
|
# `:account_id` options.
|
|
133
|
-
#
|
|
134
|
-
#
|
|
133
|
+
#
|
|
134
|
+
# * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
|
|
135
|
+
# `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
|
|
136
|
+
#
|
|
135
137
|
# * `~/.aws/credentials`
|
|
138
|
+
#
|
|
136
139
|
# * `~/.aws/config`
|
|
137
|
-
#
|
|
138
|
-
#
|
|
139
|
-
# `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
|
|
140
|
-
# enable retries and extended timeouts. Instance profile credential
|
|
141
|
-
#
|
|
142
|
-
# to true.
|
|
140
|
+
#
|
|
141
|
+
# * EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive.
|
|
142
|
+
# Construct and pass an instance of `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
|
|
143
|
+
# enable retries and extended timeouts. Instance profile credential fetching can be disabled by
|
|
144
|
+
# setting `ENV['AWS_EC2_METADATA_DISABLED']` to `true`.
|
|
143
145
|
#
|
|
144
146
|
# @option options [required, String] :region
|
|
145
147
|
# The AWS region to connect to. The configured `:region` is
|
|
@@ -167,6 +169,11 @@ module Aws::KMS
|
|
|
167
169
|
# When false, the request will raise a `RetryCapacityNotAvailableError` and will
|
|
168
170
|
# not retry instead of sleeping.
|
|
169
171
|
#
|
|
172
|
+
# @option options [Array<String>] :auth_scheme_preference
|
|
173
|
+
# A list of preferred authentication schemes to use when making a request. Supported values are:
|
|
174
|
+
# `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
|
|
175
|
+
# shared config as `auth_scheme_preference`, the value should be a comma-separated list.
|
|
176
|
+
#
|
|
170
177
|
# @option options [Boolean] :client_side_monitoring (false)
|
|
171
178
|
# When `true`, client-side metrics will be collected for all API requests from
|
|
172
179
|
# this client.
|
|
@@ -253,8 +260,8 @@ module Aws::KMS
|
|
|
253
260
|
# 4 times. Used in `standard` and `adaptive` retry modes.
|
|
254
261
|
#
|
|
255
262
|
# @option options [String] :profile ("default")
|
|
256
|
-
# Used when loading credentials from the shared credentials file
|
|
257
|
-
#
|
|
263
|
+
# Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
|
|
264
|
+
# When not specified, 'default' is used.
|
|
258
265
|
#
|
|
259
266
|
# @option options [String] :request_checksum_calculation ("when_supported")
|
|
260
267
|
# Determines when a checksum will be calculated for request payloads. Values are:
|
|
@@ -374,8 +381,8 @@ module Aws::KMS
|
|
|
374
381
|
# `Aws::Telemetry::OTelProvider` for telemetry provider.
|
|
375
382
|
#
|
|
376
383
|
# @option options [Aws::TokenProvider] :token_provider
|
|
377
|
-
#
|
|
378
|
-
# following classes:
|
|
384
|
+
# Your Bearer token used for authentication. This can be any class that includes and implements
|
|
385
|
+
# `Aws::TokenProvider`, or instance of any one of the following classes:
|
|
379
386
|
#
|
|
380
387
|
# * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
|
|
381
388
|
# tokens.
|
|
@@ -503,7 +510,7 @@ module Aws::KMS
|
|
|
503
510
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
|
|
504
511
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
505
512
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
506
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
513
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
507
514
|
#
|
|
508
515
|
# @option params [required, String] :key_id
|
|
509
516
|
# Identifies the KMS key whose deletion is being canceled.
|
|
@@ -575,9 +582,9 @@ module Aws::KMS
|
|
|
575
582
|
# custom key store is connected. To get the connection state of the
|
|
576
583
|
# custom key store, use the DescribeCustomKeyStores operation.
|
|
577
584
|
#
|
|
578
|
-
# This operation is part of the
|
|
579
|
-
#
|
|
580
|
-
#
|
|
585
|
+
# This operation is part of the custom key stores feature in KMS, which
|
|
586
|
+
# combines the convenience and extensive integration of KMS with the
|
|
587
|
+
# isolation and control of a key store that you own and manage.
|
|
581
588
|
#
|
|
582
589
|
# The `ConnectCustomKeyStore` operation might fail for various reasons.
|
|
583
590
|
# To find the reason, use the DescribeCustomKeyStores operation and see
|
|
@@ -651,14 +658,14 @@ module Aws::KMS
|
|
|
651
658
|
#
|
|
652
659
|
#
|
|
653
660
|
#
|
|
654
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
661
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
655
662
|
# [2]: https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html
|
|
656
663
|
# [3]: https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_CreateHsm.html
|
|
657
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
664
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html#concept-kmsuser
|
|
658
665
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
|
|
659
666
|
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
|
|
660
667
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
661
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
668
|
+
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
662
669
|
#
|
|
663
670
|
# @option params [required, String] :custom_key_store_id
|
|
664
671
|
# Enter the key store ID of the custom key store that you want to
|
|
@@ -720,7 +727,7 @@ module Aws::KMS
|
|
|
720
727
|
#
|
|
721
728
|
# The alias must be unique in the account and Region, but you can have
|
|
722
729
|
# aliases with the same name in different Regions. For detailed
|
|
723
|
-
# information about aliases, see [
|
|
730
|
+
# information about aliases, see [Aliases in KMS][3] in the *Key
|
|
724
731
|
# Management Service Developer Guide*.
|
|
725
732
|
#
|
|
726
733
|
# This operation does not return a response. To get the alias that you
|
|
@@ -756,12 +763,12 @@ module Aws::KMS
|
|
|
756
763
|
#
|
|
757
764
|
#
|
|
758
765
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
|
|
759
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
766
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
|
|
760
767
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
|
|
761
768
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
762
769
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
763
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
764
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
770
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/alias-access.html
|
|
771
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
765
772
|
#
|
|
766
773
|
# @option params [required, String] :alias_name
|
|
767
774
|
# Specifies the alias name. This value must begin with `alias/` followed
|
|
@@ -779,7 +786,7 @@ module Aws::KMS
|
|
|
779
786
|
#
|
|
780
787
|
#
|
|
781
788
|
#
|
|
782
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-
|
|
789
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
|
|
783
790
|
#
|
|
784
791
|
# @option params [required, String] :target_key_id
|
|
785
792
|
# Associates the alias with the specified [customer managed key][1]. The
|
|
@@ -788,7 +795,7 @@ module Aws::KMS
|
|
|
788
795
|
# A valid key ID is required. If you supply a null or empty string
|
|
789
796
|
# value, this operation returns an error.
|
|
790
797
|
#
|
|
791
|
-
# For help finding the key ID and ARN, see [
|
|
798
|
+
# For help finding the key ID and ARN, see [Find the key ID and key
|
|
792
799
|
# ARN][2] in the <i> <i>Key Management Service Developer Guide</i> </i>.
|
|
793
800
|
#
|
|
794
801
|
# Specify the key ID or key ARN of the KMS key.
|
|
@@ -805,8 +812,8 @@ module Aws::KMS
|
|
|
805
812
|
#
|
|
806
813
|
#
|
|
807
814
|
#
|
|
808
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-
|
|
809
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
815
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key
|
|
816
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html
|
|
810
817
|
#
|
|
811
818
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
|
812
819
|
#
|
|
@@ -844,9 +851,9 @@ module Aws::KMS
|
|
|
844
851
|
# stores][4] backed by an external key store proxy and external key
|
|
845
852
|
# manager outside of Amazon Web Services.
|
|
846
853
|
#
|
|
847
|
-
# This operation is part of the
|
|
848
|
-
#
|
|
849
|
-
#
|
|
854
|
+
# This operation is part of the custom key stores feature in KMS, which
|
|
855
|
+
# combines the convenience and extensive integration of KMS with the
|
|
856
|
+
# isolation and control of a key store that you own and manage.
|
|
850
857
|
#
|
|
851
858
|
# Before you create the custom key store, the required elements must be
|
|
852
859
|
# in place and operational. We recommend that you use the test tools
|
|
@@ -899,9 +906,6 @@ module Aws::KMS
|
|
|
899
906
|
# immediately, you might want to connect it to verify that all settings
|
|
900
907
|
# are correct and then disconnect it until you are ready to use it.
|
|
901
908
|
#
|
|
902
|
-
# For help with failures, see [Troubleshooting a custom key store][7] in
|
|
903
|
-
# the *Key Management Service Developer Guide*.
|
|
904
|
-
#
|
|
905
909
|
# **Cross-account use**: No. You cannot perform this operation on a
|
|
906
910
|
# custom key store in a different Amazon Web Services account.
|
|
907
911
|
#
|
|
@@ -924,7 +928,7 @@ module Aws::KMS
|
|
|
924
928
|
#
|
|
925
929
|
#
|
|
926
930
|
#
|
|
927
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
931
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
928
932
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
|
|
929
933
|
# [3]: https://docs.aws.amazon.com/cloudhsm/latest/userguide/clusters.html
|
|
930
934
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
|
|
@@ -933,7 +937,7 @@ module Aws::KMS
|
|
|
933
937
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
|
|
934
938
|
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
|
|
935
939
|
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
936
|
-
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
940
|
+
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
937
941
|
#
|
|
938
942
|
# @option params [required, String] :custom_key_store_name
|
|
939
943
|
# Specifies a friendly name for the custom key store. The name must be
|
|
@@ -987,7 +991,7 @@ module Aws::KMS
|
|
|
987
991
|
#
|
|
988
992
|
#
|
|
989
993
|
#
|
|
990
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
994
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html#concept-kmsuser
|
|
991
995
|
#
|
|
992
996
|
# @option params [String] :custom_key_store_type
|
|
993
997
|
# Specifies the type of custom key store. The default value is
|
|
@@ -1079,6 +1083,13 @@ module Aws::KMS
|
|
|
1079
1083
|
#
|
|
1080
1084
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/create-xks-keystore.html#xks-requirements
|
|
1081
1085
|
#
|
|
1086
|
+
# @option params [String] :xks_proxy_vpc_endpoint_service_owner
|
|
1087
|
+
# Specifies the Amazon Web Services account ID that owns the Amazon VPC
|
|
1088
|
+
# service endpoint for the interface that is used to communicate with
|
|
1089
|
+
# your external key store proxy (XKS proxy). This parameter is optional.
|
|
1090
|
+
# If not provided, the Amazon Web Services account ID calling the action
|
|
1091
|
+
# will be used.
|
|
1092
|
+
#
|
|
1082
1093
|
# @option params [Types::XksProxyAuthenticationCredentialType] :xks_proxy_authentication_credential
|
|
1083
1094
|
# Specifies an authentication credential for the external key store
|
|
1084
1095
|
# proxy (XKS proxy). This parameter is required for all custom key
|
|
@@ -1088,7 +1099,7 @@ module Aws::KMS
|
|
|
1088
1099
|
# `RawSecretAccessKey`, a secret key, and `AccessKeyId`, a unique
|
|
1089
1100
|
# identifier for the `RawSecretAccessKey`. For character requirements,
|
|
1090
1101
|
# see
|
|
1091
|
-
# [XksProxyAuthenticationCredentialType](
|
|
1102
|
+
# [XksProxyAuthenticationCredentialType](API_XksProxyAuthenticationCredentialType.html).
|
|
1092
1103
|
#
|
|
1093
1104
|
# KMS uses this authentication credential to sign requests to the
|
|
1094
1105
|
# external key store proxy on your behalf. This credential is unrelated
|
|
@@ -1128,7 +1139,7 @@ module Aws::KMS
|
|
|
1128
1139
|
#
|
|
1129
1140
|
#
|
|
1130
1141
|
#
|
|
1131
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1142
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/choose-xks-connectivity.html
|
|
1132
1143
|
#
|
|
1133
1144
|
# @return [Types::CreateCustomKeyStoreResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
1134
1145
|
#
|
|
@@ -1205,6 +1216,7 @@ module Aws::KMS
|
|
|
1205
1216
|
# xks_proxy_uri_endpoint: "XksProxyUriEndpointType",
|
|
1206
1217
|
# xks_proxy_uri_path: "XksProxyUriPathType",
|
|
1207
1218
|
# xks_proxy_vpc_endpoint_service_name: "XksProxyVpcEndpointServiceNameType",
|
|
1219
|
+
# xks_proxy_vpc_endpoint_service_owner: "AccountIdType",
|
|
1208
1220
|
# xks_proxy_authentication_credential: {
|
|
1209
1221
|
# access_key_id: "XksProxyAuthenticationAccessKeyIdType", # required
|
|
1210
1222
|
# raw_secret_access_key: "XksProxyAuthenticationRawSecretAccessKeyType", # required
|
|
@@ -1237,8 +1249,9 @@ module Aws::KMS
|
|
|
1237
1249
|
#
|
|
1238
1250
|
# For detailed information about grants, including grant terminology,
|
|
1239
1251
|
# see [Grants in KMS][1] in the <i> <i>Key Management Service Developer
|
|
1240
|
-
# Guide</i> </i>. For examples of
|
|
1241
|
-
#
|
|
1252
|
+
# Guide</i> </i>. For examples of creating grants in several programming
|
|
1253
|
+
# languages, see [Use CreateGrant with an Amazon Web Services SDK or
|
|
1254
|
+
# CLI][2].
|
|
1242
1255
|
#
|
|
1243
1256
|
# The `CreateGrant` operation returns a `GrantToken` and a `GrantId`.
|
|
1244
1257
|
#
|
|
@@ -1284,11 +1297,11 @@ module Aws::KMS
|
|
|
1284
1297
|
#
|
|
1285
1298
|
#
|
|
1286
1299
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
|
|
1287
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1288
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1300
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
|
|
1301
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
1289
1302
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
1290
1303
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
1291
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
1304
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
1292
1305
|
#
|
|
1293
1306
|
# @option params [required, String] :key_id
|
|
1294
1307
|
# Identifies the KMS key for the grant. The grant gives principals
|
|
@@ -1341,7 +1354,7 @@ module Aws::KMS
|
|
|
1341
1354
|
#
|
|
1342
1355
|
# [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
|
1343
1356
|
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns
|
|
1344
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-
|
|
1357
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
|
|
1345
1358
|
#
|
|
1346
1359
|
# @option params [required, Array<String>] :operations
|
|
1347
1360
|
# A list of operations that the grant permits.
|
|
@@ -1410,7 +1423,7 @@ module Aws::KMS
|
|
|
1410
1423
|
#
|
|
1411
1424
|
#
|
|
1412
1425
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
1413
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1426
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
1414
1427
|
#
|
|
1415
1428
|
# @option params [String] :name
|
|
1416
1429
|
# A friendly name for the grant. Use this value to prevent the
|
|
@@ -1436,12 +1449,12 @@ module Aws::KMS
|
|
|
1436
1449
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
1437
1450
|
# parameter.
|
|
1438
1451
|
#
|
|
1439
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
1440
|
-
#
|
|
1452
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
1453
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
1441
1454
|
#
|
|
1442
1455
|
#
|
|
1443
1456
|
#
|
|
1444
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1457
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
1445
1458
|
#
|
|
1446
1459
|
# @return [Types::CreateGrantResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
1447
1460
|
#
|
|
@@ -1511,16 +1524,15 @@ module Aws::KMS
|
|
|
1511
1524
|
# A KMS key is a logical representation of a cryptographic key. In
|
|
1512
1525
|
# addition to the key material used in cryptographic operations, a KMS
|
|
1513
1526
|
# key includes metadata, such as the key ID, key policy, creation date,
|
|
1514
|
-
# description, and key state.
|
|
1515
|
-
# *Key Management Service Developer Guide*
|
|
1527
|
+
# description, and key state.
|
|
1516
1528
|
#
|
|
1517
1529
|
# Use the parameters of `CreateKey` to specify the type of KMS key, the
|
|
1518
1530
|
# source of its key material, its key policy, description, tags, and
|
|
1519
1531
|
# other properties.
|
|
1520
1532
|
#
|
|
1521
|
-
# <note markdown="1"> KMS has replaced the term *customer master key (CMK)* with *
|
|
1522
|
-
# and *KMS key*. The concept has not changed. To
|
|
1523
|
-
# changes, KMS is keeping some variations of this term.
|
|
1533
|
+
# <note markdown="1"> KMS has replaced the term *customer master key (CMK)* with *Key
|
|
1534
|
+
# Management Service key* and *KMS key*. The concept has not changed. To
|
|
1535
|
+
# prevent breaking changes, KMS is keeping some variations of this term.
|
|
1524
1536
|
#
|
|
1525
1537
|
# </note>
|
|
1526
1538
|
#
|
|
@@ -1558,20 +1570,21 @@ module Aws::KMS
|
|
|
1558
1570
|
# properties after the KMS key is created.
|
|
1559
1571
|
#
|
|
1560
1572
|
# Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC)
|
|
1561
|
-
# key pair, or an SM2 key pair (China Regions only).
|
|
1562
|
-
# in an asymmetric KMS key never leaves KMS
|
|
1563
|
-
# can use the GetPublicKey operation to
|
|
1564
|
-
# can be used outside of KMS. Each KMS
|
|
1565
|
-
# usage. KMS keys with RSA key pairs can be
|
|
1566
|
-
# decrypt data or sign and verify messages (but
|
|
1567
|
-
# with NIST-
|
|
1568
|
-
# messages or derive shared secrets (but not both).
|
|
1569
|
-
# `ECC_SECG_P256K1` can be used only to sign and verify
|
|
1570
|
-
# keys with
|
|
1571
|
-
#
|
|
1572
|
-
#
|
|
1573
|
-
#
|
|
1574
|
-
#
|
|
1573
|
+
# key pair, ML-DSA key pair or an SM2 key pair (China Regions only).
|
|
1574
|
+
# The private key in an asymmetric KMS key never leaves KMS
|
|
1575
|
+
# unencrypted. However, you can use the GetPublicKey operation to
|
|
1576
|
+
# download the public key so it can be used outside of KMS. Each KMS
|
|
1577
|
+
# key can have only one key usage. KMS keys with RSA key pairs can be
|
|
1578
|
+
# used to encrypt and decrypt data or sign and verify messages (but
|
|
1579
|
+
# not both). KMS keys with NIST-standard ECC key pairs can be used to
|
|
1580
|
+
# sign and verify messages or derive shared secrets (but not both).
|
|
1581
|
+
# KMS keys with `ECC_SECG_P256K1` can be used only to sign and verify
|
|
1582
|
+
# messages. KMS keys with ML-DSA key pairs can be used to sign and
|
|
1583
|
+
# verify messages. KMS keys with SM2 key pairs (China Regions only)
|
|
1584
|
+
# can be used to either encrypt and decrypt data, sign and verify
|
|
1585
|
+
# messages, or derive shared secrets (you must choose one key usage
|
|
1586
|
+
# type). For information about asymmetric KMS keys, see [Asymmetric
|
|
1587
|
+
# KMS keys][2] in the *Key Management Service Developer Guide*.
|
|
1575
1588
|
#
|
|
1576
1589
|
#
|
|
1577
1590
|
#
|
|
@@ -1614,7 +1627,7 @@ module Aws::KMS
|
|
|
1614
1627
|
# to encrypt data in one Amazon Web Services Region and decrypt it in
|
|
1615
1628
|
# a different Amazon Web Services Region without re-encrypting the
|
|
1616
1629
|
# data or making a cross-Region call. For more information about
|
|
1617
|
-
# multi-Region keys, see [Multi-Region keys in KMS][
|
|
1630
|
+
# multi-Region keys, see [Multi-Region keys in KMS][3] in the *Key
|
|
1618
1631
|
# Management Service Developer Guide*.
|
|
1619
1632
|
#
|
|
1620
1633
|
#
|
|
@@ -1626,7 +1639,7 @@ module Aws::KMS
|
|
|
1626
1639
|
# token. Use the wrapping public key to encrypt your key material.
|
|
1627
1640
|
# Then, use ImportKeyMaterial with your import token to import the key
|
|
1628
1641
|
# material. For step-by-step instructions, see [Importing Key
|
|
1629
|
-
# Material][
|
|
1642
|
+
# Material][4] in the <i> <i>Key Management Service Developer
|
|
1630
1643
|
# Guide</i> </i>.
|
|
1631
1644
|
#
|
|
1632
1645
|
# You can import key material into KMS keys of all supported KMS key
|
|
@@ -1639,23 +1652,22 @@ module Aws::KMS
|
|
|
1639
1652
|
# the `Origin` parameter of `CreateKey` with a value of `EXTERNAL` and
|
|
1640
1653
|
# the `MultiRegion` parameter with a value of `True`. To create
|
|
1641
1654
|
# replicas of the multi-Region primary key, use the ReplicateKey
|
|
1642
|
-
# operation. For instructions, see [Importing key material
|
|
1643
|
-
#
|
|
1644
|
-
#
|
|
1645
|
-
# Developer Guide*.
|
|
1655
|
+
# operation. For instructions, see [Importing key material step 1][5].
|
|
1656
|
+
# For more information about multi-Region keys, see [Multi-Region keys
|
|
1657
|
+
# in KMS][3] in the *Key Management Service Developer Guide*.
|
|
1646
1658
|
#
|
|
1647
1659
|
#
|
|
1648
1660
|
#
|
|
1649
1661
|
# Custom key store
|
|
1650
1662
|
#
|
|
1651
|
-
# : A [custom key store][
|
|
1663
|
+
# : A [custom key store][6] lets you protect your Amazon Web Services
|
|
1652
1664
|
# resources using keys in a backing key store that you own and manage.
|
|
1653
1665
|
# When you request a cryptographic operation with a KMS key in a
|
|
1654
1666
|
# custom key store, the operation is performed in the backing key
|
|
1655
1667
|
# store using its cryptographic keys.
|
|
1656
1668
|
#
|
|
1657
|
-
# KMS supports [CloudHSM key stores][
|
|
1658
|
-
# and [external key stores][
|
|
1669
|
+
# KMS supports [CloudHSM key stores][7] backed by an CloudHSM cluster
|
|
1670
|
+
# and [external key stores][8] backed by an external key manager
|
|
1659
1671
|
# outside of Amazon Web Services. When you create a KMS key in an
|
|
1660
1672
|
# CloudHSM key store, KMS generates an encryption key in the CloudHSM
|
|
1661
1673
|
# cluster and associates it with the KMS key. When you create a KMS
|
|
@@ -1680,13 +1692,13 @@ module Aws::KMS
|
|
|
1680
1692
|
# `ENCRYPT_DECRYPT` to create a symmetric encryption key. No other key
|
|
1681
1693
|
# type is supported in a custom key store.
|
|
1682
1694
|
#
|
|
1683
|
-
# To create a KMS key in an [CloudHSM key store][
|
|
1695
|
+
# To create a KMS key in an [CloudHSM key store][9], use the `Origin`
|
|
1684
1696
|
# parameter with a value of `AWS_CLOUDHSM`. The CloudHSM cluster that
|
|
1685
1697
|
# is associated with the custom key store must have at least two
|
|
1686
1698
|
# active HSMs in different Availability Zones in the Amazon Web
|
|
1687
1699
|
# Services Region.
|
|
1688
1700
|
#
|
|
1689
|
-
# To create a KMS key in an [external key store][
|
|
1701
|
+
# To create a KMS key in an [external key store][10], use the `Origin`
|
|
1690
1702
|
# parameter with a value of `EXTERNAL_KEY_STORE` and an `XksKeyId`
|
|
1691
1703
|
# parameter that identifies an existing external key.
|
|
1692
1704
|
#
|
|
@@ -1699,10 +1711,10 @@ module Aws::KMS
|
|
|
1699
1711
|
# **Cross-account use**: No. You cannot use this operation to create a
|
|
1700
1712
|
# KMS key in a different Amazon Web Services account.
|
|
1701
1713
|
#
|
|
1702
|
-
# **Required permissions**: [kms:CreateKey][
|
|
1703
|
-
# `Tags` parameter, [kms:TagResource][
|
|
1714
|
+
# **Required permissions**: [kms:CreateKey][11] (IAM policy). To use the
|
|
1715
|
+
# `Tags` parameter, [kms:TagResource][11] (IAM policy). For examples and
|
|
1704
1716
|
# information about related permissions, see [Allow a user to create KMS
|
|
1705
|
-
# keys][
|
|
1717
|
+
# keys][12] in the *Key Management Service Developer Guide*.
|
|
1706
1718
|
#
|
|
1707
1719
|
# **Related operations:**
|
|
1708
1720
|
#
|
|
@@ -1713,22 +1725,23 @@ module Aws::KMS
|
|
|
1713
1725
|
# * ScheduleKeyDeletion
|
|
1714
1726
|
#
|
|
1715
1727
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
1716
|
-
# model. For more information, see [KMS eventual consistency][
|
|
1728
|
+
# model. For more information, see [KMS eventual consistency][13].
|
|
1717
1729
|
#
|
|
1718
1730
|
#
|
|
1719
1731
|
#
|
|
1720
1732
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms-keys
|
|
1721
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1722
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1723
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1724
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
1725
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1726
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1727
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-
|
|
1728
|
-
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore
|
|
1729
|
-
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1730
|
-
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1731
|
-
# [12]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1733
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
|
|
1734
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
|
|
1735
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
1736
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-create-cmk.html
|
|
1737
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
1738
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
|
|
1739
|
+
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
|
|
1740
|
+
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/create-cmk-keystore.html
|
|
1741
|
+
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/create-xks-keys.html
|
|
1742
|
+
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
1743
|
+
# [12]: https://docs.aws.amazon.com/kms/latest/developerguide/customer-managed-policies.html#iam-policy-example-create-key
|
|
1744
|
+
# [13]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
1732
1745
|
#
|
|
1733
1746
|
# @option params [String] :policy
|
|
1734
1747
|
# The key policy to attach to the KMS key.
|
|
@@ -1750,22 +1763,38 @@ module Aws::KMS
|
|
|
1750
1763
|
# not always immediately visible][2] in the *Amazon Web Services
|
|
1751
1764
|
# Identity and Access Management User Guide*.
|
|
1752
1765
|
#
|
|
1766
|
+
# <note markdown="1"> If either of the required `Resource` or `Action` elements are missing
|
|
1767
|
+
# from a key policy statement, the policy statement has no effect. When
|
|
1768
|
+
# a key policy statement is missing one of these elements, the KMS
|
|
1769
|
+
# console correctly reports an error, but the `CreateKey` and
|
|
1770
|
+
# `PutKeyPolicy` API requests succeed, even though the policy statement
|
|
1771
|
+
# is ineffective.
|
|
1772
|
+
#
|
|
1773
|
+
# For more information on required key policy elements, see [Elements in
|
|
1774
|
+
# a key policy][3] in the *Key Management Service Developer Guide*.
|
|
1775
|
+
#
|
|
1776
|
+
# </note>
|
|
1777
|
+
#
|
|
1753
1778
|
# If you do not provide a key policy, KMS attaches a default key policy
|
|
1754
|
-
# to the KMS key. For more information, see [Default key policy][
|
|
1779
|
+
# to the KMS key. For more information, see [Default key policy][4] in
|
|
1755
1780
|
# the *Key Management Service Developer Guide*.
|
|
1756
1781
|
#
|
|
1757
|
-
#
|
|
1782
|
+
# <note markdown="1"> If the key policy exceeds the length constraint, KMS returns a
|
|
1783
|
+
# `LimitExceededException`.
|
|
1784
|
+
#
|
|
1785
|
+
# </note>
|
|
1758
1786
|
#
|
|
1759
1787
|
# For help writing and formatting a JSON policy document, see the [IAM
|
|
1760
|
-
# JSON Policy Reference][
|
|
1788
|
+
# JSON Policy Reference][5] in the <i> <i>Identity and Access Management
|
|
1761
1789
|
# User Guide</i> </i>.
|
|
1762
1790
|
#
|
|
1763
1791
|
#
|
|
1764
1792
|
#
|
|
1765
1793
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
|
|
1766
1794
|
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
|
|
1767
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-
|
|
1768
|
-
# [4]: https://docs.aws.amazon.com/
|
|
1795
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html#key-policy-elements
|
|
1796
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html
|
|
1797
|
+
# [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
|
|
1769
1798
|
#
|
|
1770
1799
|
# @option params [String] :description
|
|
1771
1800
|
# A description of the KMS key. Use a description that helps you decide
|
|
@@ -1783,8 +1812,10 @@ module Aws::KMS
|
|
|
1783
1812
|
# Determines the [cryptographic operations][1] for which you can use the
|
|
1784
1813
|
# KMS key. The default value is `ENCRYPT_DECRYPT`. This parameter is
|
|
1785
1814
|
# optional when you are creating a symmetric encryption KMS key;
|
|
1786
|
-
# otherwise, it is required. You can't change the `KeyUsage`
|
|
1787
|
-
# after the KMS key is created.
|
|
1815
|
+
# otherwise, it is required. You can't change the [ `KeyUsage` ][2]
|
|
1816
|
+
# value after the KMS key is created. Each KMS key can have only one key
|
|
1817
|
+
# usage. This follows key usage best practices according to [NIST SP
|
|
1818
|
+
# 800-57 Recommendations for Key Management][3], section 5.2, Key usage.
|
|
1788
1819
|
#
|
|
1789
1820
|
# Select only one valid value.
|
|
1790
1821
|
#
|
|
@@ -1796,10 +1827,13 @@ module Aws::KMS
|
|
|
1796
1827
|
# * For asymmetric KMS keys with RSA key pairs, specify
|
|
1797
1828
|
# `ENCRYPT_DECRYPT` or `SIGN_VERIFY`.
|
|
1798
1829
|
#
|
|
1799
|
-
# * For asymmetric KMS keys with NIST-
|
|
1800
|
-
#
|
|
1830
|
+
# * For asymmetric KMS keys with NIST-standard elliptic curve key pairs,
|
|
1831
|
+
# specify `SIGN_VERIFY` or `KEY_AGREEMENT`.
|
|
1832
|
+
#
|
|
1833
|
+
# * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs, specify
|
|
1834
|
+
# `SIGN_VERIFY`.
|
|
1801
1835
|
#
|
|
1802
|
-
# * For asymmetric KMS keys with
|
|
1836
|
+
# * For asymmetric KMS keys with ML-DSA key pairs, specify
|
|
1803
1837
|
# `SIGN_VERIFY`.
|
|
1804
1838
|
#
|
|
1805
1839
|
# * For asymmetric KMS keys with SM2 key pairs (China Regions only),
|
|
@@ -1807,7 +1841,9 @@ module Aws::KMS
|
|
|
1807
1841
|
#
|
|
1808
1842
|
#
|
|
1809
1843
|
#
|
|
1810
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1844
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
|
|
1845
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#key-usage
|
|
1846
|
+
# [3]: https://csrc.nist.gov/pubs/sp/800/57/pt1/r5/final
|
|
1811
1847
|
#
|
|
1812
1848
|
# @option params [String] :customer_master_key_spec
|
|
1813
1849
|
# Instead, use the `KeySpec` parameter.
|
|
@@ -1821,20 +1857,21 @@ module Aws::KMS
|
|
|
1821
1857
|
# Specifies the type of KMS key to create. The default value,
|
|
1822
1858
|
# `SYMMETRIC_DEFAULT`, creates a KMS key with a 256-bit AES-GCM key that
|
|
1823
1859
|
# is used for encryption and decryption, except in China Regions, where
|
|
1824
|
-
# it creates a 128-bit symmetric key that uses SM4 encryption. For
|
|
1825
|
-
#
|
|
1826
|
-
# in the <i> <i>Key Management Service Developer Guide</i>
|
|
1860
|
+
# it creates a 128-bit symmetric key that uses SM4 encryption. For a
|
|
1861
|
+
# detailed description of all supported key specs, see [Key spec
|
|
1862
|
+
# reference][1] in the <i> <i>Key Management Service Developer Guide</i>
|
|
1863
|
+
# </i>.
|
|
1827
1864
|
#
|
|
1828
1865
|
# The `KeySpec` determines whether the KMS key contains a symmetric key
|
|
1829
1866
|
# or an asymmetric key pair. It also determines the algorithms that the
|
|
1830
1867
|
# KMS key supports. You can't change the `KeySpec` after the KMS key is
|
|
1831
1868
|
# created. To further restrict the algorithms that can be used with the
|
|
1832
1869
|
# KMS key, use a condition key in its key policy or IAM policy. For more
|
|
1833
|
-
# information, see [kms:EncryptionAlgorithm][2], [kms:MacAlgorithm][3]
|
|
1834
|
-
# or [kms:
|
|
1835
|
-
# Developer Guide</i> </i>.
|
|
1870
|
+
# information, see [kms:EncryptionAlgorithm][2], [kms:MacAlgorithm][3],
|
|
1871
|
+
# [kms:KeyAgreementAlgorithm][4], or [kms:SigningAlgorithm][5] in the
|
|
1872
|
+
# <i> <i>Key Management Service Developer Guide</i> </i>.
|
|
1836
1873
|
#
|
|
1837
|
-
# [Amazon Web Services services that are integrated with KMS][
|
|
1874
|
+
# [Amazon Web Services services that are integrated with KMS][6] use
|
|
1838
1875
|
# symmetric encryption KMS keys to protect your data. These services do
|
|
1839
1876
|
# not support asymmetric KMS keys or HMAC KMS keys.
|
|
1840
1877
|
#
|
|
@@ -1862,7 +1899,7 @@ module Aws::KMS
|
|
|
1862
1899
|
# * `RSA_3072`
|
|
1863
1900
|
#
|
|
1864
1901
|
# * `RSA_4096`
|
|
1865
|
-
# * Asymmetric NIST-
|
|
1902
|
+
# * Asymmetric NIST-standard elliptic curve key pairs (signing and
|
|
1866
1903
|
# verification -or- deriving shared secrets)
|
|
1867
1904
|
#
|
|
1868
1905
|
# * `ECC_NIST_P256` (secp256r1)
|
|
@@ -1870,11 +1907,29 @@ module Aws::KMS
|
|
|
1870
1907
|
# * `ECC_NIST_P384` (secp384r1)
|
|
1871
1908
|
#
|
|
1872
1909
|
# * `ECC_NIST_P521` (secp521r1)
|
|
1910
|
+
#
|
|
1911
|
+
# * `ECC_NIST_EDWARDS25519` (ed25519) - signing and verification only
|
|
1912
|
+
#
|
|
1913
|
+
# * **Note:** For ECC\_NIST\_EDWARDS25519 KMS keys, the
|
|
1914
|
+
# ED25519\_SHA\_512 signing algorithm requires [ `MessageType:RAW`
|
|
1915
|
+
# ](kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType),
|
|
1916
|
+
# while ED25519\_PH\_SHA\_512 requires [ `MessageType:DIGEST`
|
|
1917
|
+
# ](kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType).
|
|
1918
|
+
# These message types cannot be used interchangeably.
|
|
1919
|
+
#
|
|
1920
|
+
# ^
|
|
1873
1921
|
# * Other asymmetric elliptic curve key pairs (signing and verification)
|
|
1874
1922
|
#
|
|
1875
1923
|
# * `ECC_SECG_P256K1` (secp256k1), commonly used for cryptocurrencies.
|
|
1876
1924
|
#
|
|
1877
1925
|
# ^
|
|
1926
|
+
# * Asymmetric ML-DSA key pairs (signing and verification)
|
|
1927
|
+
#
|
|
1928
|
+
# * `ML_DSA_44`
|
|
1929
|
+
#
|
|
1930
|
+
# * `ML_DSA_65`
|
|
1931
|
+
#
|
|
1932
|
+
# * `ML_DSA_87`
|
|
1878
1933
|
# * SM2 key pairs (encryption and decryption -or- signing and
|
|
1879
1934
|
# verification -or- deriving shared secrets)
|
|
1880
1935
|
#
|
|
@@ -1884,11 +1939,12 @@ module Aws::KMS
|
|
|
1884
1939
|
#
|
|
1885
1940
|
#
|
|
1886
1941
|
#
|
|
1887
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1888
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1889
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1890
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1891
|
-
# [5]:
|
|
1942
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html
|
|
1943
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-encryption-algorithm
|
|
1944
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-mac-algorithm
|
|
1945
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-key-agreement-algorithm
|
|
1946
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-signing-algorithm
|
|
1947
|
+
# [6]: http://aws.amazon.com/kms/features/#AWS_Service_Integration
|
|
1892
1948
|
#
|
|
1893
1949
|
# @option params [String] :origin
|
|
1894
1950
|
# The source of the key material for the KMS key. You cannot change the
|
|
@@ -1938,7 +1994,7 @@ module Aws::KMS
|
|
|
1938
1994
|
#
|
|
1939
1995
|
#
|
|
1940
1996
|
#
|
|
1941
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1997
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
1942
1998
|
#
|
|
1943
1999
|
# @option params [Boolean] :bypass_policy_lockout_safety_check
|
|
1944
2000
|
# Skips ("bypasses") the key policy lockout safety check. The default
|
|
@@ -1986,7 +2042,7 @@ module Aws::KMS
|
|
|
1986
2042
|
# When you add tags to an Amazon Web Services resource, Amazon Web
|
|
1987
2043
|
# Services generates a cost allocation report with usage and costs
|
|
1988
2044
|
# aggregated by tags. Tags can also be used to control access to a KMS
|
|
1989
|
-
# key. For details, see [
|
|
2045
|
+
# key. For details, see [Tags in KMS][3].
|
|
1990
2046
|
#
|
|
1991
2047
|
#
|
|
1992
2048
|
#
|
|
@@ -2057,7 +2113,7 @@ module Aws::KMS
|
|
|
2057
2113
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-external-key
|
|
2058
2114
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
|
|
2059
2115
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-xks-proxy
|
|
2060
|
-
# [4]: https://docs.aws.amazon.com/create-xks-keys.html#xks-key-requirements
|
|
2116
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/create-xks-keys.html#xks-key-requirements
|
|
2061
2117
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-double-encryption
|
|
2062
2118
|
#
|
|
2063
2119
|
# @return [Types::CreateKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
@@ -2079,6 +2135,7 @@ module Aws::KMS
|
|
|
2079
2135
|
# aws_account_id: "111122223333",
|
|
2080
2136
|
# arn: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
|
|
2081
2137
|
# creation_date: Time.parse("2017-07-05T14:04:55-07:00"),
|
|
2138
|
+
# current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
|
|
2082
2139
|
# customer_master_key_spec: "SYMMETRIC_DEFAULT",
|
|
2083
2140
|
# description: "",
|
|
2084
2141
|
# enabled: true,
|
|
@@ -2131,8 +2188,7 @@ module Aws::KMS
|
|
|
2131
2188
|
# @example Example: To create an asymmetric elliptic curve KMS key for signing and verification
|
|
2132
2189
|
#
|
|
2133
2190
|
# # This example creates a KMS key that contains an asymmetric elliptic curve (ECC) key pair for signing and verification.
|
|
2134
|
-
# # The key
|
|
2135
|
-
# # can't be changed after the key is created.
|
|
2191
|
+
# # The key spec and key usage can't be changed after the key is created.
|
|
2136
2192
|
#
|
|
2137
2193
|
# resp = client.create_key({
|
|
2138
2194
|
# key_spec: "ECC_NIST_P521", # Describes the type of key material in the KMS key.
|
|
@@ -2193,6 +2249,38 @@ module Aws::KMS
|
|
|
2193
2249
|
# }, # Detailed information about the KMS key that this operation creates.
|
|
2194
2250
|
# }
|
|
2195
2251
|
#
|
|
2252
|
+
# @example Example: To create an asymmetric ML-DSA KMS key for signing and verification
|
|
2253
|
+
#
|
|
2254
|
+
# # This example creates a module-lattice digital signature algorithm (ML-DSA) key for signing and verification. The
|
|
2255
|
+
# # key-usage parameter is required even though SIGN_VERIFY is the only valid value for ML-DSA keys.
|
|
2256
|
+
#
|
|
2257
|
+
# resp = client.create_key({
|
|
2258
|
+
# key_spec: "ML_DSA_65", # Describes the type of key material in the KMS key.
|
|
2259
|
+
# key_usage: "SIGN_VERIFY", # The cryptographic operations for which you can use the KMS key.
|
|
2260
|
+
# })
|
|
2261
|
+
#
|
|
2262
|
+
# resp.to_h outputs the following:
|
|
2263
|
+
# {
|
|
2264
|
+
# key_metadata: {
|
|
2265
|
+
# aws_account_id: "111122223333",
|
|
2266
|
+
# arn: "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
|
|
2267
|
+
# creation_date: Time.parse(1748371316.734),
|
|
2268
|
+
# customer_master_key_spec: "ML_DSA_65",
|
|
2269
|
+
# description: "",
|
|
2270
|
+
# enabled: true,
|
|
2271
|
+
# key_id: "1234abcd-12ab-34cd-56ef-1234567890ab",
|
|
2272
|
+
# key_manager: "CUSTOMER",
|
|
2273
|
+
# key_spec: "ML_DSA_65",
|
|
2274
|
+
# key_state: "Enabled",
|
|
2275
|
+
# key_usage: "SIGN_VERIFY",
|
|
2276
|
+
# multi_region: false,
|
|
2277
|
+
# origin: "AWS_KMS",
|
|
2278
|
+
# signing_algorithms: [
|
|
2279
|
+
# "ML_DSA_SHAKE_256",
|
|
2280
|
+
# ],
|
|
2281
|
+
# }, # Detailed information about the KMS key that this operation creates.
|
|
2282
|
+
# }
|
|
2283
|
+
#
|
|
2196
2284
|
# @example Example: To create a multi-Region primary KMS key
|
|
2197
2285
|
#
|
|
2198
2286
|
# # This example creates a multi-Region primary symmetric encryption key. Because the default values for all parameters
|
|
@@ -2208,6 +2296,7 @@ module Aws::KMS
|
|
|
2208
2296
|
# aws_account_id: "111122223333",
|
|
2209
2297
|
# arn: "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab",
|
|
2210
2298
|
# creation_date: Time.parse("2021-09-02T016:15:21-09:00"),
|
|
2299
|
+
# current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
|
|
2211
2300
|
# customer_master_key_spec: "SYMMETRIC_DEFAULT",
|
|
2212
2301
|
# description: "",
|
|
2213
2302
|
# enabled: true,
|
|
@@ -2344,7 +2433,7 @@ module Aws::KMS
|
|
|
2344
2433
|
# description: "DescriptionType",
|
|
2345
2434
|
# key_usage: "SIGN_VERIFY", # accepts SIGN_VERIFY, ENCRYPT_DECRYPT, GENERATE_VERIFY_MAC, KEY_AGREEMENT
|
|
2346
2435
|
# customer_master_key_spec: "RSA_2048", # accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SYMMETRIC_DEFAULT, HMAC_224, HMAC_256, HMAC_384, HMAC_512, SM2
|
|
2347
|
-
# key_spec: "RSA_2048", # accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SYMMETRIC_DEFAULT, HMAC_224, HMAC_256, HMAC_384, HMAC_512, SM2
|
|
2436
|
+
# 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, ECC_NIST_EDWARDS25519
|
|
2348
2437
|
# origin: "AWS_KMS", # accepts AWS_KMS, EXTERNAL, AWS_CLOUDHSM, EXTERNAL_KEY_STORE
|
|
2349
2438
|
# custom_key_store_id: "CustomKeyStoreIdType",
|
|
2350
2439
|
# bypass_policy_lockout_safety_check: false,
|
|
@@ -2376,11 +2465,11 @@ module Aws::KMS
|
|
|
2376
2465
|
# resp.key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
|
|
2377
2466
|
# resp.key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
|
|
2378
2467
|
# resp.key_metadata.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
|
|
2379
|
-
# resp.key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
|
|
2468
|
+
# 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", "ECC_NIST_EDWARDS25519"
|
|
2380
2469
|
# resp.key_metadata.encryption_algorithms #=> Array
|
|
2381
2470
|
# resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
2382
2471
|
# resp.key_metadata.signing_algorithms #=> Array
|
|
2383
|
-
# resp.key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
|
|
2472
|
+
# 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", "ED25519_SHA_512", "ED25519_PH_SHA_512"
|
|
2384
2473
|
# resp.key_metadata.key_agreement_algorithms #=> Array
|
|
2385
2474
|
# resp.key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
|
|
2386
2475
|
# resp.key_metadata.multi_region #=> Boolean
|
|
@@ -2394,6 +2483,7 @@ module Aws::KMS
|
|
|
2394
2483
|
# resp.key_metadata.mac_algorithms #=> Array
|
|
2395
2484
|
# resp.key_metadata.mac_algorithms[0] #=> String, one of "HMAC_SHA_224", "HMAC_SHA_256", "HMAC_SHA_384", "HMAC_SHA_512"
|
|
2396
2485
|
# resp.key_metadata.xks_key_configuration.id #=> String
|
|
2486
|
+
# resp.key_metadata.current_key_material_id #=> String
|
|
2397
2487
|
#
|
|
2398
2488
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateKey AWS API Documentation
|
|
2399
2489
|
#
|
|
@@ -2444,27 +2534,26 @@ module Aws::KMS
|
|
|
2444
2534
|
# key that you intend.
|
|
2445
2535
|
#
|
|
2446
2536
|
# Whenever possible, use key policies to give users permission to call
|
|
2447
|
-
# the `Decrypt` operation on a particular KMS key, instead of using
|
|
2448
|
-
#
|
|
2449
|
-
#
|
|
2450
|
-
#
|
|
2451
|
-
#
|
|
2452
|
-
#
|
|
2453
|
-
#
|
|
2454
|
-
#
|
|
2455
|
-
#
|
|
2456
|
-
#
|
|
2457
|
-
#
|
|
2458
|
-
#
|
|
2459
|
-
#
|
|
2460
|
-
#
|
|
2461
|
-
#
|
|
2462
|
-
#
|
|
2463
|
-
#
|
|
2464
|
-
#
|
|
2465
|
-
#
|
|
2466
|
-
#
|
|
2467
|
-
# Service Developer Guide*.
|
|
2537
|
+
# the `Decrypt` operation on a particular KMS key, instead of using IAM
|
|
2538
|
+
# policies. Otherwise, you might create an IAM policy that gives the
|
|
2539
|
+
# user `Decrypt` permission on all KMS keys. This user could decrypt
|
|
2540
|
+
# ciphertext that was encrypted by KMS keys in other accounts if the key
|
|
2541
|
+
# policy for the cross-account KMS key permits it. If you must use an
|
|
2542
|
+
# IAM policy for `Decrypt` permissions, limit the user to particular KMS
|
|
2543
|
+
# keys or particular trusted accounts. For details, see [Best practices
|
|
2544
|
+
# for IAM policies][4] in the *Key Management Service Developer Guide*.
|
|
2545
|
+
#
|
|
2546
|
+
# `Decrypt` also supports [Amazon Web Services Nitro Enclaves][5] and
|
|
2547
|
+
# NitroTPM, which provide attested environments in Amazon EC2. To call
|
|
2548
|
+
# `Decrypt` for a Nitro enclave or NitroTPM, use the [Amazon Web
|
|
2549
|
+
# Services Nitro Enclaves SDK][6] or any Amazon Web Services SDK. Use
|
|
2550
|
+
# the `Recipient` parameter to provide the attestation document for the
|
|
2551
|
+
# attested environment. Instead of the plaintext data, the response
|
|
2552
|
+
# includes the plaintext data encrypted with the public key from the
|
|
2553
|
+
# attestation document (`CiphertextForRecipient`). For information about
|
|
2554
|
+
# the interaction between KMS and Amazon Web Services Nitro Enclaves or
|
|
2555
|
+
# Amazon Web Services NitroTPM, see [Cryptographic attestation support
|
|
2556
|
+
# in KMS][7] in the *Key Management Service Developer Guide*.
|
|
2468
2557
|
#
|
|
2469
2558
|
# The KMS key that you use for this operation must be in a compatible
|
|
2470
2559
|
# key state. For details, see [Key states of KMS keys][8] in the *Key
|
|
@@ -2497,10 +2586,10 @@ module Aws::KMS
|
|
|
2497
2586
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policies-best-practices
|
|
2498
2587
|
# [5]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
|
2499
2588
|
# [6]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
2500
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2589
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
2501
2590
|
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
2502
2591
|
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
2503
|
-
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
2592
|
+
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
2504
2593
|
#
|
|
2505
2594
|
# @option params [required, String, StringIO, File] :ciphertext_blob
|
|
2506
2595
|
# Ciphertext to be decrypted. The blob includes metadata.
|
|
@@ -2525,8 +2614,8 @@ module Aws::KMS
|
|
|
2525
2614
|
#
|
|
2526
2615
|
#
|
|
2527
2616
|
#
|
|
2528
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2529
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2617
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
|
|
2618
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
2530
2619
|
#
|
|
2531
2620
|
# @option params [Array<String>] :grant_tokens
|
|
2532
2621
|
# A list of grant tokens.
|
|
@@ -2539,7 +2628,7 @@ module Aws::KMS
|
|
|
2539
2628
|
#
|
|
2540
2629
|
#
|
|
2541
2630
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
2542
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2631
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
2543
2632
|
#
|
|
2544
2633
|
# @option params [String] :key_id
|
|
2545
2634
|
# Specifies the KMS key that KMS uses to decrypt the ciphertext.
|
|
@@ -2587,40 +2676,43 @@ module Aws::KMS
|
|
|
2587
2676
|
#
|
|
2588
2677
|
# @option params [Types::RecipientInfo] :recipient
|
|
2589
2678
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
|
2590
|
-
# enclave and the encryption algorithm to use with the
|
|
2591
|
-
# key. The only valid encryption
|
|
2679
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
|
2680
|
+
# public key in the attestation document. The only valid encryption
|
|
2681
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
|
2592
2682
|
#
|
|
2593
|
-
# This parameter
|
|
2594
|
-
#
|
|
2595
|
-
#
|
|
2683
|
+
# This parameter supports the [Amazon Web Services Nitro Enclaves
|
|
2684
|
+
# SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
|
|
2685
|
+
# Enclaves. It supports any Amazon Web Services SDK for Amazon Web
|
|
2686
|
+
# Services NitroTPM.
|
|
2596
2687
|
#
|
|
2597
2688
|
# When you use this parameter, instead of returning the plaintext data,
|
|
2598
2689
|
# KMS encrypts the plaintext data with the public key in the attestation
|
|
2599
2690
|
# document, and returns the resulting ciphertext in the
|
|
2600
2691
|
# `CiphertextForRecipient` field in the response. This ciphertext can be
|
|
2601
|
-
# decrypted only with the private key in the
|
|
2602
|
-
# field in the response is null or empty.
|
|
2692
|
+
# decrypted only with the private key in the attested environment. The
|
|
2693
|
+
# `Plaintext` field in the response is null or empty.
|
|
2603
2694
|
#
|
|
2604
2695
|
# For information about the interaction between KMS and Amazon Web
|
|
2605
|
-
# Services Nitro Enclaves
|
|
2606
|
-
#
|
|
2696
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
|
2697
|
+
# [Cryptographic attestation support in KMS][3] in the *Key Management
|
|
2698
|
+
# Service Developer Guide*.
|
|
2607
2699
|
#
|
|
2608
2700
|
#
|
|
2609
2701
|
#
|
|
2610
2702
|
# [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-concepts.html#term-attestdoc
|
|
2611
2703
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
2612
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2704
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
2613
2705
|
#
|
|
2614
2706
|
# @option params [Boolean] :dry_run
|
|
2615
2707
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
2616
2708
|
# parameter.
|
|
2617
2709
|
#
|
|
2618
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
2619
|
-
#
|
|
2710
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
2711
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
2620
2712
|
#
|
|
2621
2713
|
#
|
|
2622
2714
|
#
|
|
2623
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2715
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
2624
2716
|
#
|
|
2625
2717
|
# @return [Types::DecryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
2626
2718
|
#
|
|
@@ -2628,6 +2720,7 @@ module Aws::KMS
|
|
|
2628
2720
|
# * {Types::DecryptResponse#plaintext #plaintext} => String
|
|
2629
2721
|
# * {Types::DecryptResponse#encryption_algorithm #encryption_algorithm} => String
|
|
2630
2722
|
# * {Types::DecryptResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
|
|
2723
|
+
# * {Types::DecryptResponse#key_material_id #key_material_id} => String
|
|
2631
2724
|
#
|
|
2632
2725
|
#
|
|
2633
2726
|
# @example Example: To decrypt data with a symmetric encryption KMS key
|
|
@@ -2644,6 +2737,7 @@ module Aws::KMS
|
|
|
2644
2737
|
# {
|
|
2645
2738
|
# encryption_algorithm: "SYMMETRIC_DEFAULT", # The encryption algorithm that was used to decrypt the ciphertext. SYMMETRIC_DEFAULT is the only valid value for symmetric encryption in AWS KMS.
|
|
2646
2739
|
# 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.
|
|
2740
|
+
# key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to decrypt the ciphertext.
|
|
2647
2741
|
# plaintext: "<binary data>", # The decrypted (plaintext) data.
|
|
2648
2742
|
# }
|
|
2649
2743
|
#
|
|
@@ -2665,11 +2759,11 @@ module Aws::KMS
|
|
|
2665
2759
|
# plaintext: "<binary data>", # The decrypted (plaintext) data.
|
|
2666
2760
|
# }
|
|
2667
2761
|
#
|
|
2668
|
-
# @example Example: To decrypt data for a Nitro enclave
|
|
2762
|
+
# @example Example: To decrypt data for a Nitro enclave or NitroTPM
|
|
2669
2763
|
#
|
|
2670
2764
|
# # The following Decrypt example includes the Recipient parameter with a signed attestation document from an AWS Nitro
|
|
2671
|
-
# # enclave. Instead of returning the decrypted data in plaintext (Plaintext), the operation returns the
|
|
2672
|
-
# # encrypted by the public key from the attestation document (CiphertextForRecipient).
|
|
2765
|
+
# # enclave or NitroTPM. Instead of returning the decrypted data in plaintext (Plaintext), the operation returns the
|
|
2766
|
+
# # decrypted data encrypted by the public key from the attestation document (CiphertextForRecipient).
|
|
2673
2767
|
#
|
|
2674
2768
|
# resp = client.decrypt({
|
|
2675
2769
|
# ciphertext_blob: "<binary data>", # The encrypted data. This ciphertext was encrypted with the KMS key
|
|
@@ -2677,7 +2771,7 @@ module Aws::KMS
|
|
|
2677
2771
|
# recipient: {
|
|
2678
2772
|
# attestation_document: "<attestation document>",
|
|
2679
2773
|
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
|
2680
|
-
# }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
|
|
2774
|
+
# }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document
|
|
2681
2775
|
# })
|
|
2682
2776
|
#
|
|
2683
2777
|
# resp.to_h outputs the following:
|
|
@@ -2710,6 +2804,7 @@ module Aws::KMS
|
|
|
2710
2804
|
# resp.plaintext #=> String
|
|
2711
2805
|
# resp.encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
2712
2806
|
# resp.ciphertext_for_recipient #=> String
|
|
2807
|
+
# resp.key_material_id #=> String
|
|
2713
2808
|
#
|
|
2714
2809
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Decrypt AWS API Documentation
|
|
2715
2810
|
#
|
|
@@ -2766,7 +2861,7 @@ module Aws::KMS
|
|
|
2766
2861
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
|
|
2767
2862
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
2768
2863
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
|
|
2769
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
2864
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
2770
2865
|
#
|
|
2771
2866
|
# @option params [required, String] :alias_name
|
|
2772
2867
|
# The alias to be deleted. The alias name must begin with `alias/`
|
|
@@ -2805,9 +2900,9 @@ module Aws::KMS
|
|
|
2805
2900
|
# does not affect the external key store proxy, external key manager, or
|
|
2806
2901
|
# any external keys.
|
|
2807
2902
|
#
|
|
2808
|
-
# This operation is part of the
|
|
2809
|
-
#
|
|
2810
|
-
#
|
|
2903
|
+
# This operation is part of the custom key stores feature in KMS, which
|
|
2904
|
+
# combines the convenience and extensive integration of KMS with the
|
|
2905
|
+
# isolation and control of a key store that you own and manage.
|
|
2811
2906
|
#
|
|
2812
2907
|
# The custom key store that you delete cannot contain any [KMS keys][2].
|
|
2813
2908
|
# Before deleting the key store, verify that you will never need to use
|
|
@@ -2858,12 +2953,12 @@ module Aws::KMS
|
|
|
2858
2953
|
#
|
|
2859
2954
|
#
|
|
2860
2955
|
#
|
|
2861
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2956
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
2862
2957
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys
|
|
2863
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2958
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
|
|
2864
2959
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
|
|
2865
2960
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
2866
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
2961
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
2867
2962
|
#
|
|
2868
2963
|
# @option params [required, String] :custom_key_store_id
|
|
2869
2964
|
# Enter the ID of the custom key store you want to delete. To find the
|
|
@@ -2911,6 +3006,16 @@ module Aws::KMS
|
|
|
2911
3006
|
# operation does not change the KMS key's state. Otherwise, it changes
|
|
2912
3007
|
# the KMS key's state to `PendingImport`.
|
|
2913
3008
|
#
|
|
3009
|
+
# **Considerations for multi-Region symmetric encryption keys**
|
|
3010
|
+
#
|
|
3011
|
+
# * When you delete the key material of a primary Region key that is in
|
|
3012
|
+
# `PENDING_ROTATION` or
|
|
3013
|
+
# `PENDING_MULTI_REGION_IMPORT_AND_ROTATION`state, you'll also be
|
|
3014
|
+
# deleting the key materials for the replica Region keys.
|
|
3015
|
+
#
|
|
3016
|
+
# * If you delete any key material of a replica Region key, the primary
|
|
3017
|
+
# Region key and other replica Region keys remain unchanged.
|
|
3018
|
+
#
|
|
2914
3019
|
# The KMS key that you use for this operation must be in a compatible
|
|
2915
3020
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
|
2916
3021
|
# Management Service Developer Guide*.
|
|
@@ -2925,6 +3030,8 @@ module Aws::KMS
|
|
|
2925
3030
|
#
|
|
2926
3031
|
# * GetParametersForImport
|
|
2927
3032
|
#
|
|
3033
|
+
# * ListKeyRotations
|
|
3034
|
+
#
|
|
2928
3035
|
# * ImportKeyMaterial
|
|
2929
3036
|
#
|
|
2930
3037
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
@@ -2935,7 +3042,7 @@ module Aws::KMS
|
|
|
2935
3042
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
2936
3043
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
2937
3044
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
2938
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
3045
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
2939
3046
|
#
|
|
2940
3047
|
# @option params [required, String] :key_id
|
|
2941
3048
|
# Identifies the KMS key from which you are deleting imported key
|
|
@@ -2953,7 +3060,19 @@ module Aws::KMS
|
|
|
2953
3060
|
# To get the key ID and key ARN for a KMS key, use ListKeys or
|
|
2954
3061
|
# DescribeKey.
|
|
2955
3062
|
#
|
|
2956
|
-
# @
|
|
3063
|
+
# @option params [String] :key_material_id
|
|
3064
|
+
# Identifies the imported key material you are deleting.
|
|
3065
|
+
#
|
|
3066
|
+
# If no KeyMaterialId is specified, KMS deletes the current key
|
|
3067
|
+
# material.
|
|
3068
|
+
#
|
|
3069
|
+
# To get the list of key material IDs associated with a KMS key, use
|
|
3070
|
+
# ListKeyRotations.
|
|
3071
|
+
#
|
|
3072
|
+
# @return [Types::DeleteImportedKeyMaterialResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
3073
|
+
#
|
|
3074
|
+
# * {Types::DeleteImportedKeyMaterialResponse#key_id #key_id} => String
|
|
3075
|
+
# * {Types::DeleteImportedKeyMaterialResponse#key_material_id #key_material_id} => String
|
|
2957
3076
|
#
|
|
2958
3077
|
#
|
|
2959
3078
|
# @example Example: To delete imported key material
|
|
@@ -2962,14 +3081,21 @@ module Aws::KMS
|
|
|
2962
3081
|
#
|
|
2963
3082
|
# resp = client.delete_imported_key_material({
|
|
2964
3083
|
# 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.
|
|
3084
|
+
# key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # Identifies the deleted key material.
|
|
2965
3085
|
# })
|
|
2966
3086
|
#
|
|
2967
3087
|
# @example Request syntax with placeholder values
|
|
2968
3088
|
#
|
|
2969
3089
|
# resp = client.delete_imported_key_material({
|
|
2970
3090
|
# key_id: "KeyIdType", # required
|
|
3091
|
+
# key_material_id: "BackingKeyIdType",
|
|
2971
3092
|
# })
|
|
2972
3093
|
#
|
|
3094
|
+
# @example Response structure
|
|
3095
|
+
#
|
|
3096
|
+
# resp.key_id #=> String
|
|
3097
|
+
# resp.key_material_id #=> String
|
|
3098
|
+
#
|
|
2973
3099
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterial AWS API Documentation
|
|
2974
3100
|
#
|
|
2975
3101
|
# @overload delete_imported_key_material(params = {})
|
|
@@ -2981,8 +3107,8 @@ module Aws::KMS
|
|
|
2981
3107
|
|
|
2982
3108
|
# Derives a shared secret using a key agreement algorithm.
|
|
2983
3109
|
#
|
|
2984
|
-
# <note markdown="1"> You must use an asymmetric NIST-
|
|
2985
|
-
#
|
|
3110
|
+
# <note markdown="1"> You must use an asymmetric NIST-standard elliptic curve (ECC) or SM2
|
|
3111
|
+
# (China Regions only) KMS key pair with a `KeyUsage` value of
|
|
2986
3112
|
# `KEY_AGREEMENT` to call DeriveSharedSecret.
|
|
2987
3113
|
#
|
|
2988
3114
|
# </note>
|
|
@@ -3003,15 +3129,15 @@ module Aws::KMS
|
|
|
3003
3129
|
# 1. **Alice** calls CreateKey to create an asymmetric KMS key pair
|
|
3004
3130
|
# with a `KeyUsage` value of `KEY_AGREEMENT`.
|
|
3005
3131
|
#
|
|
3006
|
-
# The asymmetric KMS key must use a NIST-
|
|
3132
|
+
# The asymmetric KMS key must use a NIST-standard elliptic curve
|
|
3007
3133
|
# (ECC) or SM2 (China Regions only) key spec.
|
|
3008
3134
|
#
|
|
3009
3135
|
# 2. **Bob** creates an elliptic curve key pair.
|
|
3010
3136
|
#
|
|
3011
3137
|
# Bob can call CreateKey to create an asymmetric KMS key pair or
|
|
3012
3138
|
# generate a key pair outside of KMS. Bob's key pair must use the
|
|
3013
|
-
# same NIST-
|
|
3014
|
-
#
|
|
3139
|
+
# same NIST-standard elliptic curve (ECC) or SM2 (China Regions ony)
|
|
3140
|
+
# curve as Alice.
|
|
3015
3141
|
#
|
|
3016
3142
|
# 3. Alice and Bob **exchange their public keys** through an insecure
|
|
3017
3143
|
# communication channel (like the internet).
|
|
@@ -3038,12 +3164,12 @@ module Aws::KMS
|
|
|
3038
3164
|
# his private key and Alice's public key.
|
|
3039
3165
|
#
|
|
3040
3166
|
# To derive a shared secret you must provide a key agreement algorithm,
|
|
3041
|
-
# the private key of the caller's asymmetric NIST-
|
|
3167
|
+
# the private key of the caller's asymmetric NIST-standard elliptic
|
|
3042
3168
|
# curve or SM2 (China Regions only) KMS key pair, and the public key
|
|
3043
|
-
# from your peer's NIST-
|
|
3044
|
-
#
|
|
3045
|
-
#
|
|
3046
|
-
#
|
|
3169
|
+
# from your peer's NIST-standard elliptic curve or SM2 (China Regions
|
|
3170
|
+
# only) key pair. The public key can be from another asymmetric KMS key
|
|
3171
|
+
# pair or from a key pair generated outside of KMS, but both key pairs
|
|
3172
|
+
# must be on the same elliptic curve.
|
|
3047
3173
|
#
|
|
3048
3174
|
# The KMS key that you use for this operation must be in a compatible
|
|
3049
3175
|
# key state. For details, see [Key states of KMS keys][3] in the *Key
|
|
@@ -3072,12 +3198,12 @@ module Aws::KMS
|
|
|
3072
3198
|
# [2]: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Cr2.pdf
|
|
3073
3199
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
3074
3200
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
3075
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
3201
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
3076
3202
|
#
|
|
3077
3203
|
# @option params [required, String] :key_id
|
|
3078
|
-
# Identifies an asymmetric NIST-
|
|
3079
|
-
#
|
|
3080
|
-
#
|
|
3204
|
+
# Identifies an asymmetric NIST-standard ECC or SM2 (China Regions only)
|
|
3205
|
+
# KMS key. KMS uses the private key in the specified key pair to derive
|
|
3206
|
+
# the shared secret. The key usage of the KMS key must be
|
|
3081
3207
|
# `KEY_AGREEMENT`. To find the `KeyUsage` of a KMS key, use the
|
|
3082
3208
|
# DescribeKey operation.
|
|
3083
3209
|
#
|
|
@@ -3105,8 +3231,8 @@ module Aws::KMS
|
|
|
3105
3231
|
# secret. The only valid value is `ECDH`.
|
|
3106
3232
|
#
|
|
3107
3233
|
# @option params [required, String, StringIO, File] :public_key
|
|
3108
|
-
# Specifies the public key in your peer's NIST-
|
|
3109
|
-
#
|
|
3234
|
+
# Specifies the public key in your peer's NIST-standard elliptic curve
|
|
3235
|
+
# (ECC) or SM2 (China Regions only) key pair.
|
|
3110
3236
|
#
|
|
3111
3237
|
# The public key must be a DER-encoded X.509 public key, also known as
|
|
3112
3238
|
# `SubjectPublicKeyInfo` (SPKI), as defined in [RFC 5280][1].
|
|
@@ -3140,50 +3266,55 @@ module Aws::KMS
|
|
|
3140
3266
|
#
|
|
3141
3267
|
#
|
|
3142
3268
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
3143
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
3269
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
3144
3270
|
#
|
|
3145
3271
|
# @option params [Boolean] :dry_run
|
|
3146
3272
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
3147
3273
|
# parameter.
|
|
3148
3274
|
#
|
|
3149
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
3150
|
-
#
|
|
3275
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
3276
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
3151
3277
|
#
|
|
3152
3278
|
#
|
|
3153
3279
|
#
|
|
3154
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
3280
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
3155
3281
|
#
|
|
3156
3282
|
# @option params [Types::RecipientInfo] :recipient
|
|
3157
3283
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
|
3158
|
-
# enclave and the encryption algorithm to use with the
|
|
3159
|
-
# key. The only valid encryption
|
|
3284
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
|
3285
|
+
# public key in the attestation document. The only valid encryption
|
|
3286
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
|
3160
3287
|
#
|
|
3161
3288
|
# This parameter only supports attestation documents for Amazon Web
|
|
3162
|
-
# Services Nitro Enclaves
|
|
3163
|
-
#
|
|
3164
|
-
# SDK][2]
|
|
3165
|
-
#
|
|
3166
|
-
#
|
|
3289
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
|
|
3290
|
+
# DeriveSharedSecret generate an attestation document use either [Amazon
|
|
3291
|
+
# Web Services Nitro Enclaves SDK][2] for an Amazon Web Services Nitro
|
|
3292
|
+
# Enclaves or [Amazon Web Services NitroTPM tools][3] for Amazon Web
|
|
3293
|
+
# Services NitroTPM. Then use the Recipient parameter from any Amazon
|
|
3294
|
+
# Web Services SDK to provide the attestation document for the attested
|
|
3295
|
+
# environment.
|
|
3167
3296
|
#
|
|
3168
3297
|
# When you use this parameter, instead of returning a plaintext copy of
|
|
3169
3298
|
# the shared secret, KMS encrypts the plaintext shared secret under the
|
|
3170
3299
|
# public key in the attestation document, and returns the resulting
|
|
3171
3300
|
# ciphertext in the `CiphertextForRecipient` field in the response. This
|
|
3172
|
-
# ciphertext can be decrypted only with the private key in the
|
|
3173
|
-
# The `CiphertextBlob` field in the response contains the
|
|
3174
|
-
# shared secret derived from the KMS key specified by the
|
|
3175
|
-
# parameter and public key specified by the `PublicKey`
|
|
3176
|
-
# `SharedSecret` field in the response is null or empty.
|
|
3301
|
+
# ciphertext can be decrypted only with the private key in the attested
|
|
3302
|
+
# environment. The `CiphertextBlob` field in the response contains the
|
|
3303
|
+
# encrypted shared secret derived from the KMS key specified by the
|
|
3304
|
+
# `KeyId` parameter and public key specified by the `PublicKey`
|
|
3305
|
+
# parameter. The `SharedSecret` field in the response is null or empty.
|
|
3177
3306
|
#
|
|
3178
3307
|
# For information about the interaction between KMS and Amazon Web
|
|
3179
|
-
# Services Nitro Enclaves
|
|
3180
|
-
#
|
|
3308
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
|
3309
|
+
# [Cryptographic attestation support in KMS][4] in the *Key Management
|
|
3310
|
+
# Service Developer Guide*.
|
|
3181
3311
|
#
|
|
3182
3312
|
#
|
|
3183
3313
|
#
|
|
3184
3314
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
|
3185
3315
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
3186
|
-
# [3]: https://docs.aws.amazon.com/
|
|
3316
|
+
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html
|
|
3317
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
3187
3318
|
#
|
|
3188
3319
|
# @return [Types::DeriveSharedSecretResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
3189
3320
|
#
|
|
@@ -3212,6 +3343,31 @@ module Aws::KMS
|
|
|
3212
3343
|
# shared_secret: "MEYCIQCKZLWyTk5runarx6XiAkU9gv3lbwPO/pHa+DXFehzdDwIhANwpsIV2g/9SPWLLsF6p/hiSskuIXMTRwqrMdVKWTMHG", # The raw secret derived from the specified key agreement algorithm, private key in the asymmetric KMS key, and your peer's public key.
|
|
3213
3344
|
# }
|
|
3214
3345
|
#
|
|
3346
|
+
# @example Example: To derive a shared secret for a Nitro enclave or NitroTPM
|
|
3347
|
+
#
|
|
3348
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
|
|
3349
|
+
# # NitroTPM. Instead of returning a plaintext shared secret, DeriveSharedSecret returns the shared secret encrypted by the
|
|
3350
|
+
# # public key from the attestation document.
|
|
3351
|
+
#
|
|
3352
|
+
# resp = client.derive_shared_secret({
|
|
3353
|
+
# key_agreement_algorithm: "ECDH", # The key agreement algorithm used to derive the shared secret. The only valid value is ECDH.
|
|
3354
|
+
# key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The key identifier for an asymmetric KMS key pair. The private key in the specified key pair is used to derive the shared secret.
|
|
3355
|
+
# public_key: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvH3Yj0wbkLEpUl95Cv1cJVjsVNSjwGq3tCLnzXfhVwVvmzGN8pYj3U8nKwgouaHbBWNJYjP5VutbbkKS4Kv4GojwZBJyHN17kmxo8yTjRmjR15SKIQ8cqRA2uaERMLnpztIXdZp232PQPbWGxDyXYJ0aJ5EFSag", # The public key in your peer's asymmetric key pair.
|
|
3356
|
+
# recipient: {
|
|
3357
|
+
# attestation_document: "<attestation document>",
|
|
3358
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
|
3359
|
+
# }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document
|
|
3360
|
+
# })
|
|
3361
|
+
#
|
|
3362
|
+
# resp.to_h outputs the following:
|
|
3363
|
+
# {
|
|
3364
|
+
# ciphertext_for_recipient: "<binary data>", # The shared secret encrypted by the public key from the attestation document
|
|
3365
|
+
# key_agreement_algorithm: "ECDH", # The key agreement algorithm used to derive the shared secret.
|
|
3366
|
+
# key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The asymmetric KMS key pair used to derive the shared secret.
|
|
3367
|
+
# key_origin: "AWS_KMS", # The source of the key material for the specified KMS key.
|
|
3368
|
+
# shared_secret: "", # This field is null or empty
|
|
3369
|
+
# }
|
|
3370
|
+
#
|
|
3215
3371
|
# @example Request syntax with placeholder values
|
|
3216
3372
|
#
|
|
3217
3373
|
# resp = client.derive_shared_secret({
|
|
@@ -3246,9 +3402,9 @@ module Aws::KMS
|
|
|
3246
3402
|
# Gets information about [custom key stores][1] in the account and
|
|
3247
3403
|
# Region.
|
|
3248
3404
|
#
|
|
3249
|
-
# This operation is part of the
|
|
3250
|
-
#
|
|
3251
|
-
#
|
|
3405
|
+
# This operation is part of the custom key stores feature in KMS, which
|
|
3406
|
+
# combines the convenience and extensive integration of KMS with the
|
|
3407
|
+
# isolation and control of a key store that you own and manage.
|
|
3252
3408
|
#
|
|
3253
3409
|
# By default, this operation returns information about all custom key
|
|
3254
3410
|
# stores in the account and Region. To get only information about a
|
|
@@ -3301,11 +3457,11 @@ module Aws::KMS
|
|
|
3301
3457
|
#
|
|
3302
3458
|
#
|
|
3303
3459
|
#
|
|
3304
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
3460
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
3305
3461
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
|
|
3306
3462
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
|
|
3307
3463
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
3308
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
3464
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
3309
3465
|
#
|
|
3310
3466
|
# @option params [String] :custom_key_store_id
|
|
3311
3467
|
# Gets only information about the specified custom key store. Enter the
|
|
@@ -3466,6 +3622,7 @@ module Aws::KMS
|
|
|
3466
3622
|
# resp.custom_key_stores[0].xks_proxy_configuration.uri_endpoint #=> String
|
|
3467
3623
|
# resp.custom_key_stores[0].xks_proxy_configuration.uri_path #=> String
|
|
3468
3624
|
# resp.custom_key_stores[0].xks_proxy_configuration.vpc_endpoint_service_name #=> String
|
|
3625
|
+
# resp.custom_key_stores[0].xks_proxy_configuration.vpc_endpoint_service_owner #=> String
|
|
3469
3626
|
# resp.next_marker #=> String
|
|
3470
3627
|
# resp.truncated #=> Boolean
|
|
3471
3628
|
#
|
|
@@ -3503,8 +3660,8 @@ module Aws::KMS
|
|
|
3503
3660
|
# * Whether automatic key rotation is enabled on the KMS key. To get
|
|
3504
3661
|
# this information, use GetKeyRotationStatus. Also, some key states
|
|
3505
3662
|
# prevent a KMS key from being automatically rotated. For details, see
|
|
3506
|
-
# [How
|
|
3507
|
-
#
|
|
3663
|
+
# [How key rotation works][6] in the *Key Management Service Developer
|
|
3664
|
+
# Guide*.
|
|
3508
3665
|
#
|
|
3509
3666
|
# * Tags on the KMS key. To get this information, use ListResourceTags.
|
|
3510
3667
|
#
|
|
@@ -3543,14 +3700,14 @@ module Aws::KMS
|
|
|
3543
3700
|
#
|
|
3544
3701
|
#
|
|
3545
3702
|
#
|
|
3546
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-
|
|
3547
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-
|
|
3703
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key
|
|
3704
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
|
|
3548
3705
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
|
|
3549
3706
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
|
|
3550
3707
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
|
|
3551
3708
|
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-how-it-works
|
|
3552
3709
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
3553
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
3710
|
+
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
3554
3711
|
#
|
|
3555
3712
|
# @option params [required, String] :key_id
|
|
3556
3713
|
# Describes the specified KMS key.
|
|
@@ -3581,7 +3738,7 @@ module Aws::KMS
|
|
|
3581
3738
|
#
|
|
3582
3739
|
#
|
|
3583
3740
|
#
|
|
3584
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html
|
|
3741
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
|
|
3585
3742
|
#
|
|
3586
3743
|
# @option params [Array<String>] :grant_tokens
|
|
3587
3744
|
# A list of grant tokens.
|
|
@@ -3594,7 +3751,7 @@ module Aws::KMS
|
|
|
3594
3751
|
#
|
|
3595
3752
|
#
|
|
3596
3753
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
3597
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
3754
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
3598
3755
|
#
|
|
3599
3756
|
# @return [Types::DescribeKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
3600
3757
|
#
|
|
@@ -3615,6 +3772,7 @@ module Aws::KMS
|
|
|
3615
3772
|
# aws_account_id: "111122223333",
|
|
3616
3773
|
# arn: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
|
|
3617
3774
|
# creation_date: Time.parse("2017-07-05T14:04:55-07:00"),
|
|
3775
|
+
# current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
|
|
3618
3776
|
# customer_master_key_spec: "SYMMETRIC_DEFAULT",
|
|
3619
3777
|
# description: "",
|
|
3620
3778
|
# enabled: true,
|
|
@@ -3681,6 +3839,7 @@ module Aws::KMS
|
|
|
3681
3839
|
# aws_account_id: "111122223333",
|
|
3682
3840
|
# arn: "arn:aws:kms:ap-northeast-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab",
|
|
3683
3841
|
# creation_date: Time.parse(1586329200.918),
|
|
3842
|
+
# current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
|
|
3684
3843
|
# customer_master_key_spec: "SYMMETRIC_DEFAULT",
|
|
3685
3844
|
# description: "",
|
|
3686
3845
|
# enabled: true,
|
|
@@ -3837,11 +3996,11 @@ module Aws::KMS
|
|
|
3837
3996
|
# resp.key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
|
|
3838
3997
|
# resp.key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
|
|
3839
3998
|
# resp.key_metadata.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
|
|
3840
|
-
# resp.key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
|
|
3999
|
+
# 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", "ECC_NIST_EDWARDS25519"
|
|
3841
4000
|
# resp.key_metadata.encryption_algorithms #=> Array
|
|
3842
4001
|
# resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
3843
4002
|
# resp.key_metadata.signing_algorithms #=> Array
|
|
3844
|
-
# resp.key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
|
|
4003
|
+
# 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", "ED25519_SHA_512", "ED25519_PH_SHA_512"
|
|
3845
4004
|
# resp.key_metadata.key_agreement_algorithms #=> Array
|
|
3846
4005
|
# resp.key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
|
|
3847
4006
|
# resp.key_metadata.multi_region #=> Boolean
|
|
@@ -3855,6 +4014,7 @@ module Aws::KMS
|
|
|
3855
4014
|
# resp.key_metadata.mac_algorithms #=> Array
|
|
3856
4015
|
# resp.key_metadata.mac_algorithms[0] #=> String, one of "HMAC_SHA_224", "HMAC_SHA_256", "HMAC_SHA_384", "HMAC_SHA_512"
|
|
3857
4016
|
# resp.key_metadata.xks_key_configuration.id #=> String
|
|
4017
|
+
# resp.key_metadata.current_key_material_id #=> String
|
|
3858
4018
|
#
|
|
3859
4019
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DescribeKey AWS API Documentation
|
|
3860
4020
|
#
|
|
@@ -3868,13 +4028,10 @@ module Aws::KMS
|
|
|
3868
4028
|
# Sets the state of a KMS key to disabled. This change temporarily
|
|
3869
4029
|
# prevents use of the KMS key for [cryptographic operations][1].
|
|
3870
4030
|
#
|
|
3871
|
-
# For more information about how key state affects the use of a KMS key,
|
|
3872
|
-
# see [Key states of KMS keys][2] in the <i> <i>Key Management Service
|
|
3873
|
-
# Developer Guide</i> </i>.
|
|
3874
|
-
#
|
|
3875
4031
|
# The KMS key that you use for this operation must be in a compatible
|
|
3876
|
-
# key state. For
|
|
3877
|
-
#
|
|
4032
|
+
# key state. For more information about how key state affects the use of
|
|
4033
|
+
# a KMS key, see [Key states of KMS keys][2] in the <i> <i>Key
|
|
4034
|
+
# Management Service Developer Guide</i> </i>.
|
|
3878
4035
|
#
|
|
3879
4036
|
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
|
3880
4037
|
# key in a different Amazon Web Services account.
|
|
@@ -3888,10 +4045,10 @@ module Aws::KMS
|
|
|
3888
4045
|
#
|
|
3889
4046
|
#
|
|
3890
4047
|
#
|
|
3891
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4048
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
|
|
3892
4049
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
3893
4050
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
3894
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
4051
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
3895
4052
|
#
|
|
3896
4053
|
# @option params [required, String] :key_id
|
|
3897
4054
|
# Identifies the KMS key to disable.
|
|
@@ -3980,18 +4137,18 @@ module Aws::KMS
|
|
|
3980
4137
|
#
|
|
3981
4138
|
#
|
|
3982
4139
|
#
|
|
3983
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4140
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
|
|
3984
4141
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
|
|
3985
4142
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
|
3986
4143
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
3987
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
3988
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
3989
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-
|
|
3990
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-
|
|
3991
|
-
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-
|
|
4144
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
4145
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
|
|
4146
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key
|
|
4147
|
+
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
|
|
4148
|
+
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-key
|
|
3992
4149
|
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
3993
4150
|
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
3994
|
-
# [12]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
4151
|
+
# [12]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
3995
4152
|
#
|
|
3996
4153
|
# @option params [required, String] :key_id
|
|
3997
4154
|
# Identifies a symmetric encryption KMS key. You cannot enable or
|
|
@@ -4016,7 +4173,7 @@ module Aws::KMS
|
|
|
4016
4173
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks
|
|
4017
4174
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
|
4018
4175
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
4019
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4176
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
4020
4177
|
#
|
|
4021
4178
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
|
4022
4179
|
#
|
|
@@ -4050,9 +4207,9 @@ module Aws::KMS
|
|
|
4050
4207
|
# external key store proxy that communicates with your external key
|
|
4051
4208
|
# manager.
|
|
4052
4209
|
#
|
|
4053
|
-
# This operation is part of the
|
|
4054
|
-
#
|
|
4055
|
-
#
|
|
4210
|
+
# This operation is part of the custom key stores feature in KMS, which
|
|
4211
|
+
# combines the convenience and extensive integration of KMS with the
|
|
4212
|
+
# isolation and control of a key store that you own and manage.
|
|
4056
4213
|
#
|
|
4057
4214
|
# While a custom key store is disconnected, you can manage the custom
|
|
4058
4215
|
# key store and its KMS keys, but you cannot create or use its KMS keys.
|
|
@@ -4096,10 +4253,10 @@ module Aws::KMS
|
|
|
4096
4253
|
#
|
|
4097
4254
|
#
|
|
4098
4255
|
#
|
|
4099
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4100
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4256
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
4257
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
|
|
4101
4258
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
4102
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
4259
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
4103
4260
|
#
|
|
4104
4261
|
# @option params [required, String] :custom_key_store_id
|
|
4105
4262
|
# Enter the ID of the custom key store you want to disconnect. To find
|
|
@@ -4158,10 +4315,10 @@ module Aws::KMS
|
|
|
4158
4315
|
#
|
|
4159
4316
|
#
|
|
4160
4317
|
#
|
|
4161
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4318
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
|
|
4162
4319
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
4163
4320
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
4164
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
4321
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
4165
4322
|
#
|
|
4166
4323
|
# @option params [required, String] :key_id
|
|
4167
4324
|
# Identifies the KMS key to enable.
|
|
@@ -4222,17 +4379,17 @@ module Aws::KMS
|
|
|
4222
4379
|
# any in progress rotations. You can use the ListKeyRotations operation
|
|
4223
4380
|
# to view the details of completed rotations.
|
|
4224
4381
|
#
|
|
4225
|
-
# Automatic key rotation is supported only on
|
|
4226
|
-
# keys
|
|
4227
|
-
# keys][
|
|
4228
|
-
# material][
|
|
4229
|
-
# disable automatic rotation of a set of related [multi-Region keys][
|
|
4382
|
+
# Automatic key rotation is supported only on symmetric encryption KMS
|
|
4383
|
+
# keys. You cannot enable automatic rotation of [asymmetric KMS
|
|
4384
|
+
# keys][3], [HMAC KMS keys][4], KMS keys with [imported key
|
|
4385
|
+
# material][5], or KMS keys in a [custom key store][6]. To enable or
|
|
4386
|
+
# disable automatic rotation of a set of related [multi-Region keys][7],
|
|
4230
4387
|
# set the property on the primary key.
|
|
4231
4388
|
#
|
|
4232
4389
|
# You cannot enable or disable automatic rotation of [Amazon Web
|
|
4233
|
-
# Services managed KMS keys][
|
|
4390
|
+
# Services managed KMS keys][8]. KMS always rotates the key material of
|
|
4234
4391
|
# Amazon Web Services managed keys every year. Rotation of [Amazon Web
|
|
4235
|
-
# Services owned KMS keys][
|
|
4392
|
+
# Services owned KMS keys][9] is managed by the Amazon Web Services
|
|
4236
4393
|
# service that owns the key.
|
|
4237
4394
|
#
|
|
4238
4395
|
# <note markdown="1"> In May 2022, KMS changed the rotation schedule for Amazon Web Services
|
|
@@ -4248,13 +4405,13 @@ module Aws::KMS
|
|
|
4248
4405
|
# </note>
|
|
4249
4406
|
#
|
|
4250
4407
|
# The KMS key that you use for this operation must be in a compatible
|
|
4251
|
-
# key state. For details, see [Key states of KMS keys][
|
|
4408
|
+
# key state. For details, see [Key states of KMS keys][10] in the *Key
|
|
4252
4409
|
# Management Service Developer Guide*.
|
|
4253
4410
|
#
|
|
4254
4411
|
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
|
4255
4412
|
# key in a different Amazon Web Services account.
|
|
4256
4413
|
#
|
|
4257
|
-
# **Required permissions**: [kms:EnableKeyRotation][
|
|
4414
|
+
# **Required permissions**: [kms:EnableKeyRotation][11] (key policy)
|
|
4258
4415
|
#
|
|
4259
4416
|
# **Related operations:**
|
|
4260
4417
|
#
|
|
@@ -4273,23 +4430,22 @@ module Aws::KMS
|
|
|
4273
4430
|
# </note>
|
|
4274
4431
|
#
|
|
4275
4432
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
4276
|
-
# model. For more information, see [KMS eventual consistency][
|
|
4433
|
+
# model. For more information, see [KMS eventual consistency][12].
|
|
4277
4434
|
#
|
|
4278
4435
|
#
|
|
4279
4436
|
#
|
|
4280
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4281
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-
|
|
4282
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4283
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4284
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4285
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4286
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4287
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4288
|
-
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-
|
|
4289
|
-
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4290
|
-
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4291
|
-
# [12]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-
|
|
4292
|
-
# [13]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
|
|
4437
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
|
|
4438
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key
|
|
4439
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
|
|
4440
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
|
4441
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
4442
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
4443
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
|
|
4444
|
+
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
|
|
4445
|
+
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-key
|
|
4446
|
+
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
4447
|
+
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
4448
|
+
# [12]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
4293
4449
|
#
|
|
4294
4450
|
# @option params [required, String] :key_id
|
|
4295
4451
|
# Identifies a symmetric encryption KMS key. You cannot enable automatic
|
|
@@ -4315,8 +4471,8 @@ module Aws::KMS
|
|
|
4315
4471
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
|
|
4316
4472
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
|
4317
4473
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
4318
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4319
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4474
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
4475
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
|
|
4320
4476
|
#
|
|
4321
4477
|
# @option params [Integer] :rotation_period_in_days
|
|
4322
4478
|
# Use this parameter to specify a custom period of time between each
|
|
@@ -4448,10 +4604,10 @@ module Aws::KMS
|
|
|
4448
4604
|
#
|
|
4449
4605
|
#
|
|
4450
4606
|
#
|
|
4451
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4607
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
4452
4608
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
4453
4609
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
4454
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
4610
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
4455
4611
|
#
|
|
4456
4612
|
# @option params [required, String] :key_id
|
|
4457
4613
|
# Identifies the KMS key to use in the encryption operation. The KMS key
|
|
@@ -4504,8 +4660,8 @@ module Aws::KMS
|
|
|
4504
4660
|
#
|
|
4505
4661
|
#
|
|
4506
4662
|
#
|
|
4507
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4508
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4663
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
|
|
4664
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
4509
4665
|
#
|
|
4510
4666
|
# @option params [Array<String>] :grant_tokens
|
|
4511
4667
|
# A list of grant tokens.
|
|
@@ -4518,7 +4674,7 @@ module Aws::KMS
|
|
|
4518
4674
|
#
|
|
4519
4675
|
#
|
|
4520
4676
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
4521
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4677
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
4522
4678
|
#
|
|
4523
4679
|
# @option params [String] :encryption_algorithm
|
|
4524
4680
|
# Specifies the encryption algorithm that KMS will use to encrypt the
|
|
@@ -4536,12 +4692,12 @@ module Aws::KMS
|
|
|
4536
4692
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
4537
4693
|
# parameter.
|
|
4538
4694
|
#
|
|
4539
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
4540
|
-
#
|
|
4695
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
4696
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
4541
4697
|
#
|
|
4542
4698
|
#
|
|
4543
4699
|
#
|
|
4544
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4700
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
4545
4701
|
#
|
|
4546
4702
|
# @return [Types::EncryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
4547
4703
|
#
|
|
@@ -4651,16 +4807,17 @@ module Aws::KMS
|
|
|
4651
4807
|
# `GenerateDataKey` also supports [Amazon Web Services Nitro
|
|
4652
4808
|
# Enclaves][2], which provide an isolated compute environment in Amazon
|
|
4653
4809
|
# EC2. To call `GenerateDataKey` for an Amazon Web Services Nitro
|
|
4654
|
-
# enclave, use the [Amazon Web Services Nitro Enclaves
|
|
4655
|
-
# Amazon Web Services SDK. Use the `Recipient` parameter
|
|
4656
|
-
# attestation document for the
|
|
4657
|
-
# of the data key encrypted under the
|
|
4658
|
-
# instead of a plaintext copy of the
|
|
4659
|
-
#
|
|
4660
|
-
#
|
|
4661
|
-
#
|
|
4662
|
-
#
|
|
4663
|
-
#
|
|
4810
|
+
# enclave or NitroTPM, use the [Amazon Web Services Nitro Enclaves
|
|
4811
|
+
# SDK][3] or any Amazon Web Services SDK. Use the `Recipient` parameter
|
|
4812
|
+
# to provide the attestation document for the attested environment.
|
|
4813
|
+
# `GenerateDataKey` returns a copy of the data key encrypted under the
|
|
4814
|
+
# specified KMS key, as usual. But instead of a plaintext copy of the
|
|
4815
|
+
# data key, the response includes a copy of the data key encrypted under
|
|
4816
|
+
# the public key from the attestation document
|
|
4817
|
+
# (`CiphertextForRecipient`). For information about the interaction
|
|
4818
|
+
# between KMS and Amazon Web Services Nitro Enclaves or Amazon Web
|
|
4819
|
+
# Services NitroTPM, see [Cryptographic attestation support in KMS][4]
|
|
4820
|
+
# in the *Key Management Service Developer Guide*.
|
|
4664
4821
|
#
|
|
4665
4822
|
# The KMS key that you use for this operation must be in a compatible
|
|
4666
4823
|
# key state. For details, see [Key states of KMS keys][5] in the *Key
|
|
@@ -4716,16 +4873,16 @@ module Aws::KMS
|
|
|
4716
4873
|
#
|
|
4717
4874
|
#
|
|
4718
4875
|
#
|
|
4719
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4876
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
4720
4877
|
# [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
|
4721
4878
|
# [3]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
4722
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4879
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
4723
4880
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
4724
4881
|
# [6]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
|
|
4725
4882
|
# [7]: https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/
|
|
4726
4883
|
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
|
|
4727
4884
|
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
4728
|
-
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
4885
|
+
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
4729
4886
|
#
|
|
4730
4887
|
# @option params [required, String] :key_id
|
|
4731
4888
|
# Specifies the symmetric encryption KMS key that encrypts the data key.
|
|
@@ -4773,7 +4930,7 @@ module Aws::KMS
|
|
|
4773
4930
|
#
|
|
4774
4931
|
#
|
|
4775
4932
|
#
|
|
4776
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4933
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
4777
4934
|
#
|
|
4778
4935
|
# @option params [Integer] :number_of_bytes
|
|
4779
4936
|
# Specifies the length of the data key in bytes. For example, use the
|
|
@@ -4803,16 +4960,18 @@ module Aws::KMS
|
|
|
4803
4960
|
#
|
|
4804
4961
|
#
|
|
4805
4962
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
4806
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4963
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
4807
4964
|
#
|
|
4808
4965
|
# @option params [Types::RecipientInfo] :recipient
|
|
4809
4966
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
|
4810
|
-
# enclave and the encryption algorithm to use with the
|
|
4811
|
-
# key. The only valid encryption
|
|
4967
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
|
4968
|
+
# public key in the attestation document. The only valid encryption
|
|
4969
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
|
4812
4970
|
#
|
|
4813
|
-
# This parameter
|
|
4814
|
-
#
|
|
4815
|
-
#
|
|
4971
|
+
# This parameter supports the [Amazon Web Services Nitro Enclaves
|
|
4972
|
+
# SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
|
|
4973
|
+
# Enclaves. It supports any Amazon Web Services SDK for Amazon Web
|
|
4974
|
+
# Services NitroTPM.
|
|
4816
4975
|
#
|
|
4817
4976
|
# When you use this parameter, instead of returning the plaintext data
|
|
4818
4977
|
# key, KMS encrypts the plaintext data key under the public key in the
|
|
@@ -4824,25 +4983,26 @@ module Aws::KMS
|
|
|
4824
4983
|
# `Plaintext` field in the response is null or empty.
|
|
4825
4984
|
#
|
|
4826
4985
|
# For information about the interaction between KMS and Amazon Web
|
|
4827
|
-
# Services Nitro Enclaves
|
|
4828
|
-
#
|
|
4986
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
|
4987
|
+
# [Cryptographic attestation support in KMS][3] in the *Key Management
|
|
4988
|
+
# Service Developer Guide*.
|
|
4829
4989
|
#
|
|
4830
4990
|
#
|
|
4831
4991
|
#
|
|
4832
4992
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
|
4833
4993
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
4834
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4994
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
4835
4995
|
#
|
|
4836
4996
|
# @option params [Boolean] :dry_run
|
|
4837
4997
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
4838
4998
|
# parameter.
|
|
4839
4999
|
#
|
|
4840
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
4841
|
-
#
|
|
5000
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
5001
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
4842
5002
|
#
|
|
4843
5003
|
#
|
|
4844
5004
|
#
|
|
4845
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5005
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
4846
5006
|
#
|
|
4847
5007
|
# @return [Types::GenerateDataKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
4848
5008
|
#
|
|
@@ -4850,6 +5010,7 @@ module Aws::KMS
|
|
|
4850
5010
|
# * {Types::GenerateDataKeyResponse#plaintext #plaintext} => String
|
|
4851
5011
|
# * {Types::GenerateDataKeyResponse#key_id #key_id} => String
|
|
4852
5012
|
# * {Types::GenerateDataKeyResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
|
|
5013
|
+
# * {Types::GenerateDataKeyResponse#key_material_id #key_material_id} => String
|
|
4853
5014
|
#
|
|
4854
5015
|
#
|
|
4855
5016
|
# @example Example: To generate a data key
|
|
@@ -4866,13 +5027,14 @@ module Aws::KMS
|
|
|
4866
5027
|
# {
|
|
4867
5028
|
# ciphertext_blob: "<binary data>", # The encrypted data key.
|
|
4868
5029
|
# 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.
|
|
5030
|
+
# key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the data key.
|
|
4869
5031
|
# plaintext: "<binary data>", # The unencrypted (plaintext) data key.
|
|
4870
5032
|
# }
|
|
4871
5033
|
#
|
|
4872
|
-
# @example Example: To generate a data key
|
|
5034
|
+
# @example Example: To generate a data key for a Nitro enclave or NitroTPM
|
|
4873
5035
|
#
|
|
4874
|
-
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave
|
|
4875
|
-
# # Instead of returning a copy of the data key encrypted by the KMS key and a plaintext copy of the data key,
|
|
5036
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
|
|
5037
|
+
# # NitroTPM. Instead of returning a copy of the data key encrypted by the KMS key and a plaintext copy of the data key,
|
|
4876
5038
|
# # GenerateDataKey returns one copy of the data key encrypted by the KMS key (CiphertextBlob) and one copy of the data key
|
|
4877
5039
|
# # encrypted by the public key from the attestation document (CiphertextForRecipient). The operation doesn't return a
|
|
4878
5040
|
# # plaintext data key.
|
|
@@ -4883,7 +5045,7 @@ module Aws::KMS
|
|
|
4883
5045
|
# recipient: {
|
|
4884
5046
|
# attestation_document: "<attestation document>",
|
|
4885
5047
|
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
|
4886
|
-
# }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
|
|
5048
|
+
# }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document
|
|
4887
5049
|
# })
|
|
4888
5050
|
#
|
|
4889
5051
|
# resp.to_h outputs the following:
|
|
@@ -4917,6 +5079,7 @@ module Aws::KMS
|
|
|
4917
5079
|
# resp.plaintext #=> String
|
|
4918
5080
|
# resp.key_id #=> String
|
|
4919
5081
|
# resp.ciphertext_for_recipient #=> String
|
|
5082
|
+
# resp.key_material_id #=> String
|
|
4920
5083
|
#
|
|
4921
5084
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKey AWS API Documentation
|
|
4922
5085
|
#
|
|
@@ -4973,17 +5136,18 @@ module Aws::KMS
|
|
|
4973
5136
|
# `GenerateDataKeyPair` also supports [Amazon Web Services Nitro
|
|
4974
5137
|
# Enclaves][3], which provide an isolated compute environment in Amazon
|
|
4975
5138
|
# EC2. To call `GenerateDataKeyPair` for an Amazon Web Services Nitro
|
|
4976
|
-
# enclave, use the [Amazon Web Services Nitro Enclaves
|
|
4977
|
-
# Amazon Web Services SDK. Use the `Recipient` parameter
|
|
4978
|
-
# attestation document for the
|
|
4979
|
-
# the public data key and a copy of the
|
|
4980
|
-
# the specified KMS key, as usual. But
|
|
4981
|
-
#
|
|
4982
|
-
#
|
|
4983
|
-
#
|
|
4984
|
-
#
|
|
4985
|
-
#
|
|
4986
|
-
#
|
|
5139
|
+
# enclave or NitroTPM, use the [Amazon Web Services Nitro Enclaves
|
|
5140
|
+
# SDK][4] or any Amazon Web Services SDK. Use the `Recipient` parameter
|
|
5141
|
+
# to provide the attestation document for the attested environment.
|
|
5142
|
+
# `GenerateDataKeyPair` returns the public data key and a copy of the
|
|
5143
|
+
# private data key encrypted under the specified KMS key, as usual. But
|
|
5144
|
+
# instead of a plaintext copy of the private data key
|
|
5145
|
+
# (`PrivateKeyPlaintext`), the response includes a copy of the private
|
|
5146
|
+
# data key encrypted under the public key from the attestation document
|
|
5147
|
+
# (`CiphertextForRecipient`). For information about the interaction
|
|
5148
|
+
# between KMS and Amazon Web Services Nitro Enclaves or Amazon Web
|
|
5149
|
+
# Services NitroTPM, see [Cryptographic attestation support in KMS][5]
|
|
5150
|
+
# in the *Key Management Service Developer Guide*.
|
|
4987
5151
|
#
|
|
4988
5152
|
# You can use an optional encryption context to add additional security
|
|
4989
5153
|
# to the encryption operation. If you specify an `EncryptionContext`,
|
|
@@ -5024,11 +5188,11 @@ module Aws::KMS
|
|
|
5024
5188
|
# [2]: https://tools.ietf.org/html/rfc5958
|
|
5025
5189
|
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
|
5026
5190
|
# [4]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
5027
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5028
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5191
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
5192
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
5029
5193
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
5030
5194
|
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
5031
|
-
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
5195
|
+
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
5032
5196
|
#
|
|
5033
5197
|
# @option params [Hash<String,String>] :encryption_context
|
|
5034
5198
|
# Specifies the encryption context that will be used when encrypting the
|
|
@@ -5051,7 +5215,7 @@ module Aws::KMS
|
|
|
5051
5215
|
#
|
|
5052
5216
|
#
|
|
5053
5217
|
#
|
|
5054
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5218
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
5055
5219
|
#
|
|
5056
5220
|
# @option params [required, String] :key_id
|
|
5057
5221
|
# Specifies the symmetric encryption KMS key that encrypts the private
|
|
@@ -5082,10 +5246,11 @@ module Aws::KMS
|
|
|
5082
5246
|
# Determines the type of data key pair that is generated.
|
|
5083
5247
|
#
|
|
5084
5248
|
# The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys
|
|
5085
|
-
# to encrypt and decrypt or to sign and verify (but not both),
|
|
5086
|
-
#
|
|
5087
|
-
#
|
|
5088
|
-
#
|
|
5249
|
+
# to encrypt and decrypt or to sign and verify (but not both), the rule
|
|
5250
|
+
# that permits you to use ECC KMS keys only to sign and verify, and the
|
|
5251
|
+
# rule that permits you to use ML-DSA key pairs to sign and verify only
|
|
5252
|
+
# are not effective on data key pairs, which are used outside of KMS.
|
|
5253
|
+
# The SM2 key spec is only available in China Regions.
|
|
5089
5254
|
#
|
|
5090
5255
|
# @option params [Array<String>] :grant_tokens
|
|
5091
5256
|
# A list of grant tokens.
|
|
@@ -5098,50 +5263,55 @@ module Aws::KMS
|
|
|
5098
5263
|
#
|
|
5099
5264
|
#
|
|
5100
5265
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
5101
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5266
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
5102
5267
|
#
|
|
5103
5268
|
# @option params [Types::RecipientInfo] :recipient
|
|
5104
5269
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
|
5105
|
-
# enclave and the encryption algorithm to use with the
|
|
5106
|
-
# key. The only valid encryption
|
|
5270
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
|
5271
|
+
# public key in the attestation document. The only valid encryption
|
|
5272
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
|
5107
5273
|
#
|
|
5108
5274
|
# This parameter only supports attestation documents for Amazon Web
|
|
5109
|
-
# Services Nitro Enclaves
|
|
5110
|
-
#
|
|
5111
|
-
# SDK][2]
|
|
5112
|
-
#
|
|
5113
|
-
#
|
|
5275
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
|
|
5276
|
+
# GenerateDataKeyPair generate an attestation document use either
|
|
5277
|
+
# [Amazon Web Services Nitro Enclaves SDK][2] for an Amazon Web Services
|
|
5278
|
+
# Nitro Enclaves or [Amazon Web Services NitroTPM tools][3] for Amazon
|
|
5279
|
+
# Web Services NitroTPM. Then use the Recipient parameter from any
|
|
5280
|
+
# Amazon Web Services SDK to provide the attestation document for the
|
|
5281
|
+
# attested environment.
|
|
5114
5282
|
#
|
|
5115
5283
|
# When you use this parameter, instead of returning a plaintext copy of
|
|
5116
5284
|
# the private data key, KMS encrypts the plaintext private data key
|
|
5117
5285
|
# under the public key in the attestation document, and returns the
|
|
5118
5286
|
# resulting ciphertext in the `CiphertextForRecipient` field in the
|
|
5119
5287
|
# response. This ciphertext can be decrypted only with the private key
|
|
5120
|
-
# in the
|
|
5121
|
-
# copy of the private data key encrypted under the
|
|
5122
|
-
# the `KeyId` parameter. The `PrivateKeyPlaintext`
|
|
5123
|
-
# is null or empty.
|
|
5288
|
+
# in the attested environment. The `CiphertextBlob` field in the
|
|
5289
|
+
# response contains a copy of the private data key encrypted under the
|
|
5290
|
+
# KMS key specified by the `KeyId` parameter. The `PrivateKeyPlaintext`
|
|
5291
|
+
# field in the response is null or empty.
|
|
5124
5292
|
#
|
|
5125
5293
|
# For information about the interaction between KMS and Amazon Web
|
|
5126
|
-
# Services Nitro Enclaves
|
|
5127
|
-
#
|
|
5294
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
|
5295
|
+
# [Cryptographic attestation support in KMS][4] in the *Key Management
|
|
5296
|
+
# Service Developer Guide*.
|
|
5128
5297
|
#
|
|
5129
5298
|
#
|
|
5130
5299
|
#
|
|
5131
5300
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
|
5132
5301
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
5133
|
-
# [3]: https://docs.aws.amazon.com/
|
|
5302
|
+
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html
|
|
5303
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
5134
5304
|
#
|
|
5135
5305
|
# @option params [Boolean] :dry_run
|
|
5136
5306
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
5137
5307
|
# parameter.
|
|
5138
5308
|
#
|
|
5139
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
5140
|
-
#
|
|
5309
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
5310
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
5141
5311
|
#
|
|
5142
5312
|
#
|
|
5143
5313
|
#
|
|
5144
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5314
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
5145
5315
|
#
|
|
5146
5316
|
# @return [Types::GenerateDataKeyPairResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
5147
5317
|
#
|
|
@@ -5151,6 +5321,7 @@ module Aws::KMS
|
|
|
5151
5321
|
# * {Types::GenerateDataKeyPairResponse#key_id #key_id} => String
|
|
5152
5322
|
# * {Types::GenerateDataKeyPairResponse#key_pair_spec #key_pair_spec} => String
|
|
5153
5323
|
# * {Types::GenerateDataKeyPairResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
|
|
5324
|
+
# * {Types::GenerateDataKeyPairResponse#key_material_id #key_material_id} => String
|
|
5154
5325
|
#
|
|
5155
5326
|
#
|
|
5156
5327
|
# @example Example: To generate an RSA key pair for encryption and decryption
|
|
@@ -5166,19 +5337,20 @@ module Aws::KMS
|
|
|
5166
5337
|
# resp.to_h outputs the following:
|
|
5167
5338
|
# {
|
|
5168
5339
|
# 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.
|
|
5340
|
+
# key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the private key.
|
|
5169
5341
|
# key_pair_spec: "RSA_3072", # The actual key spec of the RSA data key pair.
|
|
5170
5342
|
# private_key_ciphertext_blob: "<binary data>", # The encrypted private key of the RSA data key pair.
|
|
5171
5343
|
# private_key_plaintext: "<binary data>", # The plaintext private key of the RSA data key pair.
|
|
5172
5344
|
# public_key: "<binary data>", # The public key (plaintext) of the RSA data key pair.
|
|
5173
5345
|
# }
|
|
5174
5346
|
#
|
|
5175
|
-
# @example Example: To generate a data key pair for a Nitro enclave
|
|
5347
|
+
# @example Example: To generate a data key pair for a Nitro enclave or NitroTPM
|
|
5176
5348
|
#
|
|
5177
|
-
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave
|
|
5178
|
-
# # Instead of returning a plaintext copy of the private data key, GenerateDataKeyPair returns a copy of the
|
|
5179
|
-
# # key encrypted by the public key from the attestation document (CiphertextForRecipient). It returns the
|
|
5180
|
-
# # (PublicKey) and a copy of private data key encrypted under the specified KMS key
|
|
5181
|
-
# # but plaintext private data key field (PrivateKeyPlaintext) is null or empty.
|
|
5349
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
|
|
5350
|
+
# # NitroTPM. Instead of returning a plaintext copy of the private data key, GenerateDataKeyPair returns a copy of the
|
|
5351
|
+
# # private data key encrypted by the public key from the attestation document (CiphertextForRecipient). It returns the
|
|
5352
|
+
# # public data key (PublicKey) and a copy of private data key encrypted under the specified KMS key
|
|
5353
|
+
# # (PrivateKeyCiphertextBlob), as usual, but plaintext private data key field (PrivateKeyPlaintext) is null or empty.
|
|
5182
5354
|
#
|
|
5183
5355
|
# resp = client.generate_data_key_pair({
|
|
5184
5356
|
# key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The key ID of the symmetric encryption KMS key that encrypts the private RSA key in the data key pair.
|
|
@@ -5186,13 +5358,14 @@ module Aws::KMS
|
|
|
5186
5358
|
# recipient: {
|
|
5187
5359
|
# attestation_document: "<attestation document>",
|
|
5188
5360
|
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
|
5189
|
-
# }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document.
|
|
5361
|
+
# }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document.
|
|
5190
5362
|
# })
|
|
5191
5363
|
#
|
|
5192
5364
|
# resp.to_h outputs the following:
|
|
5193
5365
|
# {
|
|
5194
5366
|
# ciphertext_for_recipient: "<binary data>", # The private key of the RSA data key pair encrypted by the public key from the attestation document
|
|
5195
5367
|
# 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.
|
|
5368
|
+
# key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the private key.
|
|
5196
5369
|
# key_pair_spec: "RSA_3072", # The actual key spec of the RSA data key pair.
|
|
5197
5370
|
# private_key_ciphertext_blob: "<binary data>", # The private key of the RSA data key pair encrypted by the KMS key.
|
|
5198
5371
|
# private_key_plaintext: "", # This field is null or empty
|
|
@@ -5206,7 +5379,7 @@ module Aws::KMS
|
|
|
5206
5379
|
# "EncryptionContextKey" => "EncryptionContextValue",
|
|
5207
5380
|
# },
|
|
5208
5381
|
# key_id: "KeyIdType", # required
|
|
5209
|
-
# key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SM2
|
|
5382
|
+
# key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SM2, ECC_NIST_EDWARDS25519
|
|
5210
5383
|
# grant_tokens: ["GrantTokenType"],
|
|
5211
5384
|
# recipient: {
|
|
5212
5385
|
# key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
|
|
@@ -5221,8 +5394,9 @@ module Aws::KMS
|
|
|
5221
5394
|
# resp.private_key_plaintext #=> String
|
|
5222
5395
|
# resp.public_key #=> String
|
|
5223
5396
|
# resp.key_id #=> String
|
|
5224
|
-
# 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"
|
|
5397
|
+
# 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", "ECC_NIST_EDWARDS25519"
|
|
5225
5398
|
# resp.ciphertext_for_recipient #=> String
|
|
5399
|
+
# resp.key_material_id #=> String
|
|
5226
5400
|
#
|
|
5227
5401
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPair AWS API Documentation
|
|
5228
5402
|
#
|
|
@@ -5301,10 +5475,10 @@ module Aws::KMS
|
|
|
5301
5475
|
#
|
|
5302
5476
|
#
|
|
5303
5477
|
# [1]: https://tools.ietf.org/html/rfc5280
|
|
5304
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5478
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
5305
5479
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
5306
5480
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
5307
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
5481
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
5308
5482
|
#
|
|
5309
5483
|
# @option params [Hash<String,String>] :encryption_context
|
|
5310
5484
|
# Specifies the encryption context that will be used when encrypting the
|
|
@@ -5327,7 +5501,7 @@ module Aws::KMS
|
|
|
5327
5501
|
#
|
|
5328
5502
|
#
|
|
5329
5503
|
#
|
|
5330
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5504
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
5331
5505
|
#
|
|
5332
5506
|
# @option params [required, String] :key_id
|
|
5333
5507
|
# Specifies the symmetric encryption KMS key that encrypts the private
|
|
@@ -5358,10 +5532,11 @@ module Aws::KMS
|
|
|
5358
5532
|
# Determines the type of data key pair that is generated.
|
|
5359
5533
|
#
|
|
5360
5534
|
# The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys
|
|
5361
|
-
# to encrypt and decrypt or to sign and verify (but not both),
|
|
5362
|
-
#
|
|
5363
|
-
#
|
|
5364
|
-
#
|
|
5535
|
+
# to encrypt and decrypt or to sign and verify (but not both), the rule
|
|
5536
|
+
# that permits you to use ECC KMS keys only to sign and verify, and the
|
|
5537
|
+
# rule that permits you to use ML-DSA key pairs to sign and verify only
|
|
5538
|
+
# are not effective on data key pairs, which are used outside of KMS.
|
|
5539
|
+
# The SM2 key spec is only available in China Regions.
|
|
5365
5540
|
#
|
|
5366
5541
|
# @option params [Array<String>] :grant_tokens
|
|
5367
5542
|
# A list of grant tokens.
|
|
@@ -5374,18 +5549,18 @@ module Aws::KMS
|
|
|
5374
5549
|
#
|
|
5375
5550
|
#
|
|
5376
5551
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
5377
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5552
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
5378
5553
|
#
|
|
5379
5554
|
# @option params [Boolean] :dry_run
|
|
5380
5555
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
5381
5556
|
# parameter.
|
|
5382
5557
|
#
|
|
5383
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
5384
|
-
#
|
|
5558
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
5559
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
5385
5560
|
#
|
|
5386
5561
|
#
|
|
5387
5562
|
#
|
|
5388
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5563
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
5389
5564
|
#
|
|
5390
5565
|
# @return [Types::GenerateDataKeyPairWithoutPlaintextResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
5391
5566
|
#
|
|
@@ -5393,6 +5568,7 @@ module Aws::KMS
|
|
|
5393
5568
|
# * {Types::GenerateDataKeyPairWithoutPlaintextResponse#public_key #public_key} => String
|
|
5394
5569
|
# * {Types::GenerateDataKeyPairWithoutPlaintextResponse#key_id #key_id} => String
|
|
5395
5570
|
# * {Types::GenerateDataKeyPairWithoutPlaintextResponse#key_pair_spec #key_pair_spec} => String
|
|
5571
|
+
# * {Types::GenerateDataKeyPairWithoutPlaintextResponse#key_material_id #key_material_id} => String
|
|
5396
5572
|
#
|
|
5397
5573
|
#
|
|
5398
5574
|
# @example Example: To generate an asymmetric data key pair without a plaintext key
|
|
@@ -5408,6 +5584,7 @@ module Aws::KMS
|
|
|
5408
5584
|
# resp.to_h outputs the following:
|
|
5409
5585
|
# {
|
|
5410
5586
|
# 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.
|
|
5587
|
+
# key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the private key.
|
|
5411
5588
|
# key_pair_spec: "ECC_NIST_P521", # The actual key spec of the ECC asymmetric data key pair.
|
|
5412
5589
|
# private_key_ciphertext_blob: "<binary data>", # The encrypted private key of the asymmetric ECC data key pair.
|
|
5413
5590
|
# public_key: "<binary data>", # The public key (plaintext).
|
|
@@ -5420,7 +5597,7 @@ module Aws::KMS
|
|
|
5420
5597
|
# "EncryptionContextKey" => "EncryptionContextValue",
|
|
5421
5598
|
# },
|
|
5422
5599
|
# key_id: "KeyIdType", # required
|
|
5423
|
-
# key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SM2
|
|
5600
|
+
# key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SM2, ECC_NIST_EDWARDS25519
|
|
5424
5601
|
# grant_tokens: ["GrantTokenType"],
|
|
5425
5602
|
# dry_run: false,
|
|
5426
5603
|
# })
|
|
@@ -5430,7 +5607,8 @@ module Aws::KMS
|
|
|
5430
5607
|
# resp.private_key_ciphertext_blob #=> String
|
|
5431
5608
|
# resp.public_key #=> String
|
|
5432
5609
|
# resp.key_id #=> String
|
|
5433
|
-
# 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"
|
|
5610
|
+
# 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", "ECC_NIST_EDWARDS25519"
|
|
5611
|
+
# resp.key_material_id #=> String
|
|
5434
5612
|
#
|
|
5435
5613
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintext AWS API Documentation
|
|
5436
5614
|
#
|
|
@@ -5520,10 +5698,10 @@ module Aws::KMS
|
|
|
5520
5698
|
#
|
|
5521
5699
|
#
|
|
5522
5700
|
#
|
|
5523
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5701
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
5524
5702
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
5525
5703
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
5526
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
5704
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
5527
5705
|
#
|
|
5528
5706
|
# @option params [required, String] :key_id
|
|
5529
5707
|
# Specifies the symmetric encryption KMS key that encrypts the data key.
|
|
@@ -5571,7 +5749,7 @@ module Aws::KMS
|
|
|
5571
5749
|
#
|
|
5572
5750
|
#
|
|
5573
5751
|
#
|
|
5574
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5752
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
5575
5753
|
#
|
|
5576
5754
|
# @option params [String] :key_spec
|
|
5577
5755
|
# The length of the data key. Use `AES_128` to generate a 128-bit
|
|
@@ -5594,23 +5772,24 @@ module Aws::KMS
|
|
|
5594
5772
|
#
|
|
5595
5773
|
#
|
|
5596
5774
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
5597
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5775
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
5598
5776
|
#
|
|
5599
5777
|
# @option params [Boolean] :dry_run
|
|
5600
5778
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
5601
5779
|
# parameter.
|
|
5602
5780
|
#
|
|
5603
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
5604
|
-
#
|
|
5781
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
5782
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
5605
5783
|
#
|
|
5606
5784
|
#
|
|
5607
5785
|
#
|
|
5608
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5786
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
5609
5787
|
#
|
|
5610
5788
|
# @return [Types::GenerateDataKeyWithoutPlaintextResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
5611
5789
|
#
|
|
5612
5790
|
# * {Types::GenerateDataKeyWithoutPlaintextResponse#ciphertext_blob #ciphertext_blob} => String
|
|
5613
5791
|
# * {Types::GenerateDataKeyWithoutPlaintextResponse#key_id #key_id} => String
|
|
5792
|
+
# * {Types::GenerateDataKeyWithoutPlaintextResponse#key_material_id #key_material_id} => String
|
|
5614
5793
|
#
|
|
5615
5794
|
#
|
|
5616
5795
|
# @example Example: To generate an encrypted data key
|
|
@@ -5627,6 +5806,7 @@ module Aws::KMS
|
|
|
5627
5806
|
# {
|
|
5628
5807
|
# ciphertext_blob: "<binary data>", # The encrypted data key.
|
|
5629
5808
|
# 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.
|
|
5809
|
+
# key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the data key.
|
|
5630
5810
|
# }
|
|
5631
5811
|
#
|
|
5632
5812
|
# @example Request syntax with placeholder values
|
|
@@ -5646,6 +5826,7 @@ module Aws::KMS
|
|
|
5646
5826
|
#
|
|
5647
5827
|
# resp.ciphertext_blob #=> String
|
|
5648
5828
|
# resp.key_id #=> String
|
|
5829
|
+
# resp.key_material_id #=> String
|
|
5649
5830
|
#
|
|
5650
5831
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintext AWS API Documentation
|
|
5651
5832
|
#
|
|
@@ -5700,7 +5881,7 @@ module Aws::KMS
|
|
|
5700
5881
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
|
5701
5882
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
5702
5883
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
5703
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
5884
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
5704
5885
|
#
|
|
5705
5886
|
# @option params [required, String, StringIO, File] :message
|
|
5706
5887
|
# The message to be hashed. Specify a message of up to 4,096 bytes.
|
|
@@ -5739,18 +5920,18 @@ module Aws::KMS
|
|
|
5739
5920
|
#
|
|
5740
5921
|
#
|
|
5741
5922
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
5742
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5923
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
5743
5924
|
#
|
|
5744
5925
|
# @option params [Boolean] :dry_run
|
|
5745
5926
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
5746
5927
|
# parameter.
|
|
5747
5928
|
#
|
|
5748
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
5749
|
-
#
|
|
5929
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
5930
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
5750
5931
|
#
|
|
5751
5932
|
#
|
|
5752
5933
|
#
|
|
5753
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5934
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
5754
5935
|
#
|
|
5755
5936
|
# @return [Types::GenerateMacResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
5756
5937
|
#
|
|
@@ -5813,18 +5994,19 @@ module Aws::KMS
|
|
|
5813
5994
|
#
|
|
5814
5995
|
# `GenerateRandom` also supports [Amazon Web Services Nitro
|
|
5815
5996
|
# Enclaves][1], which provide an isolated compute environment in Amazon
|
|
5816
|
-
# EC2. To call `GenerateRandom` for a Nitro enclave, use the
|
|
5817
|
-
# Services Nitro Enclaves SDK][2] or any Amazon Web Services
|
|
5818
|
-
# the `Recipient` parameter to provide the attestation document
|
|
5819
|
-
#
|
|
5820
|
-
# plaintext bytes encrypted under the public key from the
|
|
5821
|
-
# document (`CiphertextForRecipient`).For information about
|
|
5822
|
-
# interaction between KMS and Amazon Web Services Nitro Enclaves
|
|
5823
|
-
#
|
|
5824
|
-
# Management Service Developer Guide*.
|
|
5997
|
+
# EC2. To call `GenerateRandom` for a Nitro enclave or NitroTPM, use the
|
|
5998
|
+
# [Amazon Web Services Nitro Enclaves SDK][2] or any Amazon Web Services
|
|
5999
|
+
# SDK. Use the `Recipient` parameter to provide the attestation document
|
|
6000
|
+
# for the attested environment. Instead of plaintext bytes, the response
|
|
6001
|
+
# includes the plaintext bytes encrypted under the public key from the
|
|
6002
|
+
# attestation document (`CiphertextForRecipient`). For information about
|
|
6003
|
+
# the interaction between KMS and Amazon Web Services Nitro Enclaves or
|
|
6004
|
+
# Amazon Web Services NitroTPM, see [Cryptographic attestation support
|
|
6005
|
+
# in KMS][3] in the *Key Management Service Developer Guide*.
|
|
5825
6006
|
#
|
|
5826
6007
|
# For more information about entropy and random number generation, see
|
|
5827
|
-
# [
|
|
6008
|
+
# [Entropy and random number generation][4] in the *Key Management
|
|
6009
|
+
# Service Developer Guide*.
|
|
5828
6010
|
#
|
|
5829
6011
|
# **Cross-account use**: Not applicable. `GenerateRandom` does not use
|
|
5830
6012
|
# any account-specific resources, such as KMS keys.
|
|
@@ -5838,10 +6020,10 @@ module Aws::KMS
|
|
|
5838
6020
|
#
|
|
5839
6021
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
|
5840
6022
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
5841
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5842
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/
|
|
6023
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
6024
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#entropy-and-random-numbers
|
|
5843
6025
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
5844
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
6026
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
5845
6027
|
#
|
|
5846
6028
|
# @option params [Integer] :number_of_bytes
|
|
5847
6029
|
# The length of the random byte string. This parameter is required.
|
|
@@ -5857,29 +6039,32 @@ module Aws::KMS
|
|
|
5857
6039
|
#
|
|
5858
6040
|
# @option params [Types::RecipientInfo] :recipient
|
|
5859
6041
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
|
5860
|
-
# enclave and the encryption algorithm to use with the
|
|
5861
|
-
# key. The only valid encryption
|
|
6042
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
|
6043
|
+
# public key in the attestation document. The only valid encryption
|
|
6044
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
|
5862
6045
|
#
|
|
5863
|
-
# This parameter
|
|
5864
|
-
#
|
|
5865
|
-
#
|
|
6046
|
+
# This parameter supports the [Amazon Web Services Nitro Enclaves
|
|
6047
|
+
# SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
|
|
6048
|
+
# Enclaves. It supports any Amazon Web Services SDK for Amazon Web
|
|
6049
|
+
# Services NitroTPM.
|
|
5866
6050
|
#
|
|
5867
6051
|
# When you use this parameter, instead of returning plaintext bytes, KMS
|
|
5868
6052
|
# encrypts the plaintext bytes under the public key in the attestation
|
|
5869
6053
|
# document, and returns the resulting ciphertext in the
|
|
5870
6054
|
# `CiphertextForRecipient` field in the response. This ciphertext can be
|
|
5871
|
-
# decrypted only with the private key in the
|
|
5872
|
-
# field in the response is null or empty.
|
|
6055
|
+
# decrypted only with the private key in the attested environment. The
|
|
6056
|
+
# `Plaintext` field in the response is null or empty.
|
|
5873
6057
|
#
|
|
5874
6058
|
# For information about the interaction between KMS and Amazon Web
|
|
5875
|
-
# Services Nitro Enclaves
|
|
5876
|
-
#
|
|
6059
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
|
6060
|
+
# [Cryptographic attestation support in KMS][3] in the *Key Management
|
|
6061
|
+
# Service Developer Guide*.
|
|
5877
6062
|
#
|
|
5878
6063
|
#
|
|
5879
6064
|
#
|
|
5880
6065
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
|
5881
6066
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
5882
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6067
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
5883
6068
|
#
|
|
5884
6069
|
# @return [Types::GenerateRandomResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
5885
6070
|
#
|
|
@@ -5900,18 +6085,18 @@ module Aws::KMS
|
|
|
5900
6085
|
# plaintext: "<binary data>", # The random data.
|
|
5901
6086
|
# }
|
|
5902
6087
|
#
|
|
5903
|
-
# @example Example: To generate random data
|
|
6088
|
+
# @example Example: To generate random data for a Nitro enclave or NitroTPM
|
|
5904
6089
|
#
|
|
5905
|
-
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave
|
|
5906
|
-
# # Instead of returning a plaintext (unencrypted) byte string, GenerateRandom returns the byte string encrypted
|
|
5907
|
-
# # public key from the
|
|
6090
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
|
|
6091
|
+
# # NitroTPM. Instead of returning a plaintext (unencrypted) byte string, GenerateRandom returns the byte string encrypted
|
|
6092
|
+
# # by the public key from the attestation document.
|
|
5908
6093
|
#
|
|
5909
6094
|
# resp = client.generate_random({
|
|
5910
6095
|
# number_of_bytes: 1024, # The length of the random byte string
|
|
5911
6096
|
# recipient: {
|
|
5912
6097
|
# attestation_document: "<attestation document>",
|
|
5913
6098
|
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
|
5914
|
-
# }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
|
|
6099
|
+
# }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document
|
|
5915
6100
|
# })
|
|
5916
6101
|
#
|
|
5917
6102
|
# resp.to_h outputs the following:
|
|
@@ -5961,7 +6146,7 @@ module Aws::KMS
|
|
|
5961
6146
|
#
|
|
5962
6147
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
5963
6148
|
# [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html
|
|
5964
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
6149
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
5965
6150
|
#
|
|
5966
6151
|
# @option params [required, String] :key_id
|
|
5967
6152
|
# Gets the key policy for the specified KMS key.
|
|
@@ -6029,16 +6214,16 @@ module Aws::KMS
|
|
|
6029
6214
|
# enabled for the specified KMS key, the [rotation period][2], and the
|
|
6030
6215
|
# next scheduled rotation date.
|
|
6031
6216
|
#
|
|
6032
|
-
# Automatic key rotation is supported only on
|
|
6033
|
-
# keys
|
|
6034
|
-
# keys][
|
|
6035
|
-
# material][
|
|
6036
|
-
# disable automatic rotation of a set of related [multi-Region keys][
|
|
6037
|
-
# set the property on the primary key
|
|
6217
|
+
# Automatic key rotation is supported only on symmetric encryption KMS
|
|
6218
|
+
# keys. You cannot enable automatic rotation of [asymmetric KMS
|
|
6219
|
+
# keys][3], [HMAC KMS keys][4], KMS keys with [imported key
|
|
6220
|
+
# material][5], or KMS keys in a [custom key store][6]. To enable or
|
|
6221
|
+
# disable automatic rotation of a set of related [multi-Region keys][7],
|
|
6222
|
+
# set the property on the primary key.
|
|
6038
6223
|
#
|
|
6039
6224
|
# You can enable (EnableKeyRotation) and disable automatic rotation
|
|
6040
6225
|
# (DisableKeyRotation) of the key material in customer managed KMS keys.
|
|
6041
|
-
# Key material rotation of [Amazon Web Services managed KMS keys][
|
|
6226
|
+
# Key material rotation of [Amazon Web Services managed KMS keys][8] is
|
|
6042
6227
|
# not configurable. KMS always rotates the key material in Amazon Web
|
|
6043
6228
|
# Services managed KMS keys every year. The key rotation status for
|
|
6044
6229
|
# Amazon Web Services managed KMS keys is always `true`.
|
|
@@ -6057,7 +6242,7 @@ module Aws::KMS
|
|
|
6057
6242
|
# </note>
|
|
6058
6243
|
#
|
|
6059
6244
|
# The KMS key that you use for this operation must be in a compatible
|
|
6060
|
-
# key state. For details, see [Key states of KMS keys][
|
|
6245
|
+
# key state. For details, see [Key states of KMS keys][9] in the *Key
|
|
6061
6246
|
# Management Service Developer Guide*.
|
|
6062
6247
|
#
|
|
6063
6248
|
# * Disabled: The key rotation status does not change when you disable a
|
|
@@ -6078,7 +6263,7 @@ module Aws::KMS
|
|
|
6078
6263
|
# a different Amazon Web Services account, specify the key ARN in the
|
|
6079
6264
|
# value of the `KeyId` parameter.
|
|
6080
6265
|
#
|
|
6081
|
-
# **Required permissions**: [kms:GetKeyRotationStatus][
|
|
6266
|
+
# **Required permissions**: [kms:GetKeyRotationStatus][10] (key policy)
|
|
6082
6267
|
#
|
|
6083
6268
|
# **Related operations:**
|
|
6084
6269
|
#
|
|
@@ -6091,22 +6276,21 @@ module Aws::KMS
|
|
|
6091
6276
|
# * RotateKeyOnDemand
|
|
6092
6277
|
#
|
|
6093
6278
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
6094
|
-
# model. For more information, see [KMS eventual consistency][
|
|
6279
|
+
# model. For more information, see [KMS eventual consistency][11].
|
|
6095
6280
|
#
|
|
6096
6281
|
#
|
|
6097
6282
|
#
|
|
6098
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6283
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
|
|
6099
6284
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotation-period
|
|
6100
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6101
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6102
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6103
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6104
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6105
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6106
|
-
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6107
|
-
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6108
|
-
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-
|
|
6109
|
-
# [12]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
|
|
6285
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
|
|
6286
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
|
6287
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
6288
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
6289
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
|
|
6290
|
+
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
|
|
6291
|
+
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
6292
|
+
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
6293
|
+
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
6110
6294
|
#
|
|
6111
6295
|
# @option params [required, String] :key_id
|
|
6112
6296
|
# Gets the rotation status for the specified KMS key.
|
|
@@ -6180,9 +6364,7 @@ module Aws::KMS
|
|
|
6180
6364
|
# By default, KMS keys are created with key material that KMS generates.
|
|
6181
6365
|
# This operation supports [Importing key material][1], an advanced
|
|
6182
6366
|
# feature that lets you generate and import the cryptographic key
|
|
6183
|
-
# material for a KMS key.
|
|
6184
|
-
# material into KMS, see [Importing key material][1] in the *Key
|
|
6185
|
-
# Management Service Developer Guide*.
|
|
6367
|
+
# material for a KMS key.
|
|
6186
6368
|
#
|
|
6187
6369
|
# Before calling `GetParametersForImport`, use the CreateKey operation
|
|
6188
6370
|
# with an `Origin` value of `EXTERNAL` to create a KMS key with no key
|
|
@@ -6251,11 +6433,11 @@ module Aws::KMS
|
|
|
6251
6433
|
#
|
|
6252
6434
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
6253
6435
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
|
|
6254
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6255
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material
|
|
6436
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
6437
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#reimport-key-material
|
|
6256
6438
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
6257
6439
|
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
6258
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
6440
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
6259
6441
|
#
|
|
6260
6442
|
# @option params [required, String] :key_id
|
|
6261
6443
|
# The identifier of the KMS key that will be associated with the
|
|
@@ -6279,9 +6461,8 @@ module Aws::KMS
|
|
|
6279
6461
|
# @option params [required, String] :wrapping_algorithm
|
|
6280
6462
|
# The algorithm you will use with the RSA public key (`PublicKey`) in
|
|
6281
6463
|
# the response to protect your key material during import. For more
|
|
6282
|
-
# information, see [Select a wrapping
|
|
6283
|
-
#
|
|
6284
|
-
# in the *Key Management Service Developer Guide*.
|
|
6464
|
+
# information, see [Select a wrapping algorithm][1] in the *Key
|
|
6465
|
+
# Management Service Developer Guide*.
|
|
6285
6466
|
#
|
|
6286
6467
|
# For RSA\_AES wrapping algorithms, you encrypt your key material with
|
|
6287
6468
|
# an AES key that you generate, then encrypt your AES key with the RSA
|
|
@@ -6313,6 +6494,10 @@ module Aws::KMS
|
|
|
6313
6494
|
# * **RSAES\_PKCS1\_V1\_5** (Deprecated) — As of October 10, 2023, KMS
|
|
6314
6495
|
# does not support the RSAES\_PKCS1\_V1\_5 wrapping algorithm.
|
|
6315
6496
|
#
|
|
6497
|
+
#
|
|
6498
|
+
#
|
|
6499
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-get-public-key-and-token.html#select-wrapping-algorithm
|
|
6500
|
+
#
|
|
6316
6501
|
# @option params [required, String] :wrapping_key_spec
|
|
6317
6502
|
# The type of RSA public key to return in the response. You will use
|
|
6318
6503
|
# this wrapping key with the specified wrapping algorithm to protect
|
|
@@ -6460,8 +6645,9 @@ module Aws::KMS
|
|
|
6460
6645
|
# * [KeyUsage][3]: Whether the key is used for encryption, signing, or
|
|
6461
6646
|
# deriving a shared secret.
|
|
6462
6647
|
#
|
|
6463
|
-
# * [EncryptionAlgorithms][4]
|
|
6464
|
-
#
|
|
6648
|
+
# * [EncryptionAlgorithms][4], [KeyAgreementAlgorithms][5], or
|
|
6649
|
+
# [SigningAlgorithms][6]: A list of the encryption algorithms, key
|
|
6650
|
+
# agreement algorithms, or signing algorithms for the key.
|
|
6465
6651
|
#
|
|
6466
6652
|
# Although KMS cannot enforce these restrictions on external operations,
|
|
6467
6653
|
# it is crucial that you use this information to prevent the public key
|
|
@@ -6474,22 +6660,22 @@ module Aws::KMS
|
|
|
6474
6660
|
# To verify a signature outside of KMS with an SM2 public key (China
|
|
6475
6661
|
# Regions only), you must specify the distinguishing ID. By default, KMS
|
|
6476
6662
|
# uses `1234567812345678` as the distinguishing ID. For more
|
|
6477
|
-
# information, see [Offline verification with SM2 key pairs][
|
|
6663
|
+
# information, see [Offline verification with SM2 key pairs][7].
|
|
6478
6664
|
#
|
|
6479
6665
|
# The KMS key that you use for this operation must be in a compatible
|
|
6480
|
-
# key state. For details, see [Key states of KMS keys][
|
|
6666
|
+
# key state. For details, see [Key states of KMS keys][8] in the *Key
|
|
6481
6667
|
# Management Service Developer Guide*.
|
|
6482
6668
|
#
|
|
6483
6669
|
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
|
6484
6670
|
# in a different Amazon Web Services account, specify the key ARN or
|
|
6485
6671
|
# alias ARN in the value of the `KeyId` parameter.
|
|
6486
6672
|
#
|
|
6487
|
-
# **Required permissions**: [kms:GetPublicKey][
|
|
6673
|
+
# **Required permissions**: [kms:GetPublicKey][9] (key policy)
|
|
6488
6674
|
#
|
|
6489
6675
|
# **Related operations**: CreateKey
|
|
6490
6676
|
#
|
|
6491
6677
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
6492
|
-
# model. For more information, see [KMS eventual consistency][
|
|
6678
|
+
# model. For more information, see [KMS eventual consistency][10].
|
|
6493
6679
|
#
|
|
6494
6680
|
#
|
|
6495
6681
|
#
|
|
@@ -6497,11 +6683,12 @@ module Aws::KMS
|
|
|
6497
6683
|
# [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeySpec
|
|
6498
6684
|
# [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeyUsage
|
|
6499
6685
|
# [4]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-EncryptionAlgorithms
|
|
6500
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-
|
|
6501
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/
|
|
6502
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6503
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6504
|
-
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6686
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeyAgreementAlgorithms
|
|
6687
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-SigningAlgorithms
|
|
6688
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
|
|
6689
|
+
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
6690
|
+
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
6691
|
+
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
6505
6692
|
#
|
|
6506
6693
|
# @option params [required, String] :key_id
|
|
6507
6694
|
# Identifies the asymmetric KMS key that includes the public key.
|
|
@@ -6536,7 +6723,7 @@ module Aws::KMS
|
|
|
6536
6723
|
#
|
|
6537
6724
|
#
|
|
6538
6725
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
6539
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6726
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
6540
6727
|
#
|
|
6541
6728
|
# @return [Types::GetPublicKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
6542
6729
|
#
|
|
@@ -6584,12 +6771,12 @@ module Aws::KMS
|
|
|
6584
6771
|
# resp.key_id #=> String
|
|
6585
6772
|
# resp.public_key #=> String
|
|
6586
6773
|
# resp.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
|
|
6587
|
-
# resp.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
|
|
6774
|
+
# 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", "ECC_NIST_EDWARDS25519"
|
|
6588
6775
|
# resp.key_usage #=> String, one of "SIGN_VERIFY", "ENCRYPT_DECRYPT", "GENERATE_VERIFY_MAC", "KEY_AGREEMENT"
|
|
6589
6776
|
# resp.encryption_algorithms #=> Array
|
|
6590
6777
|
# resp.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
6591
6778
|
# resp.signing_algorithms #=> Array
|
|
6592
|
-
# resp.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
|
|
6779
|
+
# 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", "ED25519_SHA_512", "ED25519_PH_SHA_512"
|
|
6593
6780
|
# resp.key_agreement_algorithms #=> Array
|
|
6594
6781
|
# resp.key_agreement_algorithms[0] #=> String, one of "ECDH"
|
|
6595
6782
|
#
|
|
@@ -6603,53 +6790,65 @@ module Aws::KMS
|
|
|
6603
6790
|
end
|
|
6604
6791
|
|
|
6605
6792
|
# Imports or reimports key material into an existing KMS key that was
|
|
6606
|
-
# created without key material.
|
|
6607
|
-
# expiration model and expiration date of the imported key
|
|
6608
|
-
#
|
|
6609
|
-
# By default, KMS keys are created with key material that KMS generates.
|
|
6610
|
-
# This operation supports [Importing key material][1], an advanced
|
|
6611
|
-
# feature that lets you generate and import the cryptographic key
|
|
6612
|
-
# material for a KMS key. For more information about importing key
|
|
6613
|
-
# material into KMS, see [Importing key material][1] in the *Key
|
|
6614
|
-
# Management Service Developer Guide*.
|
|
6793
|
+
# created without key material. You can also use this operation to set
|
|
6794
|
+
# or update the expiration model and expiration date of the imported key
|
|
6795
|
+
# material.
|
|
6615
6796
|
#
|
|
6616
|
-
#
|
|
6617
|
-
#
|
|
6618
|
-
#
|
|
6619
|
-
#
|
|
6620
|
-
#
|
|
6621
|
-
#
|
|
6797
|
+
# By default, KMS creates KMS keys with key material that it generates.
|
|
6798
|
+
# You can also generate and import your own key material. For more
|
|
6799
|
+
# information about importing key material, see [Importing key
|
|
6800
|
+
# material][1].
|
|
6801
|
+
#
|
|
6802
|
+
# For asymmetric and HMAC keys, you cannot change the key material after
|
|
6803
|
+
# the initial import. You can import multiple key materials into
|
|
6804
|
+
# symmetric encryption keys and rotate the key material on demand using
|
|
6805
|
+
# `RotateKeyOnDemand`.
|
|
6806
|
+
#
|
|
6807
|
+
# You can import new key materials into multi-Region symmetric
|
|
6808
|
+
# encryption keys. To do so, you must import the new key material into
|
|
6809
|
+
# the primary Region key. Then you can import the same key materials
|
|
6810
|
+
# into the replica Region keys. You cannot directly import new key
|
|
6811
|
+
# material into the replica Region keys.
|
|
6812
|
+
#
|
|
6813
|
+
# To import new key material for a multi-Region symmetric key, you’ll
|
|
6814
|
+
# need to complete the following:
|
|
6815
|
+
#
|
|
6816
|
+
# 1. Call `ImportKeyMaterial` on the primary Region key with the
|
|
6817
|
+
# `ImportType`set to `NEW_KEY_MATERIAL`.
|
|
6818
|
+
#
|
|
6819
|
+
# 2. Call `ImportKeyMaterial` on the replica Region key with the
|
|
6820
|
+
# `ImportType` set to `EXISTING_KEY_MATERIAL` using the same key
|
|
6821
|
+
# material imported to the primary Region key. You must do this for
|
|
6822
|
+
# every replica Region key before you can perform the
|
|
6823
|
+
# RotateKeyOnDemand operation on the primary Region key.
|
|
6824
|
+
#
|
|
6825
|
+
# After you import key material, you can [reimport the same key
|
|
6826
|
+
# material][2] into that KMS key or, if the key supports on-demand
|
|
6827
|
+
# rotation, import new key material. You can use the `ImportType`
|
|
6828
|
+
# parameter to indicate whether you are importing new key material or
|
|
6829
|
+
# re-importing previously imported key material. You might reimport key
|
|
6830
|
+
# material to replace key material that expired or key material that you
|
|
6831
|
+
# deleted. You might also reimport key material to change the expiration
|
|
6832
|
+
# model or expiration date of the key material.
|
|
6622
6833
|
#
|
|
6623
6834
|
# Each time you import key material into KMS, you can determine whether
|
|
6624
6835
|
# (`ExpirationModel`) and when (`ValidTo`) the key material expires. To
|
|
6625
6836
|
# change the expiration of your key material, you must import it again,
|
|
6626
6837
|
# either by calling `ImportKeyMaterial` or using the [import
|
|
6627
|
-
# features]
|
|
6628
|
-
# of the KMS console.
|
|
6838
|
+
# features][3] of the KMS console.
|
|
6629
6839
|
#
|
|
6630
|
-
# Before
|
|
6840
|
+
# Before you call `ImportKeyMaterial`, complete these steps:
|
|
6631
6841
|
#
|
|
6632
|
-
# * Create or identify a KMS key with
|
|
6633
|
-
#
|
|
6634
|
-
# key is designed for imported key material.
|
|
6842
|
+
# * Create or identify a KMS key with `EXTERNAL` origin, which indicates
|
|
6843
|
+
# that the KMS key is designed for imported key material.
|
|
6635
6844
|
#
|
|
6636
|
-
# To create
|
|
6845
|
+
# To create a new KMS key for imported key material, call the
|
|
6637
6846
|
# CreateKey operation with an `Origin` value of `EXTERNAL`. You can
|
|
6638
6847
|
# create a symmetric encryption KMS key, HMAC KMS key, asymmetric
|
|
6639
|
-
# encryption KMS key,
|
|
6640
|
-
# import key material into a
|
|
6641
|
-
# key]
|
|
6642
|
-
#
|
|
6643
|
-
# KMS key in a [custom key
|
|
6644
|
-
# store](kms/latest/developerguide/custom-key-store-overview.html).
|
|
6645
|
-
#
|
|
6646
|
-
# * Use the DescribeKey operation to verify that the `KeyState` of the
|
|
6647
|
-
# KMS key is `PendingImport`, which indicates that the KMS key has no
|
|
6648
|
-
# key material.
|
|
6649
|
-
#
|
|
6650
|
-
# If you are reimporting the same key material into an existing KMS
|
|
6651
|
-
# key, you might need to call the DeleteImportedKeyMaterial to delete
|
|
6652
|
-
# its existing key material.
|
|
6848
|
+
# encryption KMS key, asymmetric key agreement key, or asymmetric
|
|
6849
|
+
# signing KMS key. You can also import key material into a
|
|
6850
|
+
# [multi-Region key][4] of any supported type. However, you can't
|
|
6851
|
+
# import key material into a KMS key in a [custom key store][5].
|
|
6653
6852
|
#
|
|
6654
6853
|
# * Call the GetParametersForImport operation to get a public key and
|
|
6655
6854
|
# import token set for importing key material.
|
|
@@ -6663,11 +6862,10 @@ module Aws::KMS
|
|
|
6663
6862
|
#
|
|
6664
6863
|
# * The key ID or key ARN of the KMS key to associate with the imported
|
|
6665
6864
|
# key material. Its `Origin` must be `EXTERNAL` and its `KeyState`
|
|
6666
|
-
# must be `PendingImport`. You cannot perform this
|
|
6667
|
-
# key in a [custom key
|
|
6668
|
-
#
|
|
6669
|
-
#
|
|
6670
|
-
# `Origin` and `KeyState` of a KMS key, call DescribeKey.
|
|
6865
|
+
# must be `PendingImport` or `Enabled`. You cannot perform this
|
|
6866
|
+
# operation on a KMS key in a [custom key store][5], or on a KMS key
|
|
6867
|
+
# in a different Amazon Web Services account. To get the `Origin` and
|
|
6868
|
+
# `KeyState` of a KMS key, call DescribeKey.
|
|
6671
6869
|
#
|
|
6672
6870
|
# * The encrypted key material.
|
|
6673
6871
|
#
|
|
@@ -6677,7 +6875,7 @@ module Aws::KMS
|
|
|
6677
6875
|
#
|
|
6678
6876
|
# * Whether the key material expires (`ExpirationModel`) and, if so,
|
|
6679
6877
|
# when (`ValidTo`). For help with this choice, see [Setting an
|
|
6680
|
-
# expiration time][
|
|
6878
|
+
# expiration time][6] in the *Key Management Service Developer Guide*.
|
|
6681
6879
|
#
|
|
6682
6880
|
# If you set an expiration date, KMS deletes the key material from the
|
|
6683
6881
|
# KMS key on the specified date, making the KMS key unusable. To use
|
|
@@ -6687,25 +6885,28 @@ module Aws::KMS
|
|
|
6687
6885
|
# Each time you reimport, you can eliminate or reset the expiration
|
|
6688
6886
|
# time.
|
|
6689
6887
|
#
|
|
6690
|
-
# When this operation is successful, the
|
|
6691
|
-
#
|
|
6692
|
-
#
|
|
6888
|
+
# When this operation is successful, the state of the KMS key changes to
|
|
6889
|
+
# `Enabled`, and you can use the KMS key in cryptographic operations.
|
|
6890
|
+
# For symmetric encryption keys, you will need to import all of the key
|
|
6891
|
+
# materials associated with the KMS key to change its state to
|
|
6892
|
+
# `Enabled`. Use the `ListKeyRotations` operation to list the ID and
|
|
6893
|
+
# import state of each key material associated with a KMS key.
|
|
6693
6894
|
#
|
|
6694
6895
|
# If this operation fails, use the exception to help determine the
|
|
6695
6896
|
# problem. If the error is related to the key material, the import
|
|
6696
6897
|
# token, or wrapping key, use GetParametersForImport to get a new public
|
|
6697
6898
|
# key and import token for the KMS key and repeat the import procedure.
|
|
6698
|
-
# For help, see [
|
|
6699
|
-
# Service Developer Guide*.
|
|
6899
|
+
# For help, see [Create a KMS key with imported key material][7] in the
|
|
6900
|
+
# *Key Management Service Developer Guide*.
|
|
6700
6901
|
#
|
|
6701
6902
|
# The KMS key that you use for this operation must be in a compatible
|
|
6702
|
-
# key state. For details, see [Key states of KMS keys][
|
|
6903
|
+
# key state. For details, see [Key states of KMS keys][8] in the *Key
|
|
6703
6904
|
# Management Service Developer Guide*.
|
|
6704
6905
|
#
|
|
6705
6906
|
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
|
6706
6907
|
# key in a different Amazon Web Services account.
|
|
6707
6908
|
#
|
|
6708
|
-
# **Required permissions**: [kms:ImportKeyMaterial][
|
|
6909
|
+
# **Required permissions**: [kms:ImportKeyMaterial][9] (key policy)
|
|
6709
6910
|
#
|
|
6710
6911
|
# **Related operations:**
|
|
6711
6912
|
#
|
|
@@ -6713,18 +6914,25 @@ module Aws::KMS
|
|
|
6713
6914
|
#
|
|
6714
6915
|
# * GetParametersForImport
|
|
6715
6916
|
#
|
|
6917
|
+
# * ListKeyRotations
|
|
6918
|
+
#
|
|
6919
|
+
# * RotateKeyOnDemand
|
|
6920
|
+
#
|
|
6716
6921
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
6717
|
-
# model. For more information, see [KMS eventual consistency][
|
|
6922
|
+
# model. For more information, see [KMS eventual consistency][10].
|
|
6718
6923
|
#
|
|
6719
6924
|
#
|
|
6720
6925
|
#
|
|
6721
6926
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
6722
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material
|
|
6723
|
-
# [3]: https://docs.aws.amazon.com/
|
|
6724
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6725
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-
|
|
6726
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6727
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6927
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#reimport-key-material
|
|
6928
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-import-key-material-console
|
|
6929
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
|
|
6930
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
6931
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-expiration
|
|
6932
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-conceptual.html
|
|
6933
|
+
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
6934
|
+
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
6935
|
+
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
6728
6936
|
#
|
|
6729
6937
|
# @option params [required, String] :key_id
|
|
6730
6938
|
# The identifier of the KMS key that will be associated with the
|
|
@@ -6735,11 +6943,9 @@ module Aws::KMS
|
|
|
6735
6943
|
#
|
|
6736
6944
|
# The KMS key can be a symmetric encryption KMS key, HMAC KMS key,
|
|
6737
6945
|
# asymmetric encryption KMS key, or asymmetric signing KMS key,
|
|
6738
|
-
# including a [multi-Region
|
|
6739
|
-
# key
|
|
6740
|
-
#
|
|
6741
|
-
# custom key store, or on a KMS key in a different Amazon Web Services
|
|
6742
|
-
# account.
|
|
6946
|
+
# including a [multi-Region key][1] of any supported type. You cannot
|
|
6947
|
+
# perform this operation on a KMS key in a custom key store, or on a KMS
|
|
6948
|
+
# key in a different Amazon Web Services account.
|
|
6743
6949
|
#
|
|
6744
6950
|
# Specify the key ID or key ARN of the KMS key.
|
|
6745
6951
|
#
|
|
@@ -6753,6 +6959,10 @@ module Aws::KMS
|
|
|
6753
6959
|
# To get the key ID and key ARN for a KMS key, use ListKeys or
|
|
6754
6960
|
# DescribeKey.
|
|
6755
6961
|
#
|
|
6962
|
+
#
|
|
6963
|
+
#
|
|
6964
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
|
|
6965
|
+
#
|
|
6756
6966
|
# @option params [required, String, StringIO, File] :import_token
|
|
6757
6967
|
# The import token that you received in the response to a previous
|
|
6758
6968
|
# GetParametersForImport request. It must be from the same response that
|
|
@@ -6797,9 +7007,54 @@ module Aws::KMS
|
|
|
6797
7007
|
#
|
|
6798
7008
|
#
|
|
6799
7009
|
#
|
|
6800
|
-
# [1]: https://docs.aws.amazon.com/
|
|
7010
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-expiration
|
|
6801
7011
|
#
|
|
6802
|
-
# @
|
|
7012
|
+
# @option params [String] :import_type
|
|
7013
|
+
# Indicates whether the key material being imported is previously
|
|
7014
|
+
# associated with this KMS key or not. This parameter is optional and
|
|
7015
|
+
# only usable with symmetric encryption keys. If no key material has
|
|
7016
|
+
# ever been imported into the KMS key, and this parameter is omitted,
|
|
7017
|
+
# the parameter defaults to `NEW_KEY_MATERIAL`. After the first key
|
|
7018
|
+
# material is imported, if this parameter is omitted then the parameter
|
|
7019
|
+
# defaults to `EXISTING_KEY_MATERIAL`.
|
|
7020
|
+
#
|
|
7021
|
+
# For multi-Region keys, you must first import new key material into the
|
|
7022
|
+
# primary Region key. You should use the `NEW_KEY_MATERIAL` import type
|
|
7023
|
+
# when importing key material into the primary Region key. Then, you can
|
|
7024
|
+
# import the same key material into the replica Region key. The import
|
|
7025
|
+
# type for the replica Region key should be `EXISTING_KEY_MATERIAL`.
|
|
7026
|
+
#
|
|
7027
|
+
# @option params [String] :key_material_description
|
|
7028
|
+
# Description for the key material being imported. This parameter is
|
|
7029
|
+
# optional and only usable with symmetric encryption keys. If you do not
|
|
7030
|
+
# specify a key material description, KMS retains the value you
|
|
7031
|
+
# specified when you last imported the same key material into this KMS
|
|
7032
|
+
# key.
|
|
7033
|
+
#
|
|
7034
|
+
# @option params [String] :key_material_id
|
|
7035
|
+
# Identifies the key material being imported. This parameter is optional
|
|
7036
|
+
# and only usable with symmetric encryption keys. You cannot specify a
|
|
7037
|
+
# key material ID with `ImportType` set to `NEW_KEY_MATERIAL`. Whenever
|
|
7038
|
+
# you import key material into a symmetric encryption key, KMS assigns a
|
|
7039
|
+
# unique identifier to the key material based on the KMS key ID and the
|
|
7040
|
+
# imported key material. When you re-import key material with a
|
|
7041
|
+
# specified key material ID, KMS:
|
|
7042
|
+
#
|
|
7043
|
+
# * Computes the identifier for the key material
|
|
7044
|
+
#
|
|
7045
|
+
# * Matches the computed identifier against the specified key material
|
|
7046
|
+
# ID
|
|
7047
|
+
#
|
|
7048
|
+
# * Verifies that the key material ID is already associated with the KMS
|
|
7049
|
+
# key
|
|
7050
|
+
#
|
|
7051
|
+
# To get the list of key material IDs associated with a KMS key, use
|
|
7052
|
+
# ListKeyRotations.
|
|
7053
|
+
#
|
|
7054
|
+
# @return [Types::ImportKeyMaterialResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
7055
|
+
#
|
|
7056
|
+
# * {Types::ImportKeyMaterialResponse#key_id #key_id} => String
|
|
7057
|
+
# * {Types::ImportKeyMaterialResponse#key_material_id #key_material_id} => String
|
|
6803
7058
|
#
|
|
6804
7059
|
#
|
|
6805
7060
|
# @example Example: To import key material into a KMS key
|
|
@@ -6813,6 +7068,12 @@ module Aws::KMS
|
|
|
6813
7068
|
# key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key to import the key material into. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
|
|
6814
7069
|
# })
|
|
6815
7070
|
#
|
|
7071
|
+
# resp.to_h outputs the following:
|
|
7072
|
+
# {
|
|
7073
|
+
# 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.
|
|
7074
|
+
# key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # Identifies the imported key material.
|
|
7075
|
+
# }
|
|
7076
|
+
#
|
|
6816
7077
|
# @example Example: To import key material into a KMS key
|
|
6817
7078
|
#
|
|
6818
7079
|
# # The following example imports key material that expires in 3 days. It might be part of an application that frequently
|
|
@@ -6826,6 +7087,12 @@ module Aws::KMS
|
|
|
6826
7087
|
# valid_to: Time.parse("2023-09-30T00:00:00-00:00"), # Specifies the date and time when the imported key material expires.
|
|
6827
7088
|
# })
|
|
6828
7089
|
#
|
|
7090
|
+
# resp.to_h outputs the following:
|
|
7091
|
+
# {
|
|
7092
|
+
# 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.
|
|
7093
|
+
# key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # Identifies the imported key material.
|
|
7094
|
+
# }
|
|
7095
|
+
#
|
|
6829
7096
|
# @example Request syntax with placeholder values
|
|
6830
7097
|
#
|
|
6831
7098
|
# resp = client.import_key_material({
|
|
@@ -6834,8 +7101,16 @@ module Aws::KMS
|
|
|
6834
7101
|
# encrypted_key_material: "data", # required
|
|
6835
7102
|
# valid_to: Time.now,
|
|
6836
7103
|
# expiration_model: "KEY_MATERIAL_EXPIRES", # accepts KEY_MATERIAL_EXPIRES, KEY_MATERIAL_DOES_NOT_EXPIRE
|
|
7104
|
+
# import_type: "NEW_KEY_MATERIAL", # accepts NEW_KEY_MATERIAL, EXISTING_KEY_MATERIAL
|
|
7105
|
+
# key_material_description: "KeyMaterialDescriptionType",
|
|
7106
|
+
# key_material_id: "BackingKeyIdType",
|
|
6837
7107
|
# })
|
|
6838
7108
|
#
|
|
7109
|
+
# @example Response structure
|
|
7110
|
+
#
|
|
7111
|
+
# resp.key_id #=> String
|
|
7112
|
+
# resp.key_material_id #=> String
|
|
7113
|
+
#
|
|
6839
7114
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterial AWS API Documentation
|
|
6840
7115
|
#
|
|
6841
7116
|
# @overload import_key_material(params = {})
|
|
@@ -6886,10 +7161,10 @@ module Aws::KMS
|
|
|
6886
7161
|
#
|
|
6887
7162
|
#
|
|
6888
7163
|
#
|
|
6889
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#aliases-
|
|
7164
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/resource-limits.html#aliases-per-key
|
|
6890
7165
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
6891
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6892
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
7166
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/alias-access.html
|
|
7167
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
6893
7168
|
#
|
|
6894
7169
|
# @option params [String] :key_id
|
|
6895
7170
|
# Lists only aliases that are associated with the specified KMS key.
|
|
@@ -7021,8 +7296,9 @@ module Aws::KMS
|
|
|
7021
7296
|
#
|
|
7022
7297
|
# For detailed information about grants, including grant terminology,
|
|
7023
7298
|
# see [Grants in KMS][1] in the <i> <i>Key Management Service Developer
|
|
7024
|
-
# Guide</i> </i>. For examples of
|
|
7025
|
-
#
|
|
7299
|
+
# Guide</i> </i>. For examples of creating grants in several programming
|
|
7300
|
+
# languages, see [Use CreateGrant with an Amazon Web Services SDK or
|
|
7301
|
+
# CLI][2].
|
|
7026
7302
|
#
|
|
7027
7303
|
# <note markdown="1"> The `GranteePrincipal` field in the `ListGrants` response usually
|
|
7028
7304
|
# contains the user or role designated as the grantee principal in the
|
|
@@ -7055,10 +7331,10 @@ module Aws::KMS
|
|
|
7055
7331
|
#
|
|
7056
7332
|
#
|
|
7057
7333
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
|
|
7058
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
7334
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
|
|
7059
7335
|
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services
|
|
7060
7336
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
7061
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
7337
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
7062
7338
|
#
|
|
7063
7339
|
# @option params [Integer] :limit
|
|
7064
7340
|
# Use this parameter to specify the maximum number of items to return.
|
|
@@ -7234,7 +7510,7 @@ module Aws::KMS
|
|
|
7234
7510
|
#
|
|
7235
7511
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
7236
7512
|
# [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html
|
|
7237
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
7513
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
7238
7514
|
#
|
|
7239
7515
|
# @option params [required, String] :key_id
|
|
7240
7516
|
# Gets the names of key policies for the specified KMS key.
|
|
@@ -7316,14 +7592,15 @@ module Aws::KMS
|
|
|
7316
7592
|
req.send_request(options)
|
|
7317
7593
|
end
|
|
7318
7594
|
|
|
7319
|
-
# Returns information about
|
|
7320
|
-
# specified KMS key.
|
|
7595
|
+
# Returns information about the key materials associated with the
|
|
7596
|
+
# specified KMS key. You can use the optional `IncludeKeyMaterial`
|
|
7597
|
+
# parameter to control which key materials are included in the response.
|
|
7321
7598
|
#
|
|
7322
7599
|
# You must specify the KMS key in all requests. You can refine the key
|
|
7323
7600
|
# rotations list by limiting the number of rotations returned.
|
|
7324
7601
|
#
|
|
7325
7602
|
# For detailed information about automatic and on-demand key rotations,
|
|
7326
|
-
# see [
|
|
7603
|
+
# see [Rotate KMS keys][1] in the *Key Management Service Developer
|
|
7327
7604
|
# Guide*.
|
|
7328
7605
|
#
|
|
7329
7606
|
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
|
@@ -7335,10 +7612,14 @@ module Aws::KMS
|
|
|
7335
7612
|
#
|
|
7336
7613
|
# * EnableKeyRotation
|
|
7337
7614
|
#
|
|
7615
|
+
# * DeleteImportedKeyMaterial
|
|
7616
|
+
#
|
|
7338
7617
|
# * DisableKeyRotation
|
|
7339
7618
|
#
|
|
7340
7619
|
# * GetKeyRotationStatus
|
|
7341
7620
|
#
|
|
7621
|
+
# * ImportKeyMaterial
|
|
7622
|
+
#
|
|
7342
7623
|
# * RotateKeyOnDemand
|
|
7343
7624
|
#
|
|
7344
7625
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
@@ -7348,7 +7629,7 @@ module Aws::KMS
|
|
|
7348
7629
|
#
|
|
7349
7630
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
|
|
7350
7631
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
7351
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
7632
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
7352
7633
|
#
|
|
7353
7634
|
# @option params [required, String] :key_id
|
|
7354
7635
|
# Gets the key rotations for the specified KMS key.
|
|
@@ -7365,6 +7646,16 @@ module Aws::KMS
|
|
|
7365
7646
|
# To get the key ID and key ARN for a KMS key, use ListKeys or
|
|
7366
7647
|
# DescribeKey.
|
|
7367
7648
|
#
|
|
7649
|
+
# @option params [String] :include_key_material
|
|
7650
|
+
# Use this optional parameter to control which key materials associated
|
|
7651
|
+
# with this key are listed in the response. The default value of this
|
|
7652
|
+
# parameter is `ROTATIONS_ONLY`. If you omit this parameter, KMS returns
|
|
7653
|
+
# information on the key materials created by automatic or on-demand key
|
|
7654
|
+
# rotation. When you specify a value of `ALL_KEY_MATERIAL`, KMS adds the
|
|
7655
|
+
# first key material and any imported key material pending rotation to
|
|
7656
|
+
# the response. This parameter can only be used with KMS keys that
|
|
7657
|
+
# support automatic or on-demand key rotation.
|
|
7658
|
+
#
|
|
7368
7659
|
# @option params [Integer] :limit
|
|
7369
7660
|
# Use this parameter to specify the maximum number of items to return.
|
|
7370
7661
|
# When this value is present, KMS does not return more than the
|
|
@@ -7417,6 +7708,7 @@ module Aws::KMS
|
|
|
7417
7708
|
#
|
|
7418
7709
|
# resp = client.list_key_rotations({
|
|
7419
7710
|
# key_id: "KeyIdType", # required
|
|
7711
|
+
# include_key_material: "ALL_KEY_MATERIAL", # accepts ALL_KEY_MATERIAL, ROTATIONS_ONLY
|
|
7420
7712
|
# limit: 1,
|
|
7421
7713
|
# marker: "MarkerType",
|
|
7422
7714
|
# })
|
|
@@ -7425,6 +7717,12 @@ module Aws::KMS
|
|
|
7425
7717
|
#
|
|
7426
7718
|
# resp.rotations #=> Array
|
|
7427
7719
|
# resp.rotations[0].key_id #=> String
|
|
7720
|
+
# resp.rotations[0].key_material_id #=> String
|
|
7721
|
+
# resp.rotations[0].key_material_description #=> String
|
|
7722
|
+
# resp.rotations[0].import_state #=> String, one of "IMPORTED", "PENDING_IMPORT"
|
|
7723
|
+
# resp.rotations[0].key_material_state #=> String, one of "NON_CURRENT", "CURRENT", "PENDING_ROTATION", "PENDING_MULTI_REGION_IMPORT_AND_ROTATION"
|
|
7724
|
+
# resp.rotations[0].expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
|
|
7725
|
+
# resp.rotations[0].valid_to #=> Time
|
|
7428
7726
|
# resp.rotations[0].rotation_date #=> Time
|
|
7429
7727
|
# resp.rotations[0].rotation_type #=> String, one of "AUTOMATIC", "ON_DEMAND"
|
|
7430
7728
|
# resp.next_marker #=> String
|
|
@@ -7463,7 +7761,7 @@ module Aws::KMS
|
|
|
7463
7761
|
#
|
|
7464
7762
|
#
|
|
7465
7763
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
7466
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
7764
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
7467
7765
|
#
|
|
7468
7766
|
# @option params [Integer] :limit
|
|
7469
7767
|
# Use this parameter to specify the maximum number of items to return.
|
|
@@ -7559,7 +7857,7 @@ module Aws::KMS
|
|
|
7559
7857
|
# For general information about tags, including the format and syntax,
|
|
7560
7858
|
# see [Tagging Amazon Web Services resources][1] in the *Amazon Web
|
|
7561
7859
|
# Services General Reference*. For information about using tags in KMS,
|
|
7562
|
-
# see [
|
|
7860
|
+
# see [Tags in KMS][2].
|
|
7563
7861
|
#
|
|
7564
7862
|
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
|
7565
7863
|
# key in a different Amazon Web Services account.
|
|
@@ -7584,7 +7882,7 @@ module Aws::KMS
|
|
|
7584
7882
|
# [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
|
|
7585
7883
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
|
|
7586
7884
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
7587
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
7885
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
7588
7886
|
#
|
|
7589
7887
|
# @option params [required, String] :key_id
|
|
7590
7888
|
# Gets tags on the specified KMS key.
|
|
@@ -7689,8 +7987,9 @@ module Aws::KMS
|
|
|
7689
7987
|
#
|
|
7690
7988
|
# For detailed information about grants, including grant terminology,
|
|
7691
7989
|
# see [Grants in KMS][1] in the <i> <i>Key Management Service Developer
|
|
7692
|
-
# Guide</i> </i>. For examples of
|
|
7693
|
-
#
|
|
7990
|
+
# Guide</i> </i>. For examples of creating grants in several programming
|
|
7991
|
+
# languages, see [Use CreateGrant with an Amazon Web Services SDK or
|
|
7992
|
+
# CLI][2].
|
|
7694
7993
|
#
|
|
7695
7994
|
# **Cross-account use**: You must specify a principal in your Amazon Web
|
|
7696
7995
|
# Services account. This operation returns a list of grants where the
|
|
@@ -7728,9 +8027,9 @@ module Aws::KMS
|
|
|
7728
8027
|
#
|
|
7729
8028
|
#
|
|
7730
8029
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
|
|
7731
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8030
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
|
|
7732
8031
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
7733
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
8032
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
7734
8033
|
#
|
|
7735
8034
|
# @option params [Integer] :limit
|
|
7736
8035
|
# Use this parameter to specify the maximum number of items to return.
|
|
@@ -7840,8 +8139,9 @@ module Aws::KMS
|
|
|
7840
8139
|
# formatting a JSON policy document, see the [IAM JSON Policy
|
|
7841
8140
|
# Reference][2] in the <i> <i>Identity and Access Management User
|
|
7842
8141
|
# Guide</i> </i>. For examples of adding a key policy in multiple
|
|
7843
|
-
# programming languages, see [
|
|
7844
|
-
# Management Service Developer
|
|
8142
|
+
# programming languages, see [Use PutKeyPolicy with an Amazon Web
|
|
8143
|
+
# Services SDK or CLI][3] in the *Key Management Service Developer
|
|
8144
|
+
# Guide*.
|
|
7845
8145
|
#
|
|
7846
8146
|
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
|
7847
8147
|
# key in a different Amazon Web Services account.
|
|
@@ -7857,9 +8157,9 @@ module Aws::KMS
|
|
|
7857
8157
|
#
|
|
7858
8158
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
|
|
7859
8159
|
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
|
|
7860
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8160
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_PutKeyPolicy_section.html
|
|
7861
8161
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
7862
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
8162
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
7863
8163
|
#
|
|
7864
8164
|
# @option params [required, String] :key_id
|
|
7865
8165
|
# Sets the key policy on the specified KMS key.
|
|
@@ -7900,6 +8200,17 @@ module Aws::KMS
|
|
|
7900
8200
|
# not always immediately visible][2] in the *Amazon Web Services
|
|
7901
8201
|
# Identity and Access Management User Guide*.
|
|
7902
8202
|
#
|
|
8203
|
+
# <note markdown="1"> If either of the required `Resource` or `Action` elements are missing
|
|
8204
|
+
# from a key policy statement, the policy statement has no effect. When
|
|
8205
|
+
# a key policy statement is missing one of these elements, the KMS
|
|
8206
|
+
# console correctly reports an error, but the `PutKeyPolicy` API request
|
|
8207
|
+
# succeeds, even though the policy statement is ineffective.
|
|
8208
|
+
#
|
|
8209
|
+
# For more information on required key policy elements, see [Elements in
|
|
8210
|
+
# a key policy][3] in the *Key Management Service Developer Guide*.
|
|
8211
|
+
#
|
|
8212
|
+
# </note>
|
|
8213
|
+
#
|
|
7903
8214
|
# A key policy document can include only the following characters:
|
|
7904
8215
|
#
|
|
7905
8216
|
# * Printable ASCII characters from the space character (`\u0020`)
|
|
@@ -7911,18 +8222,24 @@ module Aws::KMS
|
|
|
7911
8222
|
# * The tab (`\u0009`), line feed (`\u000A`), and carriage return
|
|
7912
8223
|
# (`\u000D`) special characters
|
|
7913
8224
|
#
|
|
7914
|
-
#
|
|
8225
|
+
# <note markdown="1"> If the key policy exceeds the length constraint, KMS returns a
|
|
8226
|
+
# `LimitExceededException`.
|
|
8227
|
+
#
|
|
8228
|
+
# </note>
|
|
8229
|
+
#
|
|
8230
|
+
# For information about key policies, see [Key policies in KMS][4] in
|
|
7915
8231
|
# the *Key Management Service Developer Guide*.For help writing and
|
|
7916
8232
|
# formatting a JSON policy document, see the [IAM JSON Policy
|
|
7917
|
-
# Reference][
|
|
8233
|
+
# Reference][5] in the <i> <i>Identity and Access Management User
|
|
7918
8234
|
# Guide</i> </i>.
|
|
7919
8235
|
#
|
|
7920
8236
|
#
|
|
7921
8237
|
#
|
|
7922
8238
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
|
|
7923
8239
|
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
|
|
7924
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-
|
|
7925
|
-
# [4]: https://docs.aws.amazon.com/
|
|
8240
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html#key-policy-elements
|
|
8241
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
|
|
8242
|
+
# [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
|
|
7926
8243
|
#
|
|
7927
8244
|
# @option params [Boolean] :bypass_policy_lockout_safety_check
|
|
7928
8245
|
# Skips ("bypasses") the key policy lockout safety check. The default
|
|
@@ -8071,15 +8388,15 @@ module Aws::KMS
|
|
|
8071
8388
|
#
|
|
8072
8389
|
#
|
|
8073
8390
|
#
|
|
8074
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
|
|
8075
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8076
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8391
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys-manually.html
|
|
8392
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
8393
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
|
|
8077
8394
|
# [4]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
|
|
8078
8395
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
|
|
8079
8396
|
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
8080
8397
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
8081
8398
|
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
|
|
8082
|
-
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
8399
|
+
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
8083
8400
|
#
|
|
8084
8401
|
# @option params [required, String, StringIO, File] :ciphertext_blob
|
|
8085
8402
|
# Ciphertext of the data to reencrypt.
|
|
@@ -8102,7 +8419,7 @@ module Aws::KMS
|
|
|
8102
8419
|
#
|
|
8103
8420
|
#
|
|
8104
8421
|
#
|
|
8105
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8422
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
8106
8423
|
#
|
|
8107
8424
|
# @option params [String] :source_key_id
|
|
8108
8425
|
# Specifies the KMS key that KMS will use to decrypt the ciphertext
|
|
@@ -8188,7 +8505,7 @@ module Aws::KMS
|
|
|
8188
8505
|
#
|
|
8189
8506
|
#
|
|
8190
8507
|
#
|
|
8191
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8508
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
8192
8509
|
#
|
|
8193
8510
|
# @option params [String] :source_encryption_algorithm
|
|
8194
8511
|
# Specifies the encryption algorithm that KMS will use to decrypt the
|
|
@@ -8222,18 +8539,18 @@ module Aws::KMS
|
|
|
8222
8539
|
#
|
|
8223
8540
|
#
|
|
8224
8541
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
8225
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8542
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
8226
8543
|
#
|
|
8227
8544
|
# @option params [Boolean] :dry_run
|
|
8228
8545
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
8229
8546
|
# parameter.
|
|
8230
8547
|
#
|
|
8231
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
8232
|
-
#
|
|
8548
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
8549
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
8233
8550
|
#
|
|
8234
8551
|
#
|
|
8235
8552
|
#
|
|
8236
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8553
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
8237
8554
|
#
|
|
8238
8555
|
# @return [Types::ReEncryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
8239
8556
|
#
|
|
@@ -8242,6 +8559,8 @@ module Aws::KMS
|
|
|
8242
8559
|
# * {Types::ReEncryptResponse#key_id #key_id} => String
|
|
8243
8560
|
# * {Types::ReEncryptResponse#source_encryption_algorithm #source_encryption_algorithm} => String
|
|
8244
8561
|
# * {Types::ReEncryptResponse#destination_encryption_algorithm #destination_encryption_algorithm} => String
|
|
8562
|
+
# * {Types::ReEncryptResponse#source_key_material_id #source_key_material_id} => String
|
|
8563
|
+
# * {Types::ReEncryptResponse#destination_key_material_id #destination_key_material_id} => String
|
|
8245
8564
|
#
|
|
8246
8565
|
#
|
|
8247
8566
|
# @example Example: To reencrypt data
|
|
@@ -8256,8 +8575,12 @@ module Aws::KMS
|
|
|
8256
8575
|
# resp.to_h outputs the following:
|
|
8257
8576
|
# {
|
|
8258
8577
|
# ciphertext_blob: "<binary data>", # The reencrypted data.
|
|
8578
|
+
# destination_encryption_algorithm: "SYMMETRIC_DEFAULT", # The encryption algorithm that was used to reencrypt the data.
|
|
8579
|
+
# destination_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to reencrypt the data.
|
|
8259
8580
|
# 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.
|
|
8581
|
+
# source_encryption_algorithm: "SYMMETRIC_DEFAULT", # The encryption algorithm that was used to decrypt the ciphertext before it was reencrypted.
|
|
8260
8582
|
# 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.
|
|
8583
|
+
# source_key_material_id: "1c6be7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to originally encrypt the data.
|
|
8261
8584
|
# }
|
|
8262
8585
|
#
|
|
8263
8586
|
# @example Request syntax with placeholder values
|
|
@@ -8285,6 +8608,8 @@ module Aws::KMS
|
|
|
8285
8608
|
# resp.key_id #=> String
|
|
8286
8609
|
# resp.source_encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
8287
8610
|
# resp.destination_encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
8611
|
+
# resp.source_key_material_id #=> String
|
|
8612
|
+
# resp.destination_key_material_id #=> String
|
|
8288
8613
|
#
|
|
8289
8614
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncrypt AWS API Documentation
|
|
8290
8615
|
#
|
|
@@ -8316,12 +8641,12 @@ module Aws::KMS
|
|
|
8316
8641
|
# independently of its primary and peer replica keys. A primary key and
|
|
8317
8642
|
# its replica keys share properties that make them interoperable. They
|
|
8318
8643
|
# have the same [key ID][2] and key material. They also have the same
|
|
8319
|
-
#
|
|
8320
|
-
#
|
|
8321
|
-
#
|
|
8322
|
-
#
|
|
8323
|
-
# [
|
|
8324
|
-
#
|
|
8644
|
+
# key spec, key usage, key material origin, and automatic key rotation
|
|
8645
|
+
# status. KMS automatically synchronizes these shared properties among
|
|
8646
|
+
# related multi-Region keys. All other properties of a replica key can
|
|
8647
|
+
# differ, including its [key policy][3], [tags][4], [aliases][5], and
|
|
8648
|
+
# [key state][6]. KMS pricing and quotas for KMS keys apply to each
|
|
8649
|
+
# primary key and replica key.
|
|
8325
8650
|
#
|
|
8326
8651
|
# When this operation completes, the new replica key has a transient key
|
|
8327
8652
|
# state of `Creating`. This key state changes to `Enabled` (or
|
|
@@ -8331,7 +8656,7 @@ module Aws::KMS
|
|
|
8331
8656
|
# If you are creating and using the replica key programmatically, retry
|
|
8332
8657
|
# on `KMSInvalidStateException` or call `DescribeKey` to check its
|
|
8333
8658
|
# `KeyState` value before using it. For details about the `Creating` key
|
|
8334
|
-
# state, see [Key states of KMS keys][
|
|
8659
|
+
# state, see [Key states of KMS keys][6] in the *Key Management Service
|
|
8335
8660
|
# Developer Guide*.
|
|
8336
8661
|
#
|
|
8337
8662
|
# You cannot create more than one replica of a primary key in any
|
|
@@ -8340,7 +8665,7 @@ module Aws::KMS
|
|
|
8340
8665
|
# `AlreadyExistsException` error. If the key state of the existing
|
|
8341
8666
|
# replica is `PendingDeletion`, you can cancel the scheduled key
|
|
8342
8667
|
# deletion (CancelKeyDeletion) or wait for the key to be deleted. The
|
|
8343
|
-
# new replica key you create will have the same [shared properties][
|
|
8668
|
+
# new replica key you create will have the same [shared properties][7]
|
|
8344
8669
|
# as the original replica key.
|
|
8345
8670
|
#
|
|
8346
8671
|
# The CloudTrail log of a `ReplicateKey` operation records a
|
|
@@ -8350,8 +8675,6 @@ module Aws::KMS
|
|
|
8350
8675
|
# If you replicate a multi-Region primary key with imported key
|
|
8351
8676
|
# material, the replica key is created with no key material. You must
|
|
8352
8677
|
# import the same key material that you imported into the primary key.
|
|
8353
|
-
# For details, see [Importing key material into multi-Region keys][12]
|
|
8354
|
-
# in the *Key Management Service Developer Guide*.
|
|
8355
8678
|
#
|
|
8356
8679
|
# To convert a replica key to a primary key, use the UpdatePrimaryRegion
|
|
8357
8680
|
# operation.
|
|
@@ -8382,23 +8705,18 @@ module Aws::KMS
|
|
|
8382
8705
|
# * UpdatePrimaryRegion
|
|
8383
8706
|
#
|
|
8384
8707
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
8385
|
-
# model. For more information, see [KMS eventual consistency][
|
|
8708
|
+
# model. For more information, see [KMS eventual consistency][8].
|
|
8386
8709
|
#
|
|
8387
8710
|
#
|
|
8388
8711
|
#
|
|
8389
8712
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
|
|
8390
8713
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id
|
|
8391
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8392
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8393
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8394
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8395
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8396
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8397
|
-
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
|
|
8398
|
-
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
8399
|
-
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-sync-properties
|
|
8400
|
-
# [12]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-import.html
|
|
8401
|
-
# [13]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
|
|
8714
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
|
|
8715
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
|
|
8716
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
|
|
8717
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
8718
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-sync-properties
|
|
8719
|
+
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
8402
8720
|
#
|
|
8403
8721
|
# @option params [required, String] :key_id
|
|
8404
8722
|
# Identifies the multi-Region primary key that is being replicated. To
|
|
@@ -8426,33 +8744,23 @@ module Aws::KMS
|
|
|
8426
8744
|
# [KMS service endpoints][1] in the *Amazon Web Services General
|
|
8427
8745
|
# Reference*.
|
|
8428
8746
|
#
|
|
8429
|
-
# <note markdown="1"> HMAC KMS keys are not supported in all Amazon Web Services Regions. If
|
|
8430
|
-
# you try to replicate an HMAC KMS key in an Amazon Web Services Region
|
|
8431
|
-
# in which HMAC keys are not supported, the `ReplicateKey` operation
|
|
8432
|
-
# returns an `UnsupportedOperationException`. For a list of Regions in
|
|
8433
|
-
# which HMAC KMS keys are supported, see [HMAC keys in KMS][2] in the
|
|
8434
|
-
# *Key Management Service Developer Guide*.
|
|
8435
|
-
#
|
|
8436
|
-
# </note>
|
|
8437
|
-
#
|
|
8438
8747
|
# The replica must be in a different Amazon Web Services Region than its
|
|
8439
8748
|
# primary key and other replicas of that primary key, but in the same
|
|
8440
8749
|
# Amazon Web Services partition. KMS must be available in the replica
|
|
8441
8750
|
# Region. If the Region is not enabled by default, the Amazon Web
|
|
8442
8751
|
# Services account must be enabled in the Region. For information about
|
|
8443
|
-
# Amazon Web Services partitions, see [Amazon Resource Names (ARNs)][
|
|
8752
|
+
# Amazon Web Services partitions, see [Amazon Resource Names (ARNs)][2]
|
|
8444
8753
|
# in the *Amazon Web Services General Reference*. For information about
|
|
8445
|
-
# enabling and disabling Regions, see [Enabling a Region][
|
|
8446
|
-
# [Disabling a Region][
|
|
8754
|
+
# enabling and disabling Regions, see [Enabling a Region][3] and
|
|
8755
|
+
# [Disabling a Region][4] in the *Amazon Web Services General
|
|
8447
8756
|
# Reference*.
|
|
8448
8757
|
#
|
|
8449
8758
|
#
|
|
8450
8759
|
#
|
|
8451
8760
|
# [1]: https://docs.aws.amazon.com/general/latest/gr/kms.html#kms_region
|
|
8452
|
-
# [2]: https://docs.aws.amazon.com/
|
|
8453
|
-
# [3]: https://docs.aws.amazon.com/general/latest/gr/
|
|
8454
|
-
# [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-
|
|
8455
|
-
# [5]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
|
|
8761
|
+
# [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
|
8762
|
+
# [3]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
|
|
8763
|
+
# [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
|
|
8456
8764
|
#
|
|
8457
8765
|
# @option params [String] :policy
|
|
8458
8766
|
# The key policy to attach to the KMS key. This parameter is optional.
|
|
@@ -8500,7 +8808,7 @@ module Aws::KMS
|
|
|
8500
8808
|
#
|
|
8501
8809
|
#
|
|
8502
8810
|
#
|
|
8503
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-
|
|
8811
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html
|
|
8504
8812
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
|
|
8505
8813
|
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
|
|
8506
8814
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
|
|
@@ -8569,7 +8877,7 @@ module Aws::KMS
|
|
|
8569
8877
|
# When you add tags to an Amazon Web Services resource, Amazon Web
|
|
8570
8878
|
# Services generates a cost allocation report with usage and costs
|
|
8571
8879
|
# aggregated by tags. Tags can also be used to control access to a KMS
|
|
8572
|
-
# key. For details, see [
|
|
8880
|
+
# key. For details, see [Tags in KMS][3].
|
|
8573
8881
|
#
|
|
8574
8882
|
#
|
|
8575
8883
|
#
|
|
@@ -8664,11 +8972,11 @@ module Aws::KMS
|
|
|
8664
8972
|
# resp.replica_key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
|
|
8665
8973
|
# resp.replica_key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
|
|
8666
8974
|
# resp.replica_key_metadata.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
|
|
8667
|
-
# resp.replica_key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
|
|
8975
|
+
# 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", "ECC_NIST_EDWARDS25519"
|
|
8668
8976
|
# resp.replica_key_metadata.encryption_algorithms #=> Array
|
|
8669
8977
|
# resp.replica_key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
8670
8978
|
# resp.replica_key_metadata.signing_algorithms #=> Array
|
|
8671
|
-
# resp.replica_key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
|
|
8979
|
+
# 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", "ED25519_SHA_512", "ED25519_PH_SHA_512"
|
|
8672
8980
|
# resp.replica_key_metadata.key_agreement_algorithms #=> Array
|
|
8673
8981
|
# resp.replica_key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
|
|
8674
8982
|
# resp.replica_key_metadata.multi_region #=> Boolean
|
|
@@ -8682,6 +8990,7 @@ module Aws::KMS
|
|
|
8682
8990
|
# resp.replica_key_metadata.mac_algorithms #=> Array
|
|
8683
8991
|
# resp.replica_key_metadata.mac_algorithms[0] #=> String, one of "HMAC_SHA_224", "HMAC_SHA_256", "HMAC_SHA_384", "HMAC_SHA_512"
|
|
8684
8992
|
# resp.replica_key_metadata.xks_key_configuration.id #=> String
|
|
8993
|
+
# resp.replica_key_metadata.current_key_material_id #=> String
|
|
8685
8994
|
# resp.replica_policy #=> String
|
|
8686
8995
|
# resp.replica_tags #=> Array
|
|
8687
8996
|
# resp.replica_tags[0].tag_key #=> String
|
|
@@ -8705,20 +9014,20 @@ module Aws::KMS
|
|
|
8705
9014
|
# by the *grantee principal* if the grant allows the `RetireGrant`
|
|
8706
9015
|
# operation, and by the Amazon Web Services account in which the grant
|
|
8707
9016
|
# is created. It can also be called by principals to whom permission for
|
|
8708
|
-
# retiring a grant is delegated.
|
|
8709
|
-
# grants][2] in the *Key Management Service Developer Guide*.
|
|
9017
|
+
# retiring a grant is delegated.
|
|
8710
9018
|
#
|
|
8711
9019
|
# For detailed information about grants, including grant terminology,
|
|
8712
|
-
# see [Grants in KMS][
|
|
8713
|
-
# Guide</i> </i>. For examples of
|
|
8714
|
-
#
|
|
9020
|
+
# see [Grants in KMS][2] in the <i> <i>Key Management Service Developer
|
|
9021
|
+
# Guide</i> </i>. For examples of creating grants in several programming
|
|
9022
|
+
# languages, see [Use CreateGrant with an Amazon Web Services SDK or
|
|
9023
|
+
# CLI][3].
|
|
8715
9024
|
#
|
|
8716
9025
|
# **Cross-account use**: Yes. You can retire a grant on a KMS key in a
|
|
8717
9026
|
# different Amazon Web Services account.
|
|
8718
9027
|
#
|
|
8719
9028
|
# **Required permissions**: Permission to retire a grant is determined
|
|
8720
9029
|
# primarily by the grant. For details, see [Retiring and revoking
|
|
8721
|
-
# grants][
|
|
9030
|
+
# grants][4] in the *Key Management Service Developer Guide*.
|
|
8722
9031
|
#
|
|
8723
9032
|
# **Related operations:**
|
|
8724
9033
|
#
|
|
@@ -8736,10 +9045,10 @@ module Aws::KMS
|
|
|
8736
9045
|
#
|
|
8737
9046
|
#
|
|
8738
9047
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
8739
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8740
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8741
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8742
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
9048
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
|
|
9049
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
|
|
9050
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
|
|
9051
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
8743
9052
|
#
|
|
8744
9053
|
# @option params [String] :grant_token
|
|
8745
9054
|
# Identifies the grant to be retired. You can use a grant token to
|
|
@@ -8774,12 +9083,12 @@ module Aws::KMS
|
|
|
8774
9083
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
8775
9084
|
# parameter.
|
|
8776
9085
|
#
|
|
8777
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
8778
|
-
#
|
|
9086
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
9087
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
8779
9088
|
#
|
|
8780
9089
|
#
|
|
8781
9090
|
#
|
|
8782
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9091
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
8783
9092
|
#
|
|
8784
9093
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
|
8785
9094
|
#
|
|
@@ -8824,8 +9133,9 @@ module Aws::KMS
|
|
|
8824
9133
|
#
|
|
8825
9134
|
# For detailed information about grants, including grant terminology,
|
|
8826
9135
|
# see [Grants in KMS][3] in the <i> <i>Key Management Service Developer
|
|
8827
|
-
# Guide</i> </i>. For examples of
|
|
8828
|
-
#
|
|
9136
|
+
# Guide</i> </i>. For examples of creating grants in several programming
|
|
9137
|
+
# languages, see [Use CreateGrant with an Amazon Web Services SDK or
|
|
9138
|
+
# CLI][4].
|
|
8829
9139
|
#
|
|
8830
9140
|
# **Cross-account use**: Yes. To perform this operation on a KMS key in
|
|
8831
9141
|
# a different Amazon Web Services account, specify the key ARN in the
|
|
@@ -8848,12 +9158,12 @@ module Aws::KMS
|
|
|
8848
9158
|
#
|
|
8849
9159
|
#
|
|
8850
9160
|
#
|
|
8851
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-
|
|
9161
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
|
|
8852
9162
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-eventual-consistency
|
|
8853
9163
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
|
|
8854
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9164
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
|
|
8855
9165
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
8856
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
9166
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
8857
9167
|
#
|
|
8858
9168
|
# @option params [required, String] :key_id
|
|
8859
9169
|
# A unique identifier for the KMS key associated with the grant. To get
|
|
@@ -8880,12 +9190,12 @@ module Aws::KMS
|
|
|
8880
9190
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
8881
9191
|
# parameter.
|
|
8882
9192
|
#
|
|
8883
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
8884
|
-
#
|
|
9193
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
9194
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
8885
9195
|
#
|
|
8886
9196
|
#
|
|
8887
9197
|
#
|
|
8888
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9198
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
8889
9199
|
#
|
|
8890
9200
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
|
8891
9201
|
#
|
|
@@ -8941,27 +9251,33 @@ module Aws::KMS
|
|
|
8941
9251
|
# of the key material for your KMS keys in CloudTrail and Amazon
|
|
8942
9252
|
# CloudWatch.
|
|
8943
9253
|
#
|
|
8944
|
-
# On-demand key rotation is supported only on
|
|
8945
|
-
# keys
|
|
8946
|
-
# keys][
|
|
8947
|
-
#
|
|
8948
|
-
#
|
|
8949
|
-
#
|
|
9254
|
+
# On-demand key rotation is supported only on symmetric encryption KMS
|
|
9255
|
+
# keys. You cannot perform on-demand rotation of [asymmetric KMS
|
|
9256
|
+
# keys][3], [HMAC KMS keys][4], or KMS keys in a [custom key store][5].
|
|
9257
|
+
# When you initiate on-demand key rotation on a symmetric encryption KMS
|
|
9258
|
+
# key with imported key material, you must have already imported [new
|
|
9259
|
+
# key material][6] and that key material's state should be
|
|
9260
|
+
# `PENDING_ROTATION`. Use the `ListKeyRotations` operation to check the
|
|
9261
|
+
# state of all key materials associated with a KMS key. To perform
|
|
9262
|
+
# on-demand rotation of a set of related [multi-Region keys][7], import
|
|
9263
|
+
# new key material in the primary Region key, import the same key
|
|
9264
|
+
# material in each replica Region key, and invoke the on-demand rotation
|
|
9265
|
+
# on the primary Region key.
|
|
8950
9266
|
#
|
|
8951
9267
|
# You cannot initiate on-demand rotation of [Amazon Web Services managed
|
|
8952
|
-
# KMS keys][
|
|
9268
|
+
# KMS keys][8]. KMS always rotates the key material of Amazon Web
|
|
8953
9269
|
# Services managed keys every year. Rotation of [Amazon Web Services
|
|
8954
|
-
# owned KMS keys][
|
|
9270
|
+
# owned KMS keys][9] is managed by the Amazon Web Services service that
|
|
8955
9271
|
# owns the key.
|
|
8956
9272
|
#
|
|
8957
9273
|
# The KMS key that you use for this operation must be in a compatible
|
|
8958
|
-
# key state. For details, see [Key states of KMS keys][
|
|
9274
|
+
# key state. For details, see [Key states of KMS keys][10] in the *Key
|
|
8959
9275
|
# Management Service Developer Guide*.
|
|
8960
9276
|
#
|
|
8961
9277
|
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
|
8962
9278
|
# key in a different Amazon Web Services account.
|
|
8963
9279
|
#
|
|
8964
|
-
# **Required permissions**: [kms:RotateKeyOnDemand][
|
|
9280
|
+
# **Required permissions**: [kms:RotateKeyOnDemand][11] (key policy)
|
|
8965
9281
|
#
|
|
8966
9282
|
# **Related operations:**
|
|
8967
9283
|
#
|
|
@@ -8971,34 +9287,35 @@ module Aws::KMS
|
|
|
8971
9287
|
#
|
|
8972
9288
|
# * GetKeyRotationStatus
|
|
8973
9289
|
#
|
|
9290
|
+
# * ImportKeyMaterial
|
|
9291
|
+
#
|
|
8974
9292
|
# * ListKeyRotations
|
|
8975
9293
|
#
|
|
8976
9294
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
8977
|
-
# model. For more information, see [KMS eventual consistency][
|
|
9295
|
+
# model. For more information, see [KMS eventual consistency][12].
|
|
8978
9296
|
#
|
|
8979
9297
|
#
|
|
8980
9298
|
#
|
|
8981
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8982
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8983
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8984
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8985
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8986
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
8987
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8988
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8989
|
-
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-
|
|
8990
|
-
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8991
|
-
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8992
|
-
# [12]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-
|
|
8993
|
-
# [13]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
|
|
9299
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-on-demand.html
|
|
9300
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
|
|
9301
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
|
|
9302
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
|
9303
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
9304
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html
|
|
9305
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
|
|
9306
|
+
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
|
|
9307
|
+
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-key
|
|
9308
|
+
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
9309
|
+
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
9310
|
+
# [12]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
8994
9311
|
#
|
|
8995
9312
|
# @option params [required, String] :key_id
|
|
8996
9313
|
# Identifies a symmetric encryption KMS key. You cannot perform
|
|
8997
9314
|
# on-demand rotation of [asymmetric KMS keys][1], [HMAC KMS keys][2],
|
|
8998
|
-
# KMS keys with [imported key material][3], or KMS keys in
|
|
8999
|
-
# store][4]. To perform on-demand rotation of a set of
|
|
9000
|
-
# [multi-Region keys][5], invoke the on-demand rotation on the
|
|
9001
|
-
# key.
|
|
9315
|
+
# multi-Region KMS keys with [imported key material][3], or KMS keys in
|
|
9316
|
+
# a [custom key store][4]. To perform on-demand rotation of a set of
|
|
9317
|
+
# related [multi-Region keys][5], invoke the on-demand rotation on the
|
|
9318
|
+
# primary key.
|
|
9002
9319
|
#
|
|
9003
9320
|
# Specify the key ID or key ARN of the KMS key.
|
|
9004
9321
|
#
|
|
@@ -9017,8 +9334,8 @@ module Aws::KMS
|
|
|
9017
9334
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
|
|
9018
9335
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
|
9019
9336
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
9020
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9021
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9337
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
9338
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
|
|
9022
9339
|
#
|
|
9023
9340
|
# @return [Types::RotateKeyOnDemandResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
9024
9341
|
#
|
|
@@ -9072,9 +9389,8 @@ module Aws::KMS
|
|
|
9072
9389
|
# operation. When a KMS key is deleted, all data that was encrypted
|
|
9073
9390
|
# under the KMS key is unrecoverable. (The only exception is a
|
|
9074
9391
|
# [multi-Region replica key][1], or an [asymmetric or HMAC KMS key with
|
|
9075
|
-
# imported key
|
|
9076
|
-
#
|
|
9077
|
-
# To prevent the use of a KMS key without deleting it, use DisableKey.
|
|
9392
|
+
# imported key material][2].) To prevent the use of a KMS key without
|
|
9393
|
+
# deleting it, use DisableKey.
|
|
9078
9394
|
#
|
|
9079
9395
|
# You can schedule the deletion of a multi-Region primary key and its
|
|
9080
9396
|
# replica keys at any time. However, KMS will not delete a multi-Region
|
|
@@ -9085,13 +9401,13 @@ module Aws::KMS
|
|
|
9085
9401
|
# the last of its replicas keys is deleted (not just scheduled), the key
|
|
9086
9402
|
# state of the primary key changes to `PendingDeletion` and its waiting
|
|
9087
9403
|
# period (`PendingWindowInDays`) begins. For details, see [Deleting
|
|
9088
|
-
# multi-Region keys][
|
|
9404
|
+
# multi-Region keys][3] in the *Key Management Service Developer Guide*.
|
|
9089
9405
|
#
|
|
9090
|
-
# When KMS [deletes a KMS key from an CloudHSM key store][
|
|
9406
|
+
# When KMS [deletes a KMS key from an CloudHSM key store][4], it makes a
|
|
9091
9407
|
# best effort to delete the associated key material from the associated
|
|
9092
9408
|
# CloudHSM cluster. However, you might need to manually [delete the
|
|
9093
|
-
# orphaned key material][
|
|
9094
|
-
# a KMS key from an external key store][
|
|
9409
|
+
# orphaned key material][5] from the cluster and its backups. [Deleting
|
|
9410
|
+
# a KMS key from an external key store][6] has no effect on the
|
|
9095
9411
|
# associated external key. However, for both types of custom key stores,
|
|
9096
9412
|
# deleting a KMS key is destructive and irreversible. You cannot decrypt
|
|
9097
9413
|
# ciphertext encrypted under the KMS key by using only its associated
|
|
@@ -9100,11 +9416,11 @@ module Aws::KMS
|
|
|
9100
9416
|
# material.
|
|
9101
9417
|
#
|
|
9102
9418
|
# For more information about scheduling a KMS key for deletion, see
|
|
9103
|
-
# [Deleting KMS keys][
|
|
9419
|
+
# [Deleting KMS keys][7] in the *Key Management Service Developer
|
|
9104
9420
|
# Guide*.
|
|
9105
9421
|
#
|
|
9106
9422
|
# The KMS key that you use for this operation must be in a compatible
|
|
9107
|
-
# key state. For details, see [Key states of KMS keys][
|
|
9423
|
+
# key state. For details, see [Key states of KMS keys][8] in the *Key
|
|
9108
9424
|
# Management Service Developer Guide*.
|
|
9109
9425
|
#
|
|
9110
9426
|
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
|
@@ -9119,17 +9435,19 @@ module Aws::KMS
|
|
|
9119
9435
|
# * DisableKey
|
|
9120
9436
|
#
|
|
9121
9437
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
9122
|
-
# model. For more information, see [KMS eventual consistency][
|
|
9438
|
+
# model. For more information, see [KMS eventual consistency][9].
|
|
9123
9439
|
#
|
|
9124
9440
|
#
|
|
9125
9441
|
#
|
|
9126
9442
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-delete.html
|
|
9127
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9128
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9129
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/delete-
|
|
9130
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9131
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9132
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9443
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#import-delete-key
|
|
9444
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#deleting-mrks
|
|
9445
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#delete-cmk-keystore
|
|
9446
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
|
|
9447
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#delete-xks-key
|
|
9448
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
|
|
9449
|
+
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
9450
|
+
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
9133
9451
|
#
|
|
9134
9452
|
# @option params [required, String] :key_id
|
|
9135
9453
|
# The unique identifier of the KMS key to delete.
|
|
@@ -9218,11 +9536,11 @@ module Aws::KMS
|
|
|
9218
9536
|
# Developer Guide*.
|
|
9219
9537
|
#
|
|
9220
9538
|
# Digital signatures are generated and verified by using asymmetric key
|
|
9221
|
-
# pair, such as an RSA or
|
|
9222
|
-
# KMS key. The key owner (or an authorized user) uses their
|
|
9223
|
-
# to sign a message. Anyone with the public key can verify
|
|
9224
|
-
# message was signed with that particular private key and that
|
|
9225
|
-
# message hasn't changed since it was signed.
|
|
9539
|
+
# pair, such as an RSA, ECC, or ML-DSA pair that is represented by an
|
|
9540
|
+
# asymmetric KMS key. The key owner (or an authorized user) uses their
|
|
9541
|
+
# private key to sign a message. Anyone with the public key can verify
|
|
9542
|
+
# that the message was signed with that particular private key and that
|
|
9543
|
+
# the message hasn't changed since it was signed.
|
|
9226
9544
|
#
|
|
9227
9545
|
# To use the `Sign` operation, provide the following information:
|
|
9228
9546
|
#
|
|
@@ -9235,8 +9553,8 @@ module Aws::KMS
|
|
|
9235
9553
|
# to sign. You can submit messages of up to 4096 bytes. To sign a
|
|
9236
9554
|
# larger message, generate a hash digest of the message, and then
|
|
9237
9555
|
# provide the hash digest in the `Message` parameter. To indicate
|
|
9238
|
-
# whether the message is a full message
|
|
9239
|
-
# `MessageType` parameter.
|
|
9556
|
+
# whether the message is a full message, a digest, or an ML-DSA
|
|
9557
|
+
# EXTERNAL\_MU, use the `MessageType` parameter.
|
|
9240
9558
|
#
|
|
9241
9559
|
# * Choose a signing algorithm that is compatible with the KMS key.
|
|
9242
9560
|
#
|
|
@@ -9278,7 +9596,7 @@ module Aws::KMS
|
|
|
9278
9596
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
|
|
9279
9597
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
9280
9598
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
9281
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
9599
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
9282
9600
|
#
|
|
9283
9601
|
# @option params [required, String] :key_id
|
|
9284
9602
|
# Identifies an asymmetric KMS key. KMS uses the private key in the
|
|
@@ -9316,26 +9634,41 @@ module Aws::KMS
|
|
|
9316
9634
|
# @option params [String] :message_type
|
|
9317
9635
|
# Tells KMS whether the value of the `Message` parameter should be
|
|
9318
9636
|
# hashed as part of the signing algorithm. Use `RAW` for unhashed
|
|
9319
|
-
# messages; use `DIGEST` for message digests, which are already hashed
|
|
9637
|
+
# messages; use `DIGEST` for message digests, which are already hashed;
|
|
9638
|
+
# use `EXTERNAL_MU` for 64-byte representative μ used in ML-DSA signing
|
|
9639
|
+
# as defined in NIST FIPS 204 Section 6.2.
|
|
9320
9640
|
#
|
|
9321
9641
|
# When the value of `MessageType` is `RAW`, KMS uses the standard
|
|
9322
9642
|
# signing algorithm, which begins with a hash function. When the value
|
|
9323
|
-
# is `DIGEST`, KMS skips the hashing step in the signing algorithm.
|
|
9643
|
+
# is `DIGEST`, KMS skips the hashing step in the signing algorithm. When
|
|
9644
|
+
# the value is `EXTERNAL_MU` KMS skips the concatenated hashing of the
|
|
9645
|
+
# public key hash and the message done in the ML-DSA signing algorithm.
|
|
9324
9646
|
#
|
|
9325
|
-
# Use the `DIGEST` value only when the value of the
|
|
9326
|
-
# is a message digest. If you use the `DIGEST` value
|
|
9327
|
-
# message, the security of the signing operation can be
|
|
9647
|
+
# Use the `DIGEST` or `EXTERNAL_MU` value only when the value of the
|
|
9648
|
+
# `Message` parameter is a message digest. If you use the `DIGEST` value
|
|
9649
|
+
# with an unhashed message, the security of the signing operation can be
|
|
9650
|
+
# compromised.
|
|
9328
9651
|
#
|
|
9329
|
-
# When
|
|
9652
|
+
# When using ECC\_NIST\_EDWARDS25519 KMS keys:
|
|
9653
|
+
#
|
|
9654
|
+
# * ED25519\_SHA\_512 signing algorithm requires KMS `MessageType:RAW`
|
|
9655
|
+
#
|
|
9656
|
+
# * ED25519\_PH\_SHA\_512 signing algorithm requires KMS
|
|
9657
|
+
# `MessageType:DIGEST`
|
|
9658
|
+
#
|
|
9659
|
+
# When the value of `MessageType` is `DIGEST`, the length of the
|
|
9330
9660
|
# `Message` value must match the length of hashed messages for the
|
|
9331
9661
|
# specified signing algorithm.
|
|
9332
9662
|
#
|
|
9663
|
+
# When the value of `MessageType` is `EXTERNAL_MU` the length of the
|
|
9664
|
+
# `Message` value must be 64 bytes.
|
|
9665
|
+
#
|
|
9333
9666
|
# You can submit a message digest and omit the `MessageType` or specify
|
|
9334
9667
|
# `RAW` so the digest is hashed again while signing. However, this can
|
|
9335
9668
|
# cause verification failures when verifying with a system that assumes
|
|
9336
9669
|
# a single hash.
|
|
9337
9670
|
#
|
|
9338
|
-
# The hashing algorithm
|
|
9671
|
+
# The hashing algorithm that `Sign` uses is based on the
|
|
9339
9672
|
# `SigningAlgorithm` value.
|
|
9340
9673
|
#
|
|
9341
9674
|
# * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
|
|
@@ -9347,12 +9680,15 @@ module Aws::KMS
|
|
|
9347
9680
|
# * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
|
|
9348
9681
|
# algorithm.
|
|
9349
9682
|
#
|
|
9683
|
+
# * Signing algorithms that end in SHAKE\_256 use the SHAKE\_256 hashing
|
|
9684
|
+
# algorithm.
|
|
9685
|
+
#
|
|
9350
9686
|
# * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
|
|
9351
9687
|
# verification with SM2 key pairs][1].
|
|
9352
9688
|
#
|
|
9353
9689
|
#
|
|
9354
9690
|
#
|
|
9355
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9691
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
|
|
9356
9692
|
#
|
|
9357
9693
|
# @option params [Array<String>] :grant_tokens
|
|
9358
9694
|
# A list of grant tokens.
|
|
@@ -9365,7 +9701,7 @@ module Aws::KMS
|
|
|
9365
9701
|
#
|
|
9366
9702
|
#
|
|
9367
9703
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
9368
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9704
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
9369
9705
|
#
|
|
9370
9706
|
# @option params [required, String] :signing_algorithm
|
|
9371
9707
|
# Specifies the signing algorithm to use when signing the message.
|
|
@@ -9379,12 +9715,12 @@ module Aws::KMS
|
|
|
9379
9715
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
9380
9716
|
# parameter.
|
|
9381
9717
|
#
|
|
9382
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
9383
|
-
#
|
|
9718
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
9719
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
9384
9720
|
#
|
|
9385
9721
|
#
|
|
9386
9722
|
#
|
|
9387
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9723
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
9388
9724
|
#
|
|
9389
9725
|
# @return [Types::SignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
9390
9726
|
#
|
|
@@ -9437,9 +9773,9 @@ module Aws::KMS
|
|
|
9437
9773
|
# resp = client.sign({
|
|
9438
9774
|
# key_id: "KeyIdType", # required
|
|
9439
9775
|
# message: "data", # required
|
|
9440
|
-
# message_type: "RAW", # accepts RAW, DIGEST
|
|
9776
|
+
# message_type: "RAW", # accepts RAW, DIGEST, EXTERNAL_MU
|
|
9441
9777
|
# grant_tokens: ["GrantTokenType"],
|
|
9442
|
-
# signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, SM2DSA
|
|
9778
|
+
# 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, ED25519_SHA_512, ED25519_PH_SHA_512
|
|
9443
9779
|
# dry_run: false,
|
|
9444
9780
|
# })
|
|
9445
9781
|
#
|
|
@@ -9447,7 +9783,7 @@ module Aws::KMS
|
|
|
9447
9783
|
#
|
|
9448
9784
|
# resp.key_id #=> String
|
|
9449
9785
|
# resp.signature #=> String
|
|
9450
|
-
# resp.signing_algorithm #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
|
|
9786
|
+
# 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", "ED25519_SHA_512", "ED25519_PH_SHA_512"
|
|
9451
9787
|
#
|
|
9452
9788
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Sign AWS API Documentation
|
|
9453
9789
|
#
|
|
@@ -9507,17 +9843,17 @@ module Aws::KMS
|
|
|
9507
9843
|
#
|
|
9508
9844
|
#
|
|
9509
9845
|
#
|
|
9510
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-
|
|
9846
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key
|
|
9511
9847
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
|
|
9512
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-
|
|
9513
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-
|
|
9514
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9515
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9848
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
|
|
9849
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-key
|
|
9850
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
9851
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
|
|
9516
9852
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
|
|
9517
9853
|
# [8]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
|
|
9518
9854
|
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
9519
9855
|
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
9520
|
-
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
9856
|
+
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
9521
9857
|
#
|
|
9522
9858
|
# @option params [required, String] :key_id
|
|
9523
9859
|
# Identifies a customer managed key in the account and Region.
|
|
@@ -9627,13 +9963,13 @@ module Aws::KMS
|
|
|
9627
9963
|
#
|
|
9628
9964
|
#
|
|
9629
9965
|
#
|
|
9630
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-
|
|
9966
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key
|
|
9631
9967
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
|
|
9632
9968
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
|
|
9633
9969
|
# [4]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
|
|
9634
9970
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
9635
9971
|
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
9636
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
9972
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
9637
9973
|
#
|
|
9638
9974
|
# @option params [required, String] :key_id
|
|
9639
9975
|
# Identifies the KMS key from which you are removing tags.
|
|
@@ -9746,7 +10082,7 @@ module Aws::KMS
|
|
|
9746
10082
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
9747
10083
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
9748
10084
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
|
|
9749
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
10085
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
9750
10086
|
#
|
|
9751
10087
|
# @option params [required, String] :alias_name
|
|
9752
10088
|
# Identifies the alias that is changing its KMS key. This value must
|
|
@@ -9785,8 +10121,8 @@ module Aws::KMS
|
|
|
9785
10121
|
#
|
|
9786
10122
|
#
|
|
9787
10123
|
#
|
|
9788
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-
|
|
9789
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-
|
|
10124
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key
|
|
10125
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-key
|
|
9790
10126
|
#
|
|
9791
10127
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
|
9792
10128
|
#
|
|
@@ -9826,9 +10162,9 @@ module Aws::KMS
|
|
|
9826
10162
|
# verify the updated property values, use the DescribeCustomKeyStores
|
|
9827
10163
|
# operation.
|
|
9828
10164
|
#
|
|
9829
|
-
# This operation is part of the
|
|
9830
|
-
#
|
|
9831
|
-
#
|
|
10165
|
+
# This operation is part of the custom key stores feature in KMS, which
|
|
10166
|
+
# combines the convenience and extensive integration of KMS with the
|
|
10167
|
+
# isolation and control of a key store that you own and manage.
|
|
9832
10168
|
#
|
|
9833
10169
|
# When updating the properties of an external key store, verify that the
|
|
9834
10170
|
# updated settings connect your key store, via the external key store
|
|
@@ -9898,7 +10234,7 @@ module Aws::KMS
|
|
|
9898
10234
|
# **Cross-account use**: No. You cannot perform this operation on a
|
|
9899
10235
|
# custom key store in a different Amazon Web Services account.
|
|
9900
10236
|
#
|
|
9901
|
-
# **Required permissions**: [kms:UpdateCustomKeyStore][
|
|
10237
|
+
# **Required permissions**: [kms:UpdateCustomKeyStore][1] (IAM policy)
|
|
9902
10238
|
#
|
|
9903
10239
|
# **Related operations:**
|
|
9904
10240
|
#
|
|
@@ -9913,13 +10249,12 @@ module Aws::KMS
|
|
|
9913
10249
|
# * DisconnectCustomKeyStore
|
|
9914
10250
|
#
|
|
9915
10251
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
9916
|
-
# model. For more information, see [KMS eventual consistency][
|
|
10252
|
+
# model. For more information, see [KMS eventual consistency][2].
|
|
9917
10253
|
#
|
|
9918
10254
|
#
|
|
9919
10255
|
#
|
|
9920
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9921
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-
|
|
9922
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
|
|
10256
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
10257
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
9923
10258
|
#
|
|
9924
10259
|
# @option params [required, String] :custom_key_store_id
|
|
9925
10260
|
# Identifies the custom key store that you want to update. Enter the ID
|
|
@@ -10015,6 +10350,15 @@ module Aws::KMS
|
|
|
10015
10350
|
#
|
|
10016
10351
|
# To change this value, the external key store must be disconnected.
|
|
10017
10352
|
#
|
|
10353
|
+
# @option params [String] :xks_proxy_vpc_endpoint_service_owner
|
|
10354
|
+
# Changes the Amazon Web Services account ID that KMS uses to identify
|
|
10355
|
+
# the Amazon VPC endpoint service for your external key store proxy (XKS
|
|
10356
|
+
# proxy). This parameter is optional. If not specified, the current
|
|
10357
|
+
# Amazon Web Services account ID for the VPC endpoint service will not
|
|
10358
|
+
# be updated.
|
|
10359
|
+
#
|
|
10360
|
+
# To change this value, the external key store must be disconnected.
|
|
10361
|
+
#
|
|
10018
10362
|
# @option params [Types::XksProxyAuthenticationCredentialType] :xks_proxy_authentication_credential
|
|
10019
10363
|
# Changes the credentials that KMS uses to sign requests to the external
|
|
10020
10364
|
# key store proxy (XKS proxy). This parameter is valid only for custom
|
|
@@ -10156,6 +10500,7 @@ module Aws::KMS
|
|
|
10156
10500
|
# xks_proxy_uri_endpoint: "XksProxyUriEndpointType",
|
|
10157
10501
|
# xks_proxy_uri_path: "XksProxyUriPathType",
|
|
10158
10502
|
# xks_proxy_vpc_endpoint_service_name: "XksProxyVpcEndpointServiceNameType",
|
|
10503
|
+
# xks_proxy_vpc_endpoint_service_owner: "AccountIdType",
|
|
10159
10504
|
# xks_proxy_authentication_credential: {
|
|
10160
10505
|
# access_key_id: "XksProxyAuthenticationAccessKeyIdType", # required
|
|
10161
10506
|
# raw_secret_access_key: "XksProxyAuthenticationRawSecretAccessKeyType", # required
|
|
@@ -10197,7 +10542,7 @@ module Aws::KMS
|
|
|
10197
10542
|
#
|
|
10198
10543
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
10199
10544
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
10200
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
10545
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
10201
10546
|
#
|
|
10202
10547
|
# @option params [required, String] :key_id
|
|
10203
10548
|
# Updates the description of the specified KMS key.
|
|
@@ -10257,8 +10602,8 @@ module Aws::KMS
|
|
|
10257
10602
|
# key in `eu-west-2`. If you run `UpdatePrimaryRegion` with a
|
|
10258
10603
|
# `PrimaryRegion` value of `eu-west-2`, the primary key is now the key
|
|
10259
10604
|
# in `eu-west-2`, and the key in `us-east-1` becomes a replica key. For
|
|
10260
|
-
# details, see [
|
|
10261
|
-
# Service Developer Guide*.
|
|
10605
|
+
# details, see [Change the primary key in a set of multi-Region keys][1]
|
|
10606
|
+
# in the *Key Management Service Developer Guide*.
|
|
10262
10607
|
#
|
|
10263
10608
|
# This operation supports *multi-Region keys*, an KMS feature that lets
|
|
10264
10609
|
# you create multiple interoperable KMS keys in different Amazon Web
|
|
@@ -10326,7 +10671,7 @@ module Aws::KMS
|
|
|
10326
10671
|
#
|
|
10327
10672
|
#
|
|
10328
10673
|
#
|
|
10329
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-
|
|
10674
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-update.html
|
|
10330
10675
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
|
|
10331
10676
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id
|
|
10332
10677
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-spec
|
|
@@ -10335,7 +10680,7 @@ module Aws::KMS
|
|
|
10335
10680
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
|
|
10336
10681
|
# [8]: https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html
|
|
10337
10682
|
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
10338
|
-
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
10683
|
+
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
10339
10684
|
#
|
|
10340
10685
|
# @option params [required, String] :key_id
|
|
10341
10686
|
# Identifies the current primary key. When the operation completes, this
|
|
@@ -10450,10 +10795,10 @@ module Aws::KMS
|
|
|
10450
10795
|
#
|
|
10451
10796
|
#
|
|
10452
10797
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
|
|
10453
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
10798
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
|
|
10454
10799
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
10455
10800
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
10456
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
10801
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
10457
10802
|
#
|
|
10458
10803
|
# @option params [required, String] :key_id
|
|
10459
10804
|
# Identifies the asymmetric KMS key that will be used to verify the
|
|
@@ -10492,27 +10837,41 @@ module Aws::KMS
|
|
|
10492
10837
|
# @option params [String] :message_type
|
|
10493
10838
|
# Tells KMS whether the value of the `Message` parameter should be
|
|
10494
10839
|
# hashed as part of the signing algorithm. Use `RAW` for unhashed
|
|
10495
|
-
# messages; use `DIGEST` for message digests, which are already hashed
|
|
10840
|
+
# messages; use `DIGEST` for message digests, which are already hashed;
|
|
10841
|
+
# use `EXTERNAL_MU` for 64-byte representative μ used in ML-DSA signing
|
|
10842
|
+
# as defined in NIST FIPS 204 Section 6.2.
|
|
10496
10843
|
#
|
|
10497
10844
|
# When the value of `MessageType` is `RAW`, KMS uses the standard
|
|
10498
10845
|
# signing algorithm, which begins with a hash function. When the value
|
|
10499
|
-
# is `DIGEST`, KMS skips the hashing step in the signing algorithm.
|
|
10846
|
+
# is `DIGEST`, KMS skips the hashing step in the signing algorithm. When
|
|
10847
|
+
# the value is `EXTERNAL_MU` KMS skips the concatenated hashing of the
|
|
10848
|
+
# public key hash and the message done in the ML-DSA signing algorithm.
|
|
10500
10849
|
#
|
|
10501
|
-
# Use the `DIGEST` value only when the value of the
|
|
10502
|
-
# is a message digest. If you use the `DIGEST` value
|
|
10503
|
-
# message, the security of the
|
|
10850
|
+
# Use the `DIGEST` or `EXTERNAL_MU` value only when the value of the
|
|
10851
|
+
# `Message` parameter is a message digest. If you use the `DIGEST` value
|
|
10852
|
+
# with an unhashed message, the security of the signing operation can be
|
|
10504
10853
|
# compromised.
|
|
10505
10854
|
#
|
|
10506
|
-
# When
|
|
10855
|
+
# When using ECC\_NIST\_EDWARDS25519 KMS keys:
|
|
10856
|
+
#
|
|
10857
|
+
# * ED25519\_SHA\_512 signing algorithm requires KMS `MessageType:RAW`
|
|
10858
|
+
#
|
|
10859
|
+
# * ED25519\_PH\_SHA\_512 signing algorithm requires KMS
|
|
10860
|
+
# `MessageType:DIGEST`
|
|
10861
|
+
#
|
|
10862
|
+
# When the value of `MessageType` is `DIGEST`, the length of the
|
|
10507
10863
|
# `Message` value must match the length of hashed messages for the
|
|
10508
10864
|
# specified signing algorithm.
|
|
10509
10865
|
#
|
|
10866
|
+
# When the value of `MessageType` is `EXTERNAL_MU` the length of the
|
|
10867
|
+
# `Message` value must be 64 bytes.
|
|
10868
|
+
#
|
|
10510
10869
|
# You can submit a message digest and omit the `MessageType` or specify
|
|
10511
10870
|
# `RAW` so the digest is hashed again while signing. However, if the
|
|
10512
10871
|
# signed message is hashed once while signing, but twice while
|
|
10513
10872
|
# verifying, verification fails, even when the message hasn't changed.
|
|
10514
10873
|
#
|
|
10515
|
-
# The hashing algorithm
|
|
10874
|
+
# The hashing algorithm that `Verify` uses is based on the
|
|
10516
10875
|
# `SigningAlgorithm` value.
|
|
10517
10876
|
#
|
|
10518
10877
|
# * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
|
|
@@ -10524,12 +10883,15 @@ module Aws::KMS
|
|
|
10524
10883
|
# * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
|
|
10525
10884
|
# algorithm.
|
|
10526
10885
|
#
|
|
10886
|
+
# * Signing algorithms that end in SHAKE\_256 use the SHAKE\_256 hashing
|
|
10887
|
+
# algorithm.
|
|
10888
|
+
#
|
|
10527
10889
|
# * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
|
|
10528
10890
|
# verification with SM2 key pairs][1].
|
|
10529
10891
|
#
|
|
10530
10892
|
#
|
|
10531
10893
|
#
|
|
10532
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
10894
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
|
|
10533
10895
|
#
|
|
10534
10896
|
# @option params [required, String, StringIO, File] :signature
|
|
10535
10897
|
# The signature that the `Sign` operation generated.
|
|
@@ -10549,18 +10911,18 @@ module Aws::KMS
|
|
|
10549
10911
|
#
|
|
10550
10912
|
#
|
|
10551
10913
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
10552
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
10914
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
10553
10915
|
#
|
|
10554
10916
|
# @option params [Boolean] :dry_run
|
|
10555
10917
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
10556
10918
|
# parameter.
|
|
10557
10919
|
#
|
|
10558
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
10559
|
-
#
|
|
10920
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
10921
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
10560
10922
|
#
|
|
10561
10923
|
#
|
|
10562
10924
|
#
|
|
10563
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
10925
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
10564
10926
|
#
|
|
10565
10927
|
# @return [Types::VerifyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
10566
10928
|
#
|
|
@@ -10615,9 +10977,9 @@ module Aws::KMS
|
|
|
10615
10977
|
# resp = client.verify({
|
|
10616
10978
|
# key_id: "KeyIdType", # required
|
|
10617
10979
|
# message: "data", # required
|
|
10618
|
-
# message_type: "RAW", # accepts RAW, DIGEST
|
|
10980
|
+
# message_type: "RAW", # accepts RAW, DIGEST, EXTERNAL_MU
|
|
10619
10981
|
# signature: "data", # required
|
|
10620
|
-
# signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, SM2DSA
|
|
10982
|
+
# 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, ED25519_SHA_512, ED25519_PH_SHA_512
|
|
10621
10983
|
# grant_tokens: ["GrantTokenType"],
|
|
10622
10984
|
# dry_run: false,
|
|
10623
10985
|
# })
|
|
@@ -10626,7 +10988,7 @@ module Aws::KMS
|
|
|
10626
10988
|
#
|
|
10627
10989
|
# resp.key_id #=> String
|
|
10628
10990
|
# resp.signature_valid #=> Boolean
|
|
10629
|
-
# resp.signing_algorithm #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
|
|
10991
|
+
# 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", "ED25519_SHA_512", "ED25519_PH_SHA_512"
|
|
10630
10992
|
#
|
|
10631
10993
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Verify AWS API Documentation
|
|
10632
10994
|
#
|
|
@@ -10674,7 +11036,7 @@ module Aws::KMS
|
|
|
10674
11036
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
|
10675
11037
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
10676
11038
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
10677
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency
|
|
11039
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
10678
11040
|
#
|
|
10679
11041
|
# @option params [required, String, StringIO, File] :message
|
|
10680
11042
|
# The message that will be used in the verification. Enter the same
|
|
@@ -10712,18 +11074,18 @@ module Aws::KMS
|
|
|
10712
11074
|
#
|
|
10713
11075
|
#
|
|
10714
11076
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
10715
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
11077
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
10716
11078
|
#
|
|
10717
11079
|
# @option params [Boolean] :dry_run
|
|
10718
11080
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
10719
11081
|
# parameter.
|
|
10720
11082
|
#
|
|
10721
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
10722
|
-
#
|
|
11083
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
11084
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
10723
11085
|
#
|
|
10724
11086
|
#
|
|
10725
11087
|
#
|
|
10726
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
11088
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
10727
11089
|
#
|
|
10728
11090
|
# @return [Types::VerifyMacResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
10729
11091
|
#
|
|
@@ -10795,7 +11157,7 @@ module Aws::KMS
|
|
|
10795
11157
|
tracer: tracer
|
|
10796
11158
|
)
|
|
10797
11159
|
context[:gem_name] = 'aws-sdk-kms'
|
|
10798
|
-
context[:gem_version] = '1.
|
|
11160
|
+
context[:gem_version] = '1.118.0'
|
|
10799
11161
|
Seahorse::Client::Request.new(handlers, context)
|
|
10800
11162
|
end
|
|
10801
11163
|
|