aws-sdk-kms 1.62.0 → 1.64.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|