aws-sdk-kms 1.30.0 → 1.35.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: fd687a67eae0bd2e1e27db0bee56696bd8c259ae
4
- data.tar.gz: a268d6ee5c1b71f031ad1484ef223ec9d9d89047
2
+ SHA256:
3
+ metadata.gz: f0fa513891ad1756561999a381c8d2a4fdf4f07d0e7611aa29c2c91512ed1c86
4
+ data.tar.gz: ecb3627109b5f165f03e6222a9b507ca2e7f7e2617f028181a40f66fd9745a1a
5
5
  SHA512:
6
- metadata.gz: 0262c9d972c4ecc4f5f26b33c8d37acdcd113b94ad57ff02cbff92e438ba075ab1137b078077e3c089f441c657191fd9f1c754e096210eb85a71b8e5eaf882bc
7
- data.tar.gz: 474114212e5a89a15a19b6f3294f1e3b75e43ec42053ebb91920d6acf137a32532f3a53bd37f2f2d7dae7d2c1029564f7825f5733f19797b7f4f690e81fb462f
6
+ metadata.gz: 83ada3d7ea655b7a7aeca15796f4e7eda84dac4b9b429762db553d1ed895e5052f68316b1f656cecae7ef363644d0b8ce6b74a83ff86478fe7b7ab6ad1d0b59b
7
+ data.tar.gz: b7e24899bacd2e077871c74176a42f007cf10c3bbe08e8edb0af09f93e49ced1b76ee4aaf4f73579f7895218260b78181d8f926f14888fcc8b8803b9f921f9e7
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -45,6 +47,6 @@ require_relative 'aws-sdk-kms/customizations'
45
47
  # @service
46
48
  module Aws::KMS
47
49
 
48
- GEM_VERSION = '1.30.0'
50
+ GEM_VERSION = '1.35.0'
49
51
 
50
52
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -24,6 +26,7 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
26
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
30
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
31
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
29
32
 
@@ -32,11 +35,11 @@ Aws::Plugins::GlobalConfiguration.add_identifier(:kms)
32
35
  module Aws::KMS
33
36
  # An API client for KMS. To construct a client, you need to configure a `:region` and `:credentials`.
34
37
  #
35
- # client = Aws::KMS::Client.new(
36
- # region: region_name,
37
- # credentials: credentials,
38
- # # ...
39
- # )
38
+ # client = Aws::KMS::Client.new(
39
+ # region: region_name,
40
+ # credentials: credentials,
41
+ # # ...
42
+ # )
40
43
  #
41
44
  # For details on configuring region and credentials see
42
45
  # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
@@ -69,6 +72,7 @@ module Aws::KMS
69
72
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
70
73
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
71
74
  add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
72
76
  add_plugin(Aws::Plugins::SignatureV4)
73
77
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
74
78
 
@@ -105,7 +109,7 @@ module Aws::KMS
105
109
  # @option options [required, String] :region
106
110
  # The AWS region to connect to. The configured `:region` is
107
111
  # used to determine the service `:endpoint`. When not passed,
108
- # a default `:region` is search for in the following locations:
112
+ # a default `:region` is searched for in the following locations:
109
113
  #
110
114
  # * `Aws.config[:region]`
111
115
  # * `ENV['AWS_REGION']`
@@ -161,7 +165,7 @@ module Aws::KMS
161
165
  # @option options [String] :endpoint
162
166
  # The client endpoint is normally constructed from the `:region`
163
167
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be avalid HTTP(S) URI.
168
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
169
  #
166
170
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
171
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -176,7 +180,7 @@ module Aws::KMS
176
180
  # requests fetching endpoints information. Defaults to 60 sec.
177
181
  #
178
182
  # @option options [Boolean] :endpoint_discovery (false)
179
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
183
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
180
184
  #
181
185
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
182
186
  # The log formatter.
@@ -229,15 +233,19 @@ module Aws::KMS
229
233
  #
230
234
  # @option options [String] :retry_mode ("legacy")
231
235
  # Specifies which retry algorithm to use. Values are:
232
- # * `legacy` - The pre-existing retry behavior. This is default value if
233
- # no retry mode is provided.
234
- # * `standard` - A standardized set of retry rules across the AWS SDKs.
235
- # This includes support for retry quotas, which limit the number of
236
- # unsuccessful retries a client can make.
237
- # * `adaptive` - An experimental retry mode that includes all the
238
- # functionality of `standard` mode along with automatic client side
239
- # throttling. This is a provisional mode that may change behavior
240
- # in the future.
236
+ #
237
+ # * `legacy` - The pre-existing retry behavior. This is default value if
238
+ # no retry mode is provided.
239
+ #
240
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
241
+ # This includes support for retry quotas, which limit the number of
242
+ # unsuccessful retries a client can make.
243
+ #
244
+ # * `adaptive` - An experimental retry mode that includes all the
245
+ # functionality of `standard` mode along with automatic client side
246
+ # throttling. This is a provisional mode that may change behavior
247
+ # in the future.
248
+ #
241
249
  #
242
250
  # @option options [String] :secret_access_key
