aws-sdk-kms 1.63.0 → 1.65.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 +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-kms/client.rb +581 -204
- data/lib/aws-sdk-kms/client_api.rb +15 -0
- data/lib/aws-sdk-kms/types.rb +341 -34
- data/lib/aws-sdk-kms.rb +1 -1
- metadata +4 -4
data/lib/aws-sdk-kms/client.rb
CHANGED
@@ -275,6 +275,11 @@ module Aws::KMS
|
|
275
275
|
# in the future.
|
276
276
|
#
|
277
277
|
#
|
278
|
+
# @option options [String] :sdk_ua_app_id
|
279
|
+
# A unique and opaque application ID that is appended to the
|
280
|
+
# User-Agent header as app/<sdk_ua_app_id>. It should have a
|
281
|
+
# maximum length of 50.
|
282
|
+
#
|
278
283
|
# @option options [String] :secret_access_key
|
279
284
|
#
|
280
285
|
# @option options [String] :session_token
|
@@ -390,12 +395,12 @@ module Aws::KMS
|
|
390
395
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
391
396
|
# Management Service Developer Guide*.
|
392
397
|
#
|
393
|
-
# **Cross-account use
|
398
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
394
399
|
# key in a different Amazon Web Services account.
|
395
400
|
#
|
396
|
-
# **Required permissions
|
401
|
+
# **Required permissions**: [kms:CancelKeyDeletion][3] (key policy)
|
397
402
|
#
|
398
|
-
# **Related operations
|
403
|
+
# **Related operations**: ScheduleKeyDeletion
|
399
404
|
#
|
400
405
|
#
|
401
406
|
#
|
@@ -527,10 +532,10 @@ module Aws::KMS
|
|
527
532
|
# store, see [Troubleshooting an external key store][6] in the *Key
|
528
533
|
# Management Service Developer Guide*.
|
529
534
|
#
|
530
|
-
# **Cross-account use
|
535
|
+
# **Cross-account use**: No. You cannot perform this operation on a
|
531
536
|
# custom key store in a different Amazon Web Services account.
|
532
537
|
#
|
533
|
-
# **Required permissions
|
538
|
+
# **Required permissions**: [kms:ConnectCustomKeyStore][7] (IAM policy)
|
534
539
|
#
|
535
540
|
# **Related operations**
|
536
541
|
#
|
@@ -624,7 +629,7 @@ module Aws::KMS
|
|
624
629
|
# key state. For details, see [Key states of KMS keys][4] in the *Key
|
625
630
|
# Management Service Developer Guide*.
|
626
631
|
#
|
627
|
-
# **Cross-account use
|
632
|
+
# **Cross-account use**: No. You cannot perform this operation on an
|
628
633
|
# alias in a different Amazon Web Services account.
|
629
634
|
#
|
630
635
|
# **Required permissions**
|
@@ -657,6 +662,10 @@ module Aws::KMS
|
|
657
662
|
# Specifies the alias name. This value must begin with `alias/` followed
|
658
663
|
# by a name, such as `alias/ExampleAlias`.
|
659
664
|
#
|
665
|
+
# Do not include confidential or sensitive information in this field.
|
666
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
667
|
+
# output.
|
668
|
+
#
|
660
669
|
# The `AliasName` value must be string of 1-256 characters. It can
|
661
670
|
# contain only alphanumeric characters, forward slashes (/), underscores
|
662
671
|
# (\_), and dashes (-). The alias name cannot begin with `alias/aws/`.
|
@@ -788,10 +797,10 @@ module Aws::KMS
|
|
788
797
|
# For help with failures, see [Troubleshooting a custom key store][7] in
|
789
798
|
# the *Key Management Service Developer Guide*.
|
790
799
|
#
|
791
|
-
# **Cross-account use
|
800
|
+
# **Cross-account use**: No. You cannot perform this operation on a
|
792
801
|
# custom key store in a different Amazon Web Services account.
|
793
802
|
#
|
794
|
-
# **Required permissions
|
803
|
+
# **Required permissions**: [kms:CreateCustomKeyStore][9] (IAM policy).
|
795
804
|
#
|
796
805
|
# **Related operations:**
|
797
806
|
#
|
@@ -822,6 +831,10 @@ module Aws::KMS
|
|
822
831
|
# unique in your Amazon Web Services account and Region. This parameter
|
823
832
|
# is required for all custom key stores.
|
824
833
|
#
|
834
|
+
# Do not include confidential or sensitive information in this field.
|
835
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
836
|
+
# output.
|
837
|
+
#
|
825
838
|
# @option params [String] :cloud_hsm_cluster_id
|
826
839
|
# Identifies the CloudHSM cluster for an CloudHSM key store. This
|
827
840
|
# parameter is required for custom key stores with `CustomKeyStoreType`
|
@@ -1018,7 +1031,7 @@ module Aws::KMS
|
|
1018
1031
|
# # This example creates a custom key store that is associated with an AWS CloudHSM cluster.
|
1019
1032
|
#
|
1020
1033
|
# resp = client.create_custom_key_store({
|
1021
|
-
# cloud_hsm_cluster_id: "cluster-
|
1034
|
+
# cloud_hsm_cluster_id: "cluster-234abcdefABC", # The ID of the CloudHSM cluster.
|
1022
1035
|
# custom_key_store_name: "ExampleKeyStore", # A friendly name for the custom key store.
|
1023
1036
|
# key_store_password: "kmsPswd", # The password for the kmsuser CU account in the specified cluster.
|
1024
1037
|
# trust_anchor_certificate: "<certificate-goes-here>", # The content of the customerCA.crt file that you created when you initialized the cluster.
|
@@ -1140,11 +1153,11 @@ module Aws::KMS
|
|
1140
1153
|
# key state. For details, see [Key states of KMS keys][4] in the *Key
|
1141
1154
|
# Management Service Developer Guide*.
|
1142
1155
|
#
|
1143
|
-
# **Cross-account use
|
1156
|
+
# **Cross-account use**: Yes. To perform this operation on a KMS key in
|
1144
1157
|
# a different Amazon Web Services account, specify the key ARN in the
|
1145
1158
|
# value of the `KeyId` parameter.
|
1146
1159
|
#
|
1147
|
-
# **Required permissions
|
1160
|
+
# **Required permissions**: [kms:CreateGrant][5] (key policy)
|
1148
1161
|
#
|
1149
1162
|
# **Related operations:**
|
1150
1163
|
#
|
@@ -1235,22 +1248,19 @@ module Aws::KMS
|
|
1235
1248
|
# @option params [Types::GrantConstraints] :constraints
|
1236
1249
|
# Specifies a grant constraint.
|
1237
1250
|
#
|
1251
|
+
# Do not include confidential or sensitive information in this field.
|
1252
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
1253
|
+
# output.
|
1254
|
+
#
|
1238
1255
|
# KMS supports the `EncryptionContextEquals` and
|
1239
|
-
# `EncryptionContextSubset` grant constraints
|
1240
|
-
#
|
1241
|
-
#
|
1242
|
-
#
|
1243
|
-
#
|
1244
|
-
# encryption context, see [Encryption context][2] in the <i> <i>Key
|
1245
|
-
# Management Service Developer Guide</i> </i>.
|
1246
|
-
#
|
1247
|
-
# The encryption context grant constraints allow the permissions in the
|
1248
|
-
# grant only when the encryption context in the request matches
|
1249
|
-
# (`EncryptionContextEquals`) or includes (`EncryptionContextSubset`)
|
1250
|
-
# the encryption context specified in this structure.
|
1256
|
+
# `EncryptionContextSubset` grant constraints, which allow the
|
1257
|
+
# permissions in the grant only when the encryption context in the
|
1258
|
+
# request matches (`EncryptionContextEquals`) or includes
|
1259
|
+
# (`EncryptionContextSubset`) the encryption context specified in the
|
1260
|
+
# constraint.
|
1251
1261
|
#
|
1252
1262
|
# The encryption context grant constraints are supported only on [grant
|
1253
|
-
# operations][
|
1263
|
+
# operations][1] that include an `EncryptionContext` parameter, such as
|
1254
1264
|
# cryptographic operations on symmetric encryption KMS keys. Grants with
|
1255
1265
|
# grant constraints can include the DescribeKey and RetireGrant
|
1256
1266
|
# operations, but the constraint doesn't apply to these operations. If
|
@@ -1261,15 +1271,20 @@ module Aws::KMS
|
|
1261
1271
|
#
|
1262
1272
|
# You cannot use an encryption context grant constraint for
|
1263
1273
|
# cryptographic operations with asymmetric KMS keys or HMAC KMS keys.
|
1264
|
-
#
|
1265
|
-
#
|
1274
|
+
# Operations with these keys don't support an encryption context.
|
1266
1275
|
#
|
1276
|
+
# Each constraint value can include up to 8 encryption context pairs.
|
1277
|
+
# The encryption context value in each constraint cannot exceed 384
|
1278
|
+
# characters. For information about grant constraints, see [Using grant
|
1279
|
+
# constraints][2] in the *Key Management Service Developer Guide*. For
|
1280
|
+
# more information about encryption context, see [Encryption context][3]
|
1281
|
+
# in the <i> <i>Key Management Service Developer Guide</i> </i>.
|
1267
1282
|
#
|
1268
1283
|
#
|
1269
1284
|
#
|
1270
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
1271
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
1272
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
1285
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations
|
1286
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/create-grant-overview.html#grant-constraints
|
1287
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
|
1273
1288
|
#
|
1274
1289
|
# @option params [Array<String>] :grant_tokens
|
1275
1290
|
# A list of grant tokens.
|
@@ -1288,6 +1303,10 @@ module Aws::KMS
|
|
1288
1303
|
# A friendly name for the grant. Use this value to prevent the
|
1289
1304
|
# unintended creation of duplicate grants when retrying this request.
|
1290
1305
|
#
|
1306
|
+
# Do not include confidential or sensitive information in this field.
|
1307
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
1308
|
+
# output.
|
1309
|
+
#
|
1291
1310
|
# When this value is absent, all `CreateGrant` requests result in a new
|
1292
1311
|
# grant with a unique `GrantId` even if all the supplied parameters are
|
1293
1312
|
# identical. This can result in unintended duplicates when you retry the
|
@@ -1552,13 +1571,13 @@ module Aws::KMS
|
|
1552
1571
|
#
|
1553
1572
|
# </note>
|
1554
1573
|
#
|
1555
|
-
# **Cross-account use
|
1574
|
+
# **Cross-account use**: No. You cannot use this operation to create a
|
1556
1575
|
# KMS key in a different Amazon Web Services account.
|
1557
1576
|
#
|
1558
|
-
# **Required permissions
|
1559
|
-
#
|
1560
|
-
#
|
1561
|
-
#
|
1577
|
+
# **Required permissions**: [kms:CreateKey][11] (IAM policy). To use the
|
1578
|
+
# `Tags` parameter, [kms:TagResource][11] (IAM policy). For examples and
|
1579
|
+
# information about related permissions, see [Allow a user to create KMS
|
1580
|
+
# keys][12] in the *Key Management Service Developer Guide*.
|
1562
1581
|
#
|
1563
1582
|
# **Related operations:**
|
1564
1583
|
#
|
@@ -1621,11 +1640,13 @@ module Aws::KMS
|
|
1621
1640
|
# [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
|
1622
1641
|
#
|
1623
1642
|
# @option params [String] :description
|
1624
|
-
# A description of the KMS key.
|
1643
|
+
# A description of the KMS key. Use a description that helps you decide
|
1644
|
+
# whether the KMS key is appropriate for a task. The default value is an
|
1645
|
+
# empty string (no description).
|
1625
1646
|
#
|
1626
|
-
#
|
1627
|
-
#
|
1628
|
-
#
|
1647
|
+
# Do not include confidential or sensitive information in this field.
|
1648
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
1649
|
+
# output.
|
1629
1650
|
#
|
1630
1651
|
# To set or change the description after the key is created, use
|
1631
1652
|
# UpdateKeyDescription.
|
@@ -1813,6 +1834,10 @@ module Aws::KMS
|
|
1813
1834
|
# KMS key when it is created. To tag an existing KMS key, use the
|
1814
1835
|
# TagResource operation.
|
1815
1836
|
#
|
1837
|
+
# Do not include confidential or sensitive information in this field.
|
1838
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
1839
|
+
# output.
|
1840
|
+
#
|
1816
1841
|
# <note markdown="1"> Tagging or untagging a KMS key can allow or deny permission to the KMS
|
1817
1842
|
# key. For details, see [ABAC for KMS][1] in the *Key Management Service
|
1818
1843
|
# Developer Guide*.
|
@@ -2125,7 +2150,7 @@ module Aws::KMS
|
|
2125
2150
|
# key_metadata: {
|
2126
2151
|
# aws_account_id: "111122223333",
|
2127
2152
|
# arn: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
|
2128
|
-
# cloud_hsm_cluster_id: "cluster-
|
2153
|
+
# cloud_hsm_cluster_id: "cluster-234abcdefABC",
|
2129
2154
|
# creation_date: Time.parse("2019-12-02T07:48:55-07:00"),
|
2130
2155
|
# custom_key_store_id: "cks-1234567890abcdef0",
|
2131
2156
|
# customer_master_key_spec: "SYMMETRIC_DEFAULT",
|
@@ -2297,21 +2322,27 @@ module Aws::KMS
|
|
2297
2322
|
# details, see [Best practices for IAM policies][4] in the *Key
|
2298
2323
|
# Management Service Developer Guide*.
|
2299
2324
|
#
|
2300
|
-
#
|
2301
|
-
#
|
2302
|
-
#
|
2303
|
-
# Amazon Web Services
|
2304
|
-
#
|
2325
|
+
# `Decrypt` also supports [Amazon Web Services Nitro Enclaves][5], which
|
2326
|
+
# provide an isolated compute environment in Amazon EC2. To call
|
2327
|
+
# `Decrypt` for a Nitro enclave, use the [Amazon Web Services Nitro
|
2328
|
+
# Enclaves SDK][6] or any Amazon Web Services SDK. Use the `Recipient`
|
2329
|
+
# parameter to provide the attestation document for the enclave. Instead
|
2330
|
+
# of the plaintext data, the response includes the plaintext data
|
2331
|
+
# encrypted with the public key from the attestation document
|
2332
|
+
# (`CiphertextForRecipient`).For information about the interaction
|
2333
|
+
# between KMS and Amazon Web Services Nitro Enclaves, see [How Amazon
|
2334
|
+
# Web Services Nitro Enclaves uses KMS][7] in the *Key Management
|
2335
|
+
# Service Developer Guide*..
|
2305
2336
|
#
|
2306
2337
|
# The KMS key that you use for this operation must be in a compatible
|
2307
|
-
# key state. For details, see [Key states of KMS keys][
|
2338
|
+
# key state. For details, see [Key states of KMS keys][8] in the *Key
|
2308
2339
|
# Management Service Developer Guide*.
|
2309
2340
|
#
|
2310
|
-
# **Cross-account use
|
2341
|
+
# **Cross-account use**: Yes. If you use the `KeyId` parameter to
|
2311
2342
|
# identify a KMS key in a different Amazon Web Services account, specify
|
2312
2343
|
# the key ARN or the alias ARN of the KMS key.
|
2313
2344
|
#
|
2314
|
-
# **Required permissions
|
2345
|
+
# **Required permissions**: [kms:Decrypt][9] (key policy)
|
2315
2346
|
#
|
2316
2347
|
# **Related operations:**
|
2317
2348
|
#
|
@@ -2329,10 +2360,11 @@ module Aws::KMS
|
|
2329
2360
|
# [2]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
|
2330
2361
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
|
2331
2362
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policies-best-practices
|
2332
|
-
# [5]: https://
|
2333
|
-
# [6]: https://docs.aws.amazon.com/
|
2334
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
2335
|
-
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
2363
|
+
# [5]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
2364
|
+
# [6]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
2365
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
2366
|
+
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
2367
|
+
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
2336
2368
|
#
|
2337
2369
|
# @option params [required, String, StringIO, File] :ciphertext_blob
|
2338
2370
|
# Ciphertext to be decrypted. The blob includes metadata.
|
@@ -2417,16 +2449,44 @@ module Aws::KMS
|
|
2417
2449
|
# represents the only supported algorithm that is valid for symmetric
|
2418
2450
|
# encryption KMS keys.
|
2419
2451
|
#
|
2452
|
+
# @option params [Types::RecipientInfo] :recipient
|
2453
|
+
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
2454
|
+
# enclave and the encryption algorithm to use with the enclave's public
|
2455
|
+
# key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
|
2456
|
+
#
|
2457
|
+
# This parameter only supports attestation documents for Amazon Web
|
2458
|
+
# Services Nitro Enclaves. To include this parameter, use the [Amazon
|
2459
|
+
# Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
|
2460
|
+
#
|
2461
|
+
# When you use this parameter, instead of returning the plaintext data,
|
2462
|
+
# KMS encrypts the plaintext data with the public key in the attestation
|
2463
|
+
# document, and returns the resulting ciphertext in the
|
2464
|
+
# `CiphertextForRecipient` field in the response. This ciphertext can be
|
2465
|
+
# decrypted only with the private key in the enclave. The `Plaintext`
|
2466
|
+
# field in the response is null or empty.
|
2467
|
+
#
|
2468
|
+
# For information about the interaction between KMS and Amazon Web
|
2469
|
+
# Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
|
2470
|
+
# uses KMS][3] in the *Key Management Service Developer Guide*.
|
2471
|
+
#
|
2472
|
+
#
|
2473
|
+
#
|
2474
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
2475
|
+
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
2476
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
2477
|
+
#
|
2420
2478
|
# @return [Types::DecryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
2421
2479
|
#
|
2422
2480
|
# * {Types::DecryptResponse#key_id #key_id} => String
|
2423
2481
|
# * {Types::DecryptResponse#plaintext #plaintext} => String
|
2424
2482
|
# * {Types::DecryptResponse#encryption_algorithm #encryption_algorithm} => String
|
2483
|
+
# * {Types::DecryptResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
|
2425
2484
|
#
|
2426
2485
|
#
|
2427
|
-
# @example Example: To decrypt data
|
2486
|
+
# @example Example: To decrypt data with a symmetric encryption KMS key
|
2428
2487
|
#
|
2429
|
-
# # The following example decrypts data that was encrypted with a KMS key.
|
2488
|
+
# # The following example decrypts data that was encrypted with a symmetric encryption KMS key. The KeyId is not required
|
2489
|
+
# # when decrypting with a symmetric encryption key, but it is a best practice.
|
2430
2490
|
#
|
2431
2491
|
# resp = client.decrypt({
|
2432
2492
|
# ciphertext_blob: "<binary data>", # The encrypted data (ciphertext).
|
@@ -2435,10 +2495,51 @@ module Aws::KMS
|
|
2435
2495
|
#
|
2436
2496
|
# resp.to_h outputs the following:
|
2437
2497
|
# {
|
2498
|
+
# 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.
|
2438
2499
|
# 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.
|
2439
2500
|
# plaintext: "<binary data>", # The decrypted (plaintext) data.
|
2440
2501
|
# }
|
2441
2502
|
#
|
2503
|
+
# @example Example: To decrypt data with an asymmetric encryption KMS key
|
2504
|
+
#
|
2505
|
+
# # The following example decrypts data that was encrypted with an asymmetric encryption KMS key. When the KMS encryption
|
2506
|
+
# # key is asymmetric, you must specify the KMS key ID and the encryption algorithm that was used to encrypt the data.
|
2507
|
+
#
|
2508
|
+
# resp = client.decrypt({
|
2509
|
+
# ciphertext_blob: "<binary data>", # The encrypted data (ciphertext).
|
2510
|
+
# encryption_algorithm: "RSAES_OAEP_SHA_256", # The encryption algorithm that was used to encrypt the data. This parameter is required to decrypt with an asymmetric KMS key.
|
2511
|
+
# key_id: "0987dcba-09fe-87dc-65ba-ab0987654321", # A key identifier for the KMS key to use to decrypt the data. This parameter is required to decrypt with an asymmetric KMS key.
|
2512
|
+
# })
|
2513
|
+
#
|
2514
|
+
# resp.to_h outputs the following:
|
2515
|
+
# {
|
2516
|
+
# encryption_algorithm: "RSAES_OAEP_SHA_256", # The encryption algorithm that was used to decrypt the ciphertext.
|
2517
|
+
# key_id: "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", # The Amazon Resource Name (ARN) of the KMS key that was used to decrypt the data.
|
2518
|
+
# plaintext: "<binary data>", # The decrypted (plaintext) data.
|
2519
|
+
# }
|
2520
|
+
#
|
2521
|
+
# @example Example: To decrypt data for a Nitro enclave
|
2522
|
+
#
|
2523
|
+
# # The following Decrypt example includes the Recipient parameter with a signed attestation document from an AWS Nitro
|
2524
|
+
# # enclave. Instead of returning the decrypted data in plaintext (Plaintext), the operation returns the decrypted data
|
2525
|
+
# # encrypted by the public key from the attestation document (CiphertextForRecipient).
|
2526
|
+
#
|
2527
|
+
# resp = client.decrypt({
|
2528
|
+
# ciphertext_blob: "<binary data>", # The encrypted data. This ciphertext was encrypted with the KMS key
|
2529
|
+
# key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The KMS key to use to decrypt the ciphertext
|
2530
|
+
# recipient: {
|
2531
|
+
# attestation_document: "<attestation document>",
|
2532
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
2533
|
+
# }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
|
2534
|
+
# })
|
2535
|
+
#
|
2536
|
+
# resp.to_h outputs the following:
|
2537
|
+
# {
|
2538
|
+
# ciphertext_for_recipient: "<binary data>", # The decrypted CiphertextBlob encrypted with the public key from the attestation document
|
2539
|
+
# key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The KMS key that was used to decrypt the encrypted data (CiphertextBlob)
|
2540
|
+
# plaintext: "", # This field is null or empty
|
2541
|
+
# }
|
2542
|
+
#
|
2442
2543
|
# @example Request syntax with placeholder values
|
2443
2544
|
#
|
2444
2545
|
# resp = client.decrypt({
|
@@ -2449,6 +2550,10 @@ module Aws::KMS
|
|
2449
2550
|
# grant_tokens: ["GrantTokenType"],
|
2450
2551
|
# key_id: "KeyIdType",
|
2451
2552
|
# encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, SM2PKE
|
2553
|
+
# recipient: {
|
2554
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
|
2555
|
+
# attestation_document: "data",
|
2556
|
+
# },
|
2452
2557
|
# })
|
2453
2558
|
#
|
2454
2559
|
# @example Response structure
|
@@ -2456,6 +2561,7 @@ module Aws::KMS
|
|
2456
2561
|
# resp.key_id #=> String
|
2457
2562
|
# resp.plaintext #=> String
|
2458
2563
|
# resp.encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
2564
|
+
# resp.ciphertext_for_recipient #=> String
|
2459
2565
|
#
|
2460
2566
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Decrypt AWS API Documentation
|
2461
2567
|
#
|
@@ -2484,7 +2590,7 @@ module Aws::KMS
|
|
2484
2590
|
# create a new alias. To associate an existing alias with a different
|
2485
2591
|
# KMS key, call UpdateAlias.
|
2486
2592
|
#
|
2487
|
-
# **Cross-account use
|
2593
|
+
# **Cross-account use**: No. You cannot perform this operation on an
|
2488
2594
|
# alias in a different Amazon Web Services account.
|
2489
2595
|
#
|
2490
2596
|
# **Required permissions**
|
@@ -2578,10 +2684,10 @@ module Aws::KMS
|
|
2578
2684
|
# If the operation succeeds, it returns a JSON object with no
|
2579
2685
|
# properties.
|
2580
2686
|
#
|
2581
|
-
# **Cross-account use
|
2687
|
+
# **Cross-account use**: No. You cannot perform this operation on a
|
2582
2688
|
# custom key store in a different Amazon Web Services account.
|
2583
2689
|
#
|
2584
|
-
# **Required permissions
|
2690
|
+
# **Required permissions**: [kms:DeleteCustomKeyStore][5] (IAM policy)
|
2585
2691
|
#
|
2586
2692
|
# **Related operations:**
|
2587
2693
|
#
|
@@ -2655,10 +2761,10 @@ module Aws::KMS
|
|
2655
2761
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
2656
2762
|
# Management Service Developer Guide*.
|
2657
2763
|
#
|
2658
|
-
# **Cross-account use
|
2764
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
2659
2765
|
# key in a different Amazon Web Services account.
|
2660
2766
|
#
|
2661
|
-
# **Required permissions
|
2767
|
+
# **Required permissions**: [kms:DeleteImportedKeyMaterial][3] (key
|
2662
2768
|
# policy)
|
2663
2769
|
#
|
2664
2770
|
# **Related operations:**
|
@@ -2750,10 +2856,10 @@ module Aws::KMS
|
|
2750
2856
|
# see the [Troubleshooting external key stores][3]. Both topics are in
|
2751
2857
|
# the *Key Management Service Developer Guide*.
|
2752
2858
|
#
|
2753
|
-
# **Cross-account use
|
2859
|
+
# **Cross-account use**: No. You cannot perform this operation on a
|
2754
2860
|
# custom key store in a different Amazon Web Services account.
|
2755
2861
|
#
|
2756
|
-
# **Required permissions
|
2862
|
+
# **Required permissions**: [kms:DescribeCustomKeyStores][4] (IAM
|
2757
2863
|
# policy)
|
2758
2864
|
#
|
2759
2865
|
# **Related operations:**
|
@@ -2839,7 +2945,7 @@ module Aws::KMS
|
|
2839
2945
|
# {
|
2840
2946
|
# custom_key_stores: [
|
2841
2947
|
# {
|
2842
|
-
# cloud_hsm_cluster_id: "cluster-
|
2948
|
+
# cloud_hsm_cluster_id: "cluster-234abcdefABC",
|
2843
2949
|
# connection_state: "CONNECTED",
|
2844
2950
|
# creation_date: Time.parse("1.499288695918E9"),
|
2845
2951
|
# custom_key_store_id: "cks-1234567890abcdef0",
|
@@ -2988,11 +3094,11 @@ module Aws::KMS
|
|
2988
3094
|
# services use `DescribeKey` to create [Amazon Web Services managed
|
2989
3095
|
# keys][2] from a *predefined Amazon Web Services alias* with no key ID.
|
2990
3096
|
#
|
2991
|
-
# **Cross-account use
|
3097
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
2992
3098
|
# in a different Amazon Web Services account, specify the key ARN or
|
2993
3099
|
# alias ARN in the value of the `KeyId` parameter.
|
2994
3100
|
#
|
2995
|
-
# **Required permissions
|
3101
|
+
# **Required permissions**: [kms:DescribeKey][4] (key policy)
|
2996
3102
|
#
|
2997
3103
|
# **Related operations:**
|
2998
3104
|
#
|
@@ -3224,7 +3330,7 @@ module Aws::KMS
|
|
3224
3330
|
# key_metadata: {
|
3225
3331
|
# aws_account_id: "123456789012",
|
3226
3332
|
# arn: "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab",
|
3227
|
-
# cloud_hsm_cluster_id: "cluster-
|
3333
|
+
# cloud_hsm_cluster_id: "cluster-234abcdefABC",
|
3228
3334
|
# creation_date: Time.parse(1646160362.664),
|
3229
3335
|
# custom_key_store_id: "cks-1234567890abcdef0",
|
3230
3336
|
# customer_master_key_spec: "SYMMETRIC_DEFAULT",
|
@@ -3339,12 +3445,12 @@ module Aws::KMS
|
|
3339
3445
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
3340
3446
|
# Management Service Developer Guide*.
|
3341
3447
|
#
|
3342
|
-
# **Cross-account use
|
3448
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
3343
3449
|
# key in a different Amazon Web Services account.
|
3344
3450
|
#
|
3345
|
-
# **Required permissions
|
3451
|
+
# **Required permissions**: [kms:DisableKey][3] (key policy)
|
3346
3452
|
#
|
3347
|
-
# **Related operations
|
3453
|
+
# **Related operations**: EnableKey
|
3348
3454
|
#
|
3349
3455
|
#
|
3350
3456
|
#
|
@@ -3419,10 +3525,10 @@ module Aws::KMS
|
|
3419
3525
|
# key state. For details, see [Key states of KMS keys][10] in the *Key
|
3420
3526
|
# Management Service Developer Guide*.
|
3421
3527
|
#
|
3422
|
-
# **Cross-account use
|
3528
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
3423
3529
|
# key in a different Amazon Web Services account.
|
3424
3530
|
#
|
3425
|
-
# **Required permissions
|
3531
|
+
# **Required permissions**: [kms:DisableKeyRotation][11] (key policy)
|
3426
3532
|
#
|
3427
3533
|
# **Related operations:**
|
3428
3534
|
#
|
@@ -3524,10 +3630,10 @@ module Aws::KMS
|
|
3524
3630
|
# If the operation succeeds, it returns a JSON object with no
|
3525
3631
|
# properties.
|
3526
3632
|
#
|
3527
|
-
# **Cross-account use
|
3633
|
+
# **Cross-account use**: No. You cannot perform this operation on a
|
3528
3634
|
# custom key store in a different Amazon Web Services account.
|
3529
3635
|
#
|
3530
|
-
# **Required permissions
|
3636
|
+
# **Required permissions**: [kms:DisconnectCustomKeyStore][3] (IAM
|
3531
3637
|
# policy)
|
3532
3638
|
#
|
3533
3639
|
# **Related operations:**
|
@@ -3593,12 +3699,12 @@ module Aws::KMS
|
|
3593
3699
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
3594
3700
|
# Management Service Developer Guide*.
|
3595
3701
|
#
|
3596
|
-
# **Cross-account use
|
3702
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
3597
3703
|
# key in a different Amazon Web Services account.
|
3598
3704
|
#
|
3599
|
-
# **Required permissions
|
3705
|
+
# **Required permissions**: [kms:EnableKey][3] (key policy)
|
3600
3706
|
#
|
3601
|
-
# **Related operations
|
3707
|
+
# **Related operations**: DisableKey
|
3602
3708
|
#
|
3603
3709
|
#
|
3604
3710
|
#
|
@@ -3685,10 +3791,10 @@ module Aws::KMS
|
|
3685
3791
|
# key state. For details, see [Key states of KMS keys][11] in the *Key
|
3686
3792
|
# Management Service Developer Guide*.
|
3687
3793
|
#
|
3688
|
-
# **Cross-account use
|
3794
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
3689
3795
|
# key in a different Amazon Web Services account.
|
3690
3796
|
#
|
3691
|
-
# **Required permissions
|
3797
|
+
# **Required permissions**: [kms:EnableKeyRotation][12] (key policy)
|
3692
3798
|
#
|
3693
3799
|
# **Related operations:**
|
3694
3800
|
#
|
@@ -3804,39 +3910,39 @@ module Aws::KMS
|
|
3804
3910
|
#
|
3805
3911
|
# * Symmetric encryption KMS keys
|
3806
3912
|
#
|
3807
|
-
# * `SYMMETRIC_DEFAULT
|
3913
|
+
# * `SYMMETRIC_DEFAULT`: 4096 bytes
|
3808
3914
|
#
|
3809
3915
|
# ^
|
3810
3916
|
#
|
3811
3917
|
# * `RSA_2048`
|
3812
3918
|
#
|
3813
|
-
# * `RSAES_OAEP_SHA_1
|
3919
|
+
# * `RSAES_OAEP_SHA_1`: 214 bytes
|
3814
3920
|
#
|
3815
|
-
# * `RSAES_OAEP_SHA_256
|
3921
|
+
# * `RSAES_OAEP_SHA_256`: 190 bytes
|
3816
3922
|
#
|
3817
3923
|
# * `RSA_3072`
|
3818
3924
|
#
|
3819
|
-
# * `RSAES_OAEP_SHA_1
|
3925
|
+
# * `RSAES_OAEP_SHA_1`: 342 bytes
|
3820
3926
|
#
|
3821
|
-
# * `RSAES_OAEP_SHA_256
|
3927
|
+
# * `RSAES_OAEP_SHA_256`: 318 bytes
|
3822
3928
|
#
|
3823
3929
|
# * `RSA_4096`
|
3824
3930
|
#
|
3825
|
-
# * `RSAES_OAEP_SHA_1
|
3931
|
+
# * `RSAES_OAEP_SHA_1`: 470 bytes
|
3826
3932
|
#
|
3827
|
-
# * `RSAES_OAEP_SHA_256
|
3933
|
+
# * `RSAES_OAEP_SHA_256`: 446 bytes
|
3828
3934
|
#
|
3829
|
-
# * `SM2PKE
|
3935
|
+
# * `SM2PKE`: 1024 bytes (China Regions only)
|
3830
3936
|
#
|
3831
3937
|
# The KMS key that you use for this operation must be in a compatible
|
3832
3938
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
3833
3939
|
# Management Service Developer Guide*.
|
3834
3940
|
#
|
3835
|
-
# **Cross-account use
|
3941
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
3836
3942
|
# in a different Amazon Web Services account, specify the key ARN or
|
3837
3943
|
# alias ARN in the value of the `KeyId` parameter.
|
3838
3944
|
#
|
3839
|
-
# **Required permissions
|
3945
|
+
# **Required permissions**: [kms:Encrypt][3] (key policy)
|
3840
3946
|
#
|
3841
3947
|
# **Related operations:**
|
3842
3948
|
#
|
@@ -3886,6 +3992,10 @@ module Aws::KMS
|
|
3886
3992
|
# asymmetric encryption algorithms and HMAC algorithms that KMS uses do
|
3887
3993
|
# not support an encryption context.
|
3888
3994
|
#
|
3995
|
+
# Do not include confidential or sensitive information in this field.
|
3996
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
3997
|
+
# output.
|
3998
|
+
#
|
3889
3999
|
# An *encryption context* is a collection of non-secret key-value pairs
|
3890
4000
|
# that represent additional authenticated data. When you use an
|
3891
4001
|
# encryption context to encrypt data, you must specify the same (an
|
@@ -3934,9 +4044,9 @@ module Aws::KMS
|
|
3934
4044
|
# * {Types::EncryptResponse#encryption_algorithm #encryption_algorithm} => String
|
3935
4045
|
#
|
3936
4046
|
#
|
3937
|
-
# @example Example: To encrypt data
|
4047
|
+
# @example Example: To encrypt data with a symmetric encryption KMS key
|
3938
4048
|
#
|
3939
|
-
# # The following example encrypts data with the specified KMS key.
|
4049
|
+
# # The following example encrypts data with the specified symmetric encryption KMS key.
|
3940
4050
|
#
|
3941
4051
|
# resp = client.encrypt({
|
3942
4052
|
# key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key to use for encryption. You can use the key ID or Amazon Resource Name (ARN) of the KMS key, or the name or ARN of an alias that refers to the KMS key.
|
@@ -3946,9 +4056,28 @@ module Aws::KMS
|
|
3946
4056
|
# resp.to_h outputs the following:
|
3947
4057
|
# {
|
3948
4058
|
# ciphertext_blob: "<binary data>", # The encrypted data (ciphertext).
|
4059
|
+
# encryption_algorithm: "SYMMETRIC_DEFAULT", # The encryption algorithm that was used in the operation. For symmetric encryption keys, the encryption algorithm is always SYMMETRIC_DEFAULT.
|
3949
4060
|
# key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The ARN of the KMS key that was used to encrypt the data.
|
3950
4061
|
# }
|
3951
4062
|
#
|
4063
|
+
# @example Example: To encrypt data with an asymmetric encryption KMS key
|
4064
|
+
#
|
4065
|
+
# # The following example encrypts data with the specified RSA asymmetric KMS key. When you encrypt with an asymmetric key,
|
4066
|
+
# # you must specify the encryption algorithm.
|
4067
|
+
#
|
4068
|
+
# resp = client.encrypt({
|
4069
|
+
# encryption_algorithm: "RSAES_OAEP_SHA_256", # The encryption algorithm to use in the operation.
|
4070
|
+
# key_id: "0987dcba-09fe-87dc-65ba-ab0987654321", # The identifier of the KMS key to use for encryption. You can use the key ID or Amazon Resource Name (ARN) of the KMS key, or the name or ARN of an alias that refers to the KMS key.
|
4071
|
+
# plaintext: "<binary data>", # The data to encrypt.
|
4072
|
+
# })
|
4073
|
+
#
|
4074
|
+
# resp.to_h outputs the following:
|
4075
|
+
# {
|
4076
|
+
# ciphertext_blob: "<binary data>", # The encrypted data (ciphertext).
|
4077
|
+
# encryption_algorithm: "RSAES_OAEP_SHA_256", # The encryption algorithm that was used in the operation.
|
4078
|
+
# key_id: "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", # The ARN of the KMS key that was used to encrypt the data.
|
4079
|
+
# }
|
4080
|
+
#
|
3952
4081
|
# @example Request syntax with placeholder values
|
3953
4082
|
#
|
3954
4083
|
# resp = client.encrypt({
|
@@ -4012,14 +4141,22 @@ module Aws::KMS
|
|
4012
4141
|
# information, see [Encryption Context][1] in the *Key Management
|
4013
4142
|
# Service Developer Guide*.
|
4014
4143
|
#
|
4015
|
-
#
|
4016
|
-
#
|
4017
|
-
#
|
4018
|
-
# Amazon Web Services Nitro Enclaves
|
4019
|
-
#
|
4144
|
+
# `GenerateDataKey` also supports [Amazon Web Services Nitro
|
4145
|
+
# Enclaves][2], which provide an isolated compute environment in Amazon
|
4146
|
+
# EC2. To call `GenerateDataKey` for an Amazon Web Services Nitro
|
4147
|
+
# enclave, use the [Amazon Web Services Nitro Enclaves SDK][3] or any
|
4148
|
+
# Amazon Web Services SDK. Use the `Recipient` parameter to provide the
|
4149
|
+
# attestation document for the enclave. `GenerateDataKey` returns a copy
|
4150
|
+
# of the data key encrypted under the specified KMS key, as usual. But
|
4151
|
+
# instead of a plaintext copy of the data key, the response includes a
|
4152
|
+
# copy of the data key encrypted under the public key from the
|
4153
|
+
# attestation document (`CiphertextForRecipient`). For information about
|
4154
|
+
# the interaction between KMS and Amazon Web Services Nitro Enclaves,
|
4155
|
+
# see [How Amazon Web Services Nitro Enclaves uses KMS][4] in the *Key
|
4156
|
+
# Management Service Developer Guide*..
|
4020
4157
|
#
|
4021
4158
|
# The KMS key that you use for this operation must be in a compatible
|
4022
|
-
# key state. For details, see [Key states of KMS keys][
|
4159
|
+
# key state. For details, see [Key states of KMS keys][5] in the *Key
|
4023
4160
|
# Management Service Developer Guide*.
|
4024
4161
|
#
|
4025
4162
|
# **How to use your data key**
|
@@ -4027,8 +4164,8 @@ module Aws::KMS
|
|
4027
4164
|
# We recommend that you use the following pattern to encrypt data
|
4028
4165
|
# locally in your application. You can write your own code or use a
|
4029
4166
|
# client-side encryption library, such as the [Amazon Web Services
|
4030
|
-
# Encryption SDK][
|
4031
|
-
# [Amazon S3 client-side encryption][
|
4167
|
+
# Encryption SDK][6], the [Amazon DynamoDB Encryption Client][7], or
|
4168
|
+
# [Amazon S3 client-side encryption][8] to do these tasks for you.
|
4032
4169
|
#
|
4033
4170
|
# To encrypt data outside of KMS:
|
4034
4171
|
#
|
@@ -4049,11 +4186,11 @@ module Aws::KMS
|
|
4049
4186
|
# 2. Use the plaintext data key to decrypt data outside of KMS, then
|
4050
4187
|
# erase the plaintext data key from memory.
|
4051
4188
|
#
|
4052
|
-
# **Cross-account use
|
4189
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
4053
4190
|
# in a different Amazon Web Services account, specify the key ARN or
|
4054
4191
|
# alias ARN in the value of the `KeyId` parameter.
|
4055
4192
|
#
|
4056
|
-
# **Required permissions
|
4193
|
+
# **Required permissions**: [kms:GenerateDataKey][9] (key policy)
|
4057
4194
|
#
|
4058
4195
|
# **Related operations:**
|
4059
4196
|
#
|
@@ -4070,13 +4207,14 @@ module Aws::KMS
|
|
4070
4207
|
#
|
4071
4208
|
#
|
4072
4209
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
|
4073
|
-
# [2]: https://
|
4074
|
-
# [3]: https://docs.aws.amazon.com/
|
4075
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
4076
|
-
# [5]: https://docs.aws.amazon.com/
|
4077
|
-
# [6]: https://docs.aws.amazon.com/
|
4078
|
-
# [7]: https://docs.aws.amazon.com/
|
4079
|
-
# [8]: https://docs.aws.amazon.com/
|
4210
|
+
# [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
4211
|
+
# [3]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
4212
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
4213
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
4214
|
+
# [6]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
|
4215
|
+
# [7]: https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/
|
4216
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
|
4217
|
+
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
4080
4218
|
#
|
4081
4219
|
# @option params [required, String] :key_id
|
4082
4220
|
# Specifies the symmetric encryption KMS key that encrypts the data key.
|
@@ -4107,6 +4245,10 @@ module Aws::KMS
|
|
4107
4245
|
# Specifies the encryption context that will be used when encrypting the
|
4108
4246
|
# data key.
|
4109
4247
|
#
|
4248
|
+
# Do not include confidential or sensitive information in this field.
|
4249
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
4250
|
+
# output.
|
4251
|
+
#
|
4110
4252
|
# An *encryption context* is a collection of non-secret key-value pairs
|
4111
4253
|
# that represent additional authenticated data. When you use an
|
4112
4254
|
# encryption context to encrypt data, you must specify the same (an
|
@@ -4152,11 +4294,40 @@ module Aws::KMS
|
|
4152
4294
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
4153
4295
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
|
4154
4296
|
#
|
4297
|
+
# @option params [Types::RecipientInfo] :recipient
|
4298
|
+
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
4299
|
+
# enclave and the encryption algorithm to use with the enclave's public
|
4300
|
+
# key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
|
4301
|
+
#
|
4302
|
+
# This parameter only supports attestation documents for Amazon Web
|
4303
|
+
# Services Nitro Enclaves. To include this parameter, use the [Amazon
|
4304
|
+
# Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
|
4305
|
+
#
|
4306
|
+
# When you use this parameter, instead of returning the plaintext data
|
4307
|
+
# key, KMS encrypts the plaintext data key under the public key in the
|
4308
|
+
# attestation document, and returns the resulting ciphertext in the
|
4309
|
+
# `CiphertextForRecipient` field in the response. This ciphertext can be
|
4310
|
+
# decrypted only with the private key in the enclave. The
|
4311
|
+
# `CiphertextBlob` field in the response contains a copy of the data key
|
4312
|
+
# encrypted under the KMS key specified by the `KeyId` parameter. The
|
4313
|
+
# `Plaintext` field in the response is null or empty.
|
4314
|
+
#
|
4315
|
+
# For information about the interaction between KMS and Amazon Web
|
4316
|
+
# Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
|
4317
|
+
# uses KMS][3] in the *Key Management Service Developer Guide*.
|
4318
|
+
#
|
4319
|
+
#
|
4320
|
+
#
|
4321
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
4322
|
+
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
4323
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
4324
|
+
#
|
4155
4325
|
# @return [Types::GenerateDataKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
4156
4326
|
#
|
4157
4327
|
# * {Types::GenerateDataKeyResponse#ciphertext_blob #ciphertext_blob} => String
|
4158
4328
|
# * {Types::GenerateDataKeyResponse#plaintext #plaintext} => String
|
4159
4329
|
# * {Types::GenerateDataKeyResponse#key_id #key_id} => String
|
4330
|
+
# * {Types::GenerateDataKeyResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
|
4160
4331
|
#
|
4161
4332
|
#
|
4162
4333
|
# @example Example: To generate a data key
|
@@ -4176,6 +4347,31 @@ module Aws::KMS
|
|
4176
4347
|
# plaintext: "<binary data>", # The unencrypted (plaintext) data key.
|
4177
4348
|
# }
|
4178
4349
|
#
|
4350
|
+
# @example Example: To generate a data key pair for a Nitro enclave
|
4351
|
+
#
|
4352
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave.
|
4353
|
+
# # Instead of returning a copy of the data key encrypted by the KMS key and a plaintext copy of the data key,
|
4354
|
+
# # GenerateDataKey returns one copy of the data key encrypted by the KMS key (CiphertextBlob) and one copy of the data key
|
4355
|
+
# # encrypted by the public key from the attestation document (CiphertextForRecipient). The operation doesn't return a
|
4356
|
+
# # plaintext data key.
|
4357
|
+
#
|
4358
|
+
# resp = client.generate_data_key({
|
4359
|
+
# key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # Identifies the KMS key used to encrypt the encrypted data key (CiphertextBlob)
|
4360
|
+
# key_spec: "AES_256", # Specifies the type of data key to return
|
4361
|
+
# recipient: {
|
4362
|
+
# attestation_document: "<attestation document>",
|
4363
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
4364
|
+
# }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
|
4365
|
+
# })
|
4366
|
+
#
|
4367
|
+
# resp.to_h outputs the following:
|
4368
|
+
# {
|
4369
|
+
# ciphertext_blob: "<binary data>", # The data key encrypted by the specified KMS key
|
4370
|
+
# ciphertext_for_recipient: "<binary data>", # The plaintext data key encrypted by the public key from the attestation document
|
4371
|
+
# key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The KMS key used to encrypt the CiphertextBlob (encrypted data key)
|
4372
|
+
# plaintext: "", # This field is null or empty
|
4373
|
+
# }
|
4374
|
+
#
|
4179
4375
|
# @example Request syntax with placeholder values
|
4180
4376
|
#
|
4181
4377
|
# resp = client.generate_data_key({
|
@@ -4186,6 +4382,10 @@ module Aws::KMS
|
|
4186
4382
|
# number_of_bytes: 1,
|
4187
4383
|
# key_spec: "AES_256", # accepts AES_256, AES_128
|
4188
4384
|
# grant_tokens: ["GrantTokenType"],
|
4385
|
+
# recipient: {
|
4386
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
|
4387
|
+
# attestation_document: "data",
|
4388
|
+
# },
|
4189
4389
|
# })
|
4190
4390
|
#
|
4191
4391
|
# @example Response structure
|
@@ -4193,6 +4393,7 @@ module Aws::KMS
|
|
4193
4393
|
# resp.ciphertext_blob #=> String
|
4194
4394
|
# resp.plaintext #=> String
|
4195
4395
|
# resp.key_id #=> String
|
4396
|
+
# resp.ciphertext_for_recipient #=> String
|
4196
4397
|
#
|
4197
4398
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKey AWS API Documentation
|
4198
4399
|
#
|
@@ -4245,23 +4446,38 @@ module Aws::KMS
|
|
4245
4446
|
# 5280][1]. The private key is a DER-encoded PKCS8 PrivateKeyInfo, as
|
4246
4447
|
# specified in [RFC 5958][2].
|
4247
4448
|
#
|
4449
|
+
# `GenerateDataKeyPair` also supports [Amazon Web Services Nitro
|
4450
|
+
# Enclaves][3], which provide an isolated compute environment in Amazon
|
4451
|
+
# EC2. To call `GenerateDataKeyPair` for an Amazon Web Services Nitro
|
4452
|
+
# enclave, use the [Amazon Web Services Nitro Enclaves SDK][4] or any
|
4453
|
+
# Amazon Web Services SDK. Use the `Recipient` parameter to provide the
|
4454
|
+
# attestation document for the enclave. `GenerateDataKeyPair` returns
|
4455
|
+
# the public data key and a copy of the private data key encrypted under
|
4456
|
+
# the specified KMS key, as usual. But instead of a plaintext copy of
|
4457
|
+
# the private data key (`PrivateKeyPlaintext`), the response includes a
|
4458
|
+
# copy of the private data key encrypted under the public key from the
|
4459
|
+
# attestation document (`CiphertextForRecipient`). For information about
|
4460
|
+
# the interaction between KMS and Amazon Web Services Nitro Enclaves,
|
4461
|
+
# see [How Amazon Web Services Nitro Enclaves uses KMS][5] in the *Key
|
4462
|
+
# Management Service Developer Guide*..
|
4463
|
+
#
|
4248
4464
|
# You can use an optional encryption context to add additional security
|
4249
4465
|
# to the encryption operation. If you specify an `EncryptionContext`,
|
4250
4466
|
# you must specify the same encryption context (a case-sensitive exact
|
4251
4467
|
# match) when decrypting the encrypted data key. Otherwise, the request
|
4252
4468
|
# to decrypt fails with an `InvalidCiphertextException`. For more
|
4253
|
-
# information, see [Encryption Context][
|
4469
|
+
# information, see [Encryption Context][6] in the *Key Management
|
4254
4470
|
# Service Developer Guide*.
|
4255
4471
|
#
|
4256
4472
|
# The KMS key that you use for this operation must be in a compatible
|
4257
|
-
# key state. For details, see [Key states of KMS keys][
|
4473
|
+
# key state. For details, see [Key states of KMS keys][7] in the *Key
|
4258
4474
|
# Management Service Developer Guide*.
|
4259
4475
|
#
|
4260
|
-
# **Cross-account use
|
4476
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
4261
4477
|
# in a different Amazon Web Services account, specify the key ARN or
|
4262
4478
|
# alias ARN in the value of the `KeyId` parameter.
|
4263
4479
|
#
|
4264
|
-
# **Required permissions
|
4480
|
+
# **Required permissions**: [kms:GenerateDataKeyPair][8] (key policy)
|
4265
4481
|
#
|
4266
4482
|
# **Related operations:**
|
4267
4483
|
#
|
@@ -4279,14 +4495,21 @@ module Aws::KMS
|
|
4279
4495
|
#
|
4280
4496
|
# [1]: https://tools.ietf.org/html/rfc5280
|
4281
4497
|
# [2]: https://tools.ietf.org/html/rfc5958
|
4282
|
-
# [3]: https://docs.aws.amazon.com/
|
4283
|
-
# [4]: https://docs.aws.amazon.com/
|
4284
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
4498
|
+
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
4499
|
+
# [4]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
4500
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
4501
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
|
4502
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
4503
|
+
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
4285
4504
|
#
|
4286
4505
|
# @option params [Hash<String,String>] :encryption_context
|
4287
4506
|
# Specifies the encryption context that will be used when encrypting the
|
4288
4507
|
# private key in the data key pair.
|
4289
4508
|
#
|
4509
|
+
# Do not include confidential or sensitive information in this field.
|
4510
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
4511
|
+
# output.
|
4512
|
+
#
|
4290
4513
|
# An *encryption context* is a collection of non-secret key-value pairs
|
4291
4514
|
# that represent additional authenticated data. When you use an
|
4292
4515
|
# encryption context to encrypt data, you must specify the same (an
|
@@ -4349,6 +4572,35 @@ module Aws::KMS
|
|
4349
4572
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
4350
4573
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
|
4351
4574
|
#
|
4575
|
+
# @option params [Types::RecipientInfo] :recipient
|
4576
|
+
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
4577
|
+
# enclave and the encryption algorithm to use with the enclave's public
|
4578
|
+
# key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
|
4579
|
+
#
|
4580
|
+
# This parameter only supports attestation documents for Amazon Web
|
4581
|
+
# Services Nitro Enclaves. To include this parameter, use the [Amazon
|
4582
|
+
# Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
|
4583
|
+
#
|
4584
|
+
# When you use this parameter, instead of returning a plaintext copy of
|
4585
|
+
# the private data key, KMS encrypts the plaintext private data key
|
4586
|
+
# under the public key in the attestation document, and returns the
|
4587
|
+
# resulting ciphertext in the `CiphertextForRecipient` field in the
|
4588
|
+
# response. This ciphertext can be decrypted only with the private key
|
4589
|
+
# in the enclave. The `CiphertextBlob` field in the response contains a
|
4590
|
+
# copy of the private data key encrypted under the KMS key specified by
|
4591
|
+
# the `KeyId` parameter. The `PrivateKeyPlaintext` field in the response
|
4592
|
+
# is null or empty.
|
4593
|
+
#
|
4594
|
+
# For information about the interaction between KMS and Amazon Web
|
4595
|
+
# Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
|
4596
|
+
# uses KMS][3] in the *Key Management Service Developer Guide*.
|
4597
|
+
#
|
4598
|
+
#
|
4599
|
+
#
|
4600
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
4601
|
+
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
4602
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
4603
|
+
#
|
4352
4604
|
# @return [Types::GenerateDataKeyPairResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
4353
4605
|
#
|
4354
4606
|
# * {Types::GenerateDataKeyPairResponse#private_key_ciphertext_blob #private_key_ciphertext_blob} => String
|
@@ -4356,6 +4608,7 @@ module Aws::KMS
|
|
4356
4608
|
# * {Types::GenerateDataKeyPairResponse#public_key #public_key} => String
|
4357
4609
|
# * {Types::GenerateDataKeyPairResponse#key_id #key_id} => String
|
4358
4610
|
# * {Types::GenerateDataKeyPairResponse#key_pair_spec #key_pair_spec} => String
|
4611
|
+
# * {Types::GenerateDataKeyPairResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
|
4359
4612
|
#
|
4360
4613
|
#
|
4361
4614
|
# @example Example: To generate an RSA key pair for encryption and decryption
|
@@ -4377,6 +4630,33 @@ module Aws::KMS
|
|
4377
4630
|
# public_key: "<binary data>", # The public key (plaintext) of the RSA data key pair.
|
4378
4631
|
# }
|
4379
4632
|
#
|
4633
|
+
# @example Example: To generate a data key pair for a Nitro enclave
|
4634
|
+
#
|
4635
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave.
|
4636
|
+
# # Instead of returning a plaintext copy of the private data key, GenerateDataKeyPair returns a copy of the private data
|
4637
|
+
# # key encrypted by the public key from the attestation document (CiphertextForRecipient). It returns the public data key
|
4638
|
+
# # (PublicKey) and a copy of private data key encrypted under the specified KMS key (PrivateKeyCiphertextBlob), as usual,
|
4639
|
+
# # but plaintext private data key field (PrivateKeyPlaintext) is null or empty.
|
4640
|
+
#
|
4641
|
+
# resp = client.generate_data_key_pair({
|
4642
|
+
# 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.
|
4643
|
+
# key_pair_spec: "RSA_3072", # The requested key spec of the RSA data key pair.
|
4644
|
+
# recipient: {
|
4645
|
+
# attestation_document: "<attestation document>",
|
4646
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
4647
|
+
# }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document.
|
4648
|
+
# })
|
4649
|
+
#
|
4650
|
+
# resp.to_h outputs the following:
|
4651
|
+
# {
|
4652
|
+
# ciphertext_for_recipient: "<binary data>", # The private key of the RSA data key pair encrypted by the public key from the attestation document
|
4653
|
+
# 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.
|
4654
|
+
# key_pair_spec: "RSA_3072", # The actual key spec of the RSA data key pair.
|
4655
|
+
# private_key_ciphertext_blob: "<binary data>", # The private key of the RSA data key pair encrypted by the KMS key.
|
4656
|
+
# private_key_plaintext: "", # This field is null or empty
|
4657
|
+
# public_key: "<binary data>", # The public key (plaintext) of the RSA data key pair.
|
4658
|
+
# }
|
4659
|
+
#
|
4380
4660
|
# @example Request syntax with placeholder values
|
4381
4661
|
#
|
4382
4662
|
# resp = client.generate_data_key_pair({
|
@@ -4386,6 +4666,10 @@ module Aws::KMS
|
|
4386
4666
|
# key_id: "KeyIdType", # required
|
4387
4667
|
# 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
|
4388
4668
|
# grant_tokens: ["GrantTokenType"],
|
4669
|
+
# recipient: {
|
4670
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
|
4671
|
+
# attestation_document: "data",
|
4672
|
+
# },
|
4389
4673
|
# })
|
4390
4674
|
#
|
4391
4675
|
# @example Response structure
|
@@ -4395,6 +4679,7 @@ module Aws::KMS
|
|
4395
4679
|
# resp.public_key #=> String
|
4396
4680
|
# resp.key_id #=> String
|
4397
4681
|
# 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"
|
4682
|
+
# resp.ciphertext_for_recipient #=> String
|
4398
4683
|
#
|
4399
4684
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPair AWS API Documentation
|
4400
4685
|
#
|
@@ -4448,12 +4733,12 @@ module Aws::KMS
|
|
4448
4733
|
# key state. For details, see [Key states of KMS keys][3] in the *Key
|
4449
4734
|
# Management Service Developer Guide*.
|
4450
4735
|
#
|
4451
|
-
# **Cross-account use
|
4736
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
4452
4737
|
# in a different Amazon Web Services account, specify the key ARN or
|
4453
4738
|
# alias ARN in the value of the `KeyId` parameter.
|
4454
4739
|
#
|
4455
|
-
# **Required permissions
|
4456
|
-
#
|
4740
|
+
# **Required permissions**: [kms:GenerateDataKeyPairWithoutPlaintext][4]
|
4741
|
+
# (key policy)
|
4457
4742
|
#
|
4458
4743
|
# **Related operations:**
|
4459
4744
|
#
|
@@ -4478,6 +4763,10 @@ module Aws::KMS
|
|
4478
4763
|
# Specifies the encryption context that will be used when encrypting the
|
4479
4764
|
# private key in the data key pair.
|
4480
4765
|
#
|
4766
|
+
# Do not include confidential or sensitive information in this field.
|
4767
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
4768
|
+
# output.
|
4769
|
+
#
|
4481
4770
|
# An *encryption context* is a collection of non-secret key-value pairs
|
4482
4771
|
# that represent additional authenticated data. When you use an
|
4483
4772
|
# encryption context to encrypt data, you must specify the same (an
|
@@ -4629,7 +4918,7 @@ module Aws::KMS
|
|
4629
4918
|
# and 256-bit data keys, use the `KeySpec` parameter.
|
4630
4919
|
#
|
4631
4920
|
# To generate an SM4 data key (China Regions only), specify a `KeySpec`
|
4632
|
-
# value of `AES_128` or `NumberOfBytes` value of `
|
4921
|
+
# value of `AES_128` or `NumberOfBytes` value of `16`. The symmetric
|
4633
4922
|
# encryption key used in China Regions to encrypt your data key is an
|
4634
4923
|
# SM4 encryption key.
|
4635
4924
|
#
|
@@ -4648,11 +4937,11 @@ module Aws::KMS
|
|
4648
4937
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
4649
4938
|
# Management Service Developer Guide*.
|
4650
4939
|
#
|
4651
|
-
# **Cross-account use
|
4940
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
4652
4941
|
# in a different Amazon Web Services account, specify the key ARN or
|
4653
4942
|
# alias ARN in the value of the `KeyId` parameter.
|
4654
4943
|
#
|
4655
|
-
# **Required permissions
|
4944
|
+
# **Required permissions**: [kms:GenerateDataKeyWithoutPlaintext][3]
|
4656
4945
|
# (key policy)
|
4657
4946
|
#
|
4658
4947
|
# **Related operations:**
|
@@ -4702,6 +4991,10 @@ module Aws::KMS
|
|
4702
4991
|
# Specifies the encryption context that will be used when encrypting the
|
4703
4992
|
# data key.
|
4704
4993
|
#
|
4994
|
+
# Do not include confidential or sensitive information in this field.
|
4995
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
4996
|
+
# output.
|
4997
|
+
#
|
4705
4998
|
# An *encryption context* is a collection of non-secret key-value pairs
|
4706
4999
|
# that represent additional authenticated data. When you use an
|
4707
5000
|
# encryption context to encrypt data, you must specify the same (an
|
@@ -4815,13 +5108,13 @@ module Aws::KMS
|
|
4815
5108
|
# key state. For details, see [Key states of KMS keys][3] in the *Key
|
4816
5109
|
# Management Service Developer Guide*.
|
4817
5110
|
#
|
4818
|
-
# **Cross-account use
|
5111
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
4819
5112
|
# in a different Amazon Web Services account, specify the key ARN or
|
4820
5113
|
# alias ARN in the value of the `KeyId` parameter.
|
4821
5114
|
#
|
4822
|
-
# **Required permissions
|
5115
|
+
# **Required permissions**: [kms:GenerateMac][4] (key policy)
|
4823
5116
|
#
|
4824
|
-
# **Related operations
|
5117
|
+
# **Related operations**: VerifyMac
|
4825
5118
|
#
|
4826
5119
|
#
|
4827
5120
|
#
|
@@ -4927,26 +5220,33 @@ module Aws::KMS
|
|
4927
5220
|
# the byte string in the CloudHSM cluster associated with an CloudHSM
|
4928
5221
|
# key store, use the `CustomKeyStoreId` parameter.
|
4929
5222
|
#
|
4930
|
-
#
|
4931
|
-
#
|
4932
|
-
#
|
4933
|
-
#
|
4934
|
-
#
|
5223
|
+
# `GenerateRandom` also supports [Amazon Web Services Nitro
|
5224
|
+
# Enclaves][1], which provide an isolated compute environment in Amazon
|
5225
|
+
# EC2. To call `GenerateRandom` for a Nitro enclave, use the [Amazon Web
|
5226
|
+
# Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK. Use
|
5227
|
+
# the `Recipient` parameter to provide the attestation document for the
|
5228
|
+
# enclave. Instead of plaintext bytes, the response includes the
|
5229
|
+
# plaintext bytes encrypted under the public key from the attestation
|
5230
|
+
# document (`CiphertextForRecipient`).For information about the
|
5231
|
+
# interaction between KMS and Amazon Web Services Nitro Enclaves, see
|
5232
|
+
# [How Amazon Web Services Nitro Enclaves uses KMS][3] in the *Key
|
5233
|
+
# Management Service Developer Guide*.
|
4935
5234
|
#
|
4936
5235
|
# For more information about entropy and random number generation, see
|
4937
|
-
# [Key Management Service Cryptographic Details][
|
5236
|
+
# [Key Management Service Cryptographic Details][4].
|
4938
5237
|
#
|
4939
|
-
# **Cross-account use
|
5238
|
+
# **Cross-account use**: Not applicable. `GenerateRandom` does not use
|
4940
5239
|
# any account-specific resources, such as KMS keys.
|
4941
5240
|
#
|
4942
|
-
# **Required permissions
|
5241
|
+
# **Required permissions**: [kms:GenerateRandom][5] (IAM policy)
|
4943
5242
|
#
|
4944
5243
|
#
|
4945
5244
|
#
|
4946
|
-
# [1]: https://
|
4947
|
-
# [2]: https://docs.aws.amazon.com/
|
4948
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/
|
4949
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/
|
5245
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
5246
|
+
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
5247
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
5248
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/cryptographic-details/
|
5249
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
4950
5250
|
#
|
4951
5251
|
# @option params [Integer] :number_of_bytes
|
4952
5252
|
# The length of the random byte string. This parameter is required.
|
@@ -4960,9 +5260,36 @@ module Aws::KMS
|
|
4960
5260
|
# specify the ID of an external key store, `GenerateRandom` throws an
|
4961
5261
|
# `UnsupportedOperationException`.
|
4962
5262
|
#
|
5263
|
+
# @option params [Types::RecipientInfo] :recipient
|
5264
|
+
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
5265
|
+
# enclave and the encryption algorithm to use with the enclave's public
|
5266
|
+
# key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
|
5267
|
+
#
|
5268
|
+
# This parameter only supports attestation documents for Amazon Web
|
5269
|
+
# Services Nitro Enclaves. To include this parameter, use the [Amazon
|
5270
|
+
# Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
|
5271
|
+
#
|
5272
|
+
# When you use this parameter, instead of returning plaintext bytes, KMS
|
5273
|
+
# encrypts the plaintext bytes under the public key in the attestation
|
5274
|
+
# document, and returns the resulting ciphertext in the
|
5275
|
+
# `CiphertextForRecipient` field in the response. This ciphertext can be
|
5276
|
+
# decrypted only with the private key in the enclave. The `Plaintext`
|
5277
|
+
# field in the response is null or empty.
|
5278
|
+
#
|
5279
|
+
# For information about the interaction between KMS and Amazon Web
|
5280
|
+
# Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
|
5281
|
+
# uses KMS][3] in the *Key Management Service Developer Guide*.
|
5282
|
+
#
|
5283
|
+
#
|
5284
|
+
#
|
5285
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
5286
|
+
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
5287
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
5288
|
+
#
|
4963
5289
|
# @return [Types::GenerateRandomResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
4964
5290
|
#
|
4965
5291
|
# * {Types::GenerateRandomResponse#plaintext #plaintext} => String
|
5292
|
+
# * {Types::GenerateRandomResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
|
4966
5293
|
#
|
4967
5294
|
#
|
4968
5295
|
# @example Example: To generate random data
|
@@ -4978,16 +5305,41 @@ module Aws::KMS
|
|
4978
5305
|
# plaintext: "<binary data>", # The random data.
|
4979
5306
|
# }
|
4980
5307
|
#
|
5308
|
+
# @example Example: To generate random data
|
5309
|
+
#
|
5310
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave.
|
5311
|
+
# # Instead of returning a plaintext (unencrypted) byte string, GenerateRandom returns the byte string encrypted by the
|
5312
|
+
# # public key from the enclave's attestation document.
|
5313
|
+
#
|
5314
|
+
# resp = client.generate_random({
|
5315
|
+
# number_of_bytes: 1024, # The length of the random byte string
|
5316
|
+
# recipient: {
|
5317
|
+
# attestation_document: "<attestation document>",
|
5318
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
5319
|
+
# }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
|
5320
|
+
# })
|
5321
|
+
#
|
5322
|
+
# resp.to_h outputs the following:
|
5323
|
+
# {
|
5324
|
+
# ciphertext_for_recipient: "<binary data>", # The random data encrypted under the public key from the attestation document
|
5325
|
+
# plaintext: "", # This field is null or empty
|
5326
|
+
# }
|
5327
|
+
#
|
4981
5328
|
# @example Request syntax with placeholder values
|
4982
5329
|
#
|
4983
5330
|
# resp = client.generate_random({
|
4984
5331
|
# number_of_bytes: 1,
|
4985
5332
|
# custom_key_store_id: "CustomKeyStoreIdType",
|
5333
|
+
# recipient: {
|
5334
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
|
5335
|
+
# attestation_document: "data",
|
5336
|
+
# },
|
4986
5337
|
# })
|
4987
5338
|
#
|
4988
5339
|
# @example Response structure
|
4989
5340
|
#
|
4990
5341
|
# resp.plaintext #=> String
|
5342
|
+
# resp.ciphertext_for_recipient #=> String
|
4991
5343
|
#
|
4992
5344
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandom AWS API Documentation
|
4993
5345
|
#
|
@@ -5000,12 +5352,12 @@ module Aws::KMS
|
|
5000
5352
|
|
5001
5353
|
# Gets a key policy attached to the specified KMS key.
|
5002
5354
|
#
|
5003
|
-
# **Cross-account use
|
5355
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
5004
5356
|
# key in a different Amazon Web Services account.
|
5005
5357
|
#
|
5006
|
-
# **Required permissions
|
5358
|
+
# **Required permissions**: [kms:GetKeyPolicy][1] (key policy)
|
5007
5359
|
#
|
5008
|
-
# **Related operations
|
5360
|
+
# **Related operations**: PutKeyPolicy
|
5009
5361
|
#
|
5010
5362
|
#
|
5011
5363
|
#
|
@@ -5116,11 +5468,11 @@ module Aws::KMS
|
|
5116
5468
|
# If you cancel the deletion, the original key rotation status returns
|
5117
5469
|
# to `true`.
|
5118
5470
|
#
|
5119
|
-
# **Cross-account use
|
5471
|
+
# **Cross-account use**: Yes. To perform this operation on a KMS key in
|
5120
5472
|
# a different Amazon Web Services account, specify the key ARN in the
|
5121
5473
|
# value of the `KeyId` parameter.
|
5122
5474
|
#
|
5123
|
-
# **Required permissions
|
5475
|
+
# **Required permissions**: [kms:GetKeyRotationStatus][11] (key policy)
|
5124
5476
|
#
|
5125
5477
|
# **Related operations:**
|
5126
5478
|
#
|
@@ -5223,11 +5575,10 @@ module Aws::KMS
|
|
5223
5575
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
5224
5576
|
# Management Service Developer Guide*.
|
5225
5577
|
#
|
5226
|
-
# **Cross-account use
|
5578
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
5227
5579
|
# key in a different Amazon Web Services account.
|
5228
5580
|
#
|
5229
|
-
# **Required permissions
|
5230
|
-
# policy)
|
5581
|
+
# **Required permissions**: [kms:GetParametersForImport][3] (key policy)
|
5231
5582
|
#
|
5232
5583
|
# **Related operations:**
|
5233
5584
|
#
|
@@ -5348,12 +5699,12 @@ module Aws::KMS
|
|
5348
5699
|
# returns important information about the public key in the response,
|
5349
5700
|
# including:
|
5350
5701
|
#
|
5351
|
-
# * [KeySpec][2]
|
5702
|
+
# * [KeySpec][2]: The type of key material in the public key, such as
|
5352
5703
|
# `RSA_4096` or `ECC_NIST_P521`.
|
5353
5704
|
#
|
5354
|
-
# * [KeyUsage][3]
|
5705
|
+
# * [KeyUsage][3]: Whether the key is used for encryption or signing.
|
5355
5706
|
#
|
5356
|
-
# * [EncryptionAlgorithms][4] or [SigningAlgorithms][5]
|
5707
|
+
# * [EncryptionAlgorithms][4] or [SigningAlgorithms][5]: A list of the
|
5357
5708
|
# encryption algorithms or the signing algorithms for the key.
|
5358
5709
|
#
|
5359
5710
|
# Although KMS cannot enforce these restrictions on external operations,
|
@@ -5373,13 +5724,13 @@ module Aws::KMS
|
|
5373
5724
|
# key state. For details, see [Key states of KMS keys][7] in the *Key
|
5374
5725
|
# Management Service Developer Guide*.
|
5375
5726
|
#
|
5376
|
-
# **Cross-account use
|
5727
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
5377
5728
|
# in a different Amazon Web Services account, specify the key ARN or
|
5378
5729
|
# alias ARN in the value of the `KeyId` parameter.
|
5379
5730
|
#
|
5380
|
-
# **Required permissions
|
5731
|
+
# **Required permissions**: [kms:GetPublicKey][8] (key policy)
|
5381
5732
|
#
|
5382
|
-
# **Related operations
|
5733
|
+
# **Related operations**: CreateKey
|
5383
5734
|
#
|
5384
5735
|
#
|
5385
5736
|
#
|
@@ -5544,10 +5895,10 @@ module Aws::KMS
|
|
5544
5895
|
# key state. For details, see [Key states of KMS keys][4] in the *Key
|
5545
5896
|
# Management Service Developer Guide*.
|
5546
5897
|
#
|
5547
|
-
# **Cross-account use
|
5898
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
5548
5899
|
# key in a different Amazon Web Services account.
|
5549
5900
|
#
|
5550
|
-
# **Required permissions
|
5901
|
+
# **Required permissions**: [kms:ImportKeyMaterial][5] (key policy)
|
5551
5902
|
#
|
5552
5903
|
# **Related operations:**
|
5553
5904
|
#
|
@@ -5679,10 +6030,10 @@ module Aws::KMS
|
|
5679
6030
|
# Web Services creates in your account, including predefined aliases, do
|
5680
6031
|
# not count against your [KMS aliases quota][1].
|
5681
6032
|
#
|
5682
|
-
# **Cross-account use
|
6033
|
+
# **Cross-account use**: No. `ListAliases` does not return aliases in
|
5683
6034
|
# other Amazon Web Services accounts.
|
5684
6035
|
#
|
5685
|
-
# **Required permissions
|
6036
|
+
# **Required permissions**: [kms:ListAliases][2] (IAM policy)
|
5686
6037
|
#
|
5687
6038
|
# For details, see [Controlling access to aliases][3] in the *Key
|
5688
6039
|
# Management Service Developer Guide*.
|
@@ -5843,11 +6194,11 @@ module Aws::KMS
|
|
5843
6194
|
#
|
5844
6195
|
# </note>
|
5845
6196
|
#
|
5846
|
-
# **Cross-account use
|
6197
|
+
# **Cross-account use**: Yes. To perform this operation on a KMS key in
|
5847
6198
|
# a different Amazon Web Services account, specify the key ARN in the
|
5848
6199
|
# value of the `KeyId` parameter.
|
5849
6200
|
#
|
5850
|
-
# **Required permissions
|
6201
|
+
# **Required permissions**: [kms:ListGrants][4] (key policy)
|
5851
6202
|
#
|
5852
6203
|
# **Related operations:**
|
5853
6204
|
#
|
@@ -6022,10 +6373,10 @@ module Aws::KMS
|
|
6022
6373
|
# GetKeyPolicy operation. However, the only valid policy name is
|
6023
6374
|
# `default`.
|
6024
6375
|
#
|
6025
|
-
# **Cross-account use
|
6376
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
6026
6377
|
# key in a different Amazon Web Services account.
|
6027
6378
|
#
|
6028
|
-
# **Required permissions
|
6379
|
+
# **Required permissions**: [kms:ListKeyPolicies][1] (key policy)
|
6029
6380
|
#
|
6030
6381
|
# **Related operations:**
|
6031
6382
|
#
|
@@ -6120,10 +6471,10 @@ module Aws::KMS
|
|
6120
6471
|
# Gets a list of all KMS keys in the caller's Amazon Web Services
|
6121
6472
|
# account and Region.
|
6122
6473
|
#
|
6123
|
-
# **Cross-account use
|
6474
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
6124
6475
|
# key in a different Amazon Web Services account.
|
6125
6476
|
#
|
6126
|
-
# **Required permissions
|
6477
|
+
# **Required permissions**: [kms:ListKeys][1] (IAM policy)
|
6127
6478
|
#
|
6128
6479
|
# **Related operations:**
|
6129
6480
|
#
|
@@ -6235,10 +6586,10 @@ module Aws::KMS
|
|
6235
6586
|
# Services General Reference*. For information about using tags in KMS,
|
6236
6587
|
# see [Tagging keys][2].
|
6237
6588
|
#
|
6238
|
-
# **Cross-account use
|
6589
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
6239
6590
|
# key in a different Amazon Web Services account.
|
6240
6591
|
#
|
6241
|
-
# **Required permissions
|
6592
|
+
# **Required permissions**: [kms:ListResourceTags][3] (key policy)
|
6242
6593
|
#
|
6243
6594
|
# **Related operations:**
|
6244
6595
|
#
|
@@ -6362,14 +6713,14 @@ module Aws::KMS
|
|
6362
6713
|
# Guide</i> </i>. For examples of working with grants in several
|
6363
6714
|
# programming languages, see [Programming grants][2].
|
6364
6715
|
#
|
6365
|
-
# **Cross-account use
|
6366
|
-
#
|
6716
|
+
# **Cross-account use**: You must specify a principal in your Amazon Web
|
6717
|
+
# Services account. However, this operation can return grants in any
|
6367
6718
|
# Amazon Web Services account. You do not need `kms:ListRetirableGrants`
|
6368
6719
|
# permission (or any other additional permission) in any Amazon Web
|
6369
6720
|
# Services account other than your own.
|
6370
6721
|
#
|
6371
|
-
# **Required permissions
|
6372
|
-
#
|
6722
|
+
# **Required permissions**: [kms:ListRetirableGrants][3] (IAM policy) in
|
6723
|
+
# your Amazon Web Services account.
|
6373
6724
|
#
|
6374
6725
|
# **Related operations:**
|
6375
6726
|
#
|
@@ -6498,12 +6849,12 @@ module Aws::KMS
|
|
6498
6849
|
# programming languages, see [Setting a key policy][3] in the *Key
|
6499
6850
|
# Management Service Developer Guide*.
|
6500
6851
|
#
|
6501
|
-
# **Cross-account use
|
6852
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
6502
6853
|
# key in a different Amazon Web Services account.
|
6503
6854
|
#
|
6504
|
-
# **Required permissions
|
6855
|
+
# **Required permissions**: [kms:PutKeyPolicy][4] (key policy)
|
6505
6856
|
#
|
6506
|
-
# **Related operations
|
6857
|
+
# **Related operations**: GetKeyPolicy
|
6507
6858
|
#
|
6508
6859
|
#
|
6509
6860
|
#
|
@@ -6686,12 +7037,12 @@ module Aws::KMS
|
|
6686
7037
|
# key state. For details, see [Key states of KMS keys][6] in the *Key
|
6687
7038
|
# Management Service Developer Guide*.
|
6688
7039
|
#
|
6689
|
-
# **Cross-account use
|
6690
|
-
#
|
6691
|
-
#
|
6692
|
-
#
|
7040
|
+
# **Cross-account use**: Yes. The source KMS key and destination KMS key
|
7041
|
+
# can be in different Amazon Web Services accounts. Either or both KMS
|
7042
|
+
# keys can be in a different account than the caller. To specify a KMS
|
7043
|
+
# key in a different account, you must use its key ARN or alias ARN.
|
6693
7044
|
#
|
6694
|
-
# **Required permissions
|
7045
|
+
# **Required permissions**:
|
6695
7046
|
#
|
6696
7047
|
# * [kms:ReEncryptFrom][7] permission on the source KMS key (key policy)
|
6697
7048
|
#
|
@@ -6812,6 +7163,10 @@ module Aws::KMS
|
|
6812
7163
|
# Specifies that encryption context to use when the reencrypting the
|
6813
7164
|
# data.
|
6814
7165
|
#
|
7166
|
+
# Do not include confidential or sensitive information in this field.
|
7167
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
7168
|
+
# output.
|
7169
|
+
#
|
6815
7170
|
# A destination encryption context is valid only when the destination
|
6816
7171
|
# KMS key is a symmetric encryption KMS key. The standard ciphertext
|
6817
7172
|
# format for asymmetric KMS keys does not include fields for metadata.
|
@@ -6992,10 +7347,10 @@ module Aws::KMS
|
|
6992
7347
|
#
|
6993
7348
|
# </note>
|
6994
7349
|
#
|
6995
|
-
# **Cross-account use
|
7350
|
+
# **Cross-account use**: No. You cannot use this operation to create a
|
6996
7351
|
# replica key in a different Amazon Web Services account.
|
6997
7352
|
#
|
6998
|
-
# **Required permissions
|
7353
|
+
# **Required permissions**:
|
6999
7354
|
#
|
7000
7355
|
# * `kms:ReplicateKey` on the primary key (in the primary key's
|
7001
7356
|
# Region). Include this permission in the primary key's key policy.
|
@@ -7153,6 +7508,10 @@ module Aws::KMS
|
|
7153
7508
|
# A description of the KMS key. The default value is an empty string (no
|
7154
7509
|
# description).
|
7155
7510
|
#
|
7511
|
+
# Do not include confidential or sensitive information in this field.
|
7512
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
7513
|
+
# output.
|
7514
|
+
#
|
7156
7515
|
# The description is not a shared property of multi-Region keys. You can
|
7157
7516
|
# specify the same description or a different description for each key
|
7158
7517
|
# in a set of related multi-Region keys. KMS does not synchronize this
|
@@ -7163,6 +7522,10 @@ module Aws::KMS
|
|
7163
7522
|
# the KMS key when it is created. To tag an existing KMS key, use the
|
7164
7523
|
# TagResource operation.
|
7165
7524
|
#
|
7525
|
+
# Do not include confidential or sensitive information in this field.
|
7526
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
7527
|
+
# output.
|
7528
|
+
#
|
7166
7529
|
# <note markdown="1"> Tagging or untagging a KMS key can allow or deny permission to the KMS
|
7167
7530
|
# key. For details, see [ABAC for KMS][1] in the *Key Management Service
|
7168
7531
|
# Developer Guide*.
|
@@ -7327,10 +7690,10 @@ module Aws::KMS
|
|
7327
7690
|
# Guide</i> </i>. For examples of working with grants in several
|
7328
7691
|
# programming languages, see [Programming grants][4].
|
7329
7692
|
#
|
7330
|
-
# **Cross-account use
|
7693
|
+
# **Cross-account use**: Yes. You can retire a grant on a KMS key in a
|
7331
7694
|
# different Amazon Web Services account.
|
7332
7695
|
#
|
7333
|
-
# **Required permissions
|
7696
|
+
# **Required permissions:**:Permission to retire a grant is determined
|
7334
7697
|
# primarily by the grant. For details, see [Retiring and revoking
|
7335
7698
|
# grants][2] in the *Key Management Service Developer Guide*.
|
7336
7699
|
#
|
@@ -7425,11 +7788,11 @@ module Aws::KMS
|
|
7425
7788
|
# Guide</i> </i>. For examples of working with grants in several
|
7426
7789
|
# programming languages, see [Programming grants][4].
|
7427
7790
|
#
|
7428
|
-
# **Cross-account use
|
7791
|
+
# **Cross-account use**: Yes. To perform this operation on a KMS key in
|
7429
7792
|
# a different Amazon Web Services account, specify the key ARN in the
|
7430
7793
|
# value of the `KeyId` parameter.
|
7431
7794
|
#
|
7432
|
-
# **Required permissions
|
7795
|
+
# **Required permissions**: [kms:RevokeGrant][5] (key policy).
|
7433
7796
|
#
|
7434
7797
|
# **Related operations:**
|
7435
7798
|
#
|
@@ -7546,10 +7909,10 @@ module Aws::KMS
|
|
7546
7909
|
# key state. For details, see [Key states of KMS keys][6] in the *Key
|
7547
7910
|
# Management Service Developer Guide*.
|
7548
7911
|
#
|
7549
|
-
# **Cross-account use
|
7912
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
7550
7913
|
# key in a different Amazon Web Services account.
|
7551
7914
|
#
|
7552
|
-
# **Required permissions
|
7915
|
+
# **Required permissions**: kms:ScheduleKeyDeletion (key policy)
|
7553
7916
|
#
|
7554
7917
|
# **Related operations**
|
7555
7918
|
#
|
@@ -7689,13 +8052,13 @@ module Aws::KMS
|
|
7689
8052
|
# key state. For details, see [Key states of KMS keys][3] in the *Key
|
7690
8053
|
# Management Service Developer Guide*.
|
7691
8054
|
#
|
7692
|
-
# **Cross-account use
|
8055
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
7693
8056
|
# in a different Amazon Web Services account, specify the key ARN or
|
7694
8057
|
# alias ARN in the value of the `KeyId` parameter.
|
7695
8058
|
#
|
7696
|
-
# **Required permissions
|
8059
|
+
# **Required permissions**: [kms:Sign][4] (key policy)
|
7697
8060
|
#
|
7698
|
-
# **Related operations
|
8061
|
+
# **Related operations**: Verify
|
7699
8062
|
#
|
7700
8063
|
#
|
7701
8064
|
#
|
@@ -7899,10 +8262,10 @@ module Aws::KMS
|
|
7899
8262
|
# key state. For details, see [Key states of KMS keys][9] in the *Key
|
7900
8263
|
# Management Service Developer Guide*.
|
7901
8264
|
#
|
7902
|
-
# **Cross-account use
|
8265
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
7903
8266
|
# key in a different Amazon Web Services account.
|
7904
8267
|
#
|
7905
|
-
# **Required permissions
|
8268
|
+
# **Required permissions**: [kms:TagResource][10] (key policy)
|
7906
8269
|
#
|
7907
8270
|
# **Related operations**
|
7908
8271
|
#
|
@@ -7943,10 +8306,12 @@ module Aws::KMS
|
|
7943
8306
|
# DescribeKey.
|
7944
8307
|
#
|
7945
8308
|
# @option params [required, Array<Types::Tag>] :tags
|
7946
|
-
# One or more tags.
|
8309
|
+
# One or more tags. Each tag consists of a tag key and a tag value. The
|
8310
|
+
# tag value can be an empty (null) string.
|
7947
8311
|
#
|
7948
|
-
#
|
7949
|
-
#
|
8312
|
+
# Do not include confidential or sensitive information in this field.
|
8313
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
8314
|
+
# output.
|
7950
8315
|
#
|
7951
8316
|
# You cannot have more than one tag on a KMS key with the same tag key.
|
7952
8317
|
# If you specify an existing tag key with a different tag value, KMS
|
@@ -8013,10 +8378,10 @@ module Aws::KMS
|
|
8013
8378
|
# key state. For details, see [Key states of KMS keys][5] in the *Key
|
8014
8379
|
# Management Service Developer Guide*.
|
8015
8380
|
#
|
8016
|
-
# **Cross-account use
|
8381
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
8017
8382
|
# key in a different Amazon Web Services account.
|
8018
8383
|
#
|
8019
|
-
# **Required permissions
|
8384
|
+
# **Required permissions**: [kms:UntagResource][6] (key policy)
|
8020
8385
|
#
|
8021
8386
|
# **Related operations**
|
8022
8387
|
#
|
@@ -8117,7 +8482,7 @@ module Aws::KMS
|
|
8117
8482
|
# key state. For details, see [Key states of KMS keys][2] in the *Key
|
8118
8483
|
# Management Service Developer Guide*.
|
8119
8484
|
#
|
8120
|
-
# **Cross-account use
|
8485
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
8121
8486
|
# key in a different Amazon Web Services account.
|
8122
8487
|
#
|
8123
8488
|
# **Required permissions**
|
@@ -8152,6 +8517,10 @@ module Aws::KMS
|
|
8152
8517
|
# `alias/ExampleAlias`. You cannot use `UpdateAlias` to change the alias
|
8153
8518
|
# name.
|
8154
8519
|
#
|
8520
|
+
# Do not include confidential or sensitive information in this field.
|
8521
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
8522
|
+
# output.
|
8523
|
+
#
|
8155
8524
|
# @option params [required, String] :target_key_id
|
8156
8525
|
# Identifies the [customer managed key][1] to associate with the alias.
|
8157
8526
|
# You don't have permission to associate an alias with an [Amazon Web
|
@@ -8289,10 +8658,10 @@ module Aws::KMS
|
|
8289
8658
|
# If the operation succeeds, it returns a JSON object with no
|
8290
8659
|
# properties.
|
8291
8660
|
#
|
8292
|
-
# **Cross-account use
|
8661
|
+
# **Cross-account use**: No. You cannot perform this operation on a
|
8293
8662
|
# custom key store in a different Amazon Web Services account.
|
8294
8663
|
#
|
8295
|
-
# **Required permissions
|
8664
|
+
# **Required permissions**: [kms:UpdateCustomKeyStore][2] (IAM policy)
|
8296
8665
|
#
|
8297
8666
|
# **Related operations:**
|
8298
8667
|
#
|
@@ -8321,6 +8690,10 @@ module Aws::KMS
|
|
8321
8690
|
# you specify. The custom key store name must be unique in the Amazon
|
8322
8691
|
# Web Services account.
|
8323
8692
|
#
|
8693
|
+
# Do not include confidential or sensitive information in this field.
|
8694
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
8695
|
+
# output.
|
8696
|
+
#
|
8324
8697
|
# To change this value, an CloudHSM key store must be disconnected. An
|
8325
8698
|
# external key store can be connected or disconnected.
|
8326
8699
|
#
|
@@ -8474,7 +8847,7 @@ module Aws::KMS
|
|
8474
8847
|
# # worked, use the DescribeCustomKeyStores operation.
|
8475
8848
|
#
|
8476
8849
|
# resp = client.update_custom_key_store({
|
8477
|
-
# cloud_hsm_cluster_id: "cluster-
|
8850
|
+
# cloud_hsm_cluster_id: "cluster-234abcdefABC", # The ID of the AWS CloudHSM cluster that you want to associate with the custom key store. This cluster must be related to the original CloudHSM cluster for this key store.
|
8478
8851
|
# custom_key_store_id: "cks-1234567890abcdef0", # The ID of the custom key store that you are updating.
|
8479
8852
|
# })
|
8480
8853
|
#
|
@@ -8565,10 +8938,10 @@ module Aws::KMS
|
|
8565
8938
|
# key state. For details, see [Key states of KMS keys][1] in the *Key
|
8566
8939
|
# Management Service Developer Guide*.
|
8567
8940
|
#
|
8568
|
-
# **Cross-account use
|
8941
|
+
# **Cross-account use**: No. You cannot perform this operation on a KMS
|
8569
8942
|
# key in a different Amazon Web Services account.
|
8570
8943
|
#
|
8571
|
-
# **Required permissions
|
8944
|
+
# **Required permissions**: [kms:UpdateKeyDescription][2] (key policy)
|
8572
8945
|
#
|
8573
8946
|
# **Related operations**
|
8574
8947
|
#
|
@@ -8599,6 +8972,10 @@ module Aws::KMS
|
|
8599
8972
|
# @option params [required, String] :description
|
8600
8973
|
# New description for the KMS key.
|
8601
8974
|
#
|
8975
|
+
# Do not include confidential or sensitive information in this field.
|
8976
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
8977
|
+
# output.
|
8978
|
+
#
|
8602
8979
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
8603
8980
|
#
|
8604
8981
|
#
|
@@ -8681,10 +9058,10 @@ module Aws::KMS
|
|
8681
9058
|
# This operation does not return any output. To verify that primary key
|
8682
9059
|
# is changed, use the DescribeKey operation.
|
8683
9060
|
#
|
8684
|
-
# **Cross-account use
|
9061
|
+
# **Cross-account use**: No. You cannot use this operation in a
|
8685
9062
|
# different Amazon Web Services account.
|
8686
9063
|
#
|
8687
|
-
# **Required permissions
|
9064
|
+
# **Required permissions**:
|
8688
9065
|
#
|
8689
9066
|
# * `kms:UpdatePrimaryRegion` on the current primary key (in the primary
|
8690
9067
|
# key's Region). Include this permission primary key's key policy.
|
@@ -8810,13 +9187,13 @@ module Aws::KMS
|
|
8810
9187
|
# key state. For details, see [Key states of KMS keys][3] in the *Key
|
8811
9188
|
# Management Service Developer Guide*.
|
8812
9189
|
#
|
8813
|
-
# **Cross-account use
|
9190
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
8814
9191
|
# in a different Amazon Web Services account, specify the key ARN or
|
8815
9192
|
# alias ARN in the value of the `KeyId` parameter.
|
8816
9193
|
#
|
8817
|
-
# **Required permissions
|
9194
|
+
# **Required permissions**: [kms:Verify][4] (key policy)
|
8818
9195
|
#
|
8819
|
-
# **Related operations
|
9196
|
+
# **Related operations**: Sign
|
8820
9197
|
#
|
8821
9198
|
#
|
8822
9199
|
#
|
@@ -9015,13 +9392,13 @@ module Aws::KMS
|
|
9015
9392
|
# key state. For details, see [Key states of KMS keys][3] in the *Key
|
9016
9393
|
# Management Service Developer Guide*.
|
9017
9394
|
#
|
9018
|
-
# **Cross-account use
|
9395
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
9019
9396
|
# in a different Amazon Web Services account, specify the key ARN or
|
9020
9397
|
# alias ARN in the value of the `KeyId` parameter.
|
9021
9398
|
#
|
9022
|
-
# **Required permissions
|
9399
|
+
# **Required permissions**: [kms:VerifyMac][4] (key policy)
|
9023
9400
|
#
|
9024
|
-
# **Related operations
|
9401
|
+
# **Related operations**: GenerateMac
|
9025
9402
|
#
|
9026
9403
|
#
|
9027
9404
|
#
|
@@ -9132,7 +9509,7 @@ module Aws::KMS
|
|
9132
9509
|
params: params,
|
9133
9510
|
config: config)
|
9134
9511
|
context[:gem_name] = 'aws-sdk-kms'
|
9135
|
-
context[:gem_version] = '1.
|
9512
|
+
context[:gem_version] = '1.65.0'
|
9136
9513
|
Seahorse::Client::Request.new(handlers, context)
|
9137
9514
|
end
|
9138
9515
|
|