aws-sdk-kms 1.62.0 → 1.64.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 +812 -334
- data/lib/aws-sdk-kms/client_api.rb +15 -0
- data/lib/aws-sdk-kms/endpoint_parameters.rb +0 -3
- data/lib/aws-sdk-kms/endpoint_provider.rb +27 -24
- data/lib/aws-sdk-kms/types.rb +515 -142
- data/lib/aws-sdk-kms.rb +1 -1
- metadata +2 -2
data/lib/aws-sdk-kms/types.rb
CHANGED
@@ -264,6 +264,10 @@ module Aws::KMS
|
|
264
264
|
# Specifies the alias name. This value must begin with `alias/`
|
265
265
|
# followed by a name, such as `alias/ExampleAlias`.
|
266
266
|
#
|
267
|
+
# Do not include confidential or sensitive information in this field.
|
268
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
269
|
+
# other output.
|
270
|
+
#
|
267
271
|
# The `AliasName` value must be string of 1-256 characters. It can
|
268
272
|
# contain only alphanumeric characters, forward slashes (/),
|
269
273
|
# underscores (\_), and dashes (-). The alias name cannot begin with
|
@@ -317,6 +321,10 @@ module Aws::KMS
|
|
317
321
|
# Specifies a friendly name for the custom key store. The name must be
|
318
322
|
# unique in your Amazon Web Services account and Region. This
|
319
323
|
# parameter is required for all custom key stores.
|
324
|
+
#
|
325
|
+
# Do not include confidential or sensitive information in this field.
|
326
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
327
|
+
# other output.
|
320
328
|
# @return [String]
|
321
329
|
#
|
322
330
|
# @!attribute [rw] cloud_hsm_cluster_id
|
@@ -566,18 +574,16 @@ module Aws::KMS
|
|
566
574
|
# @!attribute [rw] grantee_principal
|
567
575
|
# The identity that gets the permissions specified in the grant.
|
568
576
|
#
|
569
|
-
# To specify the principal, use the
|
570
|
-
# an Amazon Web Services principal. Valid
|
571
|
-
#
|
572
|
-
#
|
573
|
-
#
|
574
|
-
#
|
575
|
-
# ARNs section of the *Amazon Web Services General Reference*.
|
577
|
+
# To specify the grantee principal, use the Amazon Resource Name (ARN)
|
578
|
+
# of an Amazon Web Services principal. Valid principals include Amazon
|
579
|
+
# Web Services accounts, IAM users, IAM roles, federated users, and
|
580
|
+
# assumed role users. For help with the ARN syntax for a principal,
|
581
|
+
# see [IAM ARNs][1] in the <i> <i>Identity and Access Management User
|
582
|
+
# Guide</i> </i>.
|
576
583
|
#
|
577
584
|
#
|
578
585
|
#
|
579
|
-
# [1]: https://docs.aws.amazon.com/
|
580
|
-
# [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam
|
586
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns
|
581
587
|
# @return [String]
|
582
588
|
#
|
583
589
|
# @!attribute [rw] retiring_principal
|
@@ -585,12 +591,11 @@ module Aws::KMS
|
|
585
591
|
# to retire the grant.
|
586
592
|
#
|
587
593
|
# To specify the principal, use the [Amazon Resource Name (ARN)][1] of
|
588
|
-
# an Amazon Web Services principal. Valid
|
589
|
-
#
|
590
|
-
#
|
591
|
-
#
|
592
|
-
#
|
593
|
-
# of the *Amazon Web Services General Reference*.
|
594
|
+
# an Amazon Web Services principal. Valid principals include Amazon
|
595
|
+
# Web Services accounts, IAM users, IAM roles, federated users, and
|
596
|
+
# assumed role users. For help with the ARN syntax for a principal,
|
597
|
+
# see [IAM ARNs][2] in the <i> <i>Identity and Access Management User
|
598
|
+
# Guide</i> </i>.
|
594
599
|
#
|
595
600
|
# The grant determines the retiring principal. Other principals might
|
596
601
|
# have permission to retire the grant or revoke the grant. For
|
@@ -600,7 +605,7 @@ module Aws::KMS
|
|
600
605
|
#
|
601
606
|
#
|
602
607
|
# [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
603
|
-
# [2]: https://docs.aws.amazon.com/
|
608
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns
|
604
609
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete
|
605
610
|
# @return [String]
|
606
611
|
#
|
@@ -623,23 +628,19 @@ module Aws::KMS
|
|
623
628
|
# @!attribute [rw] constraints
|
624
629
|
# Specifies a grant constraint.
|
625
630
|
#
|
626
|
-
#
|
627
|
-
#
|
628
|
-
#
|
629
|
-
# value in each constraint cannot exceed 384 characters. For
|
630
|
-
# information about grant constraints, see [Using grant
|
631
|
-
# constraints][1] in the *Key Management Service Developer Guide*. For
|
632
|
-
# more information about encryption context, see [Encryption
|
633
|
-
# context][2] in the <i> <i>Key Management Service Developer Guide</i>
|
634
|
-
# </i>.
|
631
|
+
# Do not include confidential or sensitive information in this field.
|
632
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
633
|
+
# other output.
|
635
634
|
#
|
636
|
-
#
|
637
|
-
#
|
638
|
-
#
|
639
|
-
#
|
635
|
+
# KMS supports the `EncryptionContextEquals` and
|
636
|
+
# `EncryptionContextSubset` grant constraints, which allow the
|
637
|
+
# permissions in the grant only when the encryption context in the
|
638
|
+
# request matches (`EncryptionContextEquals`) or includes
|
639
|
+
# (`EncryptionContextSubset`) the encryption context specified in the
|
640
|
+
# constraint.
|
640
641
|
#
|
641
642
|
# The encryption context grant constraints are supported only on
|
642
|
-
# [grant operations][
|
643
|
+
# [grant operations][1] that include an `EncryptionContext` parameter,
|
643
644
|
# such as cryptographic operations on symmetric encryption KMS keys.
|
644
645
|
# Grants with grant constraints can include the DescribeKey and
|
645
646
|
# RetireGrant operations, but the constraint doesn't apply to these
|
@@ -650,15 +651,21 @@ module Aws::KMS
|
|
650
651
|
#
|
651
652
|
# You cannot use an encryption context grant constraint for
|
652
653
|
# cryptographic operations with asymmetric KMS keys or HMAC KMS keys.
|
653
|
-
#
|
654
|
-
#
|
654
|
+
# Operations with these keys don't support an encryption context.
|
655
655
|
#
|
656
|
+
# Each constraint value can include up to 8 encryption context pairs.
|
657
|
+
# The encryption context value in each constraint cannot exceed 384
|
658
|
+
# characters. For information about grant constraints, see [Using
|
659
|
+
# grant constraints][2] in the *Key Management Service Developer
|
660
|
+
# Guide*. For more information about encryption context, see
|
661
|
+
# [Encryption context][3] in the <i> <i>Key Management Service
|
662
|
+
# Developer Guide</i> </i>.
|
656
663
|
#
|
657
664
|
#
|
658
665
|
#
|
659
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
660
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
661
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
666
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations
|
667
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/create-grant-overview.html#grant-constraints
|
668
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
|
662
669
|
# @return [Types::GrantConstraints]
|
663
670
|
#
|
664
671
|
# @!attribute [rw] grant_tokens
|
@@ -679,6 +686,10 @@ module Aws::KMS
|
|
679
686
|
# A friendly name for the grant. Use this value to prevent the
|
680
687
|
# unintended creation of duplicate grants when retrying this request.
|
681
688
|
#
|
689
|
+
# Do not include confidential or sensitive information in this field.
|
690
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
691
|
+
# other output.
|
692
|
+
#
|
682
693
|
# When this value is absent, all `CreateGrant` requests result in a
|
683
694
|
# new grant with a unique `GrantId` even if all the supplied
|
684
695
|
# parameters are identical. This can result in unintended duplicates
|
@@ -741,27 +752,25 @@ module Aws::KMS
|
|
741
752
|
#
|
742
753
|
# If you provide a key policy, it must meet the following criteria:
|
743
754
|
#
|
744
|
-
# *
|
745
|
-
#
|
746
|
-
#
|
747
|
-
#
|
748
|
-
#
|
749
|
-
#
|
750
|
-
# Guide</i> </i>.
|
755
|
+
# * The key policy must allow the calling principal to make a
|
756
|
+
# subsequent `PutKeyPolicy` request on the KMS key. This reduces the
|
757
|
+
# risk that the KMS key becomes unmanageable. For more information,
|
758
|
+
# see [Default key policy][1] in the *Key Management Service
|
759
|
+
# Developer Guide*. (To omit this condition, set
|
760
|
+
# `BypassPolicyLockoutSafetyCheck` to true.)
|
751
761
|
#
|
752
762
|
# * Each statement in the key policy must contain one or more
|
753
763
|
# principals. The principals in the key policy must exist and be
|
754
764
|
# visible to KMS. When you create a new Amazon Web Services
|
755
|
-
# principal
|
756
|
-
#
|
757
|
-
#
|
758
|
-
#
|
759
|
-
#
|
760
|
-
# Access Management User Guide*.
|
765
|
+
# principal, you might need to enforce a delay before including the
|
766
|
+
# new principal in a key policy because the new principal might not
|
767
|
+
# be immediately visible to KMS. For more information, see [Changes
|
768
|
+
# that I make are not always immediately visible][2] in the *Amazon
|
769
|
+
# Web Services Identity and Access Management User Guide*.
|
761
770
|
#
|
762
771
|
# If you do not provide a key policy, KMS attaches a default key
|
763
|
-
# policy to the KMS key. For more information, see [Default
|
764
|
-
#
|
772
|
+
# policy to the KMS key. For more information, see [Default key
|
773
|
+
# policy][3] in the *Key Management Service Developer Guide*.
|
765
774
|
#
|
766
775
|
# The key policy size quota is 32 kilobytes (32768 bytes).
|
767
776
|
#
|
@@ -771,18 +780,20 @@ module Aws::KMS
|
|
771
780
|
#
|
772
781
|
#
|
773
782
|
#
|
774
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-
|
783
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
|
775
784
|
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
|
776
785
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
|
777
786
|
# [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
|
778
787
|
# @return [String]
|
779
788
|
#
|
780
789
|
# @!attribute [rw] description
|
781
|
-
# A description of the KMS key.
|
790
|
+
# A description of the KMS key. Use a description that helps you
|
791
|
+
# decide whether the KMS key is appropriate for a task. The default
|
792
|
+
# value is an empty string (no description).
|
782
793
|
#
|
783
|
-
#
|
784
|
-
#
|
785
|
-
#
|
794
|
+
# Do not include confidential or sensitive information in this field.
|
795
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
796
|
+
# other output.
|
786
797
|
#
|
787
798
|
# To set or change the description after the key is created, use
|
788
799
|
# UpdateKeyDescription.
|
@@ -957,26 +968,23 @@ module Aws::KMS
|
|
957
968
|
# @return [String]
|
958
969
|
#
|
959
970
|
# @!attribute [rw] bypass_policy_lockout_safety_check
|
960
|
-
#
|
961
|
-
#
|
971
|
+
# Skips ("bypasses") the key policy lockout safety check. The
|
972
|
+
# default value is false.
|
962
973
|
#
|
963
974
|
# Setting this value to true increases the risk that the KMS key
|
964
975
|
# becomes unmanageable. Do not set this value to true
|
965
976
|
# indiscriminately.
|
966
977
|
#
|
967
|
-
# For more information,
|
968
|
-
#
|
969
|
-
# Guide</i> </i>.
|
970
|
-
#
|
971
|
-
# Use this parameter only when you include a policy in the request and
|
972
|
-
# you intend to prevent the principal that is making the request from
|
973
|
-
# making a subsequent PutKeyPolicy request on the KMS key.
|
978
|
+
# For more information, see [Default key policy][1] in the *Key
|
979
|
+
# Management Service Developer Guide*.
|
974
980
|
#
|
975
|
-
#
|
981
|
+
# Use this parameter only when you intend to prevent the principal
|
982
|
+
# that is making the request from making a subsequent PutKeyPolicy
|
983
|
+
# request on the KMS key.
|
976
984
|
#
|
977
985
|
#
|
978
986
|
#
|
979
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-
|
987
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
|
980
988
|
# @return [Boolean]
|
981
989
|
#
|
982
990
|
# @!attribute [rw] tags
|
@@ -984,6 +992,10 @@ module Aws::KMS
|
|
984
992
|
# the KMS key when it is created. To tag an existing KMS key, use the
|
985
993
|
# TagResource operation.
|
986
994
|
#
|
995
|
+
# Do not include confidential or sensitive information in this field.
|
996
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
997
|
+
# other output.
|
998
|
+
#
|
987
999
|
# <note markdown="1"> Tagging or untagging a KMS key can allow or deny permission to the
|
988
1000
|
# KMS key. For details, see [ABAC for KMS][1] in the *Key Management
|
989
1001
|
# Service Developer Guide*.
|
@@ -1548,6 +1560,34 @@ module Aws::KMS
|
|
1548
1560
|
# encryption KMS keys.
|
1549
1561
|
# @return [String]
|
1550
1562
|
#
|
1563
|
+
# @!attribute [rw] recipient
|
1564
|
+
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
1565
|
+
# enclave and the encryption algorithm to use with the enclave's
|
1566
|
+
# public key. The only valid encryption algorithm is
|
1567
|
+
# `RSAES_OAEP_SHA_256`.
|
1568
|
+
#
|
1569
|
+
# This parameter only supports attestation documents for Amazon Web
|
1570
|
+
# Services Nitro Enclaves. To include this parameter, use the [Amazon
|
1571
|
+
# Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
|
1572
|
+
#
|
1573
|
+
# When you use this parameter, instead of returning the plaintext
|
1574
|
+
# data, KMS encrypts the plaintext data with the public key in the
|
1575
|
+
# attestation document, and returns the resulting ciphertext in the
|
1576
|
+
# `CiphertextForRecipient` field in the response. This ciphertext can
|
1577
|
+
# be decrypted only with the private key in the enclave. The
|
1578
|
+
# `Plaintext` field in the response is null or empty.
|
1579
|
+
#
|
1580
|
+
# For information about the interaction between KMS and Amazon Web
|
1581
|
+
# Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
|
1582
|
+
# uses KMS][3] in the *Key Management Service Developer Guide*.
|
1583
|
+
#
|
1584
|
+
#
|
1585
|
+
#
|
1586
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
1587
|
+
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
1588
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
1589
|
+
# @return [Types::RecipientInfo]
|
1590
|
+
#
|
1551
1591
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DecryptRequest AWS API Documentation
|
1552
1592
|
#
|
1553
1593
|
class DecryptRequest < Struct.new(
|
@@ -1555,7 +1595,8 @@ module Aws::KMS
|
|
1555
1595
|
:encryption_context,
|
1556
1596
|
:grant_tokens,
|
1557
1597
|
:key_id,
|
1558
|
-
:encryption_algorithm
|
1598
|
+
:encryption_algorithm,
|
1599
|
+
:recipient)
|
1559
1600
|
SENSITIVE = []
|
1560
1601
|
include Aws::Structure
|
1561
1602
|
end
|
@@ -1573,18 +1614,38 @@ module Aws::KMS
|
|
1573
1614
|
# Decrypted plaintext data. When you use the HTTP API or the Amazon
|
1574
1615
|
# Web Services CLI, the value is Base64-encoded. Otherwise, it is not
|
1575
1616
|
# Base64-encoded.
|
1617
|
+
#
|
1618
|
+
# If the response includes the `CiphertextForRecipient` field, the
|
1619
|
+
# `Plaintext` field is null or empty.
|
1576
1620
|
# @return [String]
|
1577
1621
|
#
|
1578
1622
|
# @!attribute [rw] encryption_algorithm
|
1579
1623
|
# The encryption algorithm that was used to decrypt the ciphertext.
|
1580
1624
|
# @return [String]
|
1581
1625
|
#
|
1626
|
+
# @!attribute [rw] ciphertext_for_recipient
|
1627
|
+
# The plaintext data encrypted with the public key in the attestation
|
1628
|
+
# document.
|
1629
|
+
#
|
1630
|
+
# This field is included in the response only when the `Recipient`
|
1631
|
+
# parameter in the request includes a valid attestation document from
|
1632
|
+
# an Amazon Web Services Nitro enclave. For information about the
|
1633
|
+
# interaction between KMS and Amazon Web Services Nitro Enclaves, see
|
1634
|
+
# [How Amazon Web Services Nitro Enclaves uses KMS][1] in the *Key
|
1635
|
+
# Management Service Developer Guide*.
|
1636
|
+
#
|
1637
|
+
#
|
1638
|
+
#
|
1639
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
1640
|
+
# @return [String]
|
1641
|
+
#
|
1582
1642
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DecryptResponse AWS API Documentation
|
1583
1643
|
#
|
1584
1644
|
class DecryptResponse < Struct.new(
|
1585
1645
|
:key_id,
|
1586
1646
|
:plaintext,
|
1587
|
-
:encryption_algorithm
|
1647
|
+
:encryption_algorithm,
|
1648
|
+
:ciphertext_for_recipient)
|
1588
1649
|
SENSITIVE = [:plaintext]
|
1589
1650
|
include Aws::Structure
|
1590
1651
|
end
|
@@ -1979,6 +2040,10 @@ module Aws::KMS
|
|
1979
2040
|
# asymmetric encryption algorithms and HMAC algorithms that KMS uses
|
1980
2041
|
# do not support an encryption context.
|
1981
2042
|
#
|
2043
|
+
# Do not include confidential or sensitive information in this field.
|
2044
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
2045
|
+
# other output.
|
2046
|
+
#
|
1982
2047
|
# An *encryption context* is a collection of non-secret key-value
|
1983
2048
|
# pairs that represent additional authenticated data. When you use an
|
1984
2049
|
# encryption context to encrypt data, you must specify the same (an
|
@@ -2085,6 +2150,10 @@ module Aws::KMS
|
|
2085
2150
|
# Specifies the encryption context that will be used when encrypting
|
2086
2151
|
# the private key in the data key pair.
|
2087
2152
|
#
|
2153
|
+
# Do not include confidential or sensitive information in this field.
|
2154
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
2155
|
+
# other output.
|
2156
|
+
#
|
2088
2157
|
# An *encryption context* is a collection of non-secret key-value
|
2089
2158
|
# pairs that represent additional authenticated data. When you use an
|
2090
2159
|
# encryption context to encrypt data, you must specify the same (an
|
@@ -2152,13 +2221,45 @@ module Aws::KMS
|
|
2152
2221
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
|
2153
2222
|
# @return [Array<String>]
|
2154
2223
|
#
|
2224
|
+
# @!attribute [rw] recipient
|
2225
|
+
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
2226
|
+
# enclave and the encryption algorithm to use with the enclave's
|
2227
|
+
# public key. The only valid encryption algorithm is
|
2228
|
+
# `RSAES_OAEP_SHA_256`.
|
2229
|
+
#
|
2230
|
+
# This parameter only supports attestation documents for Amazon Web
|
2231
|
+
# Services Nitro Enclaves. To include this parameter, use the [Amazon
|
2232
|
+
# Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
|
2233
|
+
#
|
2234
|
+
# When you use this parameter, instead of returning a plaintext copy
|
2235
|
+
# of the private data key, KMS encrypts the plaintext private data key
|
2236
|
+
# under the public key in the attestation document, and returns the
|
2237
|
+
# resulting ciphertext in the `CiphertextForRecipient` field in the
|
2238
|
+
# response. This ciphertext can be decrypted only with the private key
|
2239
|
+
# in the enclave. The `CiphertextBlob` field in the response contains
|
2240
|
+
# a copy of the private data key encrypted under the KMS key specified
|
2241
|
+
# by the `KeyId` parameter. The `PrivateKeyPlaintext` field in the
|
2242
|
+
# response is null or empty.
|
2243
|
+
#
|
2244
|
+
# For information about the interaction between KMS and Amazon Web
|
2245
|
+
# Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
|
2246
|
+
# uses KMS][3] in the *Key Management Service Developer Guide*.
|
2247
|
+
#
|
2248
|
+
#
|
2249
|
+
#
|
2250
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
2251
|
+
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
2252
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
2253
|
+
# @return [Types::RecipientInfo]
|
2254
|
+
#
|
2155
2255
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairRequest AWS API Documentation
|
2156
2256
|
#
|
2157
2257
|
class GenerateDataKeyPairRequest < Struct.new(
|
2158
2258
|
:encryption_context,
|
2159
2259
|
:key_id,
|
2160
2260
|
:key_pair_spec,
|
2161
|
-
:grant_tokens
|
2261
|
+
:grant_tokens,
|
2262
|
+
:recipient)
|
2162
2263
|
SENSITIVE = []
|
2163
2264
|
include Aws::Structure
|
2164
2265
|
end
|
@@ -2173,6 +2274,9 @@ module Aws::KMS
|
|
2173
2274
|
# The plaintext copy of the private key. When you use the HTTP API or
|
2174
2275
|
# the Amazon Web Services CLI, the value is Base64-encoded. Otherwise,
|
2175
2276
|
# it is not Base64-encoded.
|
2277
|
+
#
|
2278
|
+
# If the response includes the `CiphertextForRecipient` field, the
|
2279
|
+
# `PrivateKeyPlaintext` field is null or empty.
|
2176
2280
|
# @return [String]
|
2177
2281
|
#
|
2178
2282
|
# @!attribute [rw] public_key
|
@@ -2194,6 +2298,23 @@ module Aws::KMS
|
|
2194
2298
|
# The type of data key pair that was generated.
|
2195
2299
|
# @return [String]
|
2196
2300
|
#
|
2301
|
+
# @!attribute [rw] ciphertext_for_recipient
|
2302
|
+
# The plaintext private data key encrypted with the public key from
|
2303
|
+
# the Nitro enclave. This ciphertext can be decrypted only by using a
|
2304
|
+
# private key in the Nitro enclave.
|
2305
|
+
#
|
2306
|
+
# This field is included in the response only when the `Recipient`
|
2307
|
+
# parameter in the request includes a valid attestation document from
|
2308
|
+
# an Amazon Web Services Nitro enclave. For information about the
|
2309
|
+
# interaction between KMS and Amazon Web Services Nitro Enclaves, see
|
2310
|
+
# [How Amazon Web Services Nitro Enclaves uses KMS][1] in the *Key
|
2311
|
+
# Management Service Developer Guide*.
|
2312
|
+
#
|
2313
|
+
#
|
2314
|
+
#
|
2315
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
2316
|
+
# @return [String]
|
2317
|
+
#
|
2197
2318
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairResponse AWS API Documentation
|
2198
2319
|
#
|
2199
2320
|
class GenerateDataKeyPairResponse < Struct.new(
|
@@ -2201,7 +2322,8 @@ module Aws::KMS
|
|
2201
2322
|
:private_key_plaintext,
|
2202
2323
|
:public_key,
|
2203
2324
|
:key_id,
|
2204
|
-
:key_pair_spec
|
2325
|
+
:key_pair_spec,
|
2326
|
+
:ciphertext_for_recipient)
|
2205
2327
|
SENSITIVE = [:private_key_plaintext]
|
2206
2328
|
include Aws::Structure
|
2207
2329
|
end
|
@@ -2210,6 +2332,10 @@ module Aws::KMS
|
|
2210
2332
|
# Specifies the encryption context that will be used when encrypting
|
2211
2333
|
# the private key in the data key pair.
|
2212
2334
|
#
|
2335
|
+
# Do not include confidential or sensitive information in this field.
|
2336
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
2337
|
+
# other output.
|
2338
|
+
#
|
2213
2339
|
# An *encryption context* is a collection of non-secret key-value
|
2214
2340
|
# pairs that represent additional authenticated data. When you use an
|
2215
2341
|
# encryption context to encrypt data, you must specify the same (an
|
@@ -2354,6 +2480,10 @@ module Aws::KMS
|
|
2354
2480
|
# Specifies the encryption context that will be used when encrypting
|
2355
2481
|
# the data key.
|
2356
2482
|
#
|
2483
|
+
# Do not include confidential or sensitive information in this field.
|
2484
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
2485
|
+
# other output.
|
2486
|
+
#
|
2357
2487
|
# An *encryption context* is a collection of non-secret key-value
|
2358
2488
|
# pairs that represent additional authenticated data. When you use an
|
2359
2489
|
# encryption context to encrypt data, you must specify the same (an
|
@@ -2404,6 +2534,36 @@ module Aws::KMS
|
|
2404
2534
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
|
2405
2535
|
# @return [Array<String>]
|
2406
2536
|
#
|
2537
|
+
# @!attribute [rw] recipient
|
2538
|
+
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
2539
|
+
# enclave and the encryption algorithm to use with the enclave's
|
2540
|
+
# public key. The only valid encryption algorithm is
|
2541
|
+
# `RSAES_OAEP_SHA_256`.
|
2542
|
+
#
|
2543
|
+
# This parameter only supports attestation documents for Amazon Web
|
2544
|
+
# Services Nitro Enclaves. To include this parameter, use the [Amazon
|
2545
|
+
# Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
|
2546
|
+
#
|
2547
|
+
# When you use this parameter, instead of returning the plaintext data
|
2548
|
+
# key, KMS encrypts the plaintext data key under the public key in the
|
2549
|
+
# attestation document, and returns the resulting ciphertext in the
|
2550
|
+
# `CiphertextForRecipient` field in the response. This ciphertext can
|
2551
|
+
# be decrypted only with the private key in the enclave. The
|
2552
|
+
# `CiphertextBlob` field in the response contains a copy of the data
|
2553
|
+
# key encrypted under the KMS key specified by the `KeyId` parameter.
|
2554
|
+
# The `Plaintext` field in the response is null or empty.
|
2555
|
+
#
|
2556
|
+
# For information about the interaction between KMS and Amazon Web
|
2557
|
+
# Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
|
2558
|
+
# uses KMS][3] in the *Key Management Service Developer Guide*.
|
2559
|
+
#
|
2560
|
+
#
|
2561
|
+
#
|
2562
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
2563
|
+
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
2564
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
2565
|
+
# @return [Types::RecipientInfo]
|
2566
|
+
#
|
2407
2567
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyRequest AWS API Documentation
|
2408
2568
|
#
|
2409
2569
|
class GenerateDataKeyRequest < Struct.new(
|
@@ -2411,7 +2571,8 @@ module Aws::KMS
|
|
2411
2571
|
:encryption_context,
|
2412
2572
|
:number_of_bytes,
|
2413
2573
|
:key_spec,
|
2414
|
-
:grant_tokens
|
2574
|
+
:grant_tokens,
|
2575
|
+
:recipient)
|
2415
2576
|
SENSITIVE = []
|
2416
2577
|
include Aws::Structure
|
2417
2578
|
end
|
@@ -2427,6 +2588,9 @@ module Aws::KMS
|
|
2427
2588
|
# Services CLI, the value is Base64-encoded. Otherwise, it is not
|
2428
2589
|
# Base64-encoded. Use this data key to encrypt your data outside of
|
2429
2590
|
# KMS. Then, remove it from memory as soon as possible.
|
2591
|
+
#
|
2592
|
+
# If the response includes the `CiphertextForRecipient` field, the
|
2593
|
+
# `Plaintext` field is null or empty.
|
2430
2594
|
# @return [String]
|
2431
2595
|
#
|
2432
2596
|
# @!attribute [rw] key_id
|
@@ -2438,12 +2602,30 @@ module Aws::KMS
|
|
2438
2602
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN
|
2439
2603
|
# @return [String]
|
2440
2604
|
#
|
2605
|
+
# @!attribute [rw] ciphertext_for_recipient
|
2606
|
+
# The plaintext data key encrypted with the public key from the Nitro
|
2607
|
+
# enclave. This ciphertext can be decrypted only by using a private
|
2608
|
+
# key in the Nitro enclave.
|
2609
|
+
#
|
2610
|
+
# This field is included in the response only when the `Recipient`
|
2611
|
+
# parameter in the request includes a valid attestation document from
|
2612
|
+
# an Amazon Web Services Nitro enclave. For information about the
|
2613
|
+
# interaction between KMS and Amazon Web Services Nitro Enclaves, see
|
2614
|
+
# [How Amazon Web Services Nitro Enclaves uses KMS][1] in the *Key
|
2615
|
+
# Management Service Developer Guide*.
|
2616
|
+
#
|
2617
|
+
#
|
2618
|
+
#
|
2619
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
2620
|
+
# @return [String]
|
2621
|
+
#
|
2441
2622
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyResponse AWS API Documentation
|
2442
2623
|
#
|
2443
2624
|
class GenerateDataKeyResponse < Struct.new(
|
2444
2625
|
:ciphertext_blob,
|
2445
2626
|
:plaintext,
|
2446
|
-
:key_id
|
2627
|
+
:key_id,
|
2628
|
+
:ciphertext_for_recipient)
|
2447
2629
|
SENSITIVE = [:plaintext]
|
2448
2630
|
include Aws::Structure
|
2449
2631
|
end
|
@@ -2478,6 +2660,10 @@ module Aws::KMS
|
|
2478
2660
|
# Specifies the encryption context that will be used when encrypting
|
2479
2661
|
# the data key.
|
2480
2662
|
#
|
2663
|
+
# Do not include confidential or sensitive information in this field.
|
2664
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
2665
|
+
# other output.
|
2666
|
+
#
|
2481
2667
|
# An *encryption context* is a collection of non-secret key-value
|
2482
2668
|
# pairs that represent additional authenticated data. When you use an
|
2483
2669
|
# encryption context to encrypt data, you must specify the same (an
|
@@ -2654,11 +2840,40 @@ module Aws::KMS
|
|
2654
2840
|
# `UnsupportedOperationException`.
|
2655
2841
|
# @return [String]
|
2656
2842
|
#
|
2843
|
+
# @!attribute [rw] recipient
|
2844
|
+
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
2845
|
+
# enclave and the encryption algorithm to use with the enclave's
|
2846
|
+
# public key. The only valid encryption algorithm is
|
2847
|
+
# `RSAES_OAEP_SHA_256`.
|
2848
|
+
#
|
2849
|
+
# This parameter only supports attestation documents for Amazon Web
|
2850
|
+
# Services Nitro Enclaves. To include this parameter, use the [Amazon
|
2851
|
+
# Web Services Nitro Enclaves SDK][2] or any Amazon Web Services SDK.
|
2852
|
+
#
|
2853
|
+
# When you use this parameter, instead of returning plaintext bytes,
|
2854
|
+
# KMS encrypts the plaintext bytes under the public key in the
|
2855
|
+
# attestation document, and returns the resulting ciphertext in the
|
2856
|
+
# `CiphertextForRecipient` field in the response. This ciphertext can
|
2857
|
+
# be decrypted only with the private key in the enclave. The
|
2858
|
+
# `Plaintext` field in the response is null or empty.
|
2859
|
+
#
|
2860
|
+
# For information about the interaction between KMS and Amazon Web
|
2861
|
+
# Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
|
2862
|
+
# uses KMS][3] in the *Key Management Service Developer Guide*.
|
2863
|
+
#
|
2864
|
+
#
|
2865
|
+
#
|
2866
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
2867
|
+
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
2868
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
2869
|
+
# @return [Types::RecipientInfo]
|
2870
|
+
#
|
2657
2871
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandomRequest AWS API Documentation
|
2658
2872
|
#
|
2659
2873
|
class GenerateRandomRequest < Struct.new(
|
2660
2874
|
:number_of_bytes,
|
2661
|
-
:custom_key_store_id
|
2875
|
+
:custom_key_store_id,
|
2876
|
+
:recipient)
|
2662
2877
|
SENSITIVE = []
|
2663
2878
|
include Aws::Structure
|
2664
2879
|
end
|
@@ -2667,12 +2882,33 @@ module Aws::KMS
|
|
2667
2882
|
# The random byte string. When you use the HTTP API or the Amazon Web
|
2668
2883
|
# Services CLI, the value is Base64-encoded. Otherwise, it is not
|
2669
2884
|
# Base64-encoded.
|
2885
|
+
#
|
2886
|
+
# If the response includes the `CiphertextForRecipient` field, the
|
2887
|
+
# `Plaintext` field is null or empty.
|
2888
|
+
# @return [String]
|
2889
|
+
#
|
2890
|
+
# @!attribute [rw] ciphertext_for_recipient
|
2891
|
+
# The plaintext random bytes encrypted with the public key from the
|
2892
|
+
# Nitro enclave. This ciphertext can be decrypted only by using a
|
2893
|
+
# private key in the Nitro enclave.
|
2894
|
+
#
|
2895
|
+
# This field is included in the response only when the `Recipient`
|
2896
|
+
# parameter in the request includes a valid attestation document from
|
2897
|
+
# an Amazon Web Services Nitro enclave. For information about the
|
2898
|
+
# interaction between KMS and Amazon Web Services Nitro Enclaves, see
|
2899
|
+
# [How Amazon Web Services Nitro Enclaves uses KMS][1] in the *Key
|
2900
|
+
# Management Service Developer Guide*.
|
2901
|
+
#
|
2902
|
+
#
|
2903
|
+
#
|
2904
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
2670
2905
|
# @return [String]
|
2671
2906
|
#
|
2672
2907
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandomResponse AWS API Documentation
|
2673
2908
|
#
|
2674
2909
|
class GenerateRandomResponse < Struct.new(
|
2675
|
-
:plaintext
|
2910
|
+
:plaintext,
|
2911
|
+
:ciphertext_for_recipient)
|
2676
2912
|
SENSITIVE = [:plaintext]
|
2677
2913
|
include Aws::Structure
|
2678
2914
|
end
|
@@ -2776,14 +3012,21 @@ module Aws::KMS
|
|
2776
3012
|
# @return [String]
|
2777
3013
|
#
|
2778
3014
|
# @!attribute [rw] wrapping_algorithm
|
2779
|
-
# The algorithm you will use to encrypt the key material before
|
2780
|
-
#
|
2781
|
-
# [Encrypt the
|
3015
|
+
# The algorithm you will use to encrypt the key material before using
|
3016
|
+
# the ImportKeyMaterial operation to import it. For more information,
|
3017
|
+
# see [Encrypt the key material][1] in the *Key Management Service
|
2782
3018
|
# Developer Guide*.
|
2783
3019
|
#
|
3020
|
+
# The `RSAES_PKCS1_V1_5` wrapping algorithm is deprecated. We
|
3021
|
+
# recommend that you begin using a different wrapping algorithm
|
3022
|
+
# immediately. KMS will end support for `RSAES_PKCS1_V1_5` by October
|
3023
|
+
# 1, 2023 pursuant to [cryptographic key management guidance][2] from
|
3024
|
+
# the National Institute of Standards and Technology (NIST).
|
3025
|
+
#
|
2784
3026
|
#
|
2785
3027
|
#
|
2786
3028
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-encrypt-key-material.html
|
3029
|
+
# [2]: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar2.pdf
|
2787
3030
|
# @return [String]
|
2788
3031
|
#
|
2789
3032
|
# @!attribute [rw] wrapping_key_spec
|
@@ -4128,17 +4371,16 @@ module Aws::KMS
|
|
4128
4371
|
# in your Amazon Web Services account.
|
4129
4372
|
#
|
4130
4373
|
# To specify the retiring principal, use the [Amazon Resource Name
|
4131
|
-
# (ARN)][1] of an Amazon Web Services principal. Valid
|
4132
|
-
#
|
4133
|
-
#
|
4134
|
-
#
|
4135
|
-
#
|
4136
|
-
# of the *Amazon Web Services General Reference*.
|
4374
|
+
# (ARN)][1] of an Amazon Web Services principal. Valid principals
|
4375
|
+
# include Amazon Web Services accounts, IAM users, IAM roles,
|
4376
|
+
# federated users, and assumed role users. For help with the ARN
|
4377
|
+
# syntax for a principal, see [IAM ARNs][2] in the <i> <i>Identity and
|
4378
|
+
# Access Management User Guide</i> </i>.
|
4137
4379
|
#
|
4138
4380
|
#
|
4139
4381
|
#
|
4140
4382
|
# [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
4141
|
-
# [2]: https://docs.aws.amazon.com/
|
4383
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns
|
4142
4384
|
# @return [String]
|
4143
4385
|
#
|
4144
4386
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListRetirableGrantsRequest AWS API Documentation
|
@@ -4256,23 +4498,21 @@ module Aws::KMS
|
|
4256
4498
|
#
|
4257
4499
|
# The key policy must meet the following criteria:
|
4258
4500
|
#
|
4259
|
-
# *
|
4260
|
-
#
|
4261
|
-
#
|
4262
|
-
#
|
4263
|
-
#
|
4264
|
-
#
|
4265
|
-
# Developer Guide*.
|
4501
|
+
# * The key policy must allow the calling principal to make a
|
4502
|
+
# subsequent `PutKeyPolicy` request on the KMS key. This reduces the
|
4503
|
+
# risk that the KMS key becomes unmanageable. For more information,
|
4504
|
+
# see [Default key policy][1] in the *Key Management Service
|
4505
|
+
# Developer Guide*. (To omit this condition, set
|
4506
|
+
# `BypassPolicyLockoutSafetyCheck` to true.)
|
4266
4507
|
#
|
4267
4508
|
# * Each statement in the key policy must contain one or more
|
4268
4509
|
# principals. The principals in the key policy must exist and be
|
4269
4510
|
# visible to KMS. When you create a new Amazon Web Services
|
4270
|
-
# principal
|
4271
|
-
#
|
4272
|
-
#
|
4273
|
-
#
|
4274
|
-
#
|
4275
|
-
# Access Management User Guide*.
|
4511
|
+
# principal, you might need to enforce a delay before including the
|
4512
|
+
# new principal in a key policy because the new principal might not
|
4513
|
+
# be immediately visible to KMS. For more information, see [Changes
|
4514
|
+
# that I make are not always immediately visible][2] in the *Amazon
|
4515
|
+
# Web Services Identity and Access Management User Guide*.
|
4276
4516
|
#
|
4277
4517
|
# A key policy document can include only the following characters:
|
4278
4518
|
#
|
@@ -4293,32 +4533,30 @@ module Aws::KMS
|
|
4293
4533
|
#
|
4294
4534
|
#
|
4295
4535
|
#
|
4296
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-
|
4536
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
|
4297
4537
|
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
|
4298
4538
|
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
|
4299
4539
|
# [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
|
4300
4540
|
# @return [String]
|
4301
4541
|
#
|
4302
4542
|
# @!attribute [rw] bypass_policy_lockout_safety_check
|
4303
|
-
#
|
4304
|
-
#
|
4543
|
+
# Skips ("bypasses") the key policy lockout safety check. The
|
4544
|
+
# default value is false.
|
4305
4545
|
#
|
4306
4546
|
# Setting this value to true increases the risk that the KMS key
|
4307
4547
|
# becomes unmanageable. Do not set this value to true
|
4308
4548
|
# indiscriminately.
|
4309
4549
|
#
|
4310
|
-
# For more information,
|
4311
|
-
#
|
4550
|
+
# For more information, see [Default key policy][1] in the *Key
|
4551
|
+
# Management Service Developer Guide*.
|
4312
4552
|
#
|
4313
4553
|
# Use this parameter only when you intend to prevent the principal
|
4314
|
-
# that is making the request from making a subsequent
|
4554
|
+
# that is making the request from making a subsequent PutKeyPolicy
|
4315
4555
|
# request on the KMS key.
|
4316
4556
|
#
|
4317
|
-
# The default value is false.
|
4318
|
-
#
|
4319
4557
|
#
|
4320
4558
|
#
|
4321
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-
|
4559
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
|
4322
4560
|
# @return [Boolean]
|
4323
4561
|
#
|
4324
4562
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/PutKeyPolicyRequest AWS API Documentation
|
@@ -4423,6 +4661,10 @@ module Aws::KMS
|
|
4423
4661
|
# Specifies that encryption context to use when the reencrypting the
|
4424
4662
|
# data.
|
4425
4663
|
#
|
4664
|
+
# Do not include confidential or sensitive information in this field.
|
4665
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
4666
|
+
# other output.
|
4667
|
+
#
|
4426
4668
|
# A destination encryption context is valid only when the destination
|
4427
4669
|
# KMS key is a symmetric encryption KMS key. The standard ciphertext
|
4428
4670
|
# format for asymmetric KMS keys does not include fields for metadata.
|
@@ -4537,6 +4779,39 @@ module Aws::KMS
|
|
4537
4779
|
include Aws::Structure
|
4538
4780
|
end
|
4539
4781
|
|
4782
|
+
# Contains information about the party that receives the response from
|
4783
|
+
# the API operation.
|
4784
|
+
#
|
4785
|
+
# This data type is designed to support Amazon Web Services Nitro
|
4786
|
+
# Enclaves, which lets you create an isolated compute environment in
|
4787
|
+
# Amazon EC2. For information about the interaction between KMS and
|
4788
|
+
# Amazon Web Services Nitro Enclaves, see [How Amazon Web Services Nitro
|
4789
|
+
# Enclaves uses KMS][1] in the *Key Management Service Developer Guide*.
|
4790
|
+
#
|
4791
|
+
#
|
4792
|
+
#
|
4793
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
4794
|
+
#
|
4795
|
+
# @!attribute [rw] key_encryption_algorithm
|
4796
|
+
# The encryption algorithm that KMS should use with the public key for
|
4797
|
+
# an Amazon Web Services Nitro Enclave to encrypt plaintext values for
|
4798
|
+
# the response. The only valid value is `RSAES_OAEP_SHA_256`.
|
4799
|
+
# @return [String]
|
4800
|
+
#
|
4801
|
+
# @!attribute [rw] attestation_document
|
4802
|
+
# The attestation document for an Amazon Web Services Nitro Enclave.
|
4803
|
+
# This document includes the enclave's public key.
|
4804
|
+
# @return [String]
|
4805
|
+
#
|
4806
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RecipientInfo AWS API Documentation
|
4807
|
+
#
|
4808
|
+
class RecipientInfo < Struct.new(
|
4809
|
+
:key_encryption_algorithm,
|
4810
|
+
:attestation_document)
|
4811
|
+
SENSITIVE = []
|
4812
|
+
include Aws::Structure
|
4813
|
+
end
|
4814
|
+
|
4540
4815
|
# @!attribute [rw] key_id
|
4541
4816
|
# Identifies the multi-Region primary key that is being replicated. To
|
4542
4817
|
# determine whether a KMS key is a multi-Region primary key, use the
|
@@ -4606,22 +4881,21 @@ module Aws::KMS
|
|
4606
4881
|
#
|
4607
4882
|
# If you provide a key policy, it must meet the following criteria:
|
4608
4883
|
#
|
4609
|
-
# *
|
4610
|
-
#
|
4611
|
-
#
|
4612
|
-
#
|
4613
|
-
#
|
4614
|
-
#
|
4884
|
+
# * The key policy must allow the calling principal to make a
|
4885
|
+
# subsequent `PutKeyPolicy` request on the KMS key. This reduces the
|
4886
|
+
# risk that the KMS key becomes unmanageable. For more information,
|
4887
|
+
# see [Default key policy][2] in the *Key Management Service
|
4888
|
+
# Developer Guide*. (To omit this condition, set
|
4889
|
+
# `BypassPolicyLockoutSafetyCheck` to true.)
|
4615
4890
|
#
|
4616
4891
|
# * Each statement in the key policy must contain one or more
|
4617
4892
|
# principals. The principals in the key policy must exist and be
|
4618
4893
|
# visible to KMS. When you create a new Amazon Web Services
|
4619
|
-
# principal
|
4620
|
-
#
|
4621
|
-
#
|
4622
|
-
#
|
4623
|
-
#
|
4624
|
-
# Management User Guide</i> </i>.
|
4894
|
+
# principal, you might need to enforce a delay before including the
|
4895
|
+
# new principal in a key policy because the new principal might not
|
4896
|
+
# be immediately visible to KMS. For more information, see [Changes
|
4897
|
+
# that I make are not always immediately visible][3] in the *Amazon
|
4898
|
+
# Web Services Identity and Access Management User Guide*.
|
4625
4899
|
#
|
4626
4900
|
# A key policy document can include only the following characters:
|
4627
4901
|
#
|
@@ -4643,38 +4917,40 @@ module Aws::KMS
|
|
4643
4917
|
#
|
4644
4918
|
#
|
4645
4919
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
|
4646
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-
|
4920
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
|
4647
4921
|
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
|
4648
4922
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
|
4649
4923
|
# [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
|
4650
4924
|
# @return [String]
|
4651
4925
|
#
|
4652
4926
|
# @!attribute [rw] bypass_policy_lockout_safety_check
|
4653
|
-
#
|
4654
|
-
#
|
4927
|
+
# Skips ("bypasses") the key policy lockout safety check. The
|
4928
|
+
# default value is false.
|
4655
4929
|
#
|
4656
4930
|
# Setting this value to true increases the risk that the KMS key
|
4657
4931
|
# becomes unmanageable. Do not set this value to true
|
4658
4932
|
# indiscriminately.
|
4659
4933
|
#
|
4660
|
-
# For more information,
|
4661
|
-
#
|
4934
|
+
# For more information, see [Default key policy][1] in the *Key
|
4935
|
+
# Management Service Developer Guide*.
|
4662
4936
|
#
|
4663
4937
|
# Use this parameter only when you intend to prevent the principal
|
4664
|
-
# that is making the request from making a subsequent
|
4938
|
+
# that is making the request from making a subsequent PutKeyPolicy
|
4665
4939
|
# request on the KMS key.
|
4666
4940
|
#
|
4667
|
-
# The default value is false.
|
4668
4941
|
#
|
4669
4942
|
#
|
4670
|
-
#
|
4671
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
|
4943
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
|
4672
4944
|
# @return [Boolean]
|
4673
4945
|
#
|
4674
4946
|
# @!attribute [rw] description
|
4675
4947
|
# A description of the KMS key. The default value is an empty string
|
4676
4948
|
# (no description).
|
4677
4949
|
#
|
4950
|
+
# Do not include confidential or sensitive information in this field.
|
4951
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
4952
|
+
# other output.
|
4953
|
+
#
|
4678
4954
|
# The description is not a shared property of multi-Region keys. You
|
4679
4955
|
# can specify the same description or a different description for each
|
4680
4956
|
# key in a set of related multi-Region keys. KMS does not synchronize
|
@@ -4686,6 +4962,10 @@ module Aws::KMS
|
|
4686
4962
|
# tag the KMS key when it is created. To tag an existing KMS key, use
|
4687
4963
|
# the TagResource operation.
|
4688
4964
|
#
|
4965
|
+
# Do not include confidential or sensitive information in this field.
|
4966
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
4967
|
+
# other output.
|
4968
|
+
#
|
4689
4969
|
# <note markdown="1"> Tagging or untagging a KMS key can allow or deny permission to the
|
4690
4970
|
# KMS key. For details, see [ABAC for KMS][1] in the *Key Management
|
4691
4971
|
# Service Developer Guide*.
|
@@ -4952,16 +5232,55 @@ module Aws::KMS
|
|
4952
5232
|
#
|
4953
5233
|
# @!attribute [rw] message
|
4954
5234
|
# Specifies the message or message digest to sign. Messages can be
|
4955
|
-
# 0-4096 bytes. To sign a larger message, provide
|
5235
|
+
# 0-4096 bytes. To sign a larger message, provide a message digest.
|
4956
5236
|
#
|
4957
|
-
# If you provide a message,
|
4958
|
-
#
|
5237
|
+
# If you provide a message digest, use the `DIGEST` value of
|
5238
|
+
# `MessageType` to prevent the digest from being hashed again while
|
5239
|
+
# signing.
|
4959
5240
|
# @return [String]
|
4960
5241
|
#
|
4961
5242
|
# @!attribute [rw] message_type
|
4962
|
-
# Tells KMS whether the value of the `Message` parameter
|
4963
|
-
#
|
4964
|
-
#
|
5243
|
+
# Tells KMS whether the value of the `Message` parameter should be
|
5244
|
+
# hashed as part of the signing algorithm. Use `RAW` for unhashed
|
5245
|
+
# messages; use `DIGEST` for message digests, which are already
|
5246
|
+
# hashed.
|
5247
|
+
#
|
5248
|
+
# When the value of `MessageType` is `RAW`, KMS uses the standard
|
5249
|
+
# signing algorithm, which begins with a hash function. When the value
|
5250
|
+
# is `DIGEST`, KMS skips the hashing step in the signing algorithm.
|
5251
|
+
#
|
5252
|
+
# Use the `DIGEST` value only when the value of the `Message`
|
5253
|
+
# parameter is a message digest. If you use the `DIGEST` value with an
|
5254
|
+
# unhashed message, the security of the signing operation can be
|
5255
|
+
# compromised.
|
5256
|
+
#
|
5257
|
+
# When the value of `MessageType`is `DIGEST`, the length of the
|
5258
|
+
# `Message` value must match the length of hashed messages for the
|
5259
|
+
# specified signing algorithm.
|
5260
|
+
#
|
5261
|
+
# You can submit a message digest and omit the `MessageType` or
|
5262
|
+
# specify `RAW` so the digest is hashed again while signing. However,
|
5263
|
+
# this can cause verification failures when verifying with a system
|
5264
|
+
# that assumes a single hash.
|
5265
|
+
#
|
5266
|
+
# The hashing algorithm in that `Sign` uses is based on the
|
5267
|
+
# `SigningAlgorithm` value.
|
5268
|
+
#
|
5269
|
+
# * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
|
5270
|
+
# algorithm.
|
5271
|
+
#
|
5272
|
+
# * Signing algorithms that end in SHA\_384 use the SHA\_384 hashing
|
5273
|
+
# algorithm.
|
5274
|
+
#
|
5275
|
+
# * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
|
5276
|
+
# algorithm.
|
5277
|
+
#
|
5278
|
+
# * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
|
5279
|
+
# verification with SM2 key pairs][1].
|
5280
|
+
#
|
5281
|
+
#
|
5282
|
+
#
|
5283
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
|
4965
5284
|
# @return [String]
|
4966
5285
|
#
|
4967
5286
|
# @!attribute [rw] grant_tokens
|
@@ -4982,7 +5301,9 @@ module Aws::KMS
|
|
4982
5301
|
# Specifies the signing algorithm to use when signing the message.
|
4983
5302
|
#
|
4984
5303
|
# Choose an algorithm that is compatible with the type and size of the
|
4985
|
-
# specified asymmetric KMS key.
|
5304
|
+
# specified asymmetric KMS key. When signing with RSA key pairs,
|
5305
|
+
# RSASSA-PSS algorithms are preferred. We include RSASSA-PKCS1-v1\_5
|
5306
|
+
# algorithms for compatibility with existing applications.
|
4986
5307
|
# @return [String]
|
4987
5308
|
#
|
4988
5309
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/SignRequest AWS API Documentation
|
@@ -5045,6 +5366,10 @@ module Aws::KMS
|
|
5045
5366
|
# keys and tag values are both required, but tag values can be empty
|
5046
5367
|
# (null) strings.
|
5047
5368
|
#
|
5369
|
+
# Do not include confidential or sensitive information in this field.
|
5370
|
+
# This field may be displayed in plaintext in CloudTrail logs and other
|
5371
|
+
# output.
|
5372
|
+
#
|
5048
5373
|
# For information about the rules that apply to tag keys and tag values,
|
5049
5374
|
# see [User-Defined Tag Restrictions][1] in the *Amazon Web Services
|
5050
5375
|
# Billing and Cost Management User Guide*.
|
@@ -5100,10 +5425,12 @@ module Aws::KMS
|
|
5100
5425
|
# @return [String]
|
5101
5426
|
#
|
5102
5427
|
# @!attribute [rw] tags
|
5103
|
-
# One or more tags.
|
5428
|
+
# One or more tags. Each tag consists of a tag key and a tag value.
|
5429
|
+
# The tag value can be an empty (null) string.
|
5104
5430
|
#
|
5105
|
-
#
|
5106
|
-
#
|
5431
|
+
# Do not include confidential or sensitive information in this field.
|
5432
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
5433
|
+
# other output.
|
5107
5434
|
#
|
5108
5435
|
# You cannot have more than one tag on a KMS key with the same tag
|
5109
5436
|
# key. If you specify an existing tag key with a different tag value,
|
@@ -5167,6 +5494,10 @@ module Aws::KMS
|
|
5167
5494
|
# begin with `alias/` followed by the alias name, such as
|
5168
5495
|
# `alias/ExampleAlias`. You cannot use `UpdateAlias` to change the
|
5169
5496
|
# alias name.
|
5497
|
+
#
|
5498
|
+
# Do not include confidential or sensitive information in this field.
|
5499
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
5500
|
+
# other output.
|
5170
5501
|
# @return [String]
|
5171
5502
|
#
|
5172
5503
|
# @!attribute [rw] target_key_id
|
@@ -5220,6 +5551,10 @@ module Aws::KMS
|
|
5220
5551
|
# you specify. The custom key store name must be unique in the Amazon
|
5221
5552
|
# Web Services account.
|
5222
5553
|
#
|
5554
|
+
# Do not include confidential or sensitive information in this field.
|
5555
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
5556
|
+
# other output.
|
5557
|
+
#
|
5223
5558
|
# To change this value, an CloudHSM key store must be disconnected. An
|
5224
5559
|
# external key store can be connected or disconnected.
|
5225
5560
|
# @return [String]
|
@@ -5382,6 +5717,10 @@ module Aws::KMS
|
|
5382
5717
|
#
|
5383
5718
|
# @!attribute [rw] description
|
5384
5719
|
# New description for the KMS key.
|
5720
|
+
#
|
5721
|
+
# Do not include confidential or sensitive information in this field.
|
5722
|
+
# This field may be displayed in plaintext in CloudTrail logs and
|
5723
|
+
# other output.
|
5385
5724
|
# @return [String]
|
5386
5725
|
#
|
5387
5726
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/UpdateKeyDescriptionRequest AWS API Documentation
|
@@ -5548,14 +5887,48 @@ module Aws::KMS
|
|
5548
5887
|
# @return [String]
|
5549
5888
|
#
|
5550
5889
|
# @!attribute [rw] message_type
|
5551
|
-
# Tells KMS whether the value of the `Message` parameter
|
5552
|
-
#
|
5553
|
-
#
|
5890
|
+
# Tells KMS whether the value of the `Message` parameter should be
|
5891
|
+
# hashed as part of the signing algorithm. Use `RAW` for unhashed
|
5892
|
+
# messages; use `DIGEST` for message digests, which are already
|
5893
|
+
# hashed.
|
5894
|
+
#
|
5895
|
+
# When the value of `MessageType` is `RAW`, KMS uses the standard
|
5896
|
+
# signing algorithm, which begins with a hash function. When the value
|
5897
|
+
# is `DIGEST`, KMS skips the hashing step in the signing algorithm.
|
5554
5898
|
#
|
5555
5899
|
# Use the `DIGEST` value only when the value of the `Message`
|
5556
|
-
# parameter is a message digest. If you use the `DIGEST` value with
|
5557
|
-
#
|
5900
|
+
# parameter is a message digest. If you use the `DIGEST` value with an
|
5901
|
+
# unhashed message, the security of the verification operation can be
|
5558
5902
|
# compromised.
|
5903
|
+
#
|
5904
|
+
# When the value of `MessageType`is `DIGEST`, the length of the
|
5905
|
+
# `Message` value must match the length of hashed messages for the
|
5906
|
+
# specified signing algorithm.
|
5907
|
+
#
|
5908
|
+
# You can submit a message digest and omit the `MessageType` or
|
5909
|
+
# specify `RAW` so the digest is hashed again while signing. However,
|
5910
|
+
# if the signed message is hashed once while signing, but twice while
|
5911
|
+
# verifying, verification fails, even when the message hasn't
|
5912
|
+
# changed.
|
5913
|
+
#
|
5914
|
+
# The hashing algorithm in that `Verify` uses is based on the
|
5915
|
+
# `SigningAlgorithm` value.
|
5916
|
+
#
|
5917
|
+
# * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
|
5918
|
+
# algorithm.
|
5919
|
+
#
|
5920
|
+
# * Signing algorithms that end in SHA\_384 use the SHA\_384 hashing
|
5921
|
+
# algorithm.
|
5922
|
+
#
|
5923
|
+
# * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
|
5924
|
+
# algorithm.
|
5925
|
+
#
|
5926
|
+
# * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
|
5927
|
+
# verification with SM2 key pairs][1].
|
5928
|
+
#
|
5929
|
+
#
|
5930
|
+
#
|
5931
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
|
5559
5932
|
# @return [String]
|
5560
5933
|
#
|
5561
5934
|
# @!attribute [rw] signature
|