243
251
  #
@@ -275,8 +283,7 @@ module Aws::KMS
275
283
  #
276
284
  # @option options [Integer] :http_read_timeout (60) The default
277
285
  # number of seconds to wait for response data. This value can
278
- # safely be set
279
- # per-request on the session yielded by {#session_for}.
286
+ # safely be set per-request on the session.
280
287
  #
281
288
  # @option options [Float] :http_idle_timeout (5) The number of
282
289
  # seconds a connection is allowed to sit idle before it is
@@ -288,7 +295,7 @@ module Aws::KMS
288
295
  # request body. This option has no effect unless the request has
289
296
  # "Expect" header set to "100-continue". Defaults to `nil` which
290
297
  # disables this behaviour. This value can safely be set per
291
- # request on the session yielded by {#session_for}.
298
+ # request on the session.
292
299
  #
293
300
  # @option options [Boolean] :http_wire_trace (false) When `true`,
294
301
  # HTTP debug output will be sent to the `:logger`.
@@ -457,9 +464,9 @@ module Aws::KMS
457
464
  end
458
465
 
459
466
  # Creates a display name for a customer managed customer master key
460
- # (CMK). You can use an alias to identify a CMK in cryptographic
461
- # operations, such as Encrypt and GenerateDataKey. You can change the
462
- # CMK associated with the alias at any time.
467
+ # (CMK). You can use an alias to identify a CMK in [cryptographic
468
+ # operations][1], such as Encrypt and GenerateDataKey. You can change
469
+ # the CMK associated with the alias at any time.
463
470
  #
464
471
  # Aliases are easier to remember than key IDs. They can also help to
465
472
  # simplify your applications. For example, if you use an alias in your
@@ -483,8 +490,8 @@ module Aws::KMS
483
490
  #
484
491
  # * You can associate an alias with any customer managed CMK in the same
485
492
  # AWS account and Region. However, you do not have permission to
486
- # associate an alias with an [AWS managed CMK][1] or an [AWS owned
487
- # CMK][2].
493
+ # associate an alias with an [AWS managed CMK][2] or an [AWS owned
494
+ # CMK][3].
488
495
  #
489
496
  # * To change the CMK associated with an alias, use the UpdateAlias
490
497
  # operation. The current CMK and the new CMK must be the same type
@@ -496,7 +503,7 @@ module Aws::KMS
496
503
  # `alias/ExampleAlias`. It can contain only alphanumeric characters,
497
504
  # forward slashes (/), underscores (\_), and dashes (-). The alias
498
505
  # name cannot begin with `alias/aws/`. The `alias/aws/` prefix is
499
- # reserved for [AWS managed CMKs][1].
506
+ # reserved for [AWS managed CMKs][2].
500
507
  #
501
508
  # * The alias name must be unique within an AWS Region. However, you can
502
509
  # use the same alias name in multiple Regions of the same AWS account.
@@ -507,12 +514,12 @@ module Aws::KMS
507
514
  # and then create a new alias with the desired name.
508
515
  #
509
516
  # * You can use an alias name or alias ARN to identify a CMK in AWS KMS
510
- # cryptographic operations and in the DescribeKey operation. However,
511
- # you cannot use alias names or alias ARNs in API operations that
512
- # manage CMKs, such as DisableKey or GetKeyPolicy. For information
513
- # about the valid CMK identifiers for each AWS KMS API operation, see
514
- # the descriptions of the `KeyId` parameter in the API operation
515
- # documentation.
517
+ # [cryptographic operations][1] and in the DescribeKey operation.
518
+ # However, you cannot use alias names or alias ARNs in API operations
519
+ # that manage CMKs, such as DisableKey or GetKeyPolicy. For
520
+ # information about the valid CMK identifiers for each AWS KMS API
521
+ # operation, see the descriptions of the `KeyId` parameter in the API
522
+ # operation documentation.
516
523
  #
517
524
  # Because an alias is not a property of a CMK, you can delete and change
518
525
  # the aliases of a CMK without affecting the CMK. Also, aliases do not
@@ -522,13 +529,14 @@ module Aws::KMS
522
529
  #
523
530
  # The CMK that you use for this operation must be in a compatible key
524
531
  # state. For details, see [How Key State Affects Use of a Customer
525
- # Master Key][3] in the *AWS Key Management Service Developer Guide*.
532
+ # Master Key][4] in the *AWS Key Management Service Developer Guide*.
526
533
  #
527
534
  #
528
535
  #
529
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
530
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
531
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
536
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
537
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
538
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
539
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
532
540
  #
533
541
  # @option params [required, String] :alias_name
534
542
  # Specifies the alias name. This value must begin with `alias/` followed
@@ -674,8 +682,8 @@ module Aws::KMS
674
682
  # grant are met. When setting permissions, grants are an alternative to
675
683
  # key policies.
676
684
  #
677
- # To create a grant that allows a cryptographic operation only when the
678
- # request includes a particular [encryption context][1], use the
685
+ # To create a grant that allows a [cryptographic operation][1] only when
686
+ # the request includes a particular [encryption context][2], use the
679
687
  # `Constraints` parameter. For details, see GrantConstraints.
