aws-sdk-kms 1.30.0 → 1.35.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 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