aws-sdk-kms 1.94.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 +120 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-kms/client.rb +1152 -777
- data/lib/aws-sdk-kms/client_api.rb +41 -4
- data/lib/aws-sdk-kms/customizations.rb +0 -8
- data/lib/aws-sdk-kms/endpoint_parameters.rb +13 -10
- data/lib/aws-sdk-kms/endpoint_provider.rb +13 -17
- data/lib/aws-sdk-kms/endpoints.rb +2 -581
- data/lib/aws-sdk-kms/plugins/endpoints.rb +1 -112
- data/lib/aws-sdk-kms/types.rb +707 -330
- data/lib/aws-sdk-kms.rb +1 -1
- data/sig/client.rbs +41 -17
- data/sig/resource.rbs +3 -0
- data/sig/types.rbs +47 -16
- metadata +6 -9
data/lib/aws-sdk-kms/client.rb
CHANGED
|
@@ -7,34 +7,34 @@
|
|
|
7
7
|
#
|
|
8
8
|
# WARNING ABOUT GENERATED CODE
|
|
9
9
|
|
|
10
|
-
require 'seahorse/client/plugins/content_length
|
|
11
|
-
require 'aws-sdk-core/plugins/credentials_configuration
|
|
12
|
-
require 'aws-sdk-core/plugins/logging
|
|
13
|
-
require 'aws-sdk-core/plugins/param_converter
|
|
14
|
-
require 'aws-sdk-core/plugins/param_validator
|
|
15
|
-
require 'aws-sdk-core/plugins/user_agent
|
|
16
|
-
require 'aws-sdk-core/plugins/helpful_socket_errors
|
|
17
|
-
require 'aws-sdk-core/plugins/retry_errors
|
|
18
|
-
require 'aws-sdk-core/plugins/global_configuration
|
|
19
|
-
require 'aws-sdk-core/plugins/regional_endpoint
|
|
20
|
-
require 'aws-sdk-core/plugins/endpoint_discovery
|
|
21
|
-
require 'aws-sdk-core/plugins/endpoint_pattern
|
|
22
|
-
require 'aws-sdk-core/plugins/response_paging
|
|
23
|
-
require 'aws-sdk-core/plugins/stub_responses
|
|
24
|
-
require 'aws-sdk-core/plugins/idempotency_token
|
|
25
|
-
require 'aws-sdk-core/plugins/invocation_id
|
|
26
|
-
require 'aws-sdk-core/plugins/jsonvalue_converter
|
|
27
|
-
require 'aws-sdk-core/plugins/client_metrics_plugin
|
|
28
|
-
require 'aws-sdk-core/plugins/client_metrics_send_plugin
|
|
29
|
-
require 'aws-sdk-core/plugins/transfer_encoding
|
|
30
|
-
require 'aws-sdk-core/plugins/http_checksum
|
|
31
|
-
require 'aws-sdk-core/plugins/checksum_algorithm
|
|
32
|
-
require 'aws-sdk-core/plugins/request_compression
|
|
33
|
-
require 'aws-sdk-core/plugins/defaults_mode
|
|
34
|
-
require 'aws-sdk-core/plugins/recursion_detection
|
|
35
|
-
require 'aws-sdk-core/plugins/telemetry
|
|
36
|
-
require 'aws-sdk-core/plugins/sign
|
|
37
|
-
require 'aws-sdk-core/plugins/protocols/json_rpc
|
|
10
|
+
require 'seahorse/client/plugins/content_length'
|
|
11
|
+
require 'aws-sdk-core/plugins/credentials_configuration'
|
|
12
|
+
require 'aws-sdk-core/plugins/logging'
|
|
13
|
+
require 'aws-sdk-core/plugins/param_converter'
|
|
14
|
+
require 'aws-sdk-core/plugins/param_validator'
|
|
15
|
+
require 'aws-sdk-core/plugins/user_agent'
|
|
16
|
+
require 'aws-sdk-core/plugins/helpful_socket_errors'
|
|
17
|
+
require 'aws-sdk-core/plugins/retry_errors'
|
|
18
|
+
require 'aws-sdk-core/plugins/global_configuration'
|
|
19
|
+
require 'aws-sdk-core/plugins/regional_endpoint'
|
|
20
|
+
require 'aws-sdk-core/plugins/endpoint_discovery'
|
|
21
|
+
require 'aws-sdk-core/plugins/endpoint_pattern'
|
|
22
|
+
require 'aws-sdk-core/plugins/response_paging'
|
|
23
|
+
require 'aws-sdk-core/plugins/stub_responses'
|
|
24
|
+
require 'aws-sdk-core/plugins/idempotency_token'
|
|
25
|
+
require 'aws-sdk-core/plugins/invocation_id'
|
|
26
|
+
require 'aws-sdk-core/plugins/jsonvalue_converter'
|
|
27
|
+
require 'aws-sdk-core/plugins/client_metrics_plugin'
|
|
28
|
+
require 'aws-sdk-core/plugins/client_metrics_send_plugin'
|
|
29
|
+
require 'aws-sdk-core/plugins/transfer_encoding'
|
|
30
|
+
require 'aws-sdk-core/plugins/http_checksum'
|
|
31
|
+
require 'aws-sdk-core/plugins/checksum_algorithm'
|
|
32
|
+
require 'aws-sdk-core/plugins/request_compression'
|
|
33
|
+
require 'aws-sdk-core/plugins/defaults_mode'
|
|
34
|
+
require 'aws-sdk-core/plugins/recursion_detection'
|
|
35
|
+
require 'aws-sdk-core/plugins/telemetry'
|
|
36
|
+
require 'aws-sdk-core/plugins/sign'
|
|
37
|
+
require 'aws-sdk-core/plugins/protocols/json_rpc'
|
|
38
38
|
|
|
39
39
|
module Aws::KMS
|
|
40
40
|
# An API client for KMS. To construct a client, you need to configure a `:region` and `:credentials`.
|
|
@@ -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.
|
|
@@ -200,8 +207,7 @@ module Aws::KMS
|
|
|
200
207
|
# accepted modes and the configuration defaults that are included.
|
|
201
208
|
#
|
|
202
209
|
# @option options [Boolean] :disable_host_prefix_injection (false)
|
|
203
|
-
#
|
|
204
|
-
# to default service endpoint when available.
|
|
210
|
+
# When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
|
|
205
211
|
#
|
|
206
212
|
# @option options [Boolean] :disable_request_compression (false)
|
|
207
213
|
# When set to 'true' the request body will not be compressed
|
|
@@ -254,14 +260,37 @@ module Aws::KMS
|
|
|
254
260
|
# 4 times. Used in `standard` and `adaptive` retry modes.
|
|
255
261
|
#
|
|
256
262
|
# @option options [String] :profile ("default")
|
|
257
|
-
# Used when loading credentials from the shared credentials file
|
|
258
|
-
#
|
|
263
|
+
# Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
|
|
264
|
+
# When not specified, 'default' is used.
|
|
265
|
+
#
|
|
266
|
+
# @option options [String] :request_checksum_calculation ("when_supported")
|
|
267
|
+
# Determines when a checksum will be calculated for request payloads. Values are:
|
|
268
|
+
#
|
|
269
|
+
# * `when_supported` - (default) When set, a checksum will be
|
|
270
|
+
# calculated for all request payloads of operations modeled with the
|
|
271
|
+
# `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
|
|
272
|
+
# `requestAlgorithmMember` is modeled.
|
|
273
|
+
# * `when_required` - When set, a checksum will only be calculated for
|
|
274
|
+
# request payloads of operations modeled with the `httpChecksum` trait where
|
|
275
|
+
# `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
|
|
276
|
+
# is modeled and supplied.
|
|
259
277
|
#
|
|
260
278
|
# @option options [Integer] :request_min_compression_size_bytes (10240)
|
|
261
279
|
# The minimum size in bytes that triggers compression for request
|
|
262
280
|
# bodies. The value must be non-negative integer value between 0
|
|
263
281
|
# and 10485780 bytes inclusive.
|
|
264
282
|
#
|
|
283
|
+
# @option options [String] :response_checksum_validation ("when_supported")
|
|
284
|
+
# Determines when checksum validation will be performed on response payloads. Values are:
|
|
285
|
+
#
|
|
286
|
+
# * `when_supported` - (default) When set, checksum validation is performed on all
|
|
287
|
+
# response payloads of operations modeled with the `httpChecksum` trait where
|
|
288
|
+
# `responseAlgorithms` is modeled, except when no modeled checksum algorithms
|
|
289
|
+
# are supported.
|
|
290
|
+
# * `when_required` - When set, checksum validation is not performed on
|
|
291
|
+
# response payloads of operations unless the checksum algorithm is supported and
|
|
292
|
+
# the `requestValidationModeMember` member is set to `ENABLED`.
|
|
293
|
+
#
|
|
265
294
|
# @option options [Proc] :retry_backoff
|
|
266
295
|
# A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
|
|
267
296
|
# This option is only used in the `legacy` retry mode.
|
|
@@ -352,8 +381,8 @@ module Aws::KMS
|
|
|
352
381
|
# `Aws::Telemetry::OTelProvider` for telemetry provider.
|
|
353
382
|
#
|
|
354
383
|
# @option options [Aws::TokenProvider] :token_provider
|
|
355
|
-
#
|
|
356
|
-
# 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:
|
|
357
386
|
#
|
|
358
387
|
# * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
|
|
359
388
|
# tokens.
|
|
@@ -481,7 +510,7 @@ module Aws::KMS
|
|
|
481
510
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
|
|
482
511
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
483
512
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
484
|
-
# [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
|
|
485
514
|
#
|
|
486
515
|
# @option params [required, String] :key_id
|
|
487
516
|
# Identifies the KMS key whose deletion is being canceled.
|
|
@@ -553,9 +582,9 @@ module Aws::KMS
|
|
|
553
582
|
# custom key store is connected. To get the connection state of the
|
|
554
583
|
# custom key store, use the DescribeCustomKeyStores operation.
|
|
555
584
|
#
|
|
556
|
-
# This operation is part of the
|
|
557
|
-
#
|
|
558
|
-
#
|
|
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.
|
|
559
588
|
#
|
|
560
589
|
# The `ConnectCustomKeyStore` operation might fail for various reasons.
|
|
561
590
|
# To find the reason, use the DescribeCustomKeyStores operation and see
|
|
@@ -629,14 +658,14 @@ module Aws::KMS
|
|
|
629
658
|
#
|
|
630
659
|
#
|
|
631
660
|
#
|
|
632
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
661
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
633
662
|
# [2]: https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html
|
|
634
663
|
# [3]: https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_CreateHsm.html
|
|
635
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
664
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html#concept-kmsuser
|
|
636
665
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
|
|
637
666
|
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
|
|
638
667
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
639
|
-
# [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
|
|
640
669
|
#
|
|
641
670
|
# @option params [required, String] :custom_key_store_id
|
|
642
671
|
# Enter the key store ID of the custom key store that you want to
|
|
@@ -698,7 +727,7 @@ module Aws::KMS
|
|
|
698
727
|
#
|
|
699
728
|
# The alias must be unique in the account and Region, but you can have
|
|
700
729
|
# aliases with the same name in different Regions. For detailed
|
|
701
|
-
# information about aliases, see [
|
|
730
|
+
# information about aliases, see [Aliases in KMS][3] in the *Key
|
|
702
731
|
# Management Service Developer Guide*.
|
|
703
732
|
#
|
|
704
733
|
# This operation does not return a response. To get the alias that you
|
|
@@ -734,12 +763,12 @@ module Aws::KMS
|
|
|
734
763
|
#
|
|
735
764
|
#
|
|
736
765
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
|
|
737
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
766
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
|
|
738
767
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
|
|
739
768
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
740
769
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
741
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
742
|
-
# [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
|
|
743
772
|
#
|
|
744
773
|
# @option params [required, String] :alias_name
|
|
745
774
|
# Specifies the alias name. This value must begin with `alias/` followed
|
|
@@ -757,7 +786,7 @@ module Aws::KMS
|
|
|
757
786
|
#
|
|
758
787
|
#
|
|
759
788
|
#
|
|
760
|
-
# [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
|
|
761
790
|
#
|
|
762
791
|
# @option params [required, String] :target_key_id
|
|
763
792
|
# Associates the alias with the specified [customer managed key][1]. The
|
|
@@ -766,7 +795,7 @@ module Aws::KMS
|
|
|
766
795
|
# A valid key ID is required. If you supply a null or empty string
|
|
767
796
|
# value, this operation returns an error.
|
|
768
797
|
#
|
|
769
|
-
# 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
|
|
770
799
|
# ARN][2] in the <i> <i>Key Management Service Developer Guide</i> </i>.
|
|
771
800
|
#
|
|
772
801
|
# Specify the key ID or key ARN of the KMS key.
|
|
@@ -783,8 +812,8 @@ module Aws::KMS
|
|
|
783
812
|
#
|
|
784
813
|
#
|
|
785
814
|
#
|
|
786
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-
|
|
787
|
-
# [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
|
|
788
817
|
#
|
|
789
818
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
|
790
819
|
#
|
|
@@ -822,9 +851,9 @@ module Aws::KMS
|
|
|
822
851
|
# stores][4] backed by an external key store proxy and external key
|
|
823
852
|
# manager outside of Amazon Web Services.
|
|
824
853
|
#
|
|
825
|
-
# This operation is part of the
|
|
826
|
-
#
|
|
827
|
-
#
|
|
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.
|
|
828
857
|
#
|
|
829
858
|
# Before you create the custom key store, the required elements must be
|
|
830
859
|
# in place and operational. We recommend that you use the test tools
|
|
@@ -877,9 +906,6 @@ module Aws::KMS
|
|
|
877
906
|
# immediately, you might want to connect it to verify that all settings
|
|
878
907
|
# are correct and then disconnect it until you are ready to use it.
|
|
879
908
|
#
|
|
880
|
-
# For help with failures, see [Troubleshooting a custom key store][7] in
|
|
881
|
-
# the *Key Management Service Developer Guide*.
|
|
882
|
-
#
|
|
883
909
|
# **Cross-account use**: No. You cannot perform this operation on a
|
|
884
910
|
# custom key store in a different Amazon Web Services account.
|
|
885
911
|
#
|
|
@@ -902,7 +928,7 @@ module Aws::KMS
|
|
|
902
928
|
#
|
|
903
929
|
#
|
|
904
930
|
#
|
|
905
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
931
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
906
932
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
|
|
907
933
|
# [3]: https://docs.aws.amazon.com/cloudhsm/latest/userguide/clusters.html
|
|
908
934
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
|
|
@@ -911,7 +937,7 @@ module Aws::KMS
|
|
|
911
937
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
|
|
912
938
|
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
|
|
913
939
|
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
914
|
-
# [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
|
|
915
941
|
#
|
|
916
942
|
# @option params [required, String] :custom_key_store_name
|
|
917
943
|
# Specifies a friendly name for the custom key store. The name must be
|
|
@@ -965,7 +991,7 @@ module Aws::KMS
|
|
|
965
991
|
#
|
|
966
992
|
#
|
|
967
993
|
#
|
|
968
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
994
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html#concept-kmsuser
|
|
969
995
|
#
|
|
970
996
|
# @option params [String] :custom_key_store_type
|
|
971
997
|
# Specifies the type of custom key store. The default value is
|
|
@@ -1057,6 +1083,13 @@ module Aws::KMS
|
|
|
1057
1083
|
#
|
|
1058
1084
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/create-xks-keystore.html#xks-requirements
|
|
1059
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
|
+
#
|
|
1060
1093
|
# @option params [Types::XksProxyAuthenticationCredentialType] :xks_proxy_authentication_credential
|
|
1061
1094
|
# Specifies an authentication credential for the external key store
|
|
1062
1095
|
# proxy (XKS proxy). This parameter is required for all custom key
|
|
@@ -1066,7 +1099,7 @@ module Aws::KMS
|
|
|
1066
1099
|
# `RawSecretAccessKey`, a secret key, and `AccessKeyId`, a unique
|
|
1067
1100
|
# identifier for the `RawSecretAccessKey`. For character requirements,
|
|
1068
1101
|
# see
|
|
1069
|
-
# [XksProxyAuthenticationCredentialType](
|
|
1102
|
+
# [XksProxyAuthenticationCredentialType](API_XksProxyAuthenticationCredentialType.html).
|
|
1070
1103
|
#
|
|
1071
1104
|
# KMS uses this authentication credential to sign requests to the
|
|
1072
1105
|
# external key store proxy on your behalf. This credential is unrelated
|
|
@@ -1106,7 +1139,7 @@ module Aws::KMS
|
|
|
1106
1139
|
#
|
|
1107
1140
|
#
|
|
1108
1141
|
#
|
|
1109
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1142
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/choose-xks-connectivity.html
|
|
1110
1143
|
#
|
|
1111
1144
|
# @return [Types::CreateCustomKeyStoreResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
1112
1145
|
#
|
|
@@ -1183,6 +1216,7 @@ module Aws::KMS
|
|
|
1183
1216
|
# xks_proxy_uri_endpoint: "XksProxyUriEndpointType",
|
|
1184
1217
|
# xks_proxy_uri_path: "XksProxyUriPathType",
|
|
1185
1218
|
# xks_proxy_vpc_endpoint_service_name: "XksProxyVpcEndpointServiceNameType",
|
|
1219
|
+
# xks_proxy_vpc_endpoint_service_owner: "AccountIdType",
|
|
1186
1220
|
# xks_proxy_authentication_credential: {
|
|
1187
1221
|
# access_key_id: "XksProxyAuthenticationAccessKeyIdType", # required
|
|
1188
1222
|
# raw_secret_access_key: "XksProxyAuthenticationRawSecretAccessKeyType", # required
|
|
@@ -1215,8 +1249,9 @@ module Aws::KMS
|
|
|
1215
1249
|
#
|
|
1216
1250
|
# For detailed information about grants, including grant terminology,
|
|
1217
1251
|
# see [Grants in KMS][1] in the <i> <i>Key Management Service Developer
|
|
1218
|
-
# Guide</i> </i>. For examples of
|
|
1219
|
-
#
|
|
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].
|
|
1220
1255
|
#
|
|
1221
1256
|
# The `CreateGrant` operation returns a `GrantToken` and a `GrantId`.
|
|
1222
1257
|
#
|
|
@@ -1262,11 +1297,11 @@ module Aws::KMS
|
|
|
1262
1297
|
#
|
|
1263
1298
|
#
|
|
1264
1299
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
|
|
1265
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1266
|
-
# [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
|
|
1267
1302
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
1268
1303
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
1269
|
-
# [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
|
|
1270
1305
|
#
|
|
1271
1306
|
# @option params [required, String] :key_id
|
|
1272
1307
|
# Identifies the KMS key for the grant. The grant gives principals
|
|
@@ -1319,7 +1354,7 @@ module Aws::KMS
|
|
|
1319
1354
|
#
|
|
1320
1355
|
# [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
|
1321
1356
|
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns
|
|
1322
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-
|
|
1357
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
|
|
1323
1358
|
#
|
|
1324
1359
|
# @option params [required, Array<String>] :operations
|
|
1325
1360
|
# A list of operations that the grant permits.
|
|
@@ -1388,7 +1423,7 @@ module Aws::KMS
|
|
|
1388
1423
|
#
|
|
1389
1424
|
#
|
|
1390
1425
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
1391
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1426
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
1392
1427
|
#
|
|
1393
1428
|
# @option params [String] :name
|
|
1394
1429
|
# A friendly name for the grant. Use this value to prevent the
|
|
@@ -1414,12 +1449,12 @@ module Aws::KMS
|
|
|
1414
1449
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
1415
1450
|
# parameter.
|
|
1416
1451
|
#
|
|
1417
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
1418
|
-
#
|
|
1452
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
1453
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
1419
1454
|
#
|
|
1420
1455
|
#
|
|
1421
1456
|
#
|
|
1422
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1457
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
1423
1458
|
#
|
|
1424
1459
|
# @return [Types::CreateGrantResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
1425
1460
|
#
|
|
@@ -1489,16 +1524,15 @@ module Aws::KMS
|
|
|
1489
1524
|
# A KMS key is a logical representation of a cryptographic key. In
|
|
1490
1525
|
# addition to the key material used in cryptographic operations, a KMS
|
|
1491
1526
|
# key includes metadata, such as the key ID, key policy, creation date,
|
|
1492
|
-
# description, and key state.
|
|
1493
|
-
# *Key Management Service Developer Guide*
|
|
1527
|
+
# description, and key state.
|
|
1494
1528
|
#
|
|
1495
1529
|
# Use the parameters of `CreateKey` to specify the type of KMS key, the
|
|
1496
1530
|
# source of its key material, its key policy, description, tags, and
|
|
1497
1531
|
# other properties.
|
|
1498
1532
|
#
|
|
1499
|
-
# <note markdown="1"> KMS has replaced the term *customer master key (CMK)* with *
|
|
1500
|
-
# and *KMS key*. The concept has not changed. To
|
|
1501
|
-
# 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.
|
|
1502
1536
|
#
|
|
1503
1537
|
# </note>
|
|
1504
1538
|
#
|
|
@@ -1536,20 +1570,21 @@ module Aws::KMS
|
|
|
1536
1570
|
# properties after the KMS key is created.
|
|
1537
1571
|
#
|
|
1538
1572
|
# Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC)
|
|
1539
|
-
# key pair, or an SM2 key pair (China Regions only).
|
|
1540
|
-
# in an asymmetric KMS key never leaves KMS
|
|
1541
|
-
# can use the GetPublicKey operation to
|
|
1542
|
-
# can be used outside of KMS. Each KMS
|
|
1543
|
-
# usage. KMS keys with RSA key pairs can be
|
|
1544
|
-
# decrypt data or sign and verify messages (but
|
|
1545
|
-
# with NIST-
|
|
1546
|
-
# messages or derive shared secrets (but not both).
|
|
1547
|
-
# `ECC_SECG_P256K1` can be used only to sign and verify
|
|
1548
|
-
# keys with
|
|
1549
|
-
#
|
|
1550
|
-
#
|
|
1551
|
-
#
|
|
1552
|
-
#
|
|
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*.
|
|
1553
1588
|
#
|
|
1554
1589
|
#
|
|
1555
1590
|
#
|
|
@@ -1592,7 +1627,7 @@ module Aws::KMS
|
|
|
1592
1627
|
# to encrypt data in one Amazon Web Services Region and decrypt it in
|
|
1593
1628
|
# a different Amazon Web Services Region without re-encrypting the
|
|
1594
1629
|
# data or making a cross-Region call. For more information about
|
|
1595
|
-
# multi-Region keys, see [Multi-Region keys in KMS][
|
|
1630
|
+
# multi-Region keys, see [Multi-Region keys in KMS][3] in the *Key
|
|
1596
1631
|
# Management Service Developer Guide*.
|
|
1597
1632
|
#
|
|
1598
1633
|
#
|
|
@@ -1604,7 +1639,7 @@ module Aws::KMS
|
|
|
1604
1639
|
# token. Use the wrapping public key to encrypt your key material.
|
|
1605
1640
|
# Then, use ImportKeyMaterial with your import token to import the key
|
|
1606
1641
|
# material. For step-by-step instructions, see [Importing Key
|
|
1607
|
-
# Material][
|
|
1642
|
+
# Material][4] in the <i> <i>Key Management Service Developer
|
|
1608
1643
|
# Guide</i> </i>.
|
|
1609
1644
|
#
|
|
1610
1645
|
# You can import key material into KMS keys of all supported KMS key
|
|
@@ -1617,23 +1652,22 @@ module Aws::KMS
|
|
|
1617
1652
|
# the `Origin` parameter of `CreateKey` with a value of `EXTERNAL` and
|
|
1618
1653
|
# the `MultiRegion` parameter with a value of `True`. To create
|
|
1619
1654
|
# replicas of the multi-Region primary key, use the ReplicateKey
|
|
1620
|
-
# operation. For instructions, see [Importing key material
|
|
1621
|
-
#
|
|
1622
|
-
#
|
|
1623
|
-
# 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*.
|
|
1624
1658
|
#
|
|
1625
1659
|
#
|
|
1626
1660
|
#
|
|
1627
1661
|
# Custom key store
|
|
1628
1662
|
#
|
|
1629
|
-
# : A [custom key store][
|
|
1663
|
+
# : A [custom key store][6] lets you protect your Amazon Web Services
|
|
1630
1664
|
# resources using keys in a backing key store that you own and manage.
|
|
1631
1665
|
# When you request a cryptographic operation with a KMS key in a
|
|
1632
1666
|
# custom key store, the operation is performed in the backing key
|
|
1633
1667
|
# store using its cryptographic keys.
|
|
1634
1668
|
#
|
|
1635
|
-
# KMS supports [CloudHSM key stores][
|
|
1636
|
-
# 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
|
|
1637
1671
|
# outside of Amazon Web Services. When you create a KMS key in an
|
|
1638
1672
|
# CloudHSM key store, KMS generates an encryption key in the CloudHSM
|
|
1639
1673
|
# cluster and associates it with the KMS key. When you create a KMS
|
|
@@ -1658,13 +1692,13 @@ module Aws::KMS
|
|
|
1658
1692
|
# `ENCRYPT_DECRYPT` to create a symmetric encryption key. No other key
|
|
1659
1693
|
# type is supported in a custom key store.
|
|
1660
1694
|
#
|
|
1661
|
-
# 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`
|
|
1662
1696
|
# parameter with a value of `AWS_CLOUDHSM`. The CloudHSM cluster that
|
|
1663
1697
|
# is associated with the custom key store must have at least two
|
|
1664
1698
|
# active HSMs in different Availability Zones in the Amazon Web
|
|
1665
1699
|
# Services Region.
|
|
1666
1700
|
#
|
|
1667
|
-
# 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`
|
|
1668
1702
|
# parameter with a value of `EXTERNAL_KEY_STORE` and an `XksKeyId`
|
|
1669
1703
|
# parameter that identifies an existing external key.
|
|
1670
1704
|
#
|
|
@@ -1677,10 +1711,10 @@ module Aws::KMS
|
|
|
1677
1711
|
# **Cross-account use**: No. You cannot use this operation to create a
|
|
1678
1712
|
# KMS key in a different Amazon Web Services account.
|
|
1679
1713
|
#
|
|
1680
|
-
# **Required permissions**: [kms:CreateKey][
|
|
1681
|
-
# `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
|
|
1682
1716
|
# information about related permissions, see [Allow a user to create KMS
|
|
1683
|
-
# keys][
|
|
1717
|
+
# keys][12] in the *Key Management Service Developer Guide*.
|
|
1684
1718
|
#
|
|
1685
1719
|
# **Related operations:**
|
|
1686
1720
|
#
|
|
@@ -1691,22 +1725,23 @@ module Aws::KMS
|
|
|
1691
1725
|
# * ScheduleKeyDeletion
|
|
1692
1726
|
#
|
|
1693
1727
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
1694
|
-
# model. For more information, see [KMS eventual consistency][
|
|
1728
|
+
# model. For more information, see [KMS eventual consistency][13].
|
|
1695
1729
|
#
|
|
1696
1730
|
#
|
|
1697
1731
|
#
|
|
1698
1732
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms-keys
|
|
1699
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1700
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1701
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1702
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
1703
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1704
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1705
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-
|
|
1706
|
-
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore
|
|
1707
|
-
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1708
|
-
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1709
|
-
# [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
|
|
1710
1745
|
#
|
|
1711
1746
|
# @option params [String] :policy
|
|
1712
1747
|
# The key policy to attach to the KMS key.
|
|
@@ -1728,22 +1763,38 @@ module Aws::KMS
|
|
|
1728
1763
|
# not always immediately visible][2] in the *Amazon Web Services
|
|
1729
1764
|
# Identity and Access Management User Guide*.
|
|
1730
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
|
+
#
|
|
1731
1778
|
# If you do not provide a key policy, KMS attaches a default key policy
|
|
1732
|
-
# 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
|
|
1733
1780
|
# the *Key Management Service Developer Guide*.
|
|
1734
1781
|
#
|
|
1735
|
-
#
|
|
1782
|
+
# <note markdown="1"> If the key policy exceeds the length constraint, KMS returns a
|
|
1783
|
+
# `LimitExceededException`.
|
|
1784
|
+
#
|
|
1785
|
+
# </note>
|
|
1736
1786
|
#
|
|
1737
1787
|
# For help writing and formatting a JSON policy document, see the [IAM
|
|
1738
|
-
# JSON Policy Reference][
|
|
1788
|
+
# JSON Policy Reference][5] in the <i> <i>Identity and Access Management
|
|
1739
1789
|
# User Guide</i> </i>.
|
|
1740
1790
|
#
|
|
1741
1791
|
#
|
|
1742
1792
|
#
|
|
1743
1793
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
|
|
1744
1794
|
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
|
|
1745
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-
|
|
1746
|
-
# [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
|
|
1747
1798
|
#
|
|
1748
1799
|
# @option params [String] :description
|
|
1749
1800
|
# A description of the KMS key. Use a description that helps you decide
|
|
@@ -1761,8 +1812,10 @@ module Aws::KMS
|
|
|
1761
1812
|
# Determines the [cryptographic operations][1] for which you can use the
|
|
1762
1813
|
# KMS key. The default value is `ENCRYPT_DECRYPT`. This parameter is
|
|
1763
1814
|
# optional when you are creating a symmetric encryption KMS key;
|
|
1764
|
-
# otherwise, it is required. You can't change the `KeyUsage`
|
|
1765
|
-
# 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.
|
|
1766
1819
|
#
|
|
1767
1820
|
# Select only one valid value.
|
|
1768
1821
|
#
|
|
@@ -1774,10 +1827,13 @@ module Aws::KMS
|
|
|
1774
1827
|
# * For asymmetric KMS keys with RSA key pairs, specify
|
|
1775
1828
|
# `ENCRYPT_DECRYPT` or `SIGN_VERIFY`.
|
|
1776
1829
|
#
|
|
1777
|
-
# * For asymmetric KMS keys with NIST-
|
|
1778
|
-
#
|
|
1830
|
+
# * For asymmetric KMS keys with NIST-standard elliptic curve key pairs,
|
|
1831
|
+
# specify `SIGN_VERIFY` or `KEY_AGREEMENT`.
|
|
1779
1832
|
#
|
|
1780
|
-
# * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs specify
|
|
1833
|
+
# * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs, specify
|
|
1834
|
+
# `SIGN_VERIFY`.
|
|
1835
|
+
#
|
|
1836
|
+
# * For asymmetric KMS keys with ML-DSA key pairs, specify
|
|
1781
1837
|
# `SIGN_VERIFY`.
|
|
1782
1838
|
#
|
|
1783
1839
|
# * For asymmetric KMS keys with SM2 key pairs (China Regions only),
|
|
@@ -1785,7 +1841,9 @@ module Aws::KMS
|
|
|
1785
1841
|
#
|
|
1786
1842
|
#
|
|
1787
1843
|
#
|
|
1788
|
-
# [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
|
|
1789
1847
|
#
|
|
1790
1848
|
# @option params [String] :customer_master_key_spec
|
|
1791
1849
|
# Instead, use the `KeySpec` parameter.
|
|
@@ -1799,20 +1857,21 @@ module Aws::KMS
|
|
|
1799
1857
|
# Specifies the type of KMS key to create. The default value,
|
|
1800
1858
|
# `SYMMETRIC_DEFAULT`, creates a KMS key with a 256-bit AES-GCM key that
|
|
1801
1859
|
# is used for encryption and decryption, except in China Regions, where
|
|
1802
|
-
# it creates a 128-bit symmetric key that uses SM4 encryption. For
|
|
1803
|
-
#
|
|
1804
|
-
# 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>.
|
|
1805
1864
|
#
|
|
1806
1865
|
# The `KeySpec` determines whether the KMS key contains a symmetric key
|
|
1807
1866
|
# or an asymmetric key pair. It also determines the algorithms that the
|
|
1808
1867
|
# KMS key supports. You can't change the `KeySpec` after the KMS key is
|
|
1809
1868
|
# created. To further restrict the algorithms that can be used with the
|
|
1810
1869
|
# KMS key, use a condition key in its key policy or IAM policy. For more
|
|
1811
|
-
# information, see [kms:EncryptionAlgorithm][2], [kms:MacAlgorithm][3]
|
|
1812
|
-
# or [kms:
|
|
1813
|
-
# 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>.
|
|
1814
1873
|
#
|
|
1815
|
-
# [Amazon Web Services services that are integrated with KMS][
|
|
1874
|
+
# [Amazon Web Services services that are integrated with KMS][6] use
|
|
1816
1875
|
# symmetric encryption KMS keys to protect your data. These services do
|
|
1817
1876
|
# not support asymmetric KMS keys or HMAC KMS keys.
|
|
1818
1877
|
#
|
|
@@ -1823,7 +1882,6 @@ module Aws::KMS
|
|
|
1823
1882
|
# * `SYMMETRIC_DEFAULT`
|
|
1824
1883
|
#
|
|
1825
1884
|
# ^
|
|
1826
|
-
#
|
|
1827
1885
|
# * HMAC keys (symmetric)
|
|
1828
1886
|
#
|
|
1829
1887
|
# * `HMAC_224`
|
|
@@ -1833,7 +1891,6 @@ module Aws::KMS
|
|
|
1833
1891
|
# * `HMAC_384`
|
|
1834
1892
|
#
|
|
1835
1893
|
# * `HMAC_512`
|
|
1836
|
-
#
|
|
1837
1894
|
# * Asymmetric RSA key pairs (encryption and decryption -or- signing and
|
|
1838
1895
|
# verification)
|
|
1839
1896
|
#
|
|
@@ -1842,8 +1899,7 @@ module Aws::KMS
|
|
|
1842
1899
|
# * `RSA_3072`
|
|
1843
1900
|
#
|
|
1844
1901
|
# * `RSA_4096`
|
|
1845
|
-
#
|
|
1846
|
-
# * Asymmetric NIST-recommended elliptic curve key pairs (signing and
|
|
1902
|
+
# * Asymmetric NIST-standard elliptic curve key pairs (signing and
|
|
1847
1903
|
# verification -or- deriving shared secrets)
|
|
1848
1904
|
#
|
|
1849
1905
|
# * `ECC_NIST_P256` (secp256r1)
|
|
@@ -1852,12 +1908,28 @@ module Aws::KMS
|
|
|
1852
1908
|
#
|
|
1853
1909
|
# * `ECC_NIST_P521` (secp521r1)
|
|
1854
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
|
+
# ^
|
|
1855
1921
|
# * Other asymmetric elliptic curve key pairs (signing and verification)
|
|
1856
1922
|
#
|
|
1857
1923
|
# * `ECC_SECG_P256K1` (secp256k1), commonly used for cryptocurrencies.
|
|
1858
1924
|
#
|
|
1859
1925
|
# ^
|
|
1926
|
+
# * Asymmetric ML-DSA key pairs (signing and verification)
|
|
1927
|
+
#
|
|
1928
|
+
# * `ML_DSA_44`
|
|
1860
1929
|
#
|
|
1930
|
+
# * `ML_DSA_65`
|
|
1931
|
+
#
|
|
1932
|
+
# * `ML_DSA_87`
|
|
1861
1933
|
# * SM2 key pairs (encryption and decryption -or- signing and
|
|
1862
1934
|
# verification -or- deriving shared secrets)
|
|
1863
1935
|
#
|
|
@@ -1867,11 +1939,12 @@ module Aws::KMS
|
|
|
1867
1939
|
#
|
|
1868
1940
|
#
|
|
1869
1941
|
#
|
|
1870
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1871
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1872
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1873
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1874
|
-
# [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
|
|
1875
1948
|
#
|
|
1876
1949
|
# @option params [String] :origin
|
|
1877
1950
|
# The source of the key material for the KMS key. You cannot change the
|
|
@@ -1921,7 +1994,7 @@ module Aws::KMS
|
|
|
1921
1994
|
#
|
|
1922
1995
|
#
|
|
1923
1996
|
#
|
|
1924
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
1997
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
1925
1998
|
#
|
|
1926
1999
|
# @option params [Boolean] :bypass_policy_lockout_safety_check
|
|
1927
2000
|
# Skips ("bypasses") the key policy lockout safety check. The default
|
|
@@ -1969,7 +2042,7 @@ module Aws::KMS
|
|
|
1969
2042
|
# When you add tags to an Amazon Web Services resource, Amazon Web
|
|
1970
2043
|
# Services generates a cost allocation report with usage and costs
|
|
1971
2044
|
# aggregated by tags. Tags can also be used to control access to a KMS
|
|
1972
|
-
# key. For details, see [
|
|
2045
|
+
# key. For details, see [Tags in KMS][3].
|
|
1973
2046
|
#
|
|
1974
2047
|
#
|
|
1975
2048
|
#
|
|
@@ -2040,7 +2113,7 @@ module Aws::KMS
|
|
|
2040
2113
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-external-key
|
|
2041
2114
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
|
|
2042
2115
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-xks-proxy
|
|
2043
|
-
# [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
|
|
2044
2117
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-double-encryption
|
|
2045
2118
|
#
|
|
2046
2119
|
# @return [Types::CreateKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
@@ -2062,6 +2135,7 @@ module Aws::KMS
|
|
|
2062
2135
|
# aws_account_id: "111122223333",
|
|
2063
2136
|
# arn: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
|
|
2064
2137
|
# creation_date: Time.parse("2017-07-05T14:04:55-07:00"),
|
|
2138
|
+
# current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
|
|
2065
2139
|
# customer_master_key_spec: "SYMMETRIC_DEFAULT",
|
|
2066
2140
|
# description: "",
|
|
2067
2141
|
# enabled: true,
|
|
@@ -2114,8 +2188,7 @@ module Aws::KMS
|
|
|
2114
2188
|
# @example Example: To create an asymmetric elliptic curve KMS key for signing and verification
|
|
2115
2189
|
#
|
|
2116
2190
|
# # This example creates a KMS key that contains an asymmetric elliptic curve (ECC) key pair for signing and verification.
|
|
2117
|
-
# # The key
|
|
2118
|
-
# # 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.
|
|
2119
2192
|
#
|
|
2120
2193
|
# resp = client.create_key({
|
|
2121
2194
|
# key_spec: "ECC_NIST_P521", # Describes the type of key material in the KMS key.
|
|
@@ -2176,6 +2249,38 @@ module Aws::KMS
|
|
|
2176
2249
|
# }, # Detailed information about the KMS key that this operation creates.
|
|
2177
2250
|
# }
|
|
2178
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
|
+
#
|
|
2179
2284
|
# @example Example: To create a multi-Region primary KMS key
|
|
2180
2285
|
#
|
|
2181
2286
|
# # This example creates a multi-Region primary symmetric encryption key. Because the default values for all parameters
|
|
@@ -2191,6 +2296,7 @@ module Aws::KMS
|
|
|
2191
2296
|
# aws_account_id: "111122223333",
|
|
2192
2297
|
# arn: "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab",
|
|
2193
2298
|
# creation_date: Time.parse("2021-09-02T016:15:21-09:00"),
|
|
2299
|
+
# current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
|
|
2194
2300
|
# customer_master_key_spec: "SYMMETRIC_DEFAULT",
|
|
2195
2301
|
# description: "",
|
|
2196
2302
|
# enabled: true,
|
|
@@ -2327,7 +2433,7 @@ module Aws::KMS
|
|
|
2327
2433
|
# description: "DescriptionType",
|
|
2328
2434
|
# key_usage: "SIGN_VERIFY", # accepts SIGN_VERIFY, ENCRYPT_DECRYPT, GENERATE_VERIFY_MAC, KEY_AGREEMENT
|
|
2329
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
|
|
2330
|
-
# 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
|
|
2331
2437
|
# origin: "AWS_KMS", # accepts AWS_KMS, EXTERNAL, AWS_CLOUDHSM, EXTERNAL_KEY_STORE
|
|
2332
2438
|
# custom_key_store_id: "CustomKeyStoreIdType",
|
|
2333
2439
|
# bypass_policy_lockout_safety_check: false,
|
|
@@ -2359,11 +2465,11 @@ module Aws::KMS
|
|
|
2359
2465
|
# resp.key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
|
|
2360
2466
|
# resp.key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
|
|
2361
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"
|
|
2362
|
-
# 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"
|
|
2363
2469
|
# resp.key_metadata.encryption_algorithms #=> Array
|
|
2364
2470
|
# resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
2365
2471
|
# resp.key_metadata.signing_algorithms #=> Array
|
|
2366
|
-
# 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"
|
|
2367
2473
|
# resp.key_metadata.key_agreement_algorithms #=> Array
|
|
2368
2474
|
# resp.key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
|
|
2369
2475
|
# resp.key_metadata.multi_region #=> Boolean
|
|
@@ -2377,6 +2483,7 @@ module Aws::KMS
|
|
|
2377
2483
|
# resp.key_metadata.mac_algorithms #=> Array
|
|
2378
2484
|
# resp.key_metadata.mac_algorithms[0] #=> String, one of "HMAC_SHA_224", "HMAC_SHA_256", "HMAC_SHA_384", "HMAC_SHA_512"
|
|
2379
2485
|
# resp.key_metadata.xks_key_configuration.id #=> String
|
|
2486
|
+
# resp.key_metadata.current_key_material_id #=> String
|
|
2380
2487
|
#
|
|
2381
2488
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateKey AWS API Documentation
|
|
2382
2489
|
#
|
|
@@ -2427,27 +2534,26 @@ module Aws::KMS
|
|
|
2427
2534
|
# key that you intend.
|
|
2428
2535
|
#
|
|
2429
2536
|
# Whenever possible, use key policies to give users permission to call
|
|
2430
|
-
# the `Decrypt` operation on a particular KMS key, instead of using
|
|
2431
|
-
#
|
|
2432
|
-
#
|
|
2433
|
-
#
|
|
2434
|
-
#
|
|
2435
|
-
#
|
|
2436
|
-
#
|
|
2437
|
-
#
|
|
2438
|
-
#
|
|
2439
|
-
#
|
|
2440
|
-
#
|
|
2441
|
-
#
|
|
2442
|
-
#
|
|
2443
|
-
#
|
|
2444
|
-
#
|
|
2445
|
-
#
|
|
2446
|
-
#
|
|
2447
|
-
#
|
|
2448
|
-
#
|
|
2449
|
-
#
|
|
2450
|
-
# 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*.
|
|
2451
2557
|
#
|
|
2452
2558
|
# The KMS key that you use for this operation must be in a compatible
|
|
2453
2559
|
# key state. For details, see [Key states of KMS keys][8] in the *Key
|
|
@@ -2480,10 +2586,10 @@ module Aws::KMS
|
|
|
2480
2586
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policies-best-practices
|
|
2481
2587
|
# [5]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
|
2482
2588
|
# [6]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
2483
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2589
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
2484
2590
|
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
2485
2591
|
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
2486
|
-
# [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
|
|
2487
2593
|
#
|
|
2488
2594
|
# @option params [required, String, StringIO, File] :ciphertext_blob
|
|
2489
2595
|
# Ciphertext to be decrypted. The blob includes metadata.
|
|
@@ -2508,8 +2614,8 @@ module Aws::KMS
|
|
|
2508
2614
|
#
|
|
2509
2615
|
#
|
|
2510
2616
|
#
|
|
2511
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2512
|
-
# [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
|
|
2513
2619
|
#
|
|
2514
2620
|
# @option params [Array<String>] :grant_tokens
|
|
2515
2621
|
# A list of grant tokens.
|
|
@@ -2522,7 +2628,7 @@ module Aws::KMS
|
|
|
2522
2628
|
#
|
|
2523
2629
|
#
|
|
2524
2630
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
2525
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2631
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
2526
2632
|
#
|
|
2527
2633
|
# @option params [String] :key_id
|
|
2528
2634
|
# Specifies the KMS key that KMS uses to decrypt the ciphertext.
|
|
@@ -2570,40 +2676,43 @@ module Aws::KMS
|
|
|
2570
2676
|
#
|
|
2571
2677
|
# @option params [Types::RecipientInfo] :recipient
|
|
2572
2678
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
|
2573
|
-
# enclave and the encryption algorithm to use with the
|
|
2574
|
-
# 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`.
|
|
2575
2682
|
#
|
|
2576
|
-
# This parameter
|
|
2577
|
-
#
|
|
2578
|
-
#
|
|
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.
|
|
2579
2687
|
#
|
|
2580
2688
|
# When you use this parameter, instead of returning the plaintext data,
|
|
2581
2689
|
# KMS encrypts the plaintext data with the public key in the attestation
|
|
2582
2690
|
# document, and returns the resulting ciphertext in the
|
|
2583
2691
|
# `CiphertextForRecipient` field in the response. This ciphertext can be
|
|
2584
|
-
# decrypted only with the private key in the
|
|
2585
|
-
# 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.
|
|
2586
2694
|
#
|
|
2587
2695
|
# For information about the interaction between KMS and Amazon Web
|
|
2588
|
-
# Services Nitro Enclaves
|
|
2589
|
-
#
|
|
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*.
|
|
2590
2699
|
#
|
|
2591
2700
|
#
|
|
2592
2701
|
#
|
|
2593
2702
|
# [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-concepts.html#term-attestdoc
|
|
2594
2703
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
2595
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2704
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
2596
2705
|
#
|
|
2597
2706
|
# @option params [Boolean] :dry_run
|
|
2598
2707
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
2599
2708
|
# parameter.
|
|
2600
2709
|
#
|
|
2601
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
2602
|
-
#
|
|
2710
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
2711
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
2603
2712
|
#
|
|
2604
2713
|
#
|
|
2605
2714
|
#
|
|
2606
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2715
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
2607
2716
|
#
|
|
2608
2717
|
# @return [Types::DecryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
2609
2718
|
#
|
|
@@ -2611,6 +2720,7 @@ module Aws::KMS
|
|
|
2611
2720
|
# * {Types::DecryptResponse#plaintext #plaintext} => String
|
|
2612
2721
|
# * {Types::DecryptResponse#encryption_algorithm #encryption_algorithm} => String
|
|
2613
2722
|
# * {Types::DecryptResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
|
|
2723
|
+
# * {Types::DecryptResponse#key_material_id #key_material_id} => String
|
|
2614
2724
|
#
|
|
2615
2725
|
#
|
|
2616
2726
|
# @example Example: To decrypt data with a symmetric encryption KMS key
|
|
@@ -2627,6 +2737,7 @@ module Aws::KMS
|
|
|
2627
2737
|
# {
|
|
2628
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.
|
|
2629
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.
|
|
2630
2741
|
# plaintext: "<binary data>", # The decrypted (plaintext) data.
|
|
2631
2742
|
# }
|
|
2632
2743
|
#
|
|
@@ -2648,11 +2759,11 @@ module Aws::KMS
|
|
|
2648
2759
|
# plaintext: "<binary data>", # The decrypted (plaintext) data.
|
|
2649
2760
|
# }
|
|
2650
2761
|
#
|
|
2651
|
-
# @example Example: To decrypt data for a Nitro enclave
|
|
2762
|
+
# @example Example: To decrypt data for a Nitro enclave or NitroTPM
|
|
2652
2763
|
#
|
|
2653
2764
|
# # The following Decrypt example includes the Recipient parameter with a signed attestation document from an AWS Nitro
|
|
2654
|
-
# # enclave. Instead of returning the decrypted data in plaintext (Plaintext), the operation returns the
|
|
2655
|
-
# # 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).
|
|
2656
2767
|
#
|
|
2657
2768
|
# resp = client.decrypt({
|
|
2658
2769
|
# ciphertext_blob: "<binary data>", # The encrypted data. This ciphertext was encrypted with the KMS key
|
|
@@ -2660,7 +2771,7 @@ module Aws::KMS
|
|
|
2660
2771
|
# recipient: {
|
|
2661
2772
|
# attestation_document: "<attestation document>",
|
|
2662
2773
|
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
|
2663
|
-
# }, # 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
|
|
2664
2775
|
# })
|
|
2665
2776
|
#
|
|
2666
2777
|
# resp.to_h outputs the following:
|
|
@@ -2693,6 +2804,7 @@ module Aws::KMS
|
|
|
2693
2804
|
# resp.plaintext #=> String
|
|
2694
2805
|
# resp.encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
2695
2806
|
# resp.ciphertext_for_recipient #=> String
|
|
2807
|
+
# resp.key_material_id #=> String
|
|
2696
2808
|
#
|
|
2697
2809
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Decrypt AWS API Documentation
|
|
2698
2810
|
#
|
|
@@ -2749,7 +2861,7 @@ module Aws::KMS
|
|
|
2749
2861
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
|
|
2750
2862
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
2751
2863
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
|
|
2752
|
-
# [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
|
|
2753
2865
|
#
|
|
2754
2866
|
# @option params [required, String] :alias_name
|
|
2755
2867
|
# The alias to be deleted. The alias name must begin with `alias/`
|
|
@@ -2788,9 +2900,9 @@ module Aws::KMS
|
|
|
2788
2900
|
# does not affect the external key store proxy, external key manager, or
|
|
2789
2901
|
# any external keys.
|
|
2790
2902
|
#
|
|
2791
|
-
# This operation is part of the
|
|
2792
|
-
#
|
|
2793
|
-
#
|
|
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.
|
|
2794
2906
|
#
|
|
2795
2907
|
# The custom key store that you delete cannot contain any [KMS keys][2].
|
|
2796
2908
|
# Before deleting the key store, verify that you will never need to use
|
|
@@ -2841,12 +2953,12 @@ module Aws::KMS
|
|
|
2841
2953
|
#
|
|
2842
2954
|
#
|
|
2843
2955
|
#
|
|
2844
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2956
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
2845
2957
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys
|
|
2846
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2958
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
|
|
2847
2959
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
|
|
2848
2960
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
2849
|
-
# [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
|
|
2850
2962
|
#
|
|
2851
2963
|
# @option params [required, String] :custom_key_store_id
|
|
2852
2964
|
# Enter the ID of the custom key store you want to delete. To find the
|
|
@@ -2894,6 +3006,16 @@ module Aws::KMS
|
|
|
2894
3006
|
# operation does not change the KMS key's state. Otherwise, it changes
|
|
2895
3007
|
# the KMS key's state to `PendingImport`.
|
|
2896
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
|
+
#
|
|
2897
3019
|
# The KMS key that you use for this operation must be in a compatible
|
|
2898
3020
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
|
2899
3021
|
# Management Service Developer Guide*.
|
|
@@ -2908,6 +3030,8 @@ module Aws::KMS
|
|
|
2908
3030
|
#
|
|
2909
3031
|
# * GetParametersForImport
|
|
2910
3032
|
#
|
|
3033
|
+
# * ListKeyRotations
|
|
3034
|
+
#
|
|
2911
3035
|
# * ImportKeyMaterial
|
|
2912
3036
|
#
|
|
2913
3037
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
@@ -2918,7 +3042,7 @@ module Aws::KMS
|
|
|
2918
3042
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
2919
3043
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
2920
3044
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
2921
|
-
# [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
|
|
2922
3046
|
#
|
|
2923
3047
|
# @option params [required, String] :key_id
|
|
2924
3048
|
# Identifies the KMS key from which you are deleting imported key
|
|
@@ -2936,7 +3060,19 @@ module Aws::KMS
|
|
|
2936
3060
|
# To get the key ID and key ARN for a KMS key, use ListKeys or
|
|
2937
3061
|
# DescribeKey.
|
|
2938
3062
|
#
|
|
2939
|
-
# @
|
|
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
|
|
2940
3076
|
#
|
|
2941
3077
|
#
|
|
2942
3078
|
# @example Example: To delete imported key material
|
|
@@ -2945,14 +3081,21 @@ module Aws::KMS
|
|
|
2945
3081
|
#
|
|
2946
3082
|
# resp = client.delete_imported_key_material({
|
|
2947
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.
|
|
2948
3085
|
# })
|
|
2949
3086
|
#
|
|
2950
3087
|
# @example Request syntax with placeholder values
|
|
2951
3088
|
#
|
|
2952
3089
|
# resp = client.delete_imported_key_material({
|
|
2953
3090
|
# key_id: "KeyIdType", # required
|
|
3091
|
+
# key_material_id: "BackingKeyIdType",
|
|
2954
3092
|
# })
|
|
2955
3093
|
#
|
|
3094
|
+
# @example Response structure
|
|
3095
|
+
#
|
|
3096
|
+
# resp.key_id #=> String
|
|
3097
|
+
# resp.key_material_id #=> String
|
|
3098
|
+
#
|
|
2956
3099
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterial AWS API Documentation
|
|
2957
3100
|
#
|
|
2958
3101
|
# @overload delete_imported_key_material(params = {})
|
|
@@ -2964,8 +3107,8 @@ module Aws::KMS
|
|
|
2964
3107
|
|
|
2965
3108
|
# Derives a shared secret using a key agreement algorithm.
|
|
2966
3109
|
#
|
|
2967
|
-
# <note markdown="1"> You must use an asymmetric NIST-
|
|
2968
|
-
#
|
|
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
|
|
2969
3112
|
# `KEY_AGREEMENT` to call DeriveSharedSecret.
|
|
2970
3113
|
#
|
|
2971
3114
|
# </note>
|
|
@@ -2986,15 +3129,15 @@ module Aws::KMS
|
|
|
2986
3129
|
# 1. **Alice** calls CreateKey to create an asymmetric KMS key pair
|
|
2987
3130
|
# with a `KeyUsage` value of `KEY_AGREEMENT`.
|
|
2988
3131
|
#
|
|
2989
|
-
# The asymmetric KMS key must use a NIST-
|
|
3132
|
+
# The asymmetric KMS key must use a NIST-standard elliptic curve
|
|
2990
3133
|
# (ECC) or SM2 (China Regions only) key spec.
|
|
2991
3134
|
#
|
|
2992
3135
|
# 2. **Bob** creates an elliptic curve key pair.
|
|
2993
3136
|
#
|
|
2994
3137
|
# Bob can call CreateKey to create an asymmetric KMS key pair or
|
|
2995
3138
|
# generate a key pair outside of KMS. Bob's key pair must use the
|
|
2996
|
-
# same NIST-
|
|
2997
|
-
#
|
|
3139
|
+
# same NIST-standard elliptic curve (ECC) or SM2 (China Regions ony)
|
|
3140
|
+
# curve as Alice.
|
|
2998
3141
|
#
|
|
2999
3142
|
# 3. Alice and Bob **exchange their public keys** through an insecure
|
|
3000
3143
|
# communication channel (like the internet).
|
|
@@ -3021,12 +3164,12 @@ module Aws::KMS
|
|
|
3021
3164
|
# his private key and Alice's public key.
|
|
3022
3165
|
#
|
|
3023
3166
|
# To derive a shared secret you must provide a key agreement algorithm,
|
|
3024
|
-
# the private key of the caller's asymmetric NIST-
|
|
3167
|
+
# the private key of the caller's asymmetric NIST-standard elliptic
|
|
3025
3168
|
# curve or SM2 (China Regions only) KMS key pair, and the public key
|
|
3026
|
-
# from your peer's NIST-
|
|
3027
|
-
#
|
|
3028
|
-
#
|
|
3029
|
-
#
|
|
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.
|
|
3030
3173
|
#
|
|
3031
3174
|
# The KMS key that you use for this operation must be in a compatible
|
|
3032
3175
|
# key state. For details, see [Key states of KMS keys][3] in the *Key
|
|
@@ -3055,12 +3198,12 @@ module Aws::KMS
|
|
|
3055
3198
|
# [2]: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Cr2.pdf
|
|
3056
3199
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
3057
3200
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
3058
|
-
# [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
|
|
3059
3202
|
#
|
|
3060
3203
|
# @option params [required, String] :key_id
|
|
3061
|
-
# Identifies an asymmetric NIST-
|
|
3062
|
-
#
|
|
3063
|
-
#
|
|
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
|
|
3064
3207
|
# `KEY_AGREEMENT`. To find the `KeyUsage` of a KMS key, use the
|
|
3065
3208
|
# DescribeKey operation.
|
|
3066
3209
|
#
|
|
@@ -3088,8 +3231,8 @@ module Aws::KMS
|
|
|
3088
3231
|
# secret. The only valid value is `ECDH`.
|
|
3089
3232
|
#
|
|
3090
3233
|
# @option params [required, String, StringIO, File] :public_key
|
|
3091
|
-
# Specifies the public key in your peer's NIST-
|
|
3092
|
-
#
|
|
3234
|
+
# Specifies the public key in your peer's NIST-standard elliptic curve
|
|
3235
|
+
# (ECC) or SM2 (China Regions only) key pair.
|
|
3093
3236
|
#
|
|
3094
3237
|
# The public key must be a DER-encoded X.509 public key, also known as
|
|
3095
3238
|
# `SubjectPublicKeyInfo` (SPKI), as defined in [RFC 5280][1].
|
|
@@ -3123,50 +3266,55 @@ module Aws::KMS
|
|
|
3123
3266
|
#
|
|
3124
3267
|
#
|
|
3125
3268
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
3126
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
3269
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
3127
3270
|
#
|
|
3128
3271
|
# @option params [Boolean] :dry_run
|
|
3129
3272
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
3130
3273
|
# parameter.
|
|
3131
3274
|
#
|
|
3132
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
3133
|
-
#
|
|
3275
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
3276
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
3134
3277
|
#
|
|
3135
3278
|
#
|
|
3136
3279
|
#
|
|
3137
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
3280
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
3138
3281
|
#
|
|
3139
3282
|
# @option params [Types::RecipientInfo] :recipient
|
|
3140
3283
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
|
3141
|
-
# enclave and the encryption algorithm to use with the
|
|
3142
|
-
# 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`.
|
|
3143
3287
|
#
|
|
3144
3288
|
# This parameter only supports attestation documents for Amazon Web
|
|
3145
|
-
# Services Nitro Enclaves
|
|
3146
|
-
#
|
|
3147
|
-
# SDK][2]
|
|
3148
|
-
#
|
|
3149
|
-
#
|
|
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.
|
|
3150
3296
|
#
|
|
3151
3297
|
# When you use this parameter, instead of returning a plaintext copy of
|
|
3152
3298
|
# the shared secret, KMS encrypts the plaintext shared secret under the
|
|
3153
3299
|
# public key in the attestation document, and returns the resulting
|
|
3154
3300
|
# ciphertext in the `CiphertextForRecipient` field in the response. This
|
|
3155
|
-
# ciphertext can be decrypted only with the private key in the
|
|
3156
|
-
# The `CiphertextBlob` field in the response contains the
|
|
3157
|
-
# shared secret derived from the KMS key specified by the
|
|
3158
|
-
# parameter and public key specified by the `PublicKey`
|
|
3159
|
-
# `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.
|
|
3160
3306
|
#
|
|
3161
3307
|
# For information about the interaction between KMS and Amazon Web
|
|
3162
|
-
# Services Nitro Enclaves
|
|
3163
|
-
#
|
|
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*.
|
|
3164
3311
|
#
|
|
3165
3312
|
#
|
|
3166
3313
|
#
|
|
3167
3314
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
|
3168
3315
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
3169
|
-
# [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
|
|
3170
3318
|
#
|
|
3171
3319
|
# @return [Types::DeriveSharedSecretResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
3172
3320
|
#
|
|
@@ -3195,6 +3343,31 @@ module Aws::KMS
|
|
|
3195
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.
|
|
3196
3344
|
# }
|
|
3197
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
|
+
#
|
|
3198
3371
|
# @example Request syntax with placeholder values
|
|
3199
3372
|
#
|
|
3200
3373
|
# resp = client.derive_shared_secret({
|
|
@@ -3229,9 +3402,9 @@ module Aws::KMS
|
|
|
3229
3402
|
# Gets information about [custom key stores][1] in the account and
|
|
3230
3403
|
# Region.
|
|
3231
3404
|
#
|
|
3232
|
-
# This operation is part of the
|
|
3233
|
-
#
|
|
3234
|
-
#
|
|
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.
|
|
3235
3408
|
#
|
|
3236
3409
|
# By default, this operation returns information about all custom key
|
|
3237
3410
|
# stores in the account and Region. To get only information about a
|
|
@@ -3284,11 +3457,11 @@ module Aws::KMS
|
|
|
3284
3457
|
#
|
|
3285
3458
|
#
|
|
3286
3459
|
#
|
|
3287
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
3460
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
3288
3461
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
|
|
3289
3462
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
|
|
3290
3463
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
3291
|
-
# [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
|
|
3292
3465
|
#
|
|
3293
3466
|
# @option params [String] :custom_key_store_id
|
|
3294
3467
|
# Gets only information about the specified custom key store. Enter the
|
|
@@ -3449,6 +3622,7 @@ module Aws::KMS
|
|
|
3449
3622
|
# resp.custom_key_stores[0].xks_proxy_configuration.uri_endpoint #=> String
|
|
3450
3623
|
# resp.custom_key_stores[0].xks_proxy_configuration.uri_path #=> String
|
|
3451
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
|
|
3452
3626
|
# resp.next_marker #=> String
|
|
3453
3627
|
# resp.truncated #=> Boolean
|
|
3454
3628
|
#
|
|
@@ -3486,8 +3660,8 @@ module Aws::KMS
|
|
|
3486
3660
|
# * Whether automatic key rotation is enabled on the KMS key. To get
|
|
3487
3661
|
# this information, use GetKeyRotationStatus. Also, some key states
|
|
3488
3662
|
# prevent a KMS key from being automatically rotated. For details, see
|
|
3489
|
-
# [How
|
|
3490
|
-
#
|
|
3663
|
+
# [How key rotation works][6] in the *Key Management Service Developer
|
|
3664
|
+
# Guide*.
|
|
3491
3665
|
#
|
|
3492
3666
|
# * Tags on the KMS key. To get this information, use ListResourceTags.
|
|
3493
3667
|
#
|
|
@@ -3526,14 +3700,14 @@ module Aws::KMS
|
|
|
3526
3700
|
#
|
|
3527
3701
|
#
|
|
3528
3702
|
#
|
|
3529
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-
|
|
3530
|
-
# [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
|
|
3531
3705
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
|
|
3532
3706
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
|
|
3533
3707
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
|
|
3534
3708
|
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-how-it-works
|
|
3535
3709
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
3536
|
-
# [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
|
|
3537
3711
|
#
|
|
3538
3712
|
# @option params [required, String] :key_id
|
|
3539
3713
|
# Describes the specified KMS key.
|
|
@@ -3564,7 +3738,7 @@ module Aws::KMS
|
|
|
3564
3738
|
#
|
|
3565
3739
|
#
|
|
3566
3740
|
#
|
|
3567
|
-
# [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
|
|
3568
3742
|
#
|
|
3569
3743
|
# @option params [Array<String>] :grant_tokens
|
|
3570
3744
|
# A list of grant tokens.
|
|
@@ -3577,7 +3751,7 @@ module Aws::KMS
|
|
|
3577
3751
|
#
|
|
3578
3752
|
#
|
|
3579
3753
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
3580
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
3754
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
3581
3755
|
#
|
|
3582
3756
|
# @return [Types::DescribeKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
3583
3757
|
#
|
|
@@ -3598,6 +3772,7 @@ module Aws::KMS
|
|
|
3598
3772
|
# aws_account_id: "111122223333",
|
|
3599
3773
|
# arn: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
|
|
3600
3774
|
# creation_date: Time.parse("2017-07-05T14:04:55-07:00"),
|
|
3775
|
+
# current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
|
|
3601
3776
|
# customer_master_key_spec: "SYMMETRIC_DEFAULT",
|
|
3602
3777
|
# description: "",
|
|
3603
3778
|
# enabled: true,
|
|
@@ -3664,6 +3839,7 @@ module Aws::KMS
|
|
|
3664
3839
|
# aws_account_id: "111122223333",
|
|
3665
3840
|
# arn: "arn:aws:kms:ap-northeast-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab",
|
|
3666
3841
|
# creation_date: Time.parse(1586329200.918),
|
|
3842
|
+
# current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
|
|
3667
3843
|
# customer_master_key_spec: "SYMMETRIC_DEFAULT",
|
|
3668
3844
|
# description: "",
|
|
3669
3845
|
# enabled: true,
|
|
@@ -3820,11 +3996,11 @@ module Aws::KMS
|
|
|
3820
3996
|
# resp.key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
|
|
3821
3997
|
# resp.key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
|
|
3822
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"
|
|
3823
|
-
# 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"
|
|
3824
4000
|
# resp.key_metadata.encryption_algorithms #=> Array
|
|
3825
4001
|
# resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
3826
4002
|
# resp.key_metadata.signing_algorithms #=> Array
|
|
3827
|
-
# 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"
|
|
3828
4004
|
# resp.key_metadata.key_agreement_algorithms #=> Array
|
|
3829
4005
|
# resp.key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
|
|
3830
4006
|
# resp.key_metadata.multi_region #=> Boolean
|
|
@@ -3838,6 +4014,7 @@ module Aws::KMS
|
|
|
3838
4014
|
# resp.key_metadata.mac_algorithms #=> Array
|
|
3839
4015
|
# resp.key_metadata.mac_algorithms[0] #=> String, one of "HMAC_SHA_224", "HMAC_SHA_256", "HMAC_SHA_384", "HMAC_SHA_512"
|
|
3840
4016
|
# resp.key_metadata.xks_key_configuration.id #=> String
|
|
4017
|
+
# resp.key_metadata.current_key_material_id #=> String
|
|
3841
4018
|
#
|
|
3842
4019
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DescribeKey AWS API Documentation
|
|
3843
4020
|
#
|
|
@@ -3851,13 +4028,10 @@ module Aws::KMS
|
|
|
3851
4028
|
# Sets the state of a KMS key to disabled. This change temporarily
|
|
3852
4029
|
# prevents use of the KMS key for [cryptographic operations][1].
|
|
3853
4030
|
#
|
|
3854
|
-
# For more information about how key state affects the use of a KMS key,
|
|
3855
|
-
# see [Key states of KMS keys][2] in the <i> <i>Key Management Service
|
|
3856
|
-
# Developer Guide</i> </i>.
|
|
3857
|
-
#
|
|
3858
4031
|
# The KMS key that you use for this operation must be in a compatible
|
|
3859
|
-
# key state. For
|
|
3860
|
-
#
|
|
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>.
|
|
3861
4035
|
#
|
|
3862
4036
|
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
|
3863
4037
|
# key in a different Amazon Web Services account.
|
|
@@ -3871,10 +4045,10 @@ module Aws::KMS
|
|
|
3871
4045
|
#
|
|
3872
4046
|
#
|
|
3873
4047
|
#
|
|
3874
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4048
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
|
|
3875
4049
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
3876
4050
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
3877
|
-
# [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
|
|
3878
4052
|
#
|
|
3879
4053
|
# @option params [required, String] :key_id
|
|
3880
4054
|
# Identifies the KMS key to disable.
|
|
@@ -3963,18 +4137,18 @@ module Aws::KMS
|
|
|
3963
4137
|
#
|
|
3964
4138
|
#
|
|
3965
4139
|
#
|
|
3966
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4140
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
|
|
3967
4141
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
|
|
3968
4142
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
|
3969
4143
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
3970
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
3971
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
3972
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-
|
|
3973
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-
|
|
3974
|
-
# [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
|
|
3975
4149
|
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
3976
4150
|
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
3977
|
-
# [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
|
|
3978
4152
|
#
|
|
3979
4153
|
# @option params [required, String] :key_id
|
|
3980
4154
|
# Identifies a symmetric encryption KMS key. You cannot enable or
|
|
@@ -3999,7 +4173,7 @@ module Aws::KMS
|
|
|
3999
4173
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks
|
|
4000
4174
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
|
4001
4175
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
4002
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4176
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
|
|
4003
4177
|
#
|
|
4004
4178
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
|
4005
4179
|
#
|
|
@@ -4033,9 +4207,9 @@ module Aws::KMS
|
|
|
4033
4207
|
# external key store proxy that communicates with your external key
|
|
4034
4208
|
# manager.
|
|
4035
4209
|
#
|
|
4036
|
-
# This operation is part of the
|
|
4037
|
-
#
|
|
4038
|
-
#
|
|
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.
|
|
4039
4213
|
#
|
|
4040
4214
|
# While a custom key store is disconnected, you can manage the custom
|
|
4041
4215
|
# key store and its KMS keys, but you cannot create or use its KMS keys.
|
|
@@ -4079,10 +4253,10 @@ module Aws::KMS
|
|
|
4079
4253
|
#
|
|
4080
4254
|
#
|
|
4081
4255
|
#
|
|
4082
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4083
|
-
# [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
|
|
4084
4258
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
4085
|
-
# [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
|
|
4086
4260
|
#
|
|
4087
4261
|
# @option params [required, String] :custom_key_store_id
|
|
4088
4262
|
# Enter the ID of the custom key store you want to disconnect. To find
|
|
@@ -4141,10 +4315,10 @@ module Aws::KMS
|
|
|
4141
4315
|
#
|
|
4142
4316
|
#
|
|
4143
4317
|
#
|
|
4144
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4318
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
|
|
4145
4319
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
4146
4320
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
4147
|
-
# [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
|
|
4148
4322
|
#
|
|
4149
4323
|
# @option params [required, String] :key_id
|
|
4150
4324
|
# Identifies the KMS key to enable.
|
|
@@ -4205,17 +4379,17 @@ module Aws::KMS
|
|
|
4205
4379
|
# any in progress rotations. You can use the ListKeyRotations operation
|
|
4206
4380
|
# to view the details of completed rotations.
|
|
4207
4381
|
#
|
|
4208
|
-
# Automatic key rotation is supported only on
|
|
4209
|
-
# keys
|
|
4210
|
-
# keys][
|
|
4211
|
-
# material][
|
|
4212
|
-
# 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],
|
|
4213
4387
|
# set the property on the primary key.
|
|
4214
4388
|
#
|
|
4215
4389
|
# You cannot enable or disable automatic rotation of [Amazon Web
|
|
4216
|
-
# Services managed KMS keys][
|
|
4390
|
+
# Services managed KMS keys][8]. KMS always rotates the key material of
|
|
4217
4391
|
# Amazon Web Services managed keys every year. Rotation of [Amazon Web
|
|
4218
|
-
# Services owned KMS keys][
|
|
4392
|
+
# Services owned KMS keys][9] is managed by the Amazon Web Services
|
|
4219
4393
|
# service that owns the key.
|
|
4220
4394
|
#
|
|
4221
4395
|
# <note markdown="1"> In May 2022, KMS changed the rotation schedule for Amazon Web Services
|
|
@@ -4231,13 +4405,13 @@ module Aws::KMS
|
|
|
4231
4405
|
# </note>
|
|
4232
4406
|
#
|
|
4233
4407
|
# The KMS key that you use for this operation must be in a compatible
|
|
4234
|
-
# 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
|
|
4235
4409
|
# Management Service Developer Guide*.
|
|
4236
4410
|
#
|
|
4237
4411
|
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
|
4238
4412
|
# key in a different Amazon Web Services account.
|
|
4239
4413
|
#
|
|
4240
|
-
# **Required permissions**: [kms:EnableKeyRotation][
|
|
4414
|
+
# **Required permissions**: [kms:EnableKeyRotation][11] (key policy)
|
|
4241
4415
|
#
|
|
4242
4416
|
# **Related operations:**
|
|
4243
4417
|
#
|
|
@@ -4256,23 +4430,22 @@ module Aws::KMS
|
|
|
4256
4430
|
# </note>
|
|
4257
4431
|
#
|
|
4258
4432
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
4259
|
-
# model. For more information, see [KMS eventual consistency][
|
|
4433
|
+
# model. For more information, see [KMS eventual consistency][12].
|
|
4260
4434
|
#
|
|
4261
4435
|
#
|
|
4262
4436
|
#
|
|
4263
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4264
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-
|
|
4265
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4266
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4267
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4268
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4269
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4270
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4271
|
-
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-
|
|
4272
|
-
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4273
|
-
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4274
|
-
# [12]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-
|
|
4275
|
-
# [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
|
|
4276
4449
|
#
|
|
4277
4450
|
# @option params [required, String] :key_id
|
|
4278
4451
|
# Identifies a symmetric encryption KMS key. You cannot enable automatic
|
|
@@ -4298,8 +4471,8 @@ module Aws::KMS
|
|
|
4298
4471
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
|
|
4299
4472
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
|
4300
4473
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
4301
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4302
|
-
# [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
|
|
4303
4476
|
#
|
|
4304
4477
|
# @option params [Integer] :rotation_period_in_days
|
|
4305
4478
|
# Use this parameter to specify a custom period of time between each
|
|
@@ -4391,25 +4564,21 @@ module Aws::KMS
|
|
|
4391
4564
|
# * `SYMMETRIC_DEFAULT`: 4096 bytes
|
|
4392
4565
|
#
|
|
4393
4566
|
# ^
|
|
4394
|
-
#
|
|
4395
4567
|
# * `RSA_2048`
|
|
4396
4568
|
#
|
|
4397
4569
|
# * `RSAES_OAEP_SHA_1`: 214 bytes
|
|
4398
4570
|
#
|
|
4399
4571
|
# * `RSAES_OAEP_SHA_256`: 190 bytes
|
|
4400
|
-
#
|
|
4401
4572
|
# * `RSA_3072`
|
|
4402
4573
|
#
|
|
4403
4574
|
# * `RSAES_OAEP_SHA_1`: 342 bytes
|
|
4404
4575
|
#
|
|
4405
4576
|
# * `RSAES_OAEP_SHA_256`: 318 bytes
|
|
4406
|
-
#
|
|
4407
4577
|
# * `RSA_4096`
|
|
4408
4578
|
#
|
|
4409
4579
|
# * `RSAES_OAEP_SHA_1`: 470 bytes
|
|
4410
4580
|
#
|
|
4411
4581
|
# * `RSAES_OAEP_SHA_256`: 446 bytes
|
|
4412
|
-
#
|
|
4413
4582
|
# * `SM2PKE`: 1024 bytes (China Regions only)
|
|
4414
4583
|
#
|
|
4415
4584
|
# The KMS key that you use for this operation must be in a compatible
|
|
@@ -4435,10 +4604,10 @@ module Aws::KMS
|
|
|
4435
4604
|
#
|
|
4436
4605
|
#
|
|
4437
4606
|
#
|
|
4438
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4607
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
4439
4608
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
4440
4609
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
4441
|
-
# [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
|
|
4442
4611
|
#
|
|
4443
4612
|
# @option params [required, String] :key_id
|
|
4444
4613
|
# Identifies the KMS key to use in the encryption operation. The KMS key
|
|
@@ -4491,8 +4660,8 @@ module Aws::KMS
|
|
|
4491
4660
|
#
|
|
4492
4661
|
#
|
|
4493
4662
|
#
|
|
4494
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4495
|
-
# [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
|
|
4496
4665
|
#
|
|
4497
4666
|
# @option params [Array<String>] :grant_tokens
|
|
4498
4667
|
# A list of grant tokens.
|
|
@@ -4505,7 +4674,7 @@ module Aws::KMS
|
|
|
4505
4674
|
#
|
|
4506
4675
|
#
|
|
4507
4676
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
4508
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4677
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
4509
4678
|
#
|
|
4510
4679
|
# @option params [String] :encryption_algorithm
|
|
4511
4680
|
# Specifies the encryption algorithm that KMS will use to encrypt the
|
|
@@ -4523,12 +4692,12 @@ module Aws::KMS
|
|
|
4523
4692
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
4524
4693
|
# parameter.
|
|
4525
4694
|
#
|
|
4526
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
4527
|
-
#
|
|
4695
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
4696
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
4528
4697
|
#
|
|
4529
4698
|
#
|
|
4530
4699
|
#
|
|
4531
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4700
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
4532
4701
|
#
|
|
4533
4702
|
# @return [Types::EncryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
4534
4703
|
#
|
|
@@ -4638,16 +4807,17 @@ module Aws::KMS
|
|
|
4638
4807
|
# `GenerateDataKey` also supports [Amazon Web Services Nitro
|
|
4639
4808
|
# Enclaves][2], which provide an isolated compute environment in Amazon
|
|
4640
4809
|
# EC2. To call `GenerateDataKey` for an Amazon Web Services Nitro
|
|
4641
|
-
# enclave, use the [Amazon Web Services Nitro Enclaves
|
|
4642
|
-
# Amazon Web Services SDK. Use the `Recipient` parameter
|
|
4643
|
-
# attestation document for the
|
|
4644
|
-
# of the data key encrypted under the
|
|
4645
|
-
# instead of a plaintext copy of the
|
|
4646
|
-
#
|
|
4647
|
-
#
|
|
4648
|
-
#
|
|
4649
|
-
#
|
|
4650
|
-
#
|
|
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*.
|
|
4651
4821
|
#
|
|
4652
4822
|
# The KMS key that you use for this operation must be in a compatible
|
|
4653
4823
|
# key state. For details, see [Key states of KMS keys][5] in the *Key
|
|
@@ -4703,16 +4873,16 @@ module Aws::KMS
|
|
|
4703
4873
|
#
|
|
4704
4874
|
#
|
|
4705
4875
|
#
|
|
4706
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4876
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
4707
4877
|
# [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
|
4708
4878
|
# [3]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
4709
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4879
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
4710
4880
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
4711
4881
|
# [6]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
|
|
4712
4882
|
# [7]: https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/
|
|
4713
4883
|
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
|
|
4714
4884
|
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
4715
|
-
# [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
|
|
4716
4886
|
#
|
|
4717
4887
|
# @option params [required, String] :key_id
|
|
4718
4888
|
# Specifies the symmetric encryption KMS key that encrypts the data key.
|
|
@@ -4760,7 +4930,7 @@ module Aws::KMS
|
|
|
4760
4930
|
#
|
|
4761
4931
|
#
|
|
4762
4932
|
#
|
|
4763
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4933
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
4764
4934
|
#
|
|
4765
4935
|
# @option params [Integer] :number_of_bytes
|
|
4766
4936
|
# Specifies the length of the data key in bytes. For example, use the
|
|
@@ -4790,16 +4960,18 @@ module Aws::KMS
|
|
|
4790
4960
|
#
|
|
4791
4961
|
#
|
|
4792
4962
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
4793
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4963
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
4794
4964
|
#
|
|
4795
4965
|
# @option params [Types::RecipientInfo] :recipient
|
|
4796
4966
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
|
4797
|
-
# enclave and the encryption algorithm to use with the
|
|
4798
|
-
# 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`.
|
|
4799
4970
|
#
|
|
4800
|
-
# This parameter
|
|
4801
|
-
#
|
|
4802
|
-
#
|
|
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.
|
|
4803
4975
|
#
|
|
4804
4976
|
# When you use this parameter, instead of returning the plaintext data
|
|
4805
4977
|
# key, KMS encrypts the plaintext data key under the public key in the
|
|
@@ -4811,25 +4983,26 @@ module Aws::KMS
|
|
|
4811
4983
|
# `Plaintext` field in the response is null or empty.
|
|
4812
4984
|
#
|
|
4813
4985
|
# For information about the interaction between KMS and Amazon Web
|
|
4814
|
-
# Services Nitro Enclaves
|
|
4815
|
-
#
|
|
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*.
|
|
4816
4989
|
#
|
|
4817
4990
|
#
|
|
4818
4991
|
#
|
|
4819
4992
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
|
4820
4993
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
4821
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4994
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
4822
4995
|
#
|
|
4823
4996
|
# @option params [Boolean] :dry_run
|
|
4824
4997
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
4825
4998
|
# parameter.
|
|
4826
4999
|
#
|
|
4827
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
4828
|
-
#
|
|
5000
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
5001
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
4829
5002
|
#
|
|
4830
5003
|
#
|
|
4831
5004
|
#
|
|
4832
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5005
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
4833
5006
|
#
|
|
4834
5007
|
# @return [Types::GenerateDataKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
4835
5008
|
#
|
|
@@ -4837,6 +5010,7 @@ module Aws::KMS
|
|
|
4837
5010
|
# * {Types::GenerateDataKeyResponse#plaintext #plaintext} => String
|
|
4838
5011
|
# * {Types::GenerateDataKeyResponse#key_id #key_id} => String
|
|
4839
5012
|
# * {Types::GenerateDataKeyResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
|
|
5013
|
+
# * {Types::GenerateDataKeyResponse#key_material_id #key_material_id} => String
|
|
4840
5014
|
#
|
|
4841
5015
|
#
|
|
4842
5016
|
# @example Example: To generate a data key
|
|
@@ -4853,13 +5027,14 @@ module Aws::KMS
|
|
|
4853
5027
|
# {
|
|
4854
5028
|
# ciphertext_blob: "<binary data>", # The encrypted data key.
|
|
4855
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.
|
|
4856
5031
|
# plaintext: "<binary data>", # The unencrypted (plaintext) data key.
|
|
4857
5032
|
# }
|
|
4858
5033
|
#
|
|
4859
|
-
# @example Example: To generate a data key
|
|
5034
|
+
# @example Example: To generate a data key for a Nitro enclave or NitroTPM
|
|
4860
5035
|
#
|
|
4861
|
-
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave
|
|
4862
|
-
# # 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,
|
|
4863
5038
|
# # GenerateDataKey returns one copy of the data key encrypted by the KMS key (CiphertextBlob) and one copy of the data key
|
|
4864
5039
|
# # encrypted by the public key from the attestation document (CiphertextForRecipient). The operation doesn't return a
|
|
4865
5040
|
# # plaintext data key.
|
|
@@ -4870,7 +5045,7 @@ module Aws::KMS
|
|
|
4870
5045
|
# recipient: {
|
|
4871
5046
|
# attestation_document: "<attestation document>",
|
|
4872
5047
|
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
|
4873
|
-
# }, # 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
|
|
4874
5049
|
# })
|
|
4875
5050
|
#
|
|
4876
5051
|
# resp.to_h outputs the following:
|
|
@@ -4904,6 +5079,7 @@ module Aws::KMS
|
|
|
4904
5079
|
# resp.plaintext #=> String
|
|
4905
5080
|
# resp.key_id #=> String
|
|
4906
5081
|
# resp.ciphertext_for_recipient #=> String
|
|
5082
|
+
# resp.key_material_id #=> String
|
|
4907
5083
|
#
|
|
4908
5084
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKey AWS API Documentation
|
|
4909
5085
|
#
|
|
@@ -4960,17 +5136,18 @@ module Aws::KMS
|
|
|
4960
5136
|
# `GenerateDataKeyPair` also supports [Amazon Web Services Nitro
|
|
4961
5137
|
# Enclaves][3], which provide an isolated compute environment in Amazon
|
|
4962
5138
|
# EC2. To call `GenerateDataKeyPair` for an Amazon Web Services Nitro
|
|
4963
|
-
# enclave, use the [Amazon Web Services Nitro Enclaves
|
|
4964
|
-
# Amazon Web Services SDK. Use the `Recipient` parameter
|
|
4965
|
-
# attestation document for the
|
|
4966
|
-
# the public data key and a copy of the
|
|
4967
|
-
# the specified KMS key, as usual. But
|
|
4968
|
-
#
|
|
4969
|
-
#
|
|
4970
|
-
#
|
|
4971
|
-
#
|
|
4972
|
-
#
|
|
4973
|
-
#
|
|
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*.
|
|
4974
5151
|
#
|
|
4975
5152
|
# You can use an optional encryption context to add additional security
|
|
4976
5153
|
# to the encryption operation. If you specify an `EncryptionContext`,
|
|
@@ -5011,11 +5188,11 @@ module Aws::KMS
|
|
|
5011
5188
|
# [2]: https://tools.ietf.org/html/rfc5958
|
|
5012
5189
|
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
|
5013
5190
|
# [4]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
5014
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5015
|
-
# [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
|
|
5016
5193
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
5017
5194
|
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
5018
|
-
# [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
|
|
5019
5196
|
#
|
|
5020
5197
|
# @option params [Hash<String,String>] :encryption_context
|
|
5021
5198
|
# Specifies the encryption context that will be used when encrypting the
|
|
@@ -5038,7 +5215,7 @@ module Aws::KMS
|
|
|
5038
5215
|
#
|
|
5039
5216
|
#
|
|
5040
5217
|
#
|
|
5041
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5218
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
5042
5219
|
#
|
|
5043
5220
|
# @option params [required, String] :key_id
|
|
5044
5221
|
# Specifies the symmetric encryption KMS key that encrypts the private
|
|
@@ -5069,10 +5246,11 @@ module Aws::KMS
|
|
|
5069
5246
|
# Determines the type of data key pair that is generated.
|
|
5070
5247
|
#
|
|
5071
5248
|
# The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys
|
|
5072
|
-
# to encrypt and decrypt or to sign and verify (but not both),
|
|
5073
|
-
#
|
|
5074
|
-
#
|
|
5075
|
-
#
|
|
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.
|
|
5076
5254
|
#
|
|
5077
5255
|
# @option params [Array<String>] :grant_tokens
|
|
5078
5256
|
# A list of grant tokens.
|
|
@@ -5085,50 +5263,55 @@ module Aws::KMS
|
|
|
5085
5263
|
#
|
|
5086
5264
|
#
|
|
5087
5265
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
5088
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5266
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
5089
5267
|
#
|
|
5090
5268
|
# @option params [Types::RecipientInfo] :recipient
|
|
5091
5269
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
|
5092
|
-
# enclave and the encryption algorithm to use with the
|
|
5093
|
-
# 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`.
|
|
5094
5273
|
#
|
|
5095
5274
|
# This parameter only supports attestation documents for Amazon Web
|
|
5096
|
-
# Services Nitro Enclaves
|
|
5097
|
-
#
|
|
5098
|
-
# SDK][2]
|
|
5099
|
-
#
|
|
5100
|
-
#
|
|
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.
|
|
5101
5282
|
#
|
|
5102
5283
|
# When you use this parameter, instead of returning a plaintext copy of
|
|
5103
5284
|
# the private data key, KMS encrypts the plaintext private data key
|
|
5104
5285
|
# under the public key in the attestation document, and returns the
|
|
5105
5286
|
# resulting ciphertext in the `CiphertextForRecipient` field in the
|
|
5106
5287
|
# response. This ciphertext can be decrypted only with the private key
|
|
5107
|
-
# in the
|
|
5108
|
-
# copy of the private data key encrypted under the
|
|
5109
|
-
# the `KeyId` parameter. The `PrivateKeyPlaintext`
|
|
5110
|
-
# 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.
|
|
5111
5292
|
#
|
|
5112
5293
|
# For information about the interaction between KMS and Amazon Web
|
|
5113
|
-
# Services Nitro Enclaves
|
|
5114
|
-
#
|
|
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*.
|
|
5115
5297
|
#
|
|
5116
5298
|
#
|
|
5117
5299
|
#
|
|
5118
5300
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
|
5119
5301
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
5120
|
-
# [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
|
|
5121
5304
|
#
|
|
5122
5305
|
# @option params [Boolean] :dry_run
|
|
5123
5306
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
5124
5307
|
# parameter.
|
|
5125
5308
|
#
|
|
5126
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
5127
|
-
#
|
|
5309
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
5310
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
5128
5311
|
#
|
|
5129
5312
|
#
|
|
5130
5313
|
#
|
|
5131
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5314
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
5132
5315
|
#
|
|
5133
5316
|
# @return [Types::GenerateDataKeyPairResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
5134
5317
|
#
|
|
@@ -5138,6 +5321,7 @@ module Aws::KMS
|
|
|
5138
5321
|
# * {Types::GenerateDataKeyPairResponse#key_id #key_id} => String
|
|
5139
5322
|
# * {Types::GenerateDataKeyPairResponse#key_pair_spec #key_pair_spec} => String
|
|
5140
5323
|
# * {Types::GenerateDataKeyPairResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
|
|
5324
|
+
# * {Types::GenerateDataKeyPairResponse#key_material_id #key_material_id} => String
|
|
5141
5325
|
#
|
|
5142
5326
|
#
|
|
5143
5327
|
# @example Example: To generate an RSA key pair for encryption and decryption
|
|
@@ -5153,19 +5337,20 @@ module Aws::KMS
|
|
|
5153
5337
|
# resp.to_h outputs the following:
|
|
5154
5338
|
# {
|
|
5155
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.
|
|
5156
5341
|
# key_pair_spec: "RSA_3072", # The actual key spec of the RSA data key pair.
|
|
5157
5342
|
# private_key_ciphertext_blob: "<binary data>", # The encrypted private key of the RSA data key pair.
|
|
5158
5343
|
# private_key_plaintext: "<binary data>", # The plaintext private key of the RSA data key pair.
|
|
5159
5344
|
# public_key: "<binary data>", # The public key (plaintext) of the RSA data key pair.
|
|
5160
5345
|
# }
|
|
5161
5346
|
#
|
|
5162
|
-
# @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
|
|
5163
5348
|
#
|
|
5164
|
-
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave
|
|
5165
|
-
# # Instead of returning a plaintext copy of the private data key, GenerateDataKeyPair returns a copy of the
|
|
5166
|
-
# # key encrypted by the public key from the attestation document (CiphertextForRecipient). It returns the
|
|
5167
|
-
# # (PublicKey) and a copy of private data key encrypted under the specified KMS key
|
|
5168
|
-
# # 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.
|
|
5169
5354
|
#
|
|
5170
5355
|
# resp = client.generate_data_key_pair({
|
|
5171
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.
|
|
@@ -5173,13 +5358,14 @@ module Aws::KMS
|
|
|
5173
5358
|
# recipient: {
|
|
5174
5359
|
# attestation_document: "<attestation document>",
|
|
5175
5360
|
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
|
5176
|
-
# }, # 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.
|
|
5177
5362
|
# })
|
|
5178
5363
|
#
|
|
5179
5364
|
# resp.to_h outputs the following:
|
|
5180
5365
|
# {
|
|
5181
5366
|
# ciphertext_for_recipient: "<binary data>", # The private key of the RSA data key pair encrypted by the public key from the attestation document
|
|
5182
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.
|
|
5183
5369
|
# key_pair_spec: "RSA_3072", # The actual key spec of the RSA data key pair.
|
|
5184
5370
|
# private_key_ciphertext_blob: "<binary data>", # The private key of the RSA data key pair encrypted by the KMS key.
|
|
5185
5371
|
# private_key_plaintext: "", # This field is null or empty
|
|
@@ -5193,7 +5379,7 @@ module Aws::KMS
|
|
|
5193
5379
|
# "EncryptionContextKey" => "EncryptionContextValue",
|
|
5194
5380
|
# },
|
|
5195
5381
|
# key_id: "KeyIdType", # required
|
|
5196
|
-
# 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
|
|
5197
5383
|
# grant_tokens: ["GrantTokenType"],
|
|
5198
5384
|
# recipient: {
|
|
5199
5385
|
# key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
|
|
@@ -5208,8 +5394,9 @@ module Aws::KMS
|
|
|
5208
5394
|
# resp.private_key_plaintext #=> String
|
|
5209
5395
|
# resp.public_key #=> String
|
|
5210
5396
|
# resp.key_id #=> String
|
|
5211
|
-
# 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"
|
|
5212
5398
|
# resp.ciphertext_for_recipient #=> String
|
|
5399
|
+
# resp.key_material_id #=> String
|
|
5213
5400
|
#
|
|
5214
5401
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPair AWS API Documentation
|
|
5215
5402
|
#
|
|
@@ -5288,10 +5475,10 @@ module Aws::KMS
|
|
|
5288
5475
|
#
|
|
5289
5476
|
#
|
|
5290
5477
|
# [1]: https://tools.ietf.org/html/rfc5280
|
|
5291
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5478
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
5292
5479
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
5293
5480
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
5294
|
-
# [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
|
|
5295
5482
|
#
|
|
5296
5483
|
# @option params [Hash<String,String>] :encryption_context
|
|
5297
5484
|
# Specifies the encryption context that will be used when encrypting the
|
|
@@ -5314,7 +5501,7 @@ module Aws::KMS
|
|
|
5314
5501
|
#
|
|
5315
5502
|
#
|
|
5316
5503
|
#
|
|
5317
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5504
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
5318
5505
|
#
|
|
5319
5506
|
# @option params [required, String] :key_id
|
|
5320
5507
|
# Specifies the symmetric encryption KMS key that encrypts the private
|
|
@@ -5345,10 +5532,11 @@ module Aws::KMS
|
|
|
5345
5532
|
# Determines the type of data key pair that is generated.
|
|
5346
5533
|
#
|
|
5347
5534
|
# The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys
|
|
5348
|
-
# to encrypt and decrypt or to sign and verify (but not both),
|
|
5349
|
-
#
|
|
5350
|
-
#
|
|
5351
|
-
#
|
|
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.
|
|
5352
5540
|
#
|
|
5353
5541
|
# @option params [Array<String>] :grant_tokens
|
|
5354
5542
|
# A list of grant tokens.
|
|
@@ -5361,18 +5549,18 @@ module Aws::KMS
|
|
|
5361
5549
|
#
|
|
5362
5550
|
#
|
|
5363
5551
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
5364
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5552
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
5365
5553
|
#
|
|
5366
5554
|
# @option params [Boolean] :dry_run
|
|
5367
5555
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
5368
5556
|
# parameter.
|
|
5369
5557
|
#
|
|
5370
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
5371
|
-
#
|
|
5558
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
5559
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
5372
5560
|
#
|
|
5373
5561
|
#
|
|
5374
5562
|
#
|
|
5375
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5563
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
5376
5564
|
#
|
|
5377
5565
|
# @return [Types::GenerateDataKeyPairWithoutPlaintextResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
5378
5566
|
#
|
|
@@ -5380,6 +5568,7 @@ module Aws::KMS
|
|
|
5380
5568
|
# * {Types::GenerateDataKeyPairWithoutPlaintextResponse#public_key #public_key} => String
|
|
5381
5569
|
# * {Types::GenerateDataKeyPairWithoutPlaintextResponse#key_id #key_id} => String
|
|
5382
5570
|
# * {Types::GenerateDataKeyPairWithoutPlaintextResponse#key_pair_spec #key_pair_spec} => String
|
|
5571
|
+
# * {Types::GenerateDataKeyPairWithoutPlaintextResponse#key_material_id #key_material_id} => String
|
|
5383
5572
|
#
|
|
5384
5573
|
#
|
|
5385
5574
|
# @example Example: To generate an asymmetric data key pair without a plaintext key
|
|
@@ -5395,6 +5584,7 @@ module Aws::KMS
|
|
|
5395
5584
|
# resp.to_h outputs the following:
|
|
5396
5585
|
# {
|
|
5397
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.
|
|
5398
5588
|
# key_pair_spec: "ECC_NIST_P521", # The actual key spec of the ECC asymmetric data key pair.
|
|
5399
5589
|
# private_key_ciphertext_blob: "<binary data>", # The encrypted private key of the asymmetric ECC data key pair.
|
|
5400
5590
|
# public_key: "<binary data>", # The public key (plaintext).
|
|
@@ -5407,7 +5597,7 @@ module Aws::KMS
|
|
|
5407
5597
|
# "EncryptionContextKey" => "EncryptionContextValue",
|
|
5408
5598
|
# },
|
|
5409
5599
|
# key_id: "KeyIdType", # required
|
|
5410
|
-
# 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
|
|
5411
5601
|
# grant_tokens: ["GrantTokenType"],
|
|
5412
5602
|
# dry_run: false,
|
|
5413
5603
|
# })
|
|
@@ -5417,7 +5607,8 @@ module Aws::KMS
|
|
|
5417
5607
|
# resp.private_key_ciphertext_blob #=> String
|
|
5418
5608
|
# resp.public_key #=> String
|
|
5419
5609
|
# resp.key_id #=> String
|
|
5420
|
-
# 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
|
|
5421
5612
|
#
|
|
5422
5613
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintext AWS API Documentation
|
|
5423
5614
|
#
|
|
@@ -5507,10 +5698,10 @@ module Aws::KMS
|
|
|
5507
5698
|
#
|
|
5508
5699
|
#
|
|
5509
5700
|
#
|
|
5510
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5701
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
5511
5702
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
5512
5703
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
5513
|
-
# [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
|
|
5514
5705
|
#
|
|
5515
5706
|
# @option params [required, String] :key_id
|
|
5516
5707
|
# Specifies the symmetric encryption KMS key that encrypts the data key.
|
|
@@ -5558,7 +5749,7 @@ module Aws::KMS
|
|
|
5558
5749
|
#
|
|
5559
5750
|
#
|
|
5560
5751
|
#
|
|
5561
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5752
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
5562
5753
|
#
|
|
5563
5754
|
# @option params [String] :key_spec
|
|
5564
5755
|
# The length of the data key. Use `AES_128` to generate a 128-bit
|
|
@@ -5581,23 +5772,24 @@ module Aws::KMS
|
|
|
5581
5772
|
#
|
|
5582
5773
|
#
|
|
5583
5774
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
5584
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5775
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
5585
5776
|
#
|
|
5586
5777
|
# @option params [Boolean] :dry_run
|
|
5587
5778
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
5588
5779
|
# parameter.
|
|
5589
5780
|
#
|
|
5590
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
5591
|
-
#
|
|
5781
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
5782
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
5592
5783
|
#
|
|
5593
5784
|
#
|
|
5594
5785
|
#
|
|
5595
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5786
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
5596
5787
|
#
|
|
5597
5788
|
# @return [Types::GenerateDataKeyWithoutPlaintextResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
5598
5789
|
#
|
|
5599
5790
|
# * {Types::GenerateDataKeyWithoutPlaintextResponse#ciphertext_blob #ciphertext_blob} => String
|
|
5600
5791
|
# * {Types::GenerateDataKeyWithoutPlaintextResponse#key_id #key_id} => String
|
|
5792
|
+
# * {Types::GenerateDataKeyWithoutPlaintextResponse#key_material_id #key_material_id} => String
|
|
5601
5793
|
#
|
|
5602
5794
|
#
|
|
5603
5795
|
# @example Example: To generate an encrypted data key
|
|
@@ -5614,6 +5806,7 @@ module Aws::KMS
|
|
|
5614
5806
|
# {
|
|
5615
5807
|
# ciphertext_blob: "<binary data>", # The encrypted data key.
|
|
5616
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.
|
|
5617
5810
|
# }
|
|
5618
5811
|
#
|
|
5619
5812
|
# @example Request syntax with placeholder values
|
|
@@ -5633,6 +5826,7 @@ module Aws::KMS
|
|
|
5633
5826
|
#
|
|
5634
5827
|
# resp.ciphertext_blob #=> String
|
|
5635
5828
|
# resp.key_id #=> String
|
|
5829
|
+
# resp.key_material_id #=> String
|
|
5636
5830
|
#
|
|
5637
5831
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintext AWS API Documentation
|
|
5638
5832
|
#
|
|
@@ -5687,7 +5881,7 @@ module Aws::KMS
|
|
|
5687
5881
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
|
5688
5882
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
5689
5883
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
5690
|
-
# [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
|
|
5691
5885
|
#
|
|
5692
5886
|
# @option params [required, String, StringIO, File] :message
|
|
5693
5887
|
# The message to be hashed. Specify a message of up to 4,096 bytes.
|
|
@@ -5726,18 +5920,18 @@ module Aws::KMS
|
|
|
5726
5920
|
#
|
|
5727
5921
|
#
|
|
5728
5922
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
5729
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5923
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
5730
5924
|
#
|
|
5731
5925
|
# @option params [Boolean] :dry_run
|
|
5732
5926
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
5733
5927
|
# parameter.
|
|
5734
5928
|
#
|
|
5735
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
5736
|
-
#
|
|
5929
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
5930
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
5737
5931
|
#
|
|
5738
5932
|
#
|
|
5739
5933
|
#
|
|
5740
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5934
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
5741
5935
|
#
|
|
5742
5936
|
# @return [Types::GenerateMacResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
5743
5937
|
#
|
|
@@ -5800,18 +5994,19 @@ module Aws::KMS
|
|
|
5800
5994
|
#
|
|
5801
5995
|
# `GenerateRandom` also supports [Amazon Web Services Nitro
|
|
5802
5996
|
# Enclaves][1], which provide an isolated compute environment in Amazon
|
|
5803
|
-
# EC2. To call `GenerateRandom` for a Nitro enclave, use the
|
|
5804
|
-
# Services Nitro Enclaves SDK][2] or any Amazon Web Services
|
|
5805
|
-
# the `Recipient` parameter to provide the attestation document
|
|
5806
|
-
#
|
|
5807
|
-
# plaintext bytes encrypted under the public key from the
|
|
5808
|
-
# document (`CiphertextForRecipient`).For information about
|
|
5809
|
-
# interaction between KMS and Amazon Web Services Nitro Enclaves
|
|
5810
|
-
#
|
|
5811
|
-
# 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*.
|
|
5812
6006
|
#
|
|
5813
6007
|
# For more information about entropy and random number generation, see
|
|
5814
|
-
# [
|
|
6008
|
+
# [Entropy and random number generation][4] in the *Key Management
|
|
6009
|
+
# Service Developer Guide*.
|
|
5815
6010
|
#
|
|
5816
6011
|
# **Cross-account use**: Not applicable. `GenerateRandom` does not use
|
|
5817
6012
|
# any account-specific resources, such as KMS keys.
|
|
@@ -5825,10 +6020,10 @@ module Aws::KMS
|
|
|
5825
6020
|
#
|
|
5826
6021
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
|
5827
6022
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
5828
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5829
|
-
# [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
|
|
5830
6025
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
5831
|
-
# [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
|
|
5832
6027
|
#
|
|
5833
6028
|
# @option params [Integer] :number_of_bytes
|
|
5834
6029
|
# The length of the random byte string. This parameter is required.
|
|
@@ -5844,29 +6039,32 @@ module Aws::KMS
|
|
|
5844
6039
|
#
|
|
5845
6040
|
# @option params [Types::RecipientInfo] :recipient
|
|
5846
6041
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
|
5847
|
-
# enclave and the encryption algorithm to use with the
|
|
5848
|
-
# 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`.
|
|
5849
6045
|
#
|
|
5850
|
-
# This parameter
|
|
5851
|
-
#
|
|
5852
|
-
#
|
|
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.
|
|
5853
6050
|
#
|
|
5854
6051
|
# When you use this parameter, instead of returning plaintext bytes, KMS
|
|
5855
6052
|
# encrypts the plaintext bytes under the public key in the attestation
|
|
5856
6053
|
# document, and returns the resulting ciphertext in the
|
|
5857
6054
|
# `CiphertextForRecipient` field in the response. This ciphertext can be
|
|
5858
|
-
# decrypted only with the private key in the
|
|
5859
|
-
# 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.
|
|
5860
6057
|
#
|
|
5861
6058
|
# For information about the interaction between KMS and Amazon Web
|
|
5862
|
-
# Services Nitro Enclaves
|
|
5863
|
-
#
|
|
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*.
|
|
5864
6062
|
#
|
|
5865
6063
|
#
|
|
5866
6064
|
#
|
|
5867
6065
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
|
5868
6066
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
5869
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6067
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
5870
6068
|
#
|
|
5871
6069
|
# @return [Types::GenerateRandomResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
5872
6070
|
#
|
|
@@ -5887,18 +6085,18 @@ module Aws::KMS
|
|
|
5887
6085
|
# plaintext: "<binary data>", # The random data.
|
|
5888
6086
|
# }
|
|
5889
6087
|
#
|
|
5890
|
-
# @example Example: To generate random data
|
|
6088
|
+
# @example Example: To generate random data for a Nitro enclave or NitroTPM
|
|
5891
6089
|
#
|
|
5892
|
-
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave
|
|
5893
|
-
# # Instead of returning a plaintext (unencrypted) byte string, GenerateRandom returns the byte string encrypted
|
|
5894
|
-
# # 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.
|
|
5895
6093
|
#
|
|
5896
6094
|
# resp = client.generate_random({
|
|
5897
6095
|
# number_of_bytes: 1024, # The length of the random byte string
|
|
5898
6096
|
# recipient: {
|
|
5899
6097
|
# attestation_document: "<attestation document>",
|
|
5900
6098
|
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
|
5901
|
-
# }, # 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
|
|
5902
6100
|
# })
|
|
5903
6101
|
#
|
|
5904
6102
|
# resp.to_h outputs the following:
|
|
@@ -5948,7 +6146,7 @@ module Aws::KMS
|
|
|
5948
6146
|
#
|
|
5949
6147
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
5950
6148
|
# [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html
|
|
5951
|
-
# [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
|
|
5952
6150
|
#
|
|
5953
6151
|
# @option params [required, String] :key_id
|
|
5954
6152
|
# Gets the key policy for the specified KMS key.
|
|
@@ -6016,16 +6214,16 @@ module Aws::KMS
|
|
|
6016
6214
|
# enabled for the specified KMS key, the [rotation period][2], and the
|
|
6017
6215
|
# next scheduled rotation date.
|
|
6018
6216
|
#
|
|
6019
|
-
# Automatic key rotation is supported only on
|
|
6020
|
-
# keys
|
|
6021
|
-
# keys][
|
|
6022
|
-
# material][
|
|
6023
|
-
# disable automatic rotation of a set of related [multi-Region keys][
|
|
6024
|
-
# 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.
|
|
6025
6223
|
#
|
|
6026
6224
|
# You can enable (EnableKeyRotation) and disable automatic rotation
|
|
6027
6225
|
# (DisableKeyRotation) of the key material in customer managed KMS keys.
|
|
6028
|
-
# Key material rotation of [Amazon Web Services managed KMS keys][
|
|
6226
|
+
# Key material rotation of [Amazon Web Services managed KMS keys][8] is
|
|
6029
6227
|
# not configurable. KMS always rotates the key material in Amazon Web
|
|
6030
6228
|
# Services managed KMS keys every year. The key rotation status for
|
|
6031
6229
|
# Amazon Web Services managed KMS keys is always `true`.
|
|
@@ -6044,7 +6242,7 @@ module Aws::KMS
|
|
|
6044
6242
|
# </note>
|
|
6045
6243
|
#
|
|
6046
6244
|
# The KMS key that you use for this operation must be in a compatible
|
|
6047
|
-
# 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
|
|
6048
6246
|
# Management Service Developer Guide*.
|
|
6049
6247
|
#
|
|
6050
6248
|
# * Disabled: The key rotation status does not change when you disable a
|
|
@@ -6065,7 +6263,7 @@ module Aws::KMS
|
|
|
6065
6263
|
# a different Amazon Web Services account, specify the key ARN in the
|
|
6066
6264
|
# value of the `KeyId` parameter.
|
|
6067
6265
|
#
|
|
6068
|
-
# **Required permissions**: [kms:GetKeyRotationStatus][
|
|
6266
|
+
# **Required permissions**: [kms:GetKeyRotationStatus][10] (key policy)
|
|
6069
6267
|
#
|
|
6070
6268
|
# **Related operations:**
|
|
6071
6269
|
#
|
|
@@ -6078,22 +6276,21 @@ module Aws::KMS
|
|
|
6078
6276
|
# * RotateKeyOnDemand
|
|
6079
6277
|
#
|
|
6080
6278
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
6081
|
-
# model. For more information, see [KMS eventual consistency][
|
|
6279
|
+
# model. For more information, see [KMS eventual consistency][11].
|
|
6082
6280
|
#
|
|
6083
6281
|
#
|
|
6084
6282
|
#
|
|
6085
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6283
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
|
|
6086
6284
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotation-period
|
|
6087
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6088
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6089
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6090
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6091
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6092
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6093
|
-
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6094
|
-
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6095
|
-
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-
|
|
6096
|
-
# [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
|
|
6097
6294
|
#
|
|
6098
6295
|
# @option params [required, String] :key_id
|
|
6099
6296
|
# Gets the rotation status for the specified KMS key.
|
|
@@ -6167,9 +6364,7 @@ module Aws::KMS
|
|
|
6167
6364
|
# By default, KMS keys are created with key material that KMS generates.
|
|
6168
6365
|
# This operation supports [Importing key material][1], an advanced
|
|
6169
6366
|
# feature that lets you generate and import the cryptographic key
|
|
6170
|
-
# material for a KMS key.
|
|
6171
|
-
# material into KMS, see [Importing key material][1] in the *Key
|
|
6172
|
-
# Management Service Developer Guide*.
|
|
6367
|
+
# material for a KMS key.
|
|
6173
6368
|
#
|
|
6174
6369
|
# Before calling `GetParametersForImport`, use the CreateKey operation
|
|
6175
6370
|
# with an `Origin` value of `EXTERNAL` to create a KMS key with no key
|
|
@@ -6238,11 +6433,11 @@ module Aws::KMS
|
|
|
6238
6433
|
#
|
|
6239
6434
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
6240
6435
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
|
|
6241
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6242
|
-
# [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
|
|
6243
6438
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
6244
6439
|
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
6245
|
-
# [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
|
|
6246
6441
|
#
|
|
6247
6442
|
# @option params [required, String] :key_id
|
|
6248
6443
|
# The identifier of the KMS key that will be associated with the
|
|
@@ -6266,9 +6461,8 @@ module Aws::KMS
|
|
|
6266
6461
|
# @option params [required, String] :wrapping_algorithm
|
|
6267
6462
|
# The algorithm you will use with the RSA public key (`PublicKey`) in
|
|
6268
6463
|
# the response to protect your key material during import. For more
|
|
6269
|
-
# information, see [Select a wrapping
|
|
6270
|
-
#
|
|
6271
|
-
# in the *Key Management Service Developer Guide*.
|
|
6464
|
+
# information, see [Select a wrapping algorithm][1] in the *Key
|
|
6465
|
+
# Management Service Developer Guide*.
|
|
6272
6466
|
#
|
|
6273
6467
|
# For RSA\_AES wrapping algorithms, you encrypt your key material with
|
|
6274
6468
|
# an AES key that you generate, then encrypt your AES key with the RSA
|
|
@@ -6300,6 +6494,10 @@ module Aws::KMS
|
|
|
6300
6494
|
# * **RSAES\_PKCS1\_V1\_5** (Deprecated) — As of October 10, 2023, KMS
|
|
6301
6495
|
# does not support the RSAES\_PKCS1\_V1\_5 wrapping algorithm.
|
|
6302
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
|
+
#
|
|
6303
6501
|
# @option params [required, String] :wrapping_key_spec
|
|
6304
6502
|
# The type of RSA public key to return in the response. You will use
|
|
6305
6503
|
# this wrapping key with the specified wrapping algorithm to protect
|
|
@@ -6447,8 +6645,9 @@ module Aws::KMS
|
|
|
6447
6645
|
# * [KeyUsage][3]: Whether the key is used for encryption, signing, or
|
|
6448
6646
|
# deriving a shared secret.
|
|
6449
6647
|
#
|
|
6450
|
-
# * [EncryptionAlgorithms][4]
|
|
6451
|
-
#
|
|
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.
|
|
6452
6651
|
#
|
|
6453
6652
|
# Although KMS cannot enforce these restrictions on external operations,
|
|
6454
6653
|
# it is crucial that you use this information to prevent the public key
|
|
@@ -6461,22 +6660,22 @@ module Aws::KMS
|
|
|
6461
6660
|
# To verify a signature outside of KMS with an SM2 public key (China
|
|
6462
6661
|
# Regions only), you must specify the distinguishing ID. By default, KMS
|
|
6463
6662
|
# uses `1234567812345678` as the distinguishing ID. For more
|
|
6464
|
-
# information, see [Offline verification with SM2 key pairs][
|
|
6663
|
+
# information, see [Offline verification with SM2 key pairs][7].
|
|
6465
6664
|
#
|
|
6466
6665
|
# The KMS key that you use for this operation must be in a compatible
|
|
6467
|
-
# 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
|
|
6468
6667
|
# Management Service Developer Guide*.
|
|
6469
6668
|
#
|
|
6470
6669
|
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
|
6471
6670
|
# in a different Amazon Web Services account, specify the key ARN or
|
|
6472
6671
|
# alias ARN in the value of the `KeyId` parameter.
|
|
6473
6672
|
#
|
|
6474
|
-
# **Required permissions**: [kms:GetPublicKey][
|
|
6673
|
+
# **Required permissions**: [kms:GetPublicKey][9] (key policy)
|
|
6475
6674
|
#
|
|
6476
6675
|
# **Related operations**: CreateKey
|
|
6477
6676
|
#
|
|
6478
6677
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
6479
|
-
# model. For more information, see [KMS eventual consistency][
|
|
6678
|
+
# model. For more information, see [KMS eventual consistency][10].
|
|
6480
6679
|
#
|
|
6481
6680
|
#
|
|
6482
6681
|
#
|
|
@@ -6484,11 +6683,12 @@ module Aws::KMS
|
|
|
6484
6683
|
# [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeySpec
|
|
6485
6684
|
# [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeyUsage
|
|
6486
6685
|
# [4]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-EncryptionAlgorithms
|
|
6487
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-
|
|
6488
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/
|
|
6489
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6490
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6491
|
-
# [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
|
|
6492
6692
|
#
|
|
6493
6693
|
# @option params [required, String] :key_id
|
|
6494
6694
|
# Identifies the asymmetric KMS key that includes the public key.
|
|
@@ -6523,7 +6723,7 @@ module Aws::KMS
|
|
|
6523
6723
|
#
|
|
6524
6724
|
#
|
|
6525
6725
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
6526
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6726
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
6527
6727
|
#
|
|
6528
6728
|
# @return [Types::GetPublicKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
6529
6729
|
#
|
|
@@ -6571,12 +6771,12 @@ module Aws::KMS
|
|
|
6571
6771
|
# resp.key_id #=> String
|
|
6572
6772
|
# resp.public_key #=> String
|
|
6573
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"
|
|
6574
|
-
# 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"
|
|
6575
6775
|
# resp.key_usage #=> String, one of "SIGN_VERIFY", "ENCRYPT_DECRYPT", "GENERATE_VERIFY_MAC", "KEY_AGREEMENT"
|
|
6576
6776
|
# resp.encryption_algorithms #=> Array
|
|
6577
6777
|
# resp.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
6578
6778
|
# resp.signing_algorithms #=> Array
|
|
6579
|
-
# 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"
|
|
6580
6780
|
# resp.key_agreement_algorithms #=> Array
|
|
6581
6781
|
# resp.key_agreement_algorithms[0] #=> String, one of "ECDH"
|
|
6582
6782
|
#
|
|
@@ -6590,53 +6790,65 @@ module Aws::KMS
|
|
|
6590
6790
|
end
|
|
6591
6791
|
|
|
6592
6792
|
# Imports or reimports key material into an existing KMS key that was
|
|
6593
|
-
# created without key material.
|
|
6594
|
-
# expiration model and expiration date of the imported key
|
|
6595
|
-
#
|
|
6596
|
-
# By default, KMS keys are created with key material that KMS generates.
|
|
6597
|
-
# This operation supports [Importing key material][1], an advanced
|
|
6598
|
-
# feature that lets you generate and import the cryptographic key
|
|
6599
|
-
# material for a KMS key. For more information about importing key
|
|
6600
|
-
# material into KMS, see [Importing key material][1] in the *Key
|
|
6601
|
-
# 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.
|
|
6602
6796
|
#
|
|
6603
|
-
#
|
|
6604
|
-
#
|
|
6605
|
-
#
|
|
6606
|
-
#
|
|
6607
|
-
#
|
|
6608
|
-
#
|
|
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.
|
|
6609
6833
|
#
|
|
6610
6834
|
# Each time you import key material into KMS, you can determine whether
|
|
6611
6835
|
# (`ExpirationModel`) and when (`ValidTo`) the key material expires. To
|
|
6612
6836
|
# change the expiration of your key material, you must import it again,
|
|
6613
6837
|
# either by calling `ImportKeyMaterial` or using the [import
|
|
6614
|
-
# features]
|
|
6615
|
-
# of the KMS console.
|
|
6838
|
+
# features][3] of the KMS console.
|
|
6616
6839
|
#
|
|
6617
|
-
# Before
|
|
6840
|
+
# Before you call `ImportKeyMaterial`, complete these steps:
|
|
6618
6841
|
#
|
|
6619
|
-
# * Create or identify a KMS key with
|
|
6620
|
-
#
|
|
6621
|
-
# 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.
|
|
6622
6844
|
#
|
|
6623
|
-
# To create
|
|
6845
|
+
# To create a new KMS key for imported key material, call the
|
|
6624
6846
|
# CreateKey operation with an `Origin` value of `EXTERNAL`. You can
|
|
6625
6847
|
# create a symmetric encryption KMS key, HMAC KMS key, asymmetric
|
|
6626
|
-
# encryption KMS key,
|
|
6627
|
-
# import key material into a
|
|
6628
|
-
# key]
|
|
6629
|
-
#
|
|
6630
|
-
# KMS key in a [custom key
|
|
6631
|
-
# store](kms/latest/developerguide/custom-key-store-overview.html).
|
|
6632
|
-
#
|
|
6633
|
-
# * Use the DescribeKey operation to verify that the `KeyState` of the
|
|
6634
|
-
# KMS key is `PendingImport`, which indicates that the KMS key has no
|
|
6635
|
-
# key material.
|
|
6636
|
-
#
|
|
6637
|
-
# If you are reimporting the same key material into an existing KMS
|
|
6638
|
-
# key, you might need to call the DeleteImportedKeyMaterial to delete
|
|
6639
|
-
# 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].
|
|
6640
6852
|
#
|
|
6641
6853
|
# * Call the GetParametersForImport operation to get a public key and
|
|
6642
6854
|
# import token set for importing key material.
|
|
@@ -6650,11 +6862,10 @@ module Aws::KMS
|
|
|
6650
6862
|
#
|
|
6651
6863
|
# * The key ID or key ARN of the KMS key to associate with the imported
|
|
6652
6864
|
# key material. Its `Origin` must be `EXTERNAL` and its `KeyState`
|
|
6653
|
-
# must be `PendingImport`. You cannot perform this
|
|
6654
|
-
# key in a [custom key
|
|
6655
|
-
#
|
|
6656
|
-
#
|
|
6657
|
-
# `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.
|
|
6658
6869
|
#
|
|
6659
6870
|
# * The encrypted key material.
|
|
6660
6871
|
#
|
|
@@ -6664,7 +6875,7 @@ module Aws::KMS
|
|
|
6664
6875
|
#
|
|
6665
6876
|
# * Whether the key material expires (`ExpirationModel`) and, if so,
|
|
6666
6877
|
# when (`ValidTo`). For help with this choice, see [Setting an
|
|
6667
|
-
# expiration time][
|
|
6878
|
+
# expiration time][6] in the *Key Management Service Developer Guide*.
|
|
6668
6879
|
#
|
|
6669
6880
|
# If you set an expiration date, KMS deletes the key material from the
|
|
6670
6881
|
# KMS key on the specified date, making the KMS key unusable. To use
|
|
@@ -6674,25 +6885,28 @@ module Aws::KMS
|
|
|
6674
6885
|
# Each time you reimport, you can eliminate or reset the expiration
|
|
6675
6886
|
# time.
|
|
6676
6887
|
#
|
|
6677
|
-
# When this operation is successful, the
|
|
6678
|
-
#
|
|
6679
|
-
#
|
|
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.
|
|
6680
6894
|
#
|
|
6681
6895
|
# If this operation fails, use the exception to help determine the
|
|
6682
6896
|
# problem. If the error is related to the key material, the import
|
|
6683
6897
|
# token, or wrapping key, use GetParametersForImport to get a new public
|
|
6684
6898
|
# key and import token for the KMS key and repeat the import procedure.
|
|
6685
|
-
# For help, see [
|
|
6686
|
-
# Service Developer Guide*.
|
|
6899
|
+
# For help, see [Create a KMS key with imported key material][7] in the
|
|
6900
|
+
# *Key Management Service Developer Guide*.
|
|
6687
6901
|
#
|
|
6688
6902
|
# The KMS key that you use for this operation must be in a compatible
|
|
6689
|
-
# 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
|
|
6690
6904
|
# Management Service Developer Guide*.
|
|
6691
6905
|
#
|
|
6692
6906
|
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
|
6693
6907
|
# key in a different Amazon Web Services account.
|
|
6694
6908
|
#
|
|
6695
|
-
# **Required permissions**: [kms:ImportKeyMaterial][
|
|
6909
|
+
# **Required permissions**: [kms:ImportKeyMaterial][9] (key policy)
|
|
6696
6910
|
#
|
|
6697
6911
|
# **Related operations:**
|
|
6698
6912
|
#
|
|
@@ -6700,18 +6914,25 @@ module Aws::KMS
|
|
|
6700
6914
|
#
|
|
6701
6915
|
# * GetParametersForImport
|
|
6702
6916
|
#
|
|
6917
|
+
# * ListKeyRotations
|
|
6918
|
+
#
|
|
6919
|
+
# * RotateKeyOnDemand
|
|
6920
|
+
#
|
|
6703
6921
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
6704
|
-
# model. For more information, see [KMS eventual consistency][
|
|
6922
|
+
# model. For more information, see [KMS eventual consistency][10].
|
|
6705
6923
|
#
|
|
6706
6924
|
#
|
|
6707
6925
|
#
|
|
6708
6926
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
6709
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material
|
|
6710
|
-
# [3]: https://docs.aws.amazon.com/
|
|
6711
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6712
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-
|
|
6713
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6714
|
-
# [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
|
|
6715
6936
|
#
|
|
6716
6937
|
# @option params [required, String] :key_id
|
|
6717
6938
|
# The identifier of the KMS key that will be associated with the
|
|
@@ -6722,11 +6943,9 @@ module Aws::KMS
|
|
|
6722
6943
|
#
|
|
6723
6944
|
# The KMS key can be a symmetric encryption KMS key, HMAC KMS key,
|
|
6724
6945
|
# asymmetric encryption KMS key, or asymmetric signing KMS key,
|
|
6725
|
-
# including a [multi-Region
|
|
6726
|
-
# key
|
|
6727
|
-
#
|
|
6728
|
-
# custom key store, or on a KMS key in a different Amazon Web Services
|
|
6729
|
-
# 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.
|
|
6730
6949
|
#
|
|
6731
6950
|
# Specify the key ID or key ARN of the KMS key.
|
|
6732
6951
|
#
|
|
@@ -6740,6 +6959,10 @@ module Aws::KMS
|
|
|
6740
6959
|
# To get the key ID and key ARN for a KMS key, use ListKeys or
|
|
6741
6960
|
# DescribeKey.
|
|
6742
6961
|
#
|
|
6962
|
+
#
|
|
6963
|
+
#
|
|
6964
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
|
|
6965
|
+
#
|
|
6743
6966
|
# @option params [required, String, StringIO, File] :import_token
|
|
6744
6967
|
# The import token that you received in the response to a previous
|
|
6745
6968
|
# GetParametersForImport request. It must be from the same response that
|
|
@@ -6784,9 +7007,54 @@ module Aws::KMS
|
|
|
6784
7007
|
#
|
|
6785
7008
|
#
|
|
6786
7009
|
#
|
|
6787
|
-
# [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
|
|
6788
7011
|
#
|
|
6789
|
-
# @
|
|
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
|
|
6790
7058
|
#
|
|
6791
7059
|
#
|
|
6792
7060
|
# @example Example: To import key material into a KMS key
|
|
@@ -6800,6 +7068,12 @@ module Aws::KMS
|
|
|
6800
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.
|
|
6801
7069
|
# })
|
|
6802
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
|
+
#
|
|
6803
7077
|
# @example Example: To import key material into a KMS key
|
|
6804
7078
|
#
|
|
6805
7079
|
# # The following example imports key material that expires in 3 days. It might be part of an application that frequently
|
|
@@ -6813,6 +7087,12 @@ module Aws::KMS
|
|
|
6813
7087
|
# valid_to: Time.parse("2023-09-30T00:00:00-00:00"), # Specifies the date and time when the imported key material expires.
|
|
6814
7088
|
# })
|
|
6815
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
|
+
#
|
|
6816
7096
|
# @example Request syntax with placeholder values
|
|
6817
7097
|
#
|
|
6818
7098
|
# resp = client.import_key_material({
|
|
@@ -6821,8 +7101,16 @@ module Aws::KMS
|
|
|
6821
7101
|
# encrypted_key_material: "data", # required
|
|
6822
7102
|
# valid_to: Time.now,
|
|
6823
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",
|
|
6824
7107
|
# })
|
|
6825
7108
|
#
|
|
7109
|
+
# @example Response structure
|
|
7110
|
+
#
|
|
7111
|
+
# resp.key_id #=> String
|
|
7112
|
+
# resp.key_material_id #=> String
|
|
7113
|
+
#
|
|
6826
7114
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterial AWS API Documentation
|
|
6827
7115
|
#
|
|
6828
7116
|
# @overload import_key_material(params = {})
|
|
@@ -6873,10 +7161,10 @@ module Aws::KMS
|
|
|
6873
7161
|
#
|
|
6874
7162
|
#
|
|
6875
7163
|
#
|
|
6876
|
-
# [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
|
|
6877
7165
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
6878
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6879
|
-
# [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
|
|
6880
7168
|
#
|
|
6881
7169
|
# @option params [String] :key_id
|
|
6882
7170
|
# Lists only aliases that are associated with the specified KMS key.
|
|
@@ -7008,8 +7296,9 @@ module Aws::KMS
|
|
|
7008
7296
|
#
|
|
7009
7297
|
# For detailed information about grants, including grant terminology,
|
|
7010
7298
|
# see [Grants in KMS][1] in the <i> <i>Key Management Service Developer
|
|
7011
|
-
# Guide</i> </i>. For examples of
|
|
7012
|
-
#
|
|
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].
|
|
7013
7302
|
#
|
|
7014
7303
|
# <note markdown="1"> The `GranteePrincipal` field in the `ListGrants` response usually
|
|
7015
7304
|
# contains the user or role designated as the grantee principal in the
|
|
@@ -7042,10 +7331,10 @@ module Aws::KMS
|
|
|
7042
7331
|
#
|
|
7043
7332
|
#
|
|
7044
7333
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
|
|
7045
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
7334
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
|
|
7046
7335
|
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services
|
|
7047
7336
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
7048
|
-
# [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
|
|
7049
7338
|
#
|
|
7050
7339
|
# @option params [Integer] :limit
|
|
7051
7340
|
# Use this parameter to specify the maximum number of items to return.
|
|
@@ -7221,7 +7510,7 @@ module Aws::KMS
|
|
|
7221
7510
|
#
|
|
7222
7511
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
7223
7512
|
# [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html
|
|
7224
|
-
# [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
|
|
7225
7514
|
#
|
|
7226
7515
|
# @option params [required, String] :key_id
|
|
7227
7516
|
# Gets the names of key policies for the specified KMS key.
|
|
@@ -7303,14 +7592,15 @@ module Aws::KMS
|
|
|
7303
7592
|
req.send_request(options)
|
|
7304
7593
|
end
|
|
7305
7594
|
|
|
7306
|
-
# Returns information about
|
|
7307
|
-
# 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.
|
|
7308
7598
|
#
|
|
7309
7599
|
# You must specify the KMS key in all requests. You can refine the key
|
|
7310
7600
|
# rotations list by limiting the number of rotations returned.
|
|
7311
7601
|
#
|
|
7312
7602
|
# For detailed information about automatic and on-demand key rotations,
|
|
7313
|
-
# see [
|
|
7603
|
+
# see [Rotate KMS keys][1] in the *Key Management Service Developer
|
|
7314
7604
|
# Guide*.
|
|
7315
7605
|
#
|
|
7316
7606
|
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
|
@@ -7322,10 +7612,14 @@ module Aws::KMS
|
|
|
7322
7612
|
#
|
|
7323
7613
|
# * EnableKeyRotation
|
|
7324
7614
|
#
|
|
7615
|
+
# * DeleteImportedKeyMaterial
|
|
7616
|
+
#
|
|
7325
7617
|
# * DisableKeyRotation
|
|
7326
7618
|
#
|
|
7327
7619
|
# * GetKeyRotationStatus
|
|
7328
7620
|
#
|
|
7621
|
+
# * ImportKeyMaterial
|
|
7622
|
+
#
|
|
7329
7623
|
# * RotateKeyOnDemand
|
|
7330
7624
|
#
|
|
7331
7625
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
@@ -7335,7 +7629,7 @@ module Aws::KMS
|
|
|
7335
7629
|
#
|
|
7336
7630
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
|
|
7337
7631
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
7338
|
-
# [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
|
|
7339
7633
|
#
|
|
7340
7634
|
# @option params [required, String] :key_id
|
|
7341
7635
|
# Gets the key rotations for the specified KMS key.
|
|
@@ -7352,6 +7646,16 @@ module Aws::KMS
|
|
|
7352
7646
|
# To get the key ID and key ARN for a KMS key, use ListKeys or
|
|
7353
7647
|
# DescribeKey.
|
|
7354
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
|
+
#
|
|
7355
7659
|
# @option params [Integer] :limit
|
|
7356
7660
|
# Use this parameter to specify the maximum number of items to return.
|
|
7357
7661
|
# When this value is present, KMS does not return more than the
|
|
@@ -7404,6 +7708,7 @@ module Aws::KMS
|
|
|
7404
7708
|
#
|
|
7405
7709
|
# resp = client.list_key_rotations({
|
|
7406
7710
|
# key_id: "KeyIdType", # required
|
|
7711
|
+
# include_key_material: "ALL_KEY_MATERIAL", # accepts ALL_KEY_MATERIAL, ROTATIONS_ONLY
|
|
7407
7712
|
# limit: 1,
|
|
7408
7713
|
# marker: "MarkerType",
|
|
7409
7714
|
# })
|
|
@@ -7412,6 +7717,12 @@ module Aws::KMS
|
|
|
7412
7717
|
#
|
|
7413
7718
|
# resp.rotations #=> Array
|
|
7414
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
|
|
7415
7726
|
# resp.rotations[0].rotation_date #=> Time
|
|
7416
7727
|
# resp.rotations[0].rotation_type #=> String, one of "AUTOMATIC", "ON_DEMAND"
|
|
7417
7728
|
# resp.next_marker #=> String
|
|
@@ -7450,7 +7761,7 @@ module Aws::KMS
|
|
|
7450
7761
|
#
|
|
7451
7762
|
#
|
|
7452
7763
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
7453
|
-
# [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
|
|
7454
7765
|
#
|
|
7455
7766
|
# @option params [Integer] :limit
|
|
7456
7767
|
# Use this parameter to specify the maximum number of items to return.
|
|
@@ -7546,7 +7857,7 @@ module Aws::KMS
|
|
|
7546
7857
|
# For general information about tags, including the format and syntax,
|
|
7547
7858
|
# see [Tagging Amazon Web Services resources][1] in the *Amazon Web
|
|
7548
7859
|
# Services General Reference*. For information about using tags in KMS,
|
|
7549
|
-
# see [
|
|
7860
|
+
# see [Tags in KMS][2].
|
|
7550
7861
|
#
|
|
7551
7862
|
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
|
7552
7863
|
# key in a different Amazon Web Services account.
|
|
@@ -7571,7 +7882,7 @@ module Aws::KMS
|
|
|
7571
7882
|
# [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
|
|
7572
7883
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
|
|
7573
7884
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
7574
|
-
# [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
|
|
7575
7886
|
#
|
|
7576
7887
|
# @option params [required, String] :key_id
|
|
7577
7888
|
# Gets tags on the specified KMS key.
|
|
@@ -7676,8 +7987,9 @@ module Aws::KMS
|
|
|
7676
7987
|
#
|
|
7677
7988
|
# For detailed information about grants, including grant terminology,
|
|
7678
7989
|
# see [Grants in KMS][1] in the <i> <i>Key Management Service Developer
|
|
7679
|
-
# Guide</i> </i>. For examples of
|
|
7680
|
-
#
|
|
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].
|
|
7681
7993
|
#
|
|
7682
7994
|
# **Cross-account use**: You must specify a principal in your Amazon Web
|
|
7683
7995
|
# Services account. This operation returns a list of grants where the
|
|
@@ -7715,9 +8027,9 @@ module Aws::KMS
|
|
|
7715
8027
|
#
|
|
7716
8028
|
#
|
|
7717
8029
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
|
|
7718
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8030
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
|
|
7719
8031
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
7720
|
-
# [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
|
|
7721
8033
|
#
|
|
7722
8034
|
# @option params [Integer] :limit
|
|
7723
8035
|
# Use this parameter to specify the maximum number of items to return.
|
|
@@ -7827,8 +8139,9 @@ module Aws::KMS
|
|
|
7827
8139
|
# formatting a JSON policy document, see the [IAM JSON Policy
|
|
7828
8140
|
# Reference][2] in the <i> <i>Identity and Access Management User
|
|
7829
8141
|
# Guide</i> </i>. For examples of adding a key policy in multiple
|
|
7830
|
-
# programming languages, see [
|
|
7831
|
-
# 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*.
|
|
7832
8145
|
#
|
|
7833
8146
|
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
|
7834
8147
|
# key in a different Amazon Web Services account.
|
|
@@ -7844,9 +8157,9 @@ module Aws::KMS
|
|
|
7844
8157
|
#
|
|
7845
8158
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
|
|
7846
8159
|
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
|
|
7847
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8160
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_PutKeyPolicy_section.html
|
|
7848
8161
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
7849
|
-
# [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
|
|
7850
8163
|
#
|
|
7851
8164
|
# @option params [required, String] :key_id
|
|
7852
8165
|
# Sets the key policy on the specified KMS key.
|
|
@@ -7887,6 +8200,17 @@ module Aws::KMS
|
|
|
7887
8200
|
# not always immediately visible][2] in the *Amazon Web Services
|
|
7888
8201
|
# Identity and Access Management User Guide*.
|
|
7889
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
|
+
#
|
|
7890
8214
|
# A key policy document can include only the following characters:
|
|
7891
8215
|
#
|
|
7892
8216
|
# * Printable ASCII characters from the space character (`\u0020`)
|
|
@@ -7898,18 +8222,24 @@ module Aws::KMS
|
|
|
7898
8222
|
# * The tab (`\u0009`), line feed (`\u000A`), and carriage return
|
|
7899
8223
|
# (`\u000D`) special characters
|
|
7900
8224
|
#
|
|
7901
|
-
#
|
|
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
|
|
7902
8231
|
# the *Key Management Service Developer Guide*.For help writing and
|
|
7903
8232
|
# formatting a JSON policy document, see the [IAM JSON Policy
|
|
7904
|
-
# Reference][
|
|
8233
|
+
# Reference][5] in the <i> <i>Identity and Access Management User
|
|
7905
8234
|
# Guide</i> </i>.
|
|
7906
8235
|
#
|
|
7907
8236
|
#
|
|
7908
8237
|
#
|
|
7909
8238
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
|
|
7910
8239
|
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
|
|
7911
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-
|
|
7912
|
-
# [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
|
|
7913
8243
|
#
|
|
7914
8244
|
# @option params [Boolean] :bypass_policy_lockout_safety_check
|
|
7915
8245
|
# Skips ("bypasses") the key policy lockout safety check. The default
|
|
@@ -8058,15 +8388,15 @@ module Aws::KMS
|
|
|
8058
8388
|
#
|
|
8059
8389
|
#
|
|
8060
8390
|
#
|
|
8061
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
|
|
8062
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8063
|
-
# [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
|
|
8064
8394
|
# [4]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
|
|
8065
8395
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
|
|
8066
8396
|
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
8067
8397
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
8068
8398
|
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
|
|
8069
|
-
# [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
|
|
8070
8400
|
#
|
|
8071
8401
|
# @option params [required, String, StringIO, File] :ciphertext_blob
|
|
8072
8402
|
# Ciphertext of the data to reencrypt.
|
|
@@ -8089,7 +8419,7 @@ module Aws::KMS
|
|
|
8089
8419
|
#
|
|
8090
8420
|
#
|
|
8091
8421
|
#
|
|
8092
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8422
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
8093
8423
|
#
|
|
8094
8424
|
# @option params [String] :source_key_id
|
|
8095
8425
|
# Specifies the KMS key that KMS will use to decrypt the ciphertext
|
|
@@ -8175,7 +8505,7 @@ module Aws::KMS
|
|
|
8175
8505
|
#
|
|
8176
8506
|
#
|
|
8177
8507
|
#
|
|
8178
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8508
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
8179
8509
|
#
|
|
8180
8510
|
# @option params [String] :source_encryption_algorithm
|
|
8181
8511
|
# Specifies the encryption algorithm that KMS will use to decrypt the
|
|
@@ -8209,18 +8539,18 @@ module Aws::KMS
|
|
|
8209
8539
|
#
|
|
8210
8540
|
#
|
|
8211
8541
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
8212
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8542
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
8213
8543
|
#
|
|
8214
8544
|
# @option params [Boolean] :dry_run
|
|
8215
8545
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
8216
8546
|
# parameter.
|
|
8217
8547
|
#
|
|
8218
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
8219
|
-
#
|
|
8548
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
8549
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
8220
8550
|
#
|
|
8221
8551
|
#
|
|
8222
8552
|
#
|
|
8223
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8553
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
8224
8554
|
#
|
|
8225
8555
|
# @return [Types::ReEncryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
8226
8556
|
#
|
|
@@ -8229,6 +8559,8 @@ module Aws::KMS
|
|
|
8229
8559
|
# * {Types::ReEncryptResponse#key_id #key_id} => String
|
|
8230
8560
|
# * {Types::ReEncryptResponse#source_encryption_algorithm #source_encryption_algorithm} => String
|
|
8231
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
|
|
8232
8564
|
#
|
|
8233
8565
|
#
|
|
8234
8566
|
# @example Example: To reencrypt data
|
|
@@ -8243,8 +8575,12 @@ module Aws::KMS
|
|
|
8243
8575
|
# resp.to_h outputs the following:
|
|
8244
8576
|
# {
|
|
8245
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.
|
|
8246
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.
|
|
8247
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.
|
|
8248
8584
|
# }
|
|
8249
8585
|
#
|
|
8250
8586
|
# @example Request syntax with placeholder values
|
|
@@ -8272,6 +8608,8 @@ module Aws::KMS
|
|
|
8272
8608
|
# resp.key_id #=> String
|
|
8273
8609
|
# resp.source_encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
8274
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
|
|
8275
8613
|
#
|
|
8276
8614
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncrypt AWS API Documentation
|
|
8277
8615
|
#
|
|
@@ -8303,12 +8641,12 @@ module Aws::KMS
|
|
|
8303
8641
|
# independently of its primary and peer replica keys. A primary key and
|
|
8304
8642
|
# its replica keys share properties that make them interoperable. They
|
|
8305
8643
|
# have the same [key ID][2] and key material. They also have the same
|
|
8306
|
-
#
|
|
8307
|
-
#
|
|
8308
|
-
#
|
|
8309
|
-
#
|
|
8310
|
-
# [
|
|
8311
|
-
#
|
|
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.
|
|
8312
8650
|
#
|
|
8313
8651
|
# When this operation completes, the new replica key has a transient key
|
|
8314
8652
|
# state of `Creating`. This key state changes to `Enabled` (or
|
|
@@ -8318,7 +8656,7 @@ module Aws::KMS
|
|
|
8318
8656
|
# If you are creating and using the replica key programmatically, retry
|
|
8319
8657
|
# on `KMSInvalidStateException` or call `DescribeKey` to check its
|
|
8320
8658
|
# `KeyState` value before using it. For details about the `Creating` key
|
|
8321
|
-
# state, see [Key states of KMS keys][
|
|
8659
|
+
# state, see [Key states of KMS keys][6] in the *Key Management Service
|
|
8322
8660
|
# Developer Guide*.
|
|
8323
8661
|
#
|
|
8324
8662
|
# You cannot create more than one replica of a primary key in any
|
|
@@ -8327,7 +8665,7 @@ module Aws::KMS
|
|
|
8327
8665
|
# `AlreadyExistsException` error. If the key state of the existing
|
|
8328
8666
|
# replica is `PendingDeletion`, you can cancel the scheduled key
|
|
8329
8667
|
# deletion (CancelKeyDeletion) or wait for the key to be deleted. The
|
|
8330
|
-
# new replica key you create will have the same [shared properties][
|
|
8668
|
+
# new replica key you create will have the same [shared properties][7]
|
|
8331
8669
|
# as the original replica key.
|
|
8332
8670
|
#
|
|
8333
8671
|
# The CloudTrail log of a `ReplicateKey` operation records a
|
|
@@ -8337,8 +8675,6 @@ module Aws::KMS
|
|
|
8337
8675
|
# If you replicate a multi-Region primary key with imported key
|
|
8338
8676
|
# material, the replica key is created with no key material. You must
|
|
8339
8677
|
# import the same key material that you imported into the primary key.
|
|
8340
|
-
# For details, see [Importing key material into multi-Region keys][12]
|
|
8341
|
-
# in the *Key Management Service Developer Guide*.
|
|
8342
8678
|
#
|
|
8343
8679
|
# To convert a replica key to a primary key, use the UpdatePrimaryRegion
|
|
8344
8680
|
# operation.
|
|
@@ -8369,23 +8705,18 @@ module Aws::KMS
|
|
|
8369
8705
|
# * UpdatePrimaryRegion
|
|
8370
8706
|
#
|
|
8371
8707
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
8372
|
-
# model. For more information, see [KMS eventual consistency][
|
|
8708
|
+
# model. For more information, see [KMS eventual consistency][8].
|
|
8373
8709
|
#
|
|
8374
8710
|
#
|
|
8375
8711
|
#
|
|
8376
8712
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
|
|
8377
8713
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id
|
|
8378
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8379
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8380
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8381
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8382
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8383
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8384
|
-
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
|
|
8385
|
-
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
8386
|
-
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-sync-properties
|
|
8387
|
-
# [12]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-import.html
|
|
8388
|
-
# [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
|
|
8389
8720
|
#
|
|
8390
8721
|
# @option params [required, String] :key_id
|
|
8391
8722
|
# Identifies the multi-Region primary key that is being replicated. To
|
|
@@ -8413,33 +8744,23 @@ module Aws::KMS
|
|
|
8413
8744
|
# [KMS service endpoints][1] in the *Amazon Web Services General
|
|
8414
8745
|
# Reference*.
|
|
8415
8746
|
#
|
|
8416
|
-
# <note markdown="1"> HMAC KMS keys are not supported in all Amazon Web Services Regions. If
|
|
8417
|
-
# you try to replicate an HMAC KMS key in an Amazon Web Services Region
|
|
8418
|
-
# in which HMAC keys are not supported, the `ReplicateKey` operation
|
|
8419
|
-
# returns an `UnsupportedOperationException`. For a list of Regions in
|
|
8420
|
-
# which HMAC KMS keys are supported, see [HMAC keys in KMS][2] in the
|
|
8421
|
-
# *Key Management Service Developer Guide*.
|
|
8422
|
-
#
|
|
8423
|
-
# </note>
|
|
8424
|
-
#
|
|
8425
8747
|
# The replica must be in a different Amazon Web Services Region than its
|
|
8426
8748
|
# primary key and other replicas of that primary key, but in the same
|
|
8427
8749
|
# Amazon Web Services partition. KMS must be available in the replica
|
|
8428
8750
|
# Region. If the Region is not enabled by default, the Amazon Web
|
|
8429
8751
|
# Services account must be enabled in the Region. For information about
|
|
8430
|
-
# Amazon Web Services partitions, see [Amazon Resource Names (ARNs)][
|
|
8752
|
+
# Amazon Web Services partitions, see [Amazon Resource Names (ARNs)][2]
|
|
8431
8753
|
# in the *Amazon Web Services General Reference*. For information about
|
|
8432
|
-
# enabling and disabling Regions, see [Enabling a Region][
|
|
8433
|
-
# [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
|
|
8434
8756
|
# Reference*.
|
|
8435
8757
|
#
|
|
8436
8758
|
#
|
|
8437
8759
|
#
|
|
8438
8760
|
# [1]: https://docs.aws.amazon.com/general/latest/gr/kms.html#kms_region
|
|
8439
|
-
# [2]: https://docs.aws.amazon.com/
|
|
8440
|
-
# [3]: https://docs.aws.amazon.com/general/latest/gr/
|
|
8441
|
-
# [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-
|
|
8442
|
-
# [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
|
|
8443
8764
|
#
|
|
8444
8765
|
# @option params [String] :policy
|
|
8445
8766
|
# The key policy to attach to the KMS key. This parameter is optional.
|
|
@@ -8487,7 +8808,7 @@ module Aws::KMS
|
|
|
8487
8808
|
#
|
|
8488
8809
|
#
|
|
8489
8810
|
#
|
|
8490
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-
|
|
8811
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html
|
|
8491
8812
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
|
|
8492
8813
|
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
|
|
8493
8814
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
|
|
@@ -8556,7 +8877,7 @@ module Aws::KMS
|
|
|
8556
8877
|
# When you add tags to an Amazon Web Services resource, Amazon Web
|
|
8557
8878
|
# Services generates a cost allocation report with usage and costs
|
|
8558
8879
|
# aggregated by tags. Tags can also be used to control access to a KMS
|
|
8559
|
-
# key. For details, see [
|
|
8880
|
+
# key. For details, see [Tags in KMS][3].
|
|
8560
8881
|
#
|
|
8561
8882
|
#
|
|
8562
8883
|
#
|
|
@@ -8651,11 +8972,11 @@ module Aws::KMS
|
|
|
8651
8972
|
# resp.replica_key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
|
|
8652
8973
|
# resp.replica_key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
|
|
8653
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"
|
|
8654
|
-
# 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"
|
|
8655
8976
|
# resp.replica_key_metadata.encryption_algorithms #=> Array
|
|
8656
8977
|
# resp.replica_key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
8657
8978
|
# resp.replica_key_metadata.signing_algorithms #=> Array
|
|
8658
|
-
# 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"
|
|
8659
8980
|
# resp.replica_key_metadata.key_agreement_algorithms #=> Array
|
|
8660
8981
|
# resp.replica_key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
|
|
8661
8982
|
# resp.replica_key_metadata.multi_region #=> Boolean
|
|
@@ -8669,6 +8990,7 @@ module Aws::KMS
|
|
|
8669
8990
|
# resp.replica_key_metadata.mac_algorithms #=> Array
|
|
8670
8991
|
# resp.replica_key_metadata.mac_algorithms[0] #=> String, one of "HMAC_SHA_224", "HMAC_SHA_256", "HMAC_SHA_384", "HMAC_SHA_512"
|
|
8671
8992
|
# resp.replica_key_metadata.xks_key_configuration.id #=> String
|
|
8993
|
+
# resp.replica_key_metadata.current_key_material_id #=> String
|
|
8672
8994
|
# resp.replica_policy #=> String
|
|
8673
8995
|
# resp.replica_tags #=> Array
|
|
8674
8996
|
# resp.replica_tags[0].tag_key #=> String
|
|
@@ -8692,20 +9014,20 @@ module Aws::KMS
|
|
|
8692
9014
|
# by the *grantee principal* if the grant allows the `RetireGrant`
|
|
8693
9015
|
# operation, and by the Amazon Web Services account in which the grant
|
|
8694
9016
|
# is created. It can also be called by principals to whom permission for
|
|
8695
|
-
# retiring a grant is delegated.
|
|
8696
|
-
# grants][2] in the *Key Management Service Developer Guide*.
|
|
9017
|
+
# retiring a grant is delegated.
|
|
8697
9018
|
#
|
|
8698
9019
|
# For detailed information about grants, including grant terminology,
|
|
8699
|
-
# see [Grants in KMS][
|
|
8700
|
-
# Guide</i> </i>. For examples of
|
|
8701
|
-
#
|
|
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].
|
|
8702
9024
|
#
|
|
8703
9025
|
# **Cross-account use**: Yes. You can retire a grant on a KMS key in a
|
|
8704
9026
|
# different Amazon Web Services account.
|
|
8705
9027
|
#
|
|
8706
9028
|
# **Required permissions**: Permission to retire a grant is determined
|
|
8707
9029
|
# primarily by the grant. For details, see [Retiring and revoking
|
|
8708
|
-
# grants][
|
|
9030
|
+
# grants][4] in the *Key Management Service Developer Guide*.
|
|
8709
9031
|
#
|
|
8710
9032
|
# **Related operations:**
|
|
8711
9033
|
#
|
|
@@ -8723,10 +9045,10 @@ module Aws::KMS
|
|
|
8723
9045
|
#
|
|
8724
9046
|
#
|
|
8725
9047
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
8726
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8727
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8728
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8729
|
-
# [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
|
|
8730
9052
|
#
|
|
8731
9053
|
# @option params [String] :grant_token
|
|
8732
9054
|
# Identifies the grant to be retired. You can use a grant token to
|
|
@@ -8761,12 +9083,12 @@ module Aws::KMS
|
|
|
8761
9083
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
8762
9084
|
# parameter.
|
|
8763
9085
|
#
|
|
8764
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
8765
|
-
#
|
|
9086
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
9087
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
8766
9088
|
#
|
|
8767
9089
|
#
|
|
8768
9090
|
#
|
|
8769
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9091
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
8770
9092
|
#
|
|
8771
9093
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
|
8772
9094
|
#
|
|
@@ -8811,8 +9133,9 @@ module Aws::KMS
|
|
|
8811
9133
|
#
|
|
8812
9134
|
# For detailed information about grants, including grant terminology,
|
|
8813
9135
|
# see [Grants in KMS][3] in the <i> <i>Key Management Service Developer
|
|
8814
|
-
# Guide</i> </i>. For examples of
|
|
8815
|
-
#
|
|
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].
|
|
8816
9139
|
#
|
|
8817
9140
|
# **Cross-account use**: Yes. To perform this operation on a KMS key in
|
|
8818
9141
|
# a different Amazon Web Services account, specify the key ARN in the
|
|
@@ -8835,12 +9158,12 @@ module Aws::KMS
|
|
|
8835
9158
|
#
|
|
8836
9159
|
#
|
|
8837
9160
|
#
|
|
8838
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-
|
|
9161
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
|
|
8839
9162
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-eventual-consistency
|
|
8840
9163
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
|
|
8841
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9164
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
|
|
8842
9165
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
8843
|
-
# [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
|
|
8844
9167
|
#
|
|
8845
9168
|
# @option params [required, String] :key_id
|
|
8846
9169
|
# A unique identifier for the KMS key associated with the grant. To get
|
|
@@ -8867,12 +9190,12 @@ module Aws::KMS
|
|
|
8867
9190
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
8868
9191
|
# parameter.
|
|
8869
9192
|
#
|
|
8870
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
8871
|
-
#
|
|
9193
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
9194
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
8872
9195
|
#
|
|
8873
9196
|
#
|
|
8874
9197
|
#
|
|
8875
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9198
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
8876
9199
|
#
|
|
8877
9200
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
|
8878
9201
|
#
|
|
@@ -8928,27 +9251,33 @@ module Aws::KMS
|
|
|
8928
9251
|
# of the key material for your KMS keys in CloudTrail and Amazon
|
|
8929
9252
|
# CloudWatch.
|
|
8930
9253
|
#
|
|
8931
|
-
# On-demand key rotation is supported only on
|
|
8932
|
-
# keys
|
|
8933
|
-
# keys][
|
|
8934
|
-
#
|
|
8935
|
-
#
|
|
8936
|
-
#
|
|
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.
|
|
8937
9266
|
#
|
|
8938
9267
|
# You cannot initiate on-demand rotation of [Amazon Web Services managed
|
|
8939
|
-
# KMS keys][
|
|
9268
|
+
# KMS keys][8]. KMS always rotates the key material of Amazon Web
|
|
8940
9269
|
# Services managed keys every year. Rotation of [Amazon Web Services
|
|
8941
|
-
# owned KMS keys][
|
|
9270
|
+
# owned KMS keys][9] is managed by the Amazon Web Services service that
|
|
8942
9271
|
# owns the key.
|
|
8943
9272
|
#
|
|
8944
9273
|
# The KMS key that you use for this operation must be in a compatible
|
|
8945
|
-
# 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
|
|
8946
9275
|
# Management Service Developer Guide*.
|
|
8947
9276
|
#
|
|
8948
9277
|
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
|
8949
9278
|
# key in a different Amazon Web Services account.
|
|
8950
9279
|
#
|
|
8951
|
-
# **Required permissions**: [kms:RotateKeyOnDemand][
|
|
9280
|
+
# **Required permissions**: [kms:RotateKeyOnDemand][11] (key policy)
|
|
8952
9281
|
#
|
|
8953
9282
|
# **Related operations:**
|
|
8954
9283
|
#
|
|
@@ -8958,34 +9287,35 @@ module Aws::KMS
|
|
|
8958
9287
|
#
|
|
8959
9288
|
# * GetKeyRotationStatus
|
|
8960
9289
|
#
|
|
9290
|
+
# * ImportKeyMaterial
|
|
9291
|
+
#
|
|
8961
9292
|
# * ListKeyRotations
|
|
8962
9293
|
#
|
|
8963
9294
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
8964
|
-
# model. For more information, see [KMS eventual consistency][
|
|
9295
|
+
# model. For more information, see [KMS eventual consistency][12].
|
|
8965
9296
|
#
|
|
8966
9297
|
#
|
|
8967
9298
|
#
|
|
8968
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8969
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8970
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8971
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8972
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8973
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
8974
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8975
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8976
|
-
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-
|
|
8977
|
-
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8978
|
-
# [11]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
8979
|
-
# [12]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-
|
|
8980
|
-
# [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
|
|
8981
9311
|
#
|
|
8982
9312
|
# @option params [required, String] :key_id
|
|
8983
9313
|
# Identifies a symmetric encryption KMS key. You cannot perform
|
|
8984
9314
|
# on-demand rotation of [asymmetric KMS keys][1], [HMAC KMS keys][2],
|
|
8985
|
-
# KMS keys with [imported key material][3], or KMS keys in
|
|
8986
|
-
# store][4]. To perform on-demand rotation of a set of
|
|
8987
|
-
# [multi-Region keys][5], invoke the on-demand rotation on the
|
|
8988
|
-
# 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.
|
|
8989
9319
|
#
|
|
8990
9320
|
# Specify the key ID or key ARN of the KMS key.
|
|
8991
9321
|
#
|
|
@@ -9004,8 +9334,8 @@ module Aws::KMS
|
|
|
9004
9334
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
|
|
9005
9335
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
|
9006
9336
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
|
9007
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9008
|
-
# [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
|
|
9009
9339
|
#
|
|
9010
9340
|
# @return [Types::RotateKeyOnDemandResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
9011
9341
|
#
|
|
@@ -9059,9 +9389,8 @@ module Aws::KMS
|
|
|
9059
9389
|
# operation. When a KMS key is deleted, all data that was encrypted
|
|
9060
9390
|
# under the KMS key is unrecoverable. (The only exception is a
|
|
9061
9391
|
# [multi-Region replica key][1], or an [asymmetric or HMAC KMS key with
|
|
9062
|
-
# imported key
|
|
9063
|
-
#
|
|
9064
|
-
# 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.
|
|
9065
9394
|
#
|
|
9066
9395
|
# You can schedule the deletion of a multi-Region primary key and its
|
|
9067
9396
|
# replica keys at any time. However, KMS will not delete a multi-Region
|
|
@@ -9072,13 +9401,13 @@ module Aws::KMS
|
|
|
9072
9401
|
# the last of its replicas keys is deleted (not just scheduled), the key
|
|
9073
9402
|
# state of the primary key changes to `PendingDeletion` and its waiting
|
|
9074
9403
|
# period (`PendingWindowInDays`) begins. For details, see [Deleting
|
|
9075
|
-
# multi-Region keys][
|
|
9404
|
+
# multi-Region keys][3] in the *Key Management Service Developer Guide*.
|
|
9076
9405
|
#
|
|
9077
|
-
# 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
|
|
9078
9407
|
# best effort to delete the associated key material from the associated
|
|
9079
9408
|
# CloudHSM cluster. However, you might need to manually [delete the
|
|
9080
|
-
# orphaned key material][
|
|
9081
|
-
# 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
|
|
9082
9411
|
# associated external key. However, for both types of custom key stores,
|
|
9083
9412
|
# deleting a KMS key is destructive and irreversible. You cannot decrypt
|
|
9084
9413
|
# ciphertext encrypted under the KMS key by using only its associated
|
|
@@ -9087,11 +9416,11 @@ module Aws::KMS
|
|
|
9087
9416
|
# material.
|
|
9088
9417
|
#
|
|
9089
9418
|
# For more information about scheduling a KMS key for deletion, see
|
|
9090
|
-
# [Deleting KMS keys][
|
|
9419
|
+
# [Deleting KMS keys][7] in the *Key Management Service Developer
|
|
9091
9420
|
# Guide*.
|
|
9092
9421
|
#
|
|
9093
9422
|
# The KMS key that you use for this operation must be in a compatible
|
|
9094
|
-
# 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
|
|
9095
9424
|
# Management Service Developer Guide*.
|
|
9096
9425
|
#
|
|
9097
9426
|
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
|
@@ -9106,17 +9435,19 @@ module Aws::KMS
|
|
|
9106
9435
|
# * DisableKey
|
|
9107
9436
|
#
|
|
9108
9437
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
9109
|
-
# model. For more information, see [KMS eventual consistency][
|
|
9438
|
+
# model. For more information, see [KMS eventual consistency][9].
|
|
9110
9439
|
#
|
|
9111
9440
|
#
|
|
9112
9441
|
#
|
|
9113
9442
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-delete.html
|
|
9114
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9115
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9116
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/delete-
|
|
9117
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9118
|
-
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9119
|
-
# [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
|
|
9120
9451
|
#
|
|
9121
9452
|
# @option params [required, String] :key_id
|
|
9122
9453
|
# The unique identifier of the KMS key to delete.
|
|
@@ -9205,11 +9536,11 @@ module Aws::KMS
|
|
|
9205
9536
|
# Developer Guide*.
|
|
9206
9537
|
#
|
|
9207
9538
|
# Digital signatures are generated and verified by using asymmetric key
|
|
9208
|
-
# pair, such as an RSA or
|
|
9209
|
-
# KMS key. The key owner (or an authorized user) uses their
|
|
9210
|
-
# to sign a message. Anyone with the public key can verify
|
|
9211
|
-
# message was signed with that particular private key and that
|
|
9212
|
-
# 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.
|
|
9213
9544
|
#
|
|
9214
9545
|
# To use the `Sign` operation, provide the following information:
|
|
9215
9546
|
#
|
|
@@ -9222,8 +9553,8 @@ module Aws::KMS
|
|
|
9222
9553
|
# to sign. You can submit messages of up to 4096 bytes. To sign a
|
|
9223
9554
|
# larger message, generate a hash digest of the message, and then
|
|
9224
9555
|
# provide the hash digest in the `Message` parameter. To indicate
|
|
9225
|
-
# whether the message is a full message
|
|
9226
|
-
# `MessageType` parameter.
|
|
9556
|
+
# whether the message is a full message, a digest, or an ML-DSA
|
|
9557
|
+
# EXTERNAL\_MU, use the `MessageType` parameter.
|
|
9227
9558
|
#
|
|
9228
9559
|
# * Choose a signing algorithm that is compatible with the KMS key.
|
|
9229
9560
|
#
|
|
@@ -9265,7 +9596,7 @@ module Aws::KMS
|
|
|
9265
9596
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
|
|
9266
9597
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
9267
9598
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
9268
|
-
# [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
|
|
9269
9600
|
#
|
|
9270
9601
|
# @option params [required, String] :key_id
|
|
9271
9602
|
# Identifies an asymmetric KMS key. KMS uses the private key in the
|
|
@@ -9303,26 +9634,41 @@ module Aws::KMS
|
|
|
9303
9634
|
# @option params [String] :message_type
|
|
9304
9635
|
# Tells KMS whether the value of the `Message` parameter should be
|
|
9305
9636
|
# hashed as part of the signing algorithm. Use `RAW` for unhashed
|
|
9306
|
-
# 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.
|
|
9307
9640
|
#
|
|
9308
9641
|
# When the value of `MessageType` is `RAW`, KMS uses the standard
|
|
9309
9642
|
# signing algorithm, which begins with a hash function. When the value
|
|
9310
|
-
# 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.
|
|
9646
|
+
#
|
|
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.
|
|
9651
|
+
#
|
|
9652
|
+
# When using ECC\_NIST\_EDWARDS25519 KMS keys:
|
|
9653
|
+
#
|
|
9654
|
+
# * ED25519\_SHA\_512 signing algorithm requires KMS `MessageType:RAW`
|
|
9311
9655
|
#
|
|
9312
|
-
#
|
|
9313
|
-
#
|
|
9314
|
-
# message, the security of the signing operation can be compromised.
|
|
9656
|
+
# * ED25519\_PH\_SHA\_512 signing algorithm requires KMS
|
|
9657
|
+
# `MessageType:DIGEST`
|
|
9315
9658
|
#
|
|
9316
|
-
# When the value of `MessageType`is `DIGEST`, the length of the
|
|
9659
|
+
# When the value of `MessageType` is `DIGEST`, the length of the
|
|
9317
9660
|
# `Message` value must match the length of hashed messages for the
|
|
9318
9661
|
# specified signing algorithm.
|
|
9319
9662
|
#
|
|
9663
|
+
# When the value of `MessageType` is `EXTERNAL_MU` the length of the
|
|
9664
|
+
# `Message` value must be 64 bytes.
|
|
9665
|
+
#
|
|
9320
9666
|
# You can submit a message digest and omit the `MessageType` or specify
|
|
9321
9667
|
# `RAW` so the digest is hashed again while signing. However, this can
|
|
9322
9668
|
# cause verification failures when verifying with a system that assumes
|
|
9323
9669
|
# a single hash.
|
|
9324
9670
|
#
|
|
9325
|
-
# The hashing algorithm
|
|
9671
|
+
# The hashing algorithm that `Sign` uses is based on the
|
|
9326
9672
|
# `SigningAlgorithm` value.
|
|
9327
9673
|
#
|
|
9328
9674
|
# * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
|
|
@@ -9334,12 +9680,15 @@ module Aws::KMS
|
|
|
9334
9680
|
# * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
|
|
9335
9681
|
# algorithm.
|
|
9336
9682
|
#
|
|
9683
|
+
# * Signing algorithms that end in SHAKE\_256 use the SHAKE\_256 hashing
|
|
9684
|
+
# algorithm.
|
|
9685
|
+
#
|
|
9337
9686
|
# * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
|
|
9338
9687
|
# verification with SM2 key pairs][1].
|
|
9339
9688
|
#
|
|
9340
9689
|
#
|
|
9341
9690
|
#
|
|
9342
|
-
# [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
|
|
9343
9692
|
#
|
|
9344
9693
|
# @option params [Array<String>] :grant_tokens
|
|
9345
9694
|
# A list of grant tokens.
|
|
@@ -9352,7 +9701,7 @@ module Aws::KMS
|
|
|
9352
9701
|
#
|
|
9353
9702
|
#
|
|
9354
9703
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
9355
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9704
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
9356
9705
|
#
|
|
9357
9706
|
# @option params [required, String] :signing_algorithm
|
|
9358
9707
|
# Specifies the signing algorithm to use when signing the message.
|
|
@@ -9366,12 +9715,12 @@ module Aws::KMS
|
|
|
9366
9715
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
9367
9716
|
# parameter.
|
|
9368
9717
|
#
|
|
9369
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
9370
|
-
#
|
|
9718
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
9719
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
9371
9720
|
#
|
|
9372
9721
|
#
|
|
9373
9722
|
#
|
|
9374
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9723
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
9375
9724
|
#
|
|
9376
9725
|
# @return [Types::SignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
9377
9726
|
#
|
|
@@ -9424,9 +9773,9 @@ module Aws::KMS
|
|
|
9424
9773
|
# resp = client.sign({
|
|
9425
9774
|
# key_id: "KeyIdType", # required
|
|
9426
9775
|
# message: "data", # required
|
|
9427
|
-
# message_type: "RAW", # accepts RAW, DIGEST
|
|
9776
|
+
# message_type: "RAW", # accepts RAW, DIGEST, EXTERNAL_MU
|
|
9428
9777
|
# grant_tokens: ["GrantTokenType"],
|
|
9429
|
-
# 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
|
|
9430
9779
|
# dry_run: false,
|
|
9431
9780
|
# })
|
|
9432
9781
|
#
|
|
@@ -9434,7 +9783,7 @@ module Aws::KMS
|
|
|
9434
9783
|
#
|
|
9435
9784
|
# resp.key_id #=> String
|
|
9436
9785
|
# resp.signature #=> String
|
|
9437
|
-
# 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"
|
|
9438
9787
|
#
|
|
9439
9788
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Sign AWS API Documentation
|
|
9440
9789
|
#
|
|
@@ -9494,17 +9843,17 @@ module Aws::KMS
|
|
|
9494
9843
|
#
|
|
9495
9844
|
#
|
|
9496
9845
|
#
|
|
9497
|
-
# [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
|
|
9498
9847
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
|
|
9499
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-
|
|
9500
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-
|
|
9501
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9502
|
-
# [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
|
|
9503
9852
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
|
|
9504
9853
|
# [8]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
|
|
9505
9854
|
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
9506
9855
|
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
9507
|
-
# [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
|
|
9508
9857
|
#
|
|
9509
9858
|
# @option params [required, String] :key_id
|
|
9510
9859
|
# Identifies a customer managed key in the account and Region.
|
|
@@ -9614,13 +9963,13 @@ module Aws::KMS
|
|
|
9614
9963
|
#
|
|
9615
9964
|
#
|
|
9616
9965
|
#
|
|
9617
|
-
# [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
|
|
9618
9967
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
|
|
9619
9968
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
|
|
9620
9969
|
# [4]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
|
|
9621
9970
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
9622
9971
|
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
9623
|
-
# [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
|
|
9624
9973
|
#
|
|
9625
9974
|
# @option params [required, String] :key_id
|
|
9626
9975
|
# Identifies the KMS key from which you are removing tags.
|
|
@@ -9733,7 +10082,7 @@ module Aws::KMS
|
|
|
9733
10082
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
9734
10083
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
9735
10084
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
|
|
9736
|
-
# [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
|
|
9737
10086
|
#
|
|
9738
10087
|
# @option params [required, String] :alias_name
|
|
9739
10088
|
# Identifies the alias that is changing its KMS key. This value must
|
|
@@ -9772,8 +10121,8 @@ module Aws::KMS
|
|
|
9772
10121
|
#
|
|
9773
10122
|
#
|
|
9774
10123
|
#
|
|
9775
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-
|
|
9776
|
-
# [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
|
|
9777
10126
|
#
|
|
9778
10127
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
|
9779
10128
|
#
|
|
@@ -9813,9 +10162,9 @@ module Aws::KMS
|
|
|
9813
10162
|
# verify the updated property values, use the DescribeCustomKeyStores
|
|
9814
10163
|
# operation.
|
|
9815
10164
|
#
|
|
9816
|
-
# This operation is part of the
|
|
9817
|
-
#
|
|
9818
|
-
#
|
|
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.
|
|
9819
10168
|
#
|
|
9820
10169
|
# When updating the properties of an external key store, verify that the
|
|
9821
10170
|
# updated settings connect your key store, via the external key store
|
|
@@ -9885,7 +10234,7 @@ module Aws::KMS
|
|
|
9885
10234
|
# **Cross-account use**: No. You cannot perform this operation on a
|
|
9886
10235
|
# custom key store in a different Amazon Web Services account.
|
|
9887
10236
|
#
|
|
9888
|
-
# **Required permissions**: [kms:UpdateCustomKeyStore][
|
|
10237
|
+
# **Required permissions**: [kms:UpdateCustomKeyStore][1] (IAM policy)
|
|
9889
10238
|
#
|
|
9890
10239
|
# **Related operations:**
|
|
9891
10240
|
#
|
|
@@ -9900,13 +10249,12 @@ module Aws::KMS
|
|
|
9900
10249
|
# * DisconnectCustomKeyStore
|
|
9901
10250
|
#
|
|
9902
10251
|
# **Eventual consistency**: The KMS API follows an eventual consistency
|
|
9903
|
-
# model. For more information, see [KMS eventual consistency][
|
|
10252
|
+
# model. For more information, see [KMS eventual consistency][2].
|
|
9904
10253
|
#
|
|
9905
10254
|
#
|
|
9906
10255
|
#
|
|
9907
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
9908
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-
|
|
9909
|
-
# [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
|
|
9910
10258
|
#
|
|
9911
10259
|
# @option params [required, String] :custom_key_store_id
|
|
9912
10260
|
# Identifies the custom key store that you want to update. Enter the ID
|
|
@@ -10002,6 +10350,15 @@ module Aws::KMS
|
|
|
10002
10350
|
#
|
|
10003
10351
|
# To change this value, the external key store must be disconnected.
|
|
10004
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
|
+
#
|
|
10005
10362
|
# @option params [Types::XksProxyAuthenticationCredentialType] :xks_proxy_authentication_credential
|
|
10006
10363
|
# Changes the credentials that KMS uses to sign requests to the external
|
|
10007
10364
|
# key store proxy (XKS proxy). This parameter is valid only for custom
|
|
@@ -10143,6 +10500,7 @@ module Aws::KMS
|
|
|
10143
10500
|
# xks_proxy_uri_endpoint: "XksProxyUriEndpointType",
|
|
10144
10501
|
# xks_proxy_uri_path: "XksProxyUriPathType",
|
|
10145
10502
|
# xks_proxy_vpc_endpoint_service_name: "XksProxyVpcEndpointServiceNameType",
|
|
10503
|
+
# xks_proxy_vpc_endpoint_service_owner: "AccountIdType",
|
|
10146
10504
|
# xks_proxy_authentication_credential: {
|
|
10147
10505
|
# access_key_id: "XksProxyAuthenticationAccessKeyIdType", # required
|
|
10148
10506
|
# raw_secret_access_key: "XksProxyAuthenticationRawSecretAccessKeyType", # required
|
|
@@ -10184,7 +10542,7 @@ module Aws::KMS
|
|
|
10184
10542
|
#
|
|
10185
10543
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
10186
10544
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
10187
|
-
# [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
|
|
10188
10546
|
#
|
|
10189
10547
|
# @option params [required, String] :key_id
|
|
10190
10548
|
# Updates the description of the specified KMS key.
|
|
@@ -10244,8 +10602,8 @@ module Aws::KMS
|
|
|
10244
10602
|
# key in `eu-west-2`. If you run `UpdatePrimaryRegion` with a
|
|
10245
10603
|
# `PrimaryRegion` value of `eu-west-2`, the primary key is now the key
|
|
10246
10604
|
# in `eu-west-2`, and the key in `us-east-1` becomes a replica key. For
|
|
10247
|
-
# details, see [
|
|
10248
|
-
# 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*.
|
|
10249
10607
|
#
|
|
10250
10608
|
# This operation supports *multi-Region keys*, an KMS feature that lets
|
|
10251
10609
|
# you create multiple interoperable KMS keys in different Amazon Web
|
|
@@ -10313,7 +10671,7 @@ module Aws::KMS
|
|
|
10313
10671
|
#
|
|
10314
10672
|
#
|
|
10315
10673
|
#
|
|
10316
|
-
# [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
|
|
10317
10675
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
|
|
10318
10676
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id
|
|
10319
10677
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-spec
|
|
@@ -10322,7 +10680,7 @@ module Aws::KMS
|
|
|
10322
10680
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
|
|
10323
10681
|
# [8]: https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html
|
|
10324
10682
|
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
10325
|
-
# [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
|
|
10326
10684
|
#
|
|
10327
10685
|
# @option params [required, String] :key_id
|
|
10328
10686
|
# Identifies the current primary key. When the operation completes, this
|
|
@@ -10437,10 +10795,10 @@ module Aws::KMS
|
|
|
10437
10795
|
#
|
|
10438
10796
|
#
|
|
10439
10797
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
|
|
10440
|
-
# [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
|
|
10441
10799
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
10442
10800
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
10443
|
-
# [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
|
|
10444
10802
|
#
|
|
10445
10803
|
# @option params [required, String] :key_id
|
|
10446
10804
|
# Identifies the asymmetric KMS key that will be used to verify the
|
|
@@ -10479,27 +10837,41 @@ module Aws::KMS
|
|
|
10479
10837
|
# @option params [String] :message_type
|
|
10480
10838
|
# Tells KMS whether the value of the `Message` parameter should be
|
|
10481
10839
|
# hashed as part of the signing algorithm. Use `RAW` for unhashed
|
|
10482
|
-
# 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.
|
|
10483
10843
|
#
|
|
10484
10844
|
# When the value of `MessageType` is `RAW`, KMS uses the standard
|
|
10485
10845
|
# signing algorithm, which begins with a hash function. When the value
|
|
10486
|
-
# 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.
|
|
10487
10849
|
#
|
|
10488
|
-
# Use the `DIGEST` value only when the value of the
|
|
10489
|
-
# is a message digest. If you use the `DIGEST` value
|
|
10490
|
-
# 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
|
|
10491
10853
|
# compromised.
|
|
10492
10854
|
#
|
|
10493
|
-
# 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
|
|
10494
10863
|
# `Message` value must match the length of hashed messages for the
|
|
10495
10864
|
# specified signing algorithm.
|
|
10496
10865
|
#
|
|
10866
|
+
# When the value of `MessageType` is `EXTERNAL_MU` the length of the
|
|
10867
|
+
# `Message` value must be 64 bytes.
|
|
10868
|
+
#
|
|
10497
10869
|
# You can submit a message digest and omit the `MessageType` or specify
|
|
10498
10870
|
# `RAW` so the digest is hashed again while signing. However, if the
|
|
10499
10871
|
# signed message is hashed once while signing, but twice while
|
|
10500
10872
|
# verifying, verification fails, even when the message hasn't changed.
|
|
10501
10873
|
#
|
|
10502
|
-
# The hashing algorithm
|
|
10874
|
+
# The hashing algorithm that `Verify` uses is based on the
|
|
10503
10875
|
# `SigningAlgorithm` value.
|
|
10504
10876
|
#
|
|
10505
10877
|
# * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
|
|
@@ -10511,12 +10883,15 @@ module Aws::KMS
|
|
|
10511
10883
|
# * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
|
|
10512
10884
|
# algorithm.
|
|
10513
10885
|
#
|
|
10886
|
+
# * Signing algorithms that end in SHAKE\_256 use the SHAKE\_256 hashing
|
|
10887
|
+
# algorithm.
|
|
10888
|
+
#
|
|
10514
10889
|
# * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
|
|
10515
10890
|
# verification with SM2 key pairs][1].
|
|
10516
10891
|
#
|
|
10517
10892
|
#
|
|
10518
10893
|
#
|
|
10519
|
-
# [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
|
|
10520
10895
|
#
|
|
10521
10896
|
# @option params [required, String, StringIO, File] :signature
|
|
10522
10897
|
# The signature that the `Sign` operation generated.
|
|
@@ -10536,18 +10911,18 @@ module Aws::KMS
|
|
|
10536
10911
|
#
|
|
10537
10912
|
#
|
|
10538
10913
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
10539
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
10914
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
10540
10915
|
#
|
|
10541
10916
|
# @option params [Boolean] :dry_run
|
|
10542
10917
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
10543
10918
|
# parameter.
|
|
10544
10919
|
#
|
|
10545
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
10546
|
-
#
|
|
10920
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
10921
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
10547
10922
|
#
|
|
10548
10923
|
#
|
|
10549
10924
|
#
|
|
10550
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
10925
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
10551
10926
|
#
|
|
10552
10927
|
# @return [Types::VerifyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
10553
10928
|
#
|
|
@@ -10602,9 +10977,9 @@ module Aws::KMS
|
|
|
10602
10977
|
# resp = client.verify({
|
|
10603
10978
|
# key_id: "KeyIdType", # required
|
|
10604
10979
|
# message: "data", # required
|
|
10605
|
-
# message_type: "RAW", # accepts RAW, DIGEST
|
|
10980
|
+
# message_type: "RAW", # accepts RAW, DIGEST, EXTERNAL_MU
|
|
10606
10981
|
# signature: "data", # required
|
|
10607
|
-
# 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
|
|
10608
10983
|
# grant_tokens: ["GrantTokenType"],
|
|
10609
10984
|
# dry_run: false,
|
|
10610
10985
|
# })
|
|
@@ -10613,7 +10988,7 @@ module Aws::KMS
|
|
|
10613
10988
|
#
|
|
10614
10989
|
# resp.key_id #=> String
|
|
10615
10990
|
# resp.signature_valid #=> Boolean
|
|
10616
|
-
# 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"
|
|
10617
10992
|
#
|
|
10618
10993
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Verify AWS API Documentation
|
|
10619
10994
|
#
|
|
@@ -10661,7 +11036,7 @@ module Aws::KMS
|
|
|
10661
11036
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
|
10662
11037
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
10663
11038
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
10664
|
-
# [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
|
|
10665
11040
|
#
|
|
10666
11041
|
# @option params [required, String, StringIO, File] :message
|
|
10667
11042
|
# The message that will be used in the verification. Enter the same
|
|
@@ -10699,18 +11074,18 @@ module Aws::KMS
|
|
|
10699
11074
|
#
|
|
10700
11075
|
#
|
|
10701
11076
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
|
10702
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
11077
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
|
|
10703
11078
|
#
|
|
10704
11079
|
# @option params [Boolean] :dry_run
|
|
10705
11080
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
10706
11081
|
# parameter.
|
|
10707
11082
|
#
|
|
10708
|
-
# To learn more about how to use this parameter, see [Testing your
|
|
10709
|
-
#
|
|
11083
|
+
# To learn more about how to use this parameter, see [Testing your
|
|
11084
|
+
# permissions][1] in the *Key Management Service Developer Guide*.
|
|
10710
11085
|
#
|
|
10711
11086
|
#
|
|
10712
11087
|
#
|
|
10713
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
11088
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
|
|
10714
11089
|
#
|
|
10715
11090
|
# @return [Types::VerifyMacResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
10716
11091
|
#
|
|
@@ -10782,7 +11157,7 @@ module Aws::KMS
|
|
|
10782
11157
|
tracer: tracer
|
|
10783
11158
|
)
|
|
10784
11159
|
context[:gem_name] = 'aws-sdk-kms'
|
|
10785
|
-
context[:gem_version] = '1.
|
|
11160
|
+
context[:gem_version] = '1.118.0'
|
|
10786
11161
|
Seahorse::Client::Request.new(handlers, context)
|
|
10787
11162
|
end
|
|
10788
11163
|
|