680
688
  #
681
689
  # You can create grants on symmetric and asymmetric CMKs. However, if
@@ -690,9 +698,9 @@ module Aws::KMS
690
698
  #
691
699
  # * Grants for asymmetric CMKs cannot allow operations that are not
692
700
  # supported for asymmetric CMKs, including operations that [generate
693
- # data keys][2] or [data key pairs][3], or operations related to
694
- # [automatic key rotation][4], [imported key material][5], or CMKs in
695
- # [custom key stores][6].
701
+ # data keys][3] or [data key pairs][4], or operations related to
702
+ # [automatic key rotation][5], [imported key material][6], or CMKs in
703
+ # [custom key stores][7].
696
704
  #
697
705
  # * Grants for asymmetric CMKs with a `KeyUsage` of `ENCRYPT_DECRYPT`
698
706
  # cannot allow the Sign or Verify operations. Grants for asymmetric
@@ -704,29 +712,30 @@ module Aws::KMS
704
712
  # asymmetric CMKs.
705
713
  #
706
714
  # For information about symmetric and asymmetric CMKs, see [Using
707
- # Symmetric and Asymmetric CMKs][7] in the *AWS Key Management Service
715
+ # Symmetric and Asymmetric CMKs][8] in the *AWS Key Management Service
708
716
  # Developer Guide*.
709
717
  #
710
718
  # To perform this operation on a CMK in a different AWS account, specify
711
719
  # the key ARN in the value of the `KeyId` parameter. For more
712
- # information about grants, see [Grants][8] in the <i> <i>AWS Key
720
+ # information about grants, see [Grants][9] in the <i> <i>AWS Key
713
721
  # Management Service Developer Guide</i> </i>.
714
722
  #
715
723
  # The CMK that you use for this operation must be in a compatible key
716
724
  # state. For details, see [How Key State Affects Use of a Customer
717
- # Master Key][9] in the *AWS Key Management Service Developer Guide*.
725
+ # Master Key][10] in the *AWS Key Management Service Developer Guide*.
718
726
  #
719
727
  #
720
728
  #
721
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
722
- # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey
723
- # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair
724
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
725
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
726
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
727
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
728
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
729
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
729
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
730
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
731
+ # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey
732
+ # [4]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair
733
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
734
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
735
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
736
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
737
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
738
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
730
739
  #
731
740
  # @option params [required, String] :key_id
732
741
  # The unique identifier for the customer master key (CMK) that the grant
@@ -780,15 +789,16 @@ module Aws::KMS
780
789
  # A list of operations that the grant permits.
781
790
  #
782
791
  # @option params [Types::GrantConstraints] :constraints
783
- # Allows a cryptographic operation only when the encryption context
792
+ # Allows a [cryptographic operation][1] only when the encryption context
784
793
  # matches or includes the encryption context specified in this
785
794
  # structure. For more information about encryption context, see
786
- # [Encryption Context][1] in the <i> <i>AWS Key Management Service
795
+ # [Encryption Context][2] in the <i> <i>AWS Key Management Service
787
796
  # Developer Guide</i> </i>.
788
797
  #
789
798
  #
790
799
  #
791
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
800
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
801
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
792
802
  #
793
803
  # @option params [Array<String>] :grant_tokens
794
804
  # A list of grant tokens.
@@ -1003,10 +1013,10 @@ module Aws::KMS
1003
1013
  # for a task.
1004
1014
  #
1005
1015
  # @option params [String] :key_usage
1006
- # Determines the cryptographic operations for which you can use the CMK.
1007
- # The default value is `ENCRYPT_DECRYPT`. This parameter is required
1008
- # only for asymmetric CMKs. You can't change the `KeyUsage` value after
1009
- # the CMK is created.
1016
+ # Determines the [cryptographic operations][1] for which you can use the
1017
+ # CMK. The default value is `ENCRYPT_DECRYPT`. This parameter is
1018
+ # required only for asymmetric CMKs. You can't change the `KeyUsage`
1019
+ # value after the CMK is created.
1010
1020
  #
1011
1021
  # Select only one valid value.
1012
1022
  #
@@ -1017,6 +1027,10 @@ module Aws::KMS
1017
1027
  #
1018
1028
  # * For asymmetric CMKs with ECC key material, specify `SIGN_VERIFY`.
1019
1029
  #
1030
+ #
1031
+ #
1032
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1033
+ #
1020
1034
  # @option params [String] :customer_master_key_spec
1021
1035
  # Specifies the type of CMK to create. The default value,
1022
1036
  # `SYMMETRIC_DEFAULT`, creates a CMK with a 256-bit symmetric key for
@@ -1307,9 +1321,9 @@ module Aws::KMS
1307
1321
  #
1308
1322
  # @option params [Hash<String,String>] :encryption_context
1309
1323
  # Specifies the encryption context to use when decrypting the data. An
1310
- # encryption context is valid only for cryptographic operations with a
1311
- # symmetric CMK. The standard asymmetric encryption algorithms that AWS
1312
- # KMS uses do not support an encryption context.
1324
+ # encryption context is valid only for [cryptographic operations][1]
1325
+ # with a symmetric CMK. The standard asymmetric encryption algorithms
1326
+ # that AWS KMS uses do not support an encryption context.
1313
1327
  #
1314
1328
  # An *encryption context* is a collection of non-secret key-value pairs
1315
1329
  # that represents additional authenticated data. When you use an
@@ -1318,12 +1332,13 @@ module Aws::KMS
1318
1332
  # encryption context is optional when encrypting with a symmetric CMK,
1319
1333
  # but it is highly recommended.
1320
1334
  #
1321
- # For more information, see [Encryption Context][1] in the *AWS Key
1335
+ # For more information, see [Encryption Context][2] in the *AWS Key
1322
1336
  # Management Service Developer Guide*.
1323
1337
  #
1324
1338
  #
1325
1339
  #
1326
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
1340
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1341
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
1327
1342
  #
1328
1343
  # @option params [Array<String>] :grant_tokens
1329
1344
  # A list of grant tokens.
@@ -1476,13 +1491,13 @@ module Aws::KMS
1476
1491
  # The custom key store that you delete cannot contain any AWS KMS
1477
1492
  # [customer master keys (CMKs)][2]. Before deleting the key store,
1478
1493
  # verify that you will never need to use any of the CMKs in the key
1479
- # store for any cryptographic operations. Then, use ScheduleKeyDeletion
1480
- # to delete the AWS KMS customer master keys (CMKs) from the key store.
1481
- # When the scheduled waiting period expires, the `ScheduleKeyDeletion`
1482
- # operation deletes the CMKs. Then it makes a best effort to delete the
1483
- # key material from the associated cluster. However, you might need to
1484
- # manually [delete the orphaned key material][3] from the cluster and
1485
- # its backups.
1494
+ # store for any [cryptographic operations][3]. Then, use
1495
+ # ScheduleKeyDeletion to delete the AWS KMS customer master keys (CMKs)
1496
+ # from the key store. When the scheduled waiting period expires, the
1497
+ # `ScheduleKeyDeletion` operation deletes the CMKs. Then it makes a best
1498
+ # effort to delete the key material from the associated cluster.
1499
+ # However, you might need to manually [delete the orphaned key
1500
+ # material][4] from the cluster and its backups.
1486
1501
  #
1487
1502
  # After all CMKs are deleted from AWS KMS, use DisconnectCustomKeyStore
1488
1503
  # to disconnect the key store from AWS KMS. Then, you can delete the
@@ -1505,7 +1520,8 @@ module Aws::KMS
1505
1520
  #
1506
1521
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1507
1522
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys
1508
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
1523
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1524
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
1509
1525
  #
1510
1526
  # @option params [required, String] :custom_key_store_id
1511
1527
  # Enter the ID of the custom key store you want to delete. To find the
@@ -1845,20 +1861,21 @@ module Aws::KMS
1845
1861
  end
1846
1862
 
1847
1863
  # Sets the state of a customer master key (CMK) to disabled, thereby
1848
- # preventing its use for cryptographic operations. You cannot perform
1849
- # this operation on a CMK in a different AWS account.
1864
+ # preventing its use for [cryptographic operations][1]. You cannot
1865
+ # perform this operation on a CMK in a different AWS account.
1850
1866
  #
1851
1867
  # For more information about how key state affects the use of a CMK, see
1852
- # [How Key State Affects the Use of a Customer Master Key][1] in the <i>
1868
+ # [How Key State Affects the Use of a Customer Master Key][2] in the <i>
1853
1869
  # <i>AWS Key Management Service Developer Guide</i> </i>.
1854
1870
  #
1855
1871
  # The CMK that you use for this operation must be in a compatible key
1856
1872
  # state. For details, see [How Key State Affects Use of a Customer
1857
- # Master Key][1] in the *AWS Key Management Service Developer Guide*.
1873
+ # Master Key][2] in the *AWS Key Management Service Developer Guide*.
1858
1874
  #
1859
1875
  #
1860
1876
  #
1861
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1877
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1878
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1862
1879
  #
1863
1880
  # @option params [required, String] :key_id
1864
1881
  # A unique identifier for the customer master key (CMK).
@@ -1973,8 +1990,8 @@ module Aws::KMS
1973
1990
  #
1974
1991
  # <note markdown="1"> While a custom key store is disconnected, all attempts to create
1975
1992
  # customer master keys (CMKs) in the custom key store or to use existing
1976
- # CMKs in cryptographic operations will fail. This action can prevent
1977
- # users from storing and accessing sensitive data.
1993
+ # CMKs in [cryptographic operations][2] will fail. This action can
1994
+ # prevent users from storing and accessing sensitive data.
1978
1995
  #
1979
1996
  # </note>
1980
1997
  #
@@ -1994,6 +2011,7 @@ module Aws::KMS
1994
2011
  #
1995
2012
  #
1996
2013
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
2014
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1997
2015
  #
1998
2016
  # @option params [required, String] :custom_key_store_id
1999
2017
  # Enter the ID of the custom key store you want to disconnect. To find
@@ -2018,16 +2036,17 @@ module Aws::KMS
2018
2036
  end
2019
2037
 
2020
2038
  # Sets the key state of a customer master key (CMK) to enabled. This
2021
- # allows you to use the CMK for cryptographic operations. You cannot
2022
- # perform this operation on a CMK in a different AWS account.
2039
+ # allows you to use the CMK for [cryptographic operations][1]. You
2040
+ # cannot perform this operation on a CMK in a different AWS account.
2023
2041
  #
2024
2042
  # The CMK that you use for this operation must be in a compatible key
2025
2043
  # state. For details, see [How Key State Affects Use of a Customer
2026
- # Master Key][1] in the *AWS Key Management Service Developer Guide*.
2044
+ # Master Key][2] in the *AWS Key Management Service Developer Guide*.
2027
2045
  #
2028
2046
  #
2029
2047
  #
2030
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2048
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
2049
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2031
2050
  #
2032
2051
  # @option params [required, String] :key_id
2033
2052
  # A unique identifier for the customer master key (CMK).
@@ -2139,11 +2158,13 @@ module Aws::KMS
2139
2158
  # identifier or database password, or other sensitive information.
2140
2159
  #
2141
2160
  # * You can use the `Encrypt` operation to move encrypted data from one
2142
- # AWS region to another. In the first region, generate a data key and
2143
- # use the plaintext key to encrypt the data. Then, in the new region,
2144
- # call the `Encrypt` method on same plaintext data key. Now, you can
2145
- # safely move the encrypted data and encrypted data key to the new
2146
- # region, and decrypt in the new region when necessary.
2161
+ # AWS Region to another. For example, in Region A, generate a data key
2162
+ # and use the plaintext key to encrypt your data. Then, in Region A,
2163
+ # use the `Encrypt` operation to encrypt the plaintext data key under
2164
+ # a CMK in Region B. Now, you can move the encrypted data and the
2165
+ # encrypted data key to Region B. When necessary, you can decrypt the
2166
+ # encrypted data key and the encrypted data entirely within in Region
2167
+ # B.
2147
2168
  #
2148
2169
  # You don't need to use the `Encrypt` operation to encrypt a data key.
2149
2170
  # The GenerateDataKey and GenerateDataKeyPair operations return a
@@ -2243,9 +2264,10 @@ module Aws::KMS
2243
2264
  #
2244
2265
  # @option params [Hash<String,String>] :encryption_context
2245
2266
  # Specifies the encryption context that will be used to encrypt the
2246
- # data. An encryption context is valid only for cryptographic operations
2247
- # with a symmetric CMK. The standard asymmetric encryption algorithms
2248
- # that AWS KMS uses do not support an encryption context.
2267
+ # data. An encryption context is valid only for [cryptographic
2268
+ # operations][1] with a symmetric CMK. The standard asymmetric
2269
+ # encryption algorithms that AWS KMS uses do not support an encryption
2270
+ # context.
2249
2271
  #
2250
2272
  # An *encryption context* is a collection of non-secret key-value pairs
2251
2273
  # that represents additional authenticated data. When you use an
@@ -2254,12 +2276,13 @@ module Aws::KMS
2254
2276
  # encryption context is optional when encrypting with a symmetric CMK,
2255
2277
  # but it is highly recommended.
2256
2278
  #
2257
- # For more information, see [Encryption Context][1] in the *AWS Key
2279
+ # For more information, see [Encryption Context][2] in the *AWS Key
2258
2280
  # Management Service Developer Guide*.
2259
2281
  #
2260
2282
  #
2261
2283
  #
2262
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2284
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
2285
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2263
2286
  #
2264
2287
  # @option params [Array<String>] :grant_tokens
2265
2288
  # A list of grant tokens.
@@ -2330,28 +2353,22 @@ module Aws::KMS
2330
2353
  req.send_request(options)
2331
2354
  end
2332
2355
 
2333
- # Generates a unique symmetric data key. This operation returns a
2334
- # plaintext copy of the data key and a copy that is encrypted under a
2335
- # customer master key (CMK) that you specify. You can use the plaintext
2336
- # key to encrypt your data outside of AWS KMS and store the encrypted
2337
- # data key with the encrypted data.
2356
+ # Generates a unique symmetric data key for client-side encryption. This
2357
+ # operation returns a plaintext copy of the data key and a copy that is
2358
+ # encrypted under a customer master key (CMK) that you specify. You can
2359
+ # use the plaintext key to encrypt your data outside of AWS KMS and
2360
+ # store the encrypted data key with the encrypted data.
2338
2361
  #
2339
2362
  # `GenerateDataKey` returns a unique data key for each request. The
2340
- # bytes in the key are not related to the caller or CMK that is used to
2341
- # encrypt the data key.
2363
+ # bytes in the plaintext key are not related to the caller or the CMK.
2342
2364
  #
2343
2365
  # To generate a data key, specify the symmetric CMK that will be used to
2344
2366
  # encrypt the data key. You cannot use an asymmetric CMK to generate
2345
2367
  # data keys. To get the type of your CMK, use the DescribeKey operation.
2346
- #
2347
2368
  # You must also specify the length of the data key. Use either the
2348
2369
  # `KeySpec` or `NumberOfBytes` parameters (but not both). For 128-bit
2349
2370
  # and 256-bit data keys, use the `KeySpec` parameter.
2350
2371
  #
2351
- # If the operation succeeds, the plaintext copy of the data key is in
2352
- # the `Plaintext` field of the response, and the encrypted copy of the
2353
- # data key in the `CiphertextBlob` field.
2354
- #
2355
2372
  # To get only an encrypted copy of the data key, use
2356
2373
  # GenerateDataKeyWithoutPlaintext. To generate an asymmetric data key
2357
2374
  # pair, use the GenerateDataKeyPair or
@@ -2362,7 +2379,7 @@ module Aws::KMS
2362
2379
  # to the encryption operation. If you specify an `EncryptionContext`,
2363
2380
  # you must specify the same encryption context (a case-sensitive exact
2364
2381
  # match) when decrypting the encrypted data key. Otherwise, the request
2365
- # to decrypt fails with an InvalidCiphertextException. For more
2382
+ # to decrypt fails with an `InvalidCiphertextException`. For more
2366
2383
  # information, see [Encryption Context][1] in the *AWS Key Management
2367
2384
  # Service Developer Guide*.
2368
2385
  #
@@ -2370,30 +2387,40 @@ module Aws::KMS
2370
2387
  # state. For details, see [How Key State Affects Use of a Customer
2371
2388
  # Master Key][2] in the *AWS Key Management Service Developer Guide*.
2372
2389
  #
2390
+ # **How to use your data key**
2391
+ #
2373
2392
  # We recommend that you use the following pattern to encrypt data
2374
- # locally in your application:
2393
+ # locally in your application. You can write your own code or use a
2394
+ # client-side encryption library, such as the [AWS Encryption SDK][3],
2395
+ # the [Amazon DynamoDB Encryption Client][4], or [Amazon S3 client-side
2396
+ # encryption][5] to do these tasks for you.
2375
2397
  #
2376
- # 1. Use the `GenerateDataKey` operation to get a data encryption key.
2398
+ # To encrypt data outside of AWS KMS:
2377
2399
  #
2378
- # 2. Use the plaintext data key (returned in the `Plaintext` field of
2379
- # the response) to encrypt data locally, then erase the plaintext
2380
- # data key from memory.
2400
+ # 1. Use the `GenerateDataKey` operation to get a data key.
2401
+ #
2402
+ # 2. Use the plaintext data key (in the `Plaintext` field of the
2403
+ # response) to encrypt your data outside of AWS KMS. Then erase the
2404
+ # plaintext data key from memory.
2381
2405
  #
2382
- # 3. Store the encrypted data key (returned in the `CiphertextBlob`
2383
- # field of the response) alongside the locally encrypted data.
2406
+ # 3. Store the encrypted data key (in the `CiphertextBlob` field of the
2407
+ # response) with the encrypted data.
2384
2408
  #
2385
- # To decrypt data locally:
2409
+ # To decrypt data outside of AWS KMS:
2386
2410
  #
2387
2411
  # 1. Use the Decrypt operation to decrypt the encrypted data key. The
2388
2412
  # operation returns a plaintext copy of the data key.
2389
2413
  #
2390
- # 2. Use the plaintext data key to decrypt data locally, then erase the
2391
- # plaintext data key from memory.
2414
+ # 2. Use the plaintext data key to decrypt data outside of AWS KMS,
2415
+ # then erase the plaintext data key from memory.
2392
2416
  #
2393
2417
  #
2394
2418
  #
2395
2419
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2396
2420
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2421
+ # [3]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
2422
+ # [4]: https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/
2423
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
2397
2424
  #
2398
2425
  # @option params [required, String] :key_id
2399
2426
  # Identifies the symmetric CMK that encrypts the data key.
@@ -2531,8 +2558,8 @@ module Aws::KMS
2531
2558
  #
2532
2559
  # To generate a data key pair, you must specify a symmetric customer
2533
2560
  # master key (CMK) to encrypt the private key in a data key pair. You
2534
- # cannot use an asymmetric CMK. To get the type of your CMK, use the
2535
- # DescribeKey operation.
2561
+ # cannot use an asymmetric CMK or a CMK in a custom key store. To get
2562
+ # the type and origin of your CMK, use the DescribeKey operation.
2536
2563
  #
2537
2564
  # If you are using the data key pair to encrypt data, or for any
2538
2565
  # operation where you don't immediately need a private key, consider
@@ -2547,7 +2574,7 @@ module Aws::KMS
2547
2574
  # to the encryption operation. If you specify an `EncryptionContext`,
2548
2575
  # you must specify the same encryption context (a case-sensitive exact
2549
2576
  # match) when decrypting the encrypted data key. Otherwise, the request
2550
- # to decrypt fails with an InvalidCiphertextException. For more
2577
+ # to decrypt fails with an `InvalidCiphertextException`. For more
2551
2578
  # information, see [Encryption Context][1] in the *AWS Key Management
2552
2579
  # Service Developer Guide*.
2553
2580
  #
@@ -2580,7 +2607,9 @@ module Aws::KMS
2580
2607
  #
2581
2608
  # @option params [required, String] :key_id
2582
2609
  # Specifies the symmetric CMK that encrypts the private key in the data
2583
- # key pair. You cannot specify an asymmetric CMKs.
2610
+ # key pair. You cannot specify an asymmetric CMK or a CMK in a custom
2611
+ # key store. To get the type and origin of your CMK, use the DescribeKey
2612
+ # operation.
2584
2613
  #
2585
2614
  # To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias
2586
2615
  # name, or alias ARN. When using an alias name, prefix it with
@@ -2663,8 +2692,9 @@ module Aws::KMS
2663
2692
  #
2664
2693
  # To generate a data key pair, you must specify a symmetric customer
2665
2694
  # master key (CMK) to encrypt the private key in the data key pair. You
2666
- # cannot use an asymmetric CMK. To get the type of your CMK, use the
2667
- # `KeySpec` field in the DescribeKey response.
2695
+ # cannot use an asymmetric CMK or a CMK in a custom key store. To get
2696
+ # the type and origin of your CMK, use the `KeySpec` field in the
2697
+ # DescribeKey response.
2668
2698
  #
2669
2699
  # You can use the public key that `GenerateDataKeyPairWithoutPlaintext`
2670
2700
  # returns to encrypt data or verify a signature outside of AWS KMS.
@@ -2680,7 +2710,7 @@ module Aws::KMS
2680
2710
  # to the encryption operation. If you specify an `EncryptionContext`,
2681
2711
  # you must specify the same encryption context (a case-sensitive exact
2682
2712
  # match) when decrypting the encrypted data key. Otherwise, the request
2683
- # to decrypt fails with an InvalidCiphertextException. For more
2713
+ # to decrypt fails with an `InvalidCiphertextException`. For more
2684
2714
  # information, see [Encryption Context][1] in the *AWS Key Management
2685
2715
  # Service Developer Guide*.
2686
2716
  #
@@ -2713,8 +2743,9 @@ module Aws::KMS
2713
2743
  #
2714
2744
  # @option params [required, String] :key_id
2715
2745
  # Specifies the CMK that encrypts the private key in the data key pair.
2716
- # You must specify a symmetric CMK. You cannot use an asymmetric CMK. To
2717
- # get the type of your CMK, use the DescribeKey operation.
2746
+ # You must specify a symmetric CMK. You cannot use an asymmetric CMK or
2747
+ # a CMK in a custom key store. To get the type and origin of your CMK,
2748
+ # use the DescribeKey operation.
2718
2749
  #
2719
2750
  # To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias
2720
2751
  # name, or alias ARN. When using an alias name, prefix it with
@@ -2823,7 +2854,7 @@ module Aws::KMS
2823
2854
  # to the encryption operation. If you specify an `EncryptionContext`,
2824
2855
  # you must specify the same encryption context (a case-sensitive exact
2825
2856
  # match) when decrypting the encrypted data key. Otherwise, the request
2826
- # to decrypt fails with an InvalidCiphertextException. For more
2857
+ # to decrypt fails with an `InvalidCiphertextException`. For more
2827
2858
  # information, see [Encryption Context][1] in the *AWS Key Management
2828
2859
  # Service Developer Guide*.
2829
2860
  #
@@ -3569,6 +3600,8 @@ module Aws::KMS
3569
3600
  # * {Types::ListAliasesResponse#next_marker #next_marker} => String
3570
3601
  # * {Types::ListAliasesResponse#truncated #truncated} => Boolean
3571
3602
  #
3603
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3604
+ #
3572
3605
  #
3573
3606
  # @example Example: To list aliases
3574
3607
  #
@@ -3655,6 +3688,19 @@ module Aws::KMS
3655
3688
  # To perform this operation on a CMK in a different AWS account, specify
3656
3689
  # the key ARN in the value of the `KeyId` parameter.
3657
3690
  #
3691
+ # <note markdown="1"> The `GranteePrincipal` field in the `ListGrants` response usually
3692
+ # contains the user or role designated as the grantee principal in the
3693
+ # grant. However, when the grantee principal in the grant is an AWS
3694
+ # service, the `GranteePrincipal` field contains the [service
3695
+ # principal][1], which might represent several different grantee
3696
+ # principals.
3697
+ #
3698
+ # </note>
3699
+ #
3700
+ #
3701
+ #
3702
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services
3703
+ #
3658
3704
  # @option params [Integer] :limit
3659
3705
  # Use this parameter to specify the maximum number of items to return.
3660
3706
  # When this value is present, AWS KMS does not return more than the
@@ -3689,6 +3735,8 @@ module Aws::KMS
3689
3735
  # * {Types::ListGrantsResponse#next_marker #next_marker} => String
3690
3736
  # * {Types::ListGrantsResponse#truncated #truncated} => Boolean
3691
3737
  #
3738
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3739
+ #
3692
3740
  #
3693
3741
  # @example Example: To list grants for a customer master key (CMK)
3694
3742
  #
@@ -3834,6 +3882,8 @@ module Aws::KMS
3834
3882
  # * {Types::ListKeyPoliciesResponse#next_marker #next_marker} => String
3835
3883
  # * {Types::ListKeyPoliciesResponse#truncated #truncated} => Boolean
3836
3884
  #
3885
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3886
+ #
3837
3887
  #
3838
3888
  # @example Example: To list key policies for a customer master key (CMK)
3839
3889
  #
@@ -3898,6 +3948,8 @@ module Aws::KMS
3898
3948
  # * {Types::ListKeysResponse#next_marker #next_marker} => String
3899
3949
  # * {Types::ListKeysResponse#truncated #truncated} => Boolean
3900
3950
  #
3951
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3952
+ #
3901
3953
  #
3902
3954
  # @example Example: To list customer master keys (CMKs)
3903
3955
  #
@@ -4278,16 +4330,16 @@ module Aws::KMS
4278
4330
  # under which data is encrypted, such as when you [manually rotate][1] a
4279
4331
  # CMK or change the CMK that protects a ciphertext. You can also use it
4280
4332
  # to reencrypt ciphertext under the same CMK, such as to change the
4281
- # encryption context of a ciphertext.
4333
+ # [encryption context][2] of a ciphertext.
4282
4334
  #
4283
4335
  # The `ReEncrypt` operation can decrypt ciphertext that was encrypted by
4284
4336
  # using an AWS KMS CMK in an AWS KMS operation, such as Encrypt or
4285
4337
  # GenerateDataKey. It can also decrypt ciphertext that was encrypted by
4286
- # using the public key of an asymmetric CMK outside of AWS KMS. However,
4287
- # it cannot decrypt ciphertext produced by other libraries, such as the
4288
- # [AWS Encryption SDK][2] or [Amazon S3 client-side encryption][3].
4289
- # These libraries return a ciphertext format that is incompatible with
4290
- # AWS KMS.
4338
+ # using the public key of an [asymmetric CMK][3] outside of AWS KMS.
4339
+ # However, it cannot decrypt ciphertext produced by other libraries,
4340
+ # such as the [AWS Encryption SDK][4] or [Amazon S3 client-side
4341
+ # encryption][5]. These libraries return a ciphertext format that is
4342
+ # incompatible with AWS KMS.
4291
4343
  #
4292
4344
  # When you use the `ReEncrypt` operation, you need to provide
4293
4345
  # information for the decrypt operation and the subsequent encrypt
@@ -4325,29 +4377,30 @@ module Aws::KMS
4325
4377
  # Unlike other AWS KMS API operations, `ReEncrypt` callers must have two
4326
4378
  # permissions:
4327
4379
  #
4328
- # * `kms:EncryptFrom` permission on the source CMK
4329
- #
4330
- # * `kms:EncryptTo` permission on the destination CMK
4380
+ # * `kms:ReEncryptFrom` permission on the source CMK
4331
4381
  #
4332
- # To permit reencryption from
4382
+ # * `kms:ReEncryptTo` permission on the destination CMK
4333
4383
  #
4334
- # or to a CMK, include the `"kms:ReEncrypt*"` permission in your [key
4335
- # policy][4]. This permission is automatically included in the key
4336
- # policy when you use the console to create a CMK. But you must include
4337
- # it manually when you create a CMK programmatically or when you use the
4338
- # PutKeyPolicy operation set a key policy.
4384
+ # To permit reencryption from or to a CMK, include the
4385
+ # `"kms:ReEncrypt*"` permission in your [key policy][6]. This permission
4386
+ # is automatically included in the key policy when you use the console
4387
+ # to create a CMK. But you must include it manually when you create a
4388
+ # CMK programmatically or when you use the PutKeyPolicy operation to set
4389
+ # a key policy.
4339
4390
  #
4340
4391
  # The CMK that you use for this operation must be in a compatible key
4341
4392
  # state. For details, see [How Key State Affects Use of a Customer
4342
- # Master Key][5] in the *AWS Key Management Service Developer Guide*.
4393
+ # Master Key][7] in the *AWS Key Management Service Developer Guide*.
4343
4394
  #
4344
4395
  #
4345
4396
  #
4346
4397
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-manually
4347
- # [2]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
4348
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
4349
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
4350
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4398
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4399
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#asymmetric-cmks
4400
+ # [4]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
4401
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
4402
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
4403
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4351
4404
  #
4352
4405
  # @option params [required, String, IO] :ciphertext_blob
4353
4406
  # Ciphertext of the data to reencrypt.
@@ -5426,7 +5479,7 @@ module Aws::KMS
5426
5479
  params: params,
5427
5480
  config: config)
5428
5481
  context[:gem_name] = 'aws-sdk-kms'
5429
- context[:gem_version] = '1.30.0'
5482
+ context[:gem_version] = '1.35.0'
5430
5483
  Seahorse::Client::Request.new(handlers, context)
5431
5484
  end
5432
5485