aws-sdk-kms 1.55.0 → 1.58.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 +15 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-kms/client.rb +1296 -621
- data/lib/aws-sdk-kms/client_api.rb +91 -3
- data/lib/aws-sdk-kms/errors.rb +16 -0
- data/lib/aws-sdk-kms/types.rb +576 -234
- data/lib/aws-sdk-kms.rb +1 -1
- metadata +2 -2
data/lib/aws-sdk-kms/types.rb
CHANGED
@@ -338,9 +338,9 @@ module Aws::KMS
|
|
338
338
|
#
|
339
339
|
# {
|
340
340
|
# custom_key_store_name: "CustomKeyStoreNameType", # required
|
341
|
-
# cloud_hsm_cluster_id: "CloudHsmClusterIdType",
|
342
|
-
# trust_anchor_certificate: "TrustAnchorCertificateType",
|
343
|
-
# key_store_password: "KeyStorePasswordType",
|
341
|
+
# cloud_hsm_cluster_id: "CloudHsmClusterIdType",
|
342
|
+
# trust_anchor_certificate: "TrustAnchorCertificateType",
|
343
|
+
# key_store_password: "KeyStorePasswordType",
|
344
344
|
# }
|
345
345
|
#
|
346
346
|
# @!attribute [rw] custom_key_store_name
|
@@ -415,7 +415,7 @@ module Aws::KMS
|
|
415
415
|
# key_id: "KeyIdType", # required
|
416
416
|
# grantee_principal: "PrincipalIdType", # required
|
417
417
|
# retiring_principal: "PrincipalIdType",
|
418
|
-
# operations: ["Decrypt"], # required, accepts Decrypt, Encrypt, GenerateDataKey, GenerateDataKeyWithoutPlaintext, ReEncryptFrom, ReEncryptTo, Sign, Verify, GetPublicKey, CreateGrant, RetireGrant, DescribeKey, GenerateDataKeyPair, GenerateDataKeyPairWithoutPlaintext
|
418
|
+
# operations: ["Decrypt"], # required, accepts Decrypt, Encrypt, GenerateDataKey, GenerateDataKeyWithoutPlaintext, ReEncryptFrom, ReEncryptTo, Sign, Verify, GetPublicKey, CreateGrant, RetireGrant, DescribeKey, GenerateDataKeyPair, GenerateDataKeyPairWithoutPlaintext, GenerateMac, VerifyMac
|
419
419
|
# constraints: {
|
420
420
|
# encryption_context_subset: {
|
421
421
|
# "EncryptionContextKey" => "EncryptionContextValue",
|
@@ -491,12 +491,13 @@ module Aws::KMS
|
|
491
491
|
# @!attribute [rw] operations
|
492
492
|
# A list of operations that the grant permits.
|
493
493
|
#
|
494
|
-
#
|
495
|
-
#
|
496
|
-
#
|
497
|
-
#
|
498
|
-
#
|
499
|
-
#
|
494
|
+
# This list must include only operations that are permitted in a
|
495
|
+
# grant. Also, the operation must be supported on the KMS key. For
|
496
|
+
# example, you cannot create a grant for a symmetric encryption KMS
|
497
|
+
# key that allows the Sign operation, or a grant for an asymmetric KMS
|
498
|
+
# key that allows the GenerateDataKey operation. If you try, KMS
|
499
|
+
# returns a `ValidationError` exception. For details, see [Grant
|
500
|
+
# operations][1] in the *Key Management Service Developer Guide*.
|
500
501
|
#
|
501
502
|
#
|
502
503
|
#
|
@@ -509,27 +510,39 @@ module Aws::KMS
|
|
509
510
|
# KMS supports the `EncryptionContextEquals` and
|
510
511
|
# `EncryptionContextSubset` grant constraints. Each constraint value
|
511
512
|
# can include up to 8 encryption context pairs. The encryption context
|
512
|
-
# value in each constraint cannot exceed 384 characters.
|
513
|
+
# value in each constraint cannot exceed 384 characters. For
|
514
|
+
# information about grant constraints, see [Using grant
|
515
|
+
# constraints][1] in the *Key Management Service Developer Guide*. For
|
516
|
+
# more information about encryption context, see [Encryption
|
517
|
+
# context][2] in the <i> <i>Key Management Service Developer Guide</i>
|
518
|
+
# </i>.
|
513
519
|
#
|
514
|
-
#
|
515
|
-
# the encryption context in the request matches
|
520
|
+
# The encryption context grant constraints allow the permissions in
|
521
|
+
# the grant only when the encryption context in the request matches
|
516
522
|
# (`EncryptionContextEquals`) or includes (`EncryptionContextSubset`)
|
517
|
-
# the encryption context specified in this structure.
|
518
|
-
# about grant constraints, see [Using grant constraints][1] in the
|
519
|
-
# *Key Management Service Developer Guide*. For more information about
|
520
|
-
# encryption context, see [Encryption Context][2] in the <i> <i>Key
|
521
|
-
# Management Service Developer Guide</i> </i>.
|
523
|
+
# the encryption context specified in this structure.
|
522
524
|
#
|
523
525
|
# The encryption context grant constraints are supported only on
|
524
|
-
# operations that include an
|
525
|
-
#
|
526
|
-
# with
|
527
|
-
#
|
526
|
+
# [grant operations][3] that include an `EncryptionContext` parameter,
|
527
|
+
# such as cryptographic operations on symmetric encryption KMS keys.
|
528
|
+
# Grants with grant constraints can include the DescribeKey and
|
529
|
+
# RetireGrant operations, but the constraint doesn't apply to these
|
530
|
+
# operations. If a grant with a grant constraint includes the
|
531
|
+
# `CreateGrant` operation, the constraint requires that any grants
|
532
|
+
# created with the `CreateGrant` permission have an equally strict or
|
533
|
+
# stricter encryption context constraint.
|
534
|
+
#
|
535
|
+
# You cannot use an encryption context grant constraint for
|
536
|
+
# cryptographic operations with asymmetric KMS keys or HMAC KMS keys.
|
537
|
+
# These keys don't support an encryption context.
|
538
|
+
#
|
539
|
+
#
|
528
540
|
#
|
529
541
|
#
|
530
542
|
#
|
531
543
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/create-grant-overview.html#grant-constraints
|
532
544
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
|
545
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations
|
533
546
|
# @return [Types::GrantConstraints]
|
534
547
|
#
|
535
548
|
# @!attribute [rw] grant_tokens
|
@@ -613,9 +626,9 @@ module Aws::KMS
|
|
613
626
|
# {
|
614
627
|
# policy: "PolicyType",
|
615
628
|
# description: "DescriptionType",
|
616
|
-
# key_usage: "SIGN_VERIFY", # accepts SIGN_VERIFY, ENCRYPT_DECRYPT
|
617
|
-
# customer_master_key_spec: "RSA_2048", # accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SYMMETRIC_DEFAULT
|
618
|
-
# key_spec: "RSA_2048", # accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SYMMETRIC_DEFAULT
|
629
|
+
# key_usage: "SIGN_VERIFY", # accepts SIGN_VERIFY, ENCRYPT_DECRYPT, GENERATE_VERIFY_MAC
|
630
|
+
# customer_master_key_spec: "RSA_2048", # accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SYMMETRIC_DEFAULT, HMAC_224, HMAC_256, HMAC_384, HMAC_512, SM2
|
631
|
+
# key_spec: "RSA_2048", # accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SYMMETRIC_DEFAULT, HMAC_224, HMAC_256, HMAC_384, HMAC_512, SM2
|
619
632
|
# origin: "AWS_KMS", # accepts AWS_KMS, EXTERNAL, AWS_CLOUDHSM
|
620
633
|
# custom_key_store_id: "CustomKeyStoreIdType",
|
621
634
|
# bypass_policy_lockout_safety_check: false,
|
@@ -629,16 +642,19 @@ module Aws::KMS
|
|
629
642
|
# }
|
630
643
|
#
|
631
644
|
# @!attribute [rw] policy
|
632
|
-
# The key policy to attach to the KMS key.
|
645
|
+
# The key policy to attach to the KMS key. If you do not specify a key
|
646
|
+
# policy, KMS attaches a default key policy to the KMS key. For more
|
647
|
+
# information, see [Default key policy][1] in the *Key Management
|
648
|
+
# Service Developer Guide*.
|
633
649
|
#
|
634
650
|
# If you provide a key policy, it must meet the following criteria:
|
635
651
|
#
|
636
|
-
# * If you don't set `BypassPolicyLockoutSafetyCheck` to
|
652
|
+
# * If you don't set `BypassPolicyLockoutSafetyCheck` to `True`, the
|
637
653
|
# key policy must allow the principal that is making the `CreateKey`
|
638
654
|
# request to make a subsequent PutKeyPolicy request on the KMS key.
|
639
655
|
# This reduces the risk that the KMS key becomes unmanageable. For
|
640
656
|
# more information, refer to the scenario in the [Default Key
|
641
|
-
# Policy][
|
657
|
+
# Policy][2] section of the <i> <i>Key Management Service Developer
|
642
658
|
# Guide</i> </i>.
|
643
659
|
#
|
644
660
|
# * Each statement in the key policy must contain one or more
|
@@ -648,25 +664,33 @@ module Aws::KMS
|
|
648
664
|
# enforce a delay before including the new principal in a key policy
|
649
665
|
# because the new principal might not be immediately visible to KMS.
|
650
666
|
# For more information, see [Changes that I make are not always
|
651
|
-
# immediately visible][
|
667
|
+
# immediately visible][3] in the *Amazon Web Services Identity and
|
652
668
|
# Access Management User Guide*.
|
653
669
|
#
|
654
|
-
#
|
655
|
-
# policy to the KMS key. For more information, see [Default Key
|
656
|
-
# Policy][3] in the *Key Management Service Developer Guide*.
|
670
|
+
# A key policy document can include only the following characters:
|
657
671
|
#
|
658
|
-
#
|
672
|
+
# * Printable ASCII characters from the space character (`\u0020`)
|
673
|
+
# through the end of the ASCII character range.
|
659
674
|
#
|
660
|
-
#
|
661
|
-
#
|
662
|
-
# Management User Guide</i> </i>.
|
675
|
+
# * Printable characters in the Basic Latin and Latin-1 Supplement
|
676
|
+
# character set (through `\u00FF`).
|
663
677
|
#
|
678
|
+
# * The tab (`\u0009`), line feed (`\u000A`), and carriage return
|
679
|
+
# (`\u000D`) special characters
|
664
680
|
#
|
681
|
+
# For information about key policies, see [Key policies in KMS][4] in
|
682
|
+
# the *Key Management Service Developer Guide*. For help writing and
|
683
|
+
# formatting a JSON policy document, see the [IAM JSON Policy
|
684
|
+
# Reference][5] in the <i> <i>Identity and Access Management User
|
685
|
+
# Guide</i> </i>.
|
665
686
|
#
|
666
|
-
#
|
667
|
-
#
|
668
|
-
# [
|
669
|
-
# [
|
687
|
+
#
|
688
|
+
#
|
689
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
|
690
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
|
691
|
+
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
|
692
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
|
693
|
+
# [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
|
670
694
|
# @return [String]
|
671
695
|
#
|
672
696
|
# @!attribute [rw] description
|
@@ -683,20 +707,26 @@ module Aws::KMS
|
|
683
707
|
# @!attribute [rw] key_usage
|
684
708
|
# Determines the [cryptographic operations][1] for which you can use
|
685
709
|
# the KMS key. The default value is `ENCRYPT_DECRYPT`. This parameter
|
686
|
-
# is
|
687
|
-
#
|
710
|
+
# is optional when you are creating a symmetric encryption KMS key;
|
711
|
+
# otherwise, it is required. You can't change the `KeyUsage` value
|
712
|
+
# after the KMS key is created.
|
688
713
|
#
|
689
714
|
# Select only one valid value.
|
690
715
|
#
|
691
|
-
# * For symmetric KMS keys, omit the parameter or specify
|
716
|
+
# * For symmetric encryption KMS keys, omit the parameter or specify
|
692
717
|
# `ENCRYPT_DECRYPT`.
|
693
718
|
#
|
719
|
+
# * For HMAC KMS keys (symmetric), specify `GENERATE_VERIFY_MAC`.
|
720
|
+
#
|
694
721
|
# * For asymmetric KMS keys with RSA key material, specify
|
695
722
|
# `ENCRYPT_DECRYPT` or `SIGN_VERIFY`.
|
696
723
|
#
|
697
724
|
# * For asymmetric KMS keys with ECC key material, specify
|
698
725
|
# `SIGN_VERIFY`.
|
699
726
|
#
|
727
|
+
# * For asymmetric KMS keys with SM2 key material (China Regions
|
728
|
+
# only), specify `ENCRYPT_DECRYPT` or `SIGN_VERIFY`.
|
729
|
+
#
|
700
730
|
#
|
701
731
|
#
|
702
732
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
|
@@ -713,35 +743,45 @@ module Aws::KMS
|
|
713
743
|
#
|
714
744
|
# @!attribute [rw] key_spec
|
715
745
|
# Specifies the type of KMS key to create. The default value,
|
716
|
-
# `SYMMETRIC_DEFAULT`, creates a KMS key with a 256-bit
|
717
|
-
# for encryption and decryption
|
718
|
-
#
|
719
|
-
#
|
746
|
+
# `SYMMETRIC_DEFAULT`, creates a KMS key with a 256-bit AES-GCM key
|
747
|
+
# that is used for encryption and decryption, except in China Regions,
|
748
|
+
# where it creates a 128-bit symmetric key that uses SM4 encryption.
|
749
|
+
# For help choosing a key spec for your KMS key, see [Choosing a KMS
|
750
|
+
# key type][1] in the <i> <i>Key Management Service Developer
|
751
|
+
# Guide</i> </i>.
|
720
752
|
#
|
721
753
|
# The `KeySpec` determines whether the KMS key contains a symmetric
|
722
|
-
# key or an asymmetric key pair. It also determines the
|
723
|
-
# algorithms
|
724
|
-
#
|
725
|
-
#
|
726
|
-
#
|
727
|
-
#
|
728
|
-
# the <i> <i>Key Management Service Developer
|
729
|
-
#
|
730
|
-
#
|
731
|
-
#
|
732
|
-
#
|
733
|
-
#
|
734
|
-
# Asymmetric KMS keys][5] in the *Key Management Service Developer
|
735
|
-
# Guide*.
|
754
|
+
# key or an asymmetric key pair. It also determines the cryptographic
|
755
|
+
# algorithms that the KMS key supports. You can't change the
|
756
|
+
# `KeySpec` after the KMS key is created. To further restrict the
|
757
|
+
# algorithms that can be used with the KMS key, use a condition key in
|
758
|
+
# its key policy or IAM policy. For more information, see
|
759
|
+
# [kms:EncryptionAlgorithm][2], [kms:MacAlgorithm][3] or [kms:Signing
|
760
|
+
# Algorithm][4] in the <i> <i>Key Management Service Developer
|
761
|
+
# Guide</i> </i>.
|
762
|
+
#
|
763
|
+
# [Amazon Web Services services that are integrated with KMS][5] use
|
764
|
+
# symmetric encryption KMS keys to protect your data. These services
|
765
|
+
# do not support asymmetric KMS keys or HMAC KMS keys.
|
736
766
|
#
|
737
767
|
# KMS supports the following key specs for KMS keys:
|
738
768
|
#
|
739
|
-
# * Symmetric key (default)
|
769
|
+
# * Symmetric encryption key (default)
|
740
770
|
#
|
741
|
-
# * `SYMMETRIC_DEFAULT`
|
771
|
+
# * `SYMMETRIC_DEFAULT`
|
742
772
|
#
|
743
773
|
# ^
|
744
774
|
#
|
775
|
+
# * HMAC keys (symmetric)
|
776
|
+
#
|
777
|
+
# * `HMAC_224`
|
778
|
+
#
|
779
|
+
# * `HMAC_256`
|
780
|
+
#
|
781
|
+
# * `HMAC_384`
|
782
|
+
#
|
783
|
+
# * `HMAC_512`
|
784
|
+
#
|
745
785
|
# * Asymmetric RSA key pairs
|
746
786
|
#
|
747
787
|
# * `RSA_2048`
|
@@ -765,13 +805,19 @@ module Aws::KMS
|
|
765
805
|
#
|
766
806
|
# ^
|
767
807
|
#
|
808
|
+
# * SM2 key pairs (China Regions only)
|
809
|
+
#
|
810
|
+
# * `SM2`
|
811
|
+
#
|
812
|
+
# ^
|
813
|
+
#
|
768
814
|
#
|
769
815
|
#
|
770
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose
|
816
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html#symm-asymm-choose
|
771
817
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-algorithm
|
772
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-
|
773
|
-
# [4]:
|
774
|
-
# [5]:
|
818
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-mac-algorithm
|
819
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-signing-algorithm
|
820
|
+
# [5]: http://aws.amazon.com/kms/features/#AWS_Service_Integration
|
775
821
|
# @return [String]
|
776
822
|
#
|
777
823
|
# @!attribute [rw] origin
|
@@ -783,13 +829,13 @@ module Aws::KMS
|
|
783
829
|
# material), set the value to `EXTERNAL`. For more information about
|
784
830
|
# importing key material into KMS, see [Importing Key Material][1] in
|
785
831
|
# the *Key Management Service Developer Guide*. This value is valid
|
786
|
-
# only for symmetric KMS keys.
|
832
|
+
# only for symmetric encryption KMS keys.
|
787
833
|
#
|
788
834
|
# To create a KMS key in an KMS [custom key store][2] and create its
|
789
835
|
# key material in the associated CloudHSM cluster, set this value to
|
790
836
|
# `AWS_CLOUDHSM`. You must also use the `CustomKeyStoreId` parameter
|
791
837
|
# to identify the custom key store. This value is valid only for
|
792
|
-
# symmetric KMS keys.
|
838
|
+
# symmetric encryption KMS keys.
|
793
839
|
#
|
794
840
|
#
|
795
841
|
#
|
@@ -805,9 +851,9 @@ module Aws::KMS
|
|
805
851
|
# associated with the custom key store must have at least two active
|
806
852
|
# HSMs, each in a different Availability Zone in the Region.
|
807
853
|
#
|
808
|
-
# This parameter is valid only for symmetric KMS keys
|
809
|
-
#
|
810
|
-
#
|
854
|
+
# This parameter is valid only for symmetric encryption KMS keys in a
|
855
|
+
# single Region. You cannot create any other type of KMS key in a
|
856
|
+
# custom key store.
|
811
857
|
#
|
812
858
|
# To find the ID of a custom key store, use the
|
813
859
|
# DescribeCustomKeyStores operation.
|
@@ -815,7 +861,7 @@ module Aws::KMS
|
|
815
861
|
# The response includes the custom key store ID and the ID of the
|
816
862
|
# CloudHSM cluster.
|
817
863
|
#
|
818
|
-
# This operation is part of the [
|
864
|
+
# This operation is part of the [custom key store feature][1] feature
|
819
865
|
# in KMS, which combines the convenience and extensive integration of
|
820
866
|
# KMS with the isolation and control of a single-tenant key store.
|
821
867
|
#
|
@@ -853,8 +899,8 @@ module Aws::KMS
|
|
853
899
|
# TagResource operation.
|
854
900
|
#
|
855
901
|
# <note markdown="1"> Tagging or untagging a KMS key can allow or deny permission to the
|
856
|
-
# KMS key. For details, see [
|
857
|
-
#
|
902
|
+
# KMS key. For details, see [ABAC in KMS][1] in the *Key Management
|
903
|
+
# Service Developer Guide*.
|
858
904
|
#
|
859
905
|
# </note>
|
860
906
|
#
|
@@ -895,15 +941,16 @@ module Aws::KMS
|
|
895
941
|
# to encrypt data in one Amazon Web Services Region and decrypt it in
|
896
942
|
# a different Amazon Web Services Region without re-encrypting the
|
897
943
|
# data or making a cross-Region call. For more information about
|
898
|
-
# multi-Region keys, see [
|
944
|
+
# multi-Region keys, see [Multi-Region keys in KMS][1] in the *Key
|
899
945
|
# Management Service Developer Guide*.
|
900
946
|
#
|
901
947
|
# This value creates a *primary key*, not a replica. To create a
|
902
948
|
# *replica key*, use the ReplicateKey operation.
|
903
949
|
#
|
904
|
-
# You can create a
|
905
|
-
#
|
906
|
-
# you cannot create a multi-Region key
|
950
|
+
# You can create a multi-Region version of a symmetric encryption KMS
|
951
|
+
# key, an HMAC KMS key, an asymmetric KMS key, or a KMS key with
|
952
|
+
# imported key material. However, you cannot create a multi-Region key
|
953
|
+
# in a custom key store.
|
907
954
|
#
|
908
955
|
#
|
909
956
|
#
|
@@ -1160,7 +1207,7 @@ module Aws::KMS
|
|
1160
1207
|
# },
|
1161
1208
|
# grant_tokens: ["GrantTokenType"],
|
1162
1209
|
# key_id: "KeyIdType",
|
1163
|
-
# encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256
|
1210
|
+
# encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, SM2PKE
|
1164
1211
|
# }
|
1165
1212
|
#
|
1166
1213
|
# @!attribute [rw] ciphertext_blob
|
@@ -1170,17 +1217,20 @@ module Aws::KMS
|
|
1170
1217
|
# @!attribute [rw] encryption_context
|
1171
1218
|
# Specifies the encryption context to use when decrypting the data. An
|
1172
1219
|
# encryption context is valid only for [cryptographic operations][1]
|
1173
|
-
# with a symmetric KMS key. The standard asymmetric
|
1174
|
-
# algorithms that KMS uses do not
|
1220
|
+
# with a symmetric encryption KMS key. The standard asymmetric
|
1221
|
+
# encryption algorithms and HMAC algorithms that KMS uses do not
|
1222
|
+
# support an encryption context.
|
1175
1223
|
#
|
1176
1224
|
# An *encryption context* is a collection of non-secret key-value
|
1177
|
-
# pairs that
|
1225
|
+
# pairs that represent additional authenticated data. When you use an
|
1178
1226
|
# encryption context to encrypt data, you must specify the same (an
|
1179
1227
|
# exact case-sensitive match) encryption context to decrypt the data.
|
1180
|
-
# An encryption context is
|
1181
|
-
# KMS
|
1228
|
+
# An encryption context is supported only on operations with symmetric
|
1229
|
+
# encryption KMS keys. On operations with symmetric encryption KMS
|
1230
|
+
# keys, an encryption context is optional, but it is strongly
|
1231
|
+
# recommended.
|
1182
1232
|
#
|
1183
|
-
# For more information, see [Encryption
|
1233
|
+
# For more information, see [Encryption context][2] in the *Key
|
1184
1234
|
# Management Service Developer Guide*.
|
1185
1235
|
#
|
1186
1236
|
#
|
@@ -1204,15 +1254,18 @@ module Aws::KMS
|
|
1204
1254
|
# @return [Array<String>]
|
1205
1255
|
#
|
1206
1256
|
# @!attribute [rw] key_id
|
1207
|
-
# Specifies the KMS key that KMS uses to decrypt the ciphertext.
|
1208
|
-
#
|
1257
|
+
# Specifies the KMS key that KMS uses to decrypt the ciphertext.
|
1258
|
+
#
|
1259
|
+
# Enter a key ID of the KMS key that was used to encrypt the
|
1260
|
+
# ciphertext. If you identify a different KMS key, the `Decrypt`
|
1261
|
+
# operation throws an `IncorrectKeyException`.
|
1209
1262
|
#
|
1210
1263
|
# This parameter is required only when the ciphertext was encrypted
|
1211
|
-
# under an asymmetric KMS key. If you used a symmetric
|
1212
|
-
# can get the KMS key from metadata that it adds to the
|
1213
|
-
# ciphertext blob. However, it is always recommended as a
|
1214
|
-
# practice. This practice ensures that you use the KMS key that
|
1215
|
-
# intend.
|
1264
|
+
# under an asymmetric KMS key. If you used a symmetric encryption KMS
|
1265
|
+
# key, KMS can get the KMS key from metadata that it adds to the
|
1266
|
+
# symmetric ciphertext blob. However, it is always recommended as a
|
1267
|
+
# best practice. This practice ensures that you use the KMS key that
|
1268
|
+
# you intend.
|
1216
1269
|
#
|
1217
1270
|
# To specify a KMS key, use its key ID, key ARN, alias name, or alias
|
1218
1271
|
# ARN. When using an alias name, prefix it with `"alias/"`. To specify
|
@@ -1243,7 +1296,7 @@ module Aws::KMS
|
|
1243
1296
|
# This parameter is required only when the ciphertext was encrypted
|
1244
1297
|
# under an asymmetric KMS key. The default value, `SYMMETRIC_DEFAULT`,
|
1245
1298
|
# represents the only supported algorithm that is valid for symmetric
|
1246
|
-
# KMS keys.
|
1299
|
+
# encryption KMS keys.
|
1247
1300
|
# @return [String]
|
1248
1301
|
#
|
1249
1302
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DecryptRequest AWS API Documentation
|
@@ -1570,9 +1623,10 @@ module Aws::KMS
|
|
1570
1623
|
# }
|
1571
1624
|
#
|
1572
1625
|
# @!attribute [rw] key_id
|
1573
|
-
# Identifies a symmetric KMS key. You cannot enable or
|
1574
|
-
# automatic rotation of [asymmetric KMS keys][1], KMS
|
1575
|
-
# [imported key material][
|
1626
|
+
# Identifies a symmetric encryption KMS key. You cannot enable or
|
1627
|
+
# disable automatic rotation of [asymmetric KMS keys][1], [HMAC KMS
|
1628
|
+
# keys][2], KMS keys with [imported key material][3], or KMS keys in a
|
1629
|
+
# [custom key store][4].
|
1576
1630
|
#
|
1577
1631
|
# Specify the key ID or key ARN of the KMS key.
|
1578
1632
|
#
|
@@ -1589,8 +1643,9 @@ module Aws::KMS
|
|
1589
1643
|
#
|
1590
1644
|
#
|
1591
1645
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks
|
1592
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
1593
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
1646
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
1647
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
1648
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
|
1594
1649
|
# @return [String]
|
1595
1650
|
#
|
1596
1651
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DisableKeyRotationRequest AWS API Documentation
|
@@ -1678,11 +1733,12 @@ module Aws::KMS
|
|
1678
1733
|
# }
|
1679
1734
|
#
|
1680
1735
|
# @!attribute [rw] key_id
|
1681
|
-
# Identifies a symmetric KMS key. You cannot enable
|
1682
|
-
# of [asymmetric KMS keys][1],
|
1683
|
-
#
|
1684
|
-
#
|
1685
|
-
#
|
1736
|
+
# Identifies a symmetric encryption KMS key. You cannot enable or
|
1737
|
+
# disable automatic rotation of [asymmetric KMS keys][1], [HMAC KMS
|
1738
|
+
# keys][2], KMS keys with [imported key material][3], or KMS keys in a
|
1739
|
+
# [custom key store][4]. The key rotation status of these KMS keys is
|
1740
|
+
# always `false`. To enable or disable automatic rotation of a set of
|
1741
|
+
# related [multi-Region keys][5], set the property on the primary key.
|
1686
1742
|
#
|
1687
1743
|
# Specify the key ID or key ARN of the KMS key.
|
1688
1744
|
#
|
@@ -1698,10 +1754,11 @@ module Aws::KMS
|
|
1698
1754
|
#
|
1699
1755
|
#
|
1700
1756
|
#
|
1701
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
1702
|
-
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
1703
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
1704
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
1757
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
|
1758
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
1759
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
1760
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
|
1761
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
|
1705
1762
|
# @return [String]
|
1706
1763
|
#
|
1707
1764
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EnableKeyRotationRequest AWS API Documentation
|
@@ -1722,11 +1779,13 @@ module Aws::KMS
|
|
1722
1779
|
# "EncryptionContextKey" => "EncryptionContextValue",
|
1723
1780
|
# },
|
1724
1781
|
# grant_tokens: ["GrantTokenType"],
|
1725
|
-
# encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256
|
1782
|
+
# encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, SM2PKE
|
1726
1783
|
# }
|
1727
1784
|
#
|
1728
1785
|
# @!attribute [rw] key_id
|
1729
|
-
# Identifies the KMS key to use in the encryption operation.
|
1786
|
+
# Identifies the KMS key to use in the encryption operation. The KMS
|
1787
|
+
# key must have a `KeyUsage` of `ENCRYPT_DECRYPT`. To find the
|
1788
|
+
# `KeyUsage` of a KMS key, use the DescribeKey operation.
|
1730
1789
|
#
|
1731
1790
|
# To specify a KMS key, use its key ID, key ARN, alias name, or alias
|
1732
1791
|
# ARN. When using an alias name, prefix it with `"alias/"`. To specify
|
@@ -1755,18 +1814,20 @@ module Aws::KMS
|
|
1755
1814
|
# @!attribute [rw] encryption_context
|
1756
1815
|
# Specifies the encryption context that will be used to encrypt the
|
1757
1816
|
# data. An encryption context is valid only for [cryptographic
|
1758
|
-
# operations][1] with a symmetric KMS key. The standard
|
1759
|
-
# encryption algorithms that KMS uses
|
1760
|
-
# context.
|
1817
|
+
# operations][1] with a symmetric encryption KMS key. The standard
|
1818
|
+
# asymmetric encryption algorithms and HMAC algorithms that KMS uses
|
1819
|
+
# do not support an encryption context.
|
1761
1820
|
#
|
1762
1821
|
# An *encryption context* is a collection of non-secret key-value
|
1763
|
-
# pairs that
|
1822
|
+
# pairs that represent additional authenticated data. When you use an
|
1764
1823
|
# encryption context to encrypt data, you must specify the same (an
|
1765
1824
|
# exact case-sensitive match) encryption context to decrypt the data.
|
1766
|
-
# An encryption context is
|
1767
|
-
# KMS
|
1825
|
+
# An encryption context is supported only on operations with symmetric
|
1826
|
+
# encryption KMS keys. On operations with symmetric encryption KMS
|
1827
|
+
# keys, an encryption context is optional, but it is strongly
|
1828
|
+
# recommended.
|
1768
1829
|
#
|
1769
|
-
# For more information, see [Encryption
|
1830
|
+
# For more information, see [Encryption context][2] in the *Key
|
1770
1831
|
# Management Service Developer Guide*.
|
1771
1832
|
#
|
1772
1833
|
#
|
@@ -1795,9 +1856,9 @@ module Aws::KMS
|
|
1795
1856
|
# that you specify.
|
1796
1857
|
#
|
1797
1858
|
# This parameter is required only for asymmetric KMS keys. The default
|
1798
|
-
# value, `SYMMETRIC_DEFAULT`, is the algorithm used for symmetric
|
1799
|
-
# keys. If you are using an asymmetric KMS key, we
|
1800
|
-
# RSAES\_OAEP\_SHA\_256.
|
1859
|
+
# value, `SYMMETRIC_DEFAULT`, is the algorithm used for symmetric
|
1860
|
+
# encryption KMS keys. If you are using an asymmetric KMS key, we
|
1861
|
+
# recommend RSAES\_OAEP\_SHA\_256.
|
1801
1862
|
# @return [String]
|
1802
1863
|
#
|
1803
1864
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EncryptRequest AWS API Documentation
|
@@ -1865,7 +1926,7 @@ module Aws::KMS
|
|
1865
1926
|
# "EncryptionContextKey" => "EncryptionContextValue",
|
1866
1927
|
# },
|
1867
1928
|
# key_id: "KeyIdType", # required
|
1868
|
-
# key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1
|
1929
|
+
# key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SM2
|
1869
1930
|
# grant_tokens: ["GrantTokenType"],
|
1870
1931
|
# }
|
1871
1932
|
#
|
@@ -1874,13 +1935,15 @@ module Aws::KMS
|
|
1874
1935
|
# the private key in the data key pair.
|
1875
1936
|
#
|
1876
1937
|
# An *encryption context* is a collection of non-secret key-value
|
1877
|
-
# pairs that
|
1938
|
+
# pairs that represent additional authenticated data. When you use an
|
1878
1939
|
# encryption context to encrypt data, you must specify the same (an
|
1879
1940
|
# exact case-sensitive match) encryption context to decrypt the data.
|
1880
|
-
# An encryption context is
|
1881
|
-
# KMS
|
1941
|
+
# An encryption context is supported only on operations with symmetric
|
1942
|
+
# encryption KMS keys. On operations with symmetric encryption KMS
|
1943
|
+
# keys, an encryption context is optional, but it is strongly
|
1944
|
+
# recommended.
|
1882
1945
|
#
|
1883
|
-
# For more information, see [Encryption
|
1946
|
+
# For more information, see [Encryption context][1] in the *Key
|
1884
1947
|
# Management Service Developer Guide*.
|
1885
1948
|
#
|
1886
1949
|
#
|
@@ -1889,10 +1952,10 @@ module Aws::KMS
|
|
1889
1952
|
# @return [Hash<String,String>]
|
1890
1953
|
#
|
1891
1954
|
# @!attribute [rw] key_id
|
1892
|
-
# Specifies the symmetric KMS key that encrypts the private
|
1893
|
-
# data key pair. You cannot specify an asymmetric KMS key
|
1894
|
-
# in a custom key store. To get the type and origin of
|
1895
|
-
# use the DescribeKey operation.
|
1955
|
+
# Specifies the symmetric encryption KMS key that encrypts the private
|
1956
|
+
# key in the data key pair. You cannot specify an asymmetric KMS key
|
1957
|
+
# or a KMS key in a custom key store. To get the type and origin of
|
1958
|
+
# your KMS key, use the DescribeKey operation.
|
1896
1959
|
#
|
1897
1960
|
# To specify a KMS key, use its key ID, key ARN, alias name, or alias
|
1898
1961
|
# ARN. When using an alias name, prefix it with `"alias/"`. To specify
|
@@ -1917,10 +1980,12 @@ module Aws::KMS
|
|
1917
1980
|
# @!attribute [rw] key_pair_spec
|
1918
1981
|
# Determines the type of data key pair that is generated.
|
1919
1982
|
#
|
1920
|
-
# The KMS rule that restricts the use of asymmetric RSA
|
1921
|
-
# encrypt and decrypt or to sign and verify (but not both),
|
1922
|
-
# rule that permits you to use ECC KMS keys only to sign and
|
1923
|
-
# are not effective on data key pairs, which are used outside
|
1983
|
+
# The KMS rule that restricts the use of asymmetric RSA and SM2 KMS
|
1984
|
+
# keys to encrypt and decrypt or to sign and verify (but not both),
|
1985
|
+
# and the rule that permits you to use ECC KMS keys only to sign and
|
1986
|
+
# verify, are not effective on data key pairs, which are used outside
|
1987
|
+
# of KMS. The SM2 key spec is only available in China Regions. RSA and
|
1988
|
+
# ECC asymmetric key pairs are also available in China Regions.
|
1924
1989
|
# @return [String]
|
1925
1990
|
#
|
1926
1991
|
# @!attribute [rw] grant_tokens
|
@@ -1961,7 +2026,9 @@ module Aws::KMS
|
|
1961
2026
|
# @return [String]
|
1962
2027
|
#
|
1963
2028
|
# @!attribute [rw] public_key
|
1964
|
-
# The public key (in plaintext).
|
2029
|
+
# The public key (in plaintext). When you use the HTTP API or the
|
2030
|
+
# Amazon Web Services CLI, the value is Base64-encoded. Otherwise, it
|
2031
|
+
# is not Base64-encoded.
|
1965
2032
|
# @return [String]
|
1966
2033
|
#
|
1967
2034
|
# @!attribute [rw] key_id
|
@@ -1997,7 +2064,7 @@ module Aws::KMS
|
|
1997
2064
|
# "EncryptionContextKey" => "EncryptionContextValue",
|
1998
2065
|
# },
|
1999
2066
|
# key_id: "KeyIdType", # required
|
2000
|
-
# key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1
|
2067
|
+
# key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SM2
|
2001
2068
|
# grant_tokens: ["GrantTokenType"],
|
2002
2069
|
# }
|
2003
2070
|
#
|
@@ -2006,13 +2073,15 @@ module Aws::KMS
|
|
2006
2073
|
# the private key in the data key pair.
|
2007
2074
|
#
|
2008
2075
|
# An *encryption context* is a collection of non-secret key-value
|
2009
|
-
# pairs that
|
2076
|
+
# pairs that represent additional authenticated data. When you use an
|
2010
2077
|
# encryption context to encrypt data, you must specify the same (an
|
2011
2078
|
# exact case-sensitive match) encryption context to decrypt the data.
|
2012
|
-
# An encryption context is
|
2013
|
-
# KMS
|
2079
|
+
# An encryption context is supported only on operations with symmetric
|
2080
|
+
# encryption KMS keys. On operations with symmetric encryption KMS
|
2081
|
+
# keys, an encryption context is optional, but it is strongly
|
2082
|
+
# recommended.
|
2014
2083
|
#
|
2015
|
-
# For more information, see [Encryption
|
2084
|
+
# For more information, see [Encryption context][1] in the *Key
|
2016
2085
|
# Management Service Developer Guide*.
|
2017
2086
|
#
|
2018
2087
|
#
|
@@ -2021,10 +2090,10 @@ module Aws::KMS
|
|
2021
2090
|
# @return [Hash<String,String>]
|
2022
2091
|
#
|
2023
2092
|
# @!attribute [rw] key_id
|
2024
|
-
# Specifies the KMS key that encrypts the private
|
2025
|
-
# pair. You
|
2026
|
-
#
|
2027
|
-
#
|
2093
|
+
# Specifies the symmetric encryption KMS key that encrypts the private
|
2094
|
+
# key in the data key pair. You cannot specify an asymmetric KMS key
|
2095
|
+
# or a KMS key in a custom key store. To get the type and origin of
|
2096
|
+
# your KMS key, use the DescribeKey operation.
|
2028
2097
|
#
|
2029
2098
|
# To specify a KMS key, use its key ID, key ARN, alias name, or alias
|
2030
2099
|
# ARN. When using an alias name, prefix it with `"alias/"`. To specify
|
@@ -2049,10 +2118,12 @@ module Aws::KMS
|
|
2049
2118
|
# @!attribute [rw] key_pair_spec
|
2050
2119
|
# Determines the type of data key pair that is generated.
|
2051
2120
|
#
|
2052
|
-
# The KMS rule that restricts the use of asymmetric RSA
|
2053
|
-
# encrypt and decrypt or to sign and verify (but not both),
|
2054
|
-
# rule that permits you to use ECC KMS keys only to sign and
|
2055
|
-
# are not effective on data key pairs, which are used outside
|
2121
|
+
# The KMS rule that restricts the use of asymmetric RSA and SM2 KMS
|
2122
|
+
# keys to encrypt and decrypt or to sign and verify (but not both),
|
2123
|
+
# and the rule that permits you to use ECC KMS keys only to sign and
|
2124
|
+
# verify, are not effective on data key pairs, which are used outside
|
2125
|
+
# of KMS. The SM2 key spec is only available in China Regions. RSA and
|
2126
|
+
# ECC asymmetric key pairs are also available in China Regions.
|
2056
2127
|
# @return [String]
|
2057
2128
|
#
|
2058
2129
|
# @!attribute [rw] grant_tokens
|
@@ -2087,7 +2158,9 @@ module Aws::KMS
|
|
2087
2158
|
# @return [String]
|
2088
2159
|
#
|
2089
2160
|
# @!attribute [rw] public_key
|
2090
|
-
# The public key (in plaintext).
|
2161
|
+
# The public key (in plaintext). When you use the HTTP API or the
|
2162
|
+
# Amazon Web Services CLI, the value is Base64-encoded. Otherwise, it
|
2163
|
+
# is not Base64-encoded.
|
2091
2164
|
# @return [String]
|
2092
2165
|
#
|
2093
2166
|
# @!attribute [rw] key_id
|
@@ -2128,7 +2201,10 @@ module Aws::KMS
|
|
2128
2201
|
# }
|
2129
2202
|
#
|
2130
2203
|
# @!attribute [rw] key_id
|
2131
|
-
#
|
2204
|
+
# Specifies the symmetric encryption KMS key that encrypts the data
|
2205
|
+
# key. You cannot specify an asymmetric KMS key or a KMS key in a
|
2206
|
+
# custom key store. To get the type and origin of your KMS key, use
|
2207
|
+
# the DescribeKey operation.
|
2132
2208
|
#
|
2133
2209
|
# To specify a KMS key, use its key ID, key ARN, alias name, or alias
|
2134
2210
|
# ARN. When using an alias name, prefix it with `"alias/"`. To specify
|
@@ -2155,13 +2231,15 @@ module Aws::KMS
|
|
2155
2231
|
# the data key.
|
2156
2232
|
#
|
2157
2233
|
# An *encryption context* is a collection of non-secret key-value
|
2158
|
-
# pairs that
|
2234
|
+
# pairs that represent additional authenticated data. When you use an
|
2159
2235
|
# encryption context to encrypt data, you must specify the same (an
|
2160
2236
|
# exact case-sensitive match) encryption context to decrypt the data.
|
2161
|
-
# An encryption context is
|
2162
|
-
# KMS
|
2237
|
+
# An encryption context is supported only on operations with symmetric
|
2238
|
+
# encryption KMS keys. On operations with symmetric encryption KMS
|
2239
|
+
# keys, an encryption context is optional, but it is strongly
|
2240
|
+
# recommended.
|
2163
2241
|
#
|
2164
|
-
# For more information, see [Encryption
|
2242
|
+
# For more information, see [Encryption context][1] in the *Key
|
2165
2243
|
# Management Service Developer Guide*.
|
2166
2244
|
#
|
2167
2245
|
#
|
@@ -2260,7 +2338,10 @@ module Aws::KMS
|
|
2260
2338
|
# }
|
2261
2339
|
#
|
2262
2340
|
# @!attribute [rw] key_id
|
2263
|
-
#
|
2341
|
+
# Specifies the symmetric encryption KMS key that encrypts the data
|
2342
|
+
# key. You cannot specify an asymmetric KMS key or a KMS key in a
|
2343
|
+
# custom key store. To get the type and origin of your KMS key, use
|
2344
|
+
# the DescribeKey operation.
|
2264
2345
|
#
|
2265
2346
|
# To specify a KMS key, use its key ID, key ARN, alias name, or alias
|
2266
2347
|
# ARN. When using an alias name, prefix it with `"alias/"`. To specify
|
@@ -2287,13 +2368,15 @@ module Aws::KMS
|
|
2287
2368
|
# the data key.
|
2288
2369
|
#
|
2289
2370
|
# An *encryption context* is a collection of non-secret key-value
|
2290
|
-
# pairs that
|
2371
|
+
# pairs that represent additional authenticated data. When you use an
|
2291
2372
|
# encryption context to encrypt data, you must specify the same (an
|
2292
2373
|
# exact case-sensitive match) encryption context to decrypt the data.
|
2293
|
-
# An encryption context is
|
2294
|
-
# KMS
|
2374
|
+
# An encryption context is supported only on operations with symmetric
|
2375
|
+
# encryption KMS keys. On operations with symmetric encryption KMS
|
2376
|
+
# keys, an encryption context is optional, but it is strongly
|
2377
|
+
# recommended.
|
2295
2378
|
#
|
2296
|
-
# For more information, see [Encryption
|
2379
|
+
# For more information, see [Encryption context][1] in the *Key
|
2297
2380
|
# Management Service Developer Guide*.
|
2298
2381
|
#
|
2299
2382
|
#
|
@@ -2363,6 +2446,93 @@ module Aws::KMS
|
|
2363
2446
|
include Aws::Structure
|
2364
2447
|
end
|
2365
2448
|
|
2449
|
+
# @note When making an API call, you may pass GenerateMacRequest
|
2450
|
+
# data as a hash:
|
2451
|
+
#
|
2452
|
+
# {
|
2453
|
+
# message: "data", # required
|
2454
|
+
# key_id: "KeyIdType", # required
|
2455
|
+
# mac_algorithm: "HMAC_SHA_224", # required, accepts HMAC_SHA_224, HMAC_SHA_256, HMAC_SHA_384, HMAC_SHA_512
|
2456
|
+
# grant_tokens: ["GrantTokenType"],
|
2457
|
+
# }
|
2458
|
+
#
|
2459
|
+
# @!attribute [rw] message
|
2460
|
+
# The message to be hashed. Specify a message of up to 4,096 bytes.
|
2461
|
+
#
|
2462
|
+
# `GenerateMac` and VerifyMac do not provide special handling for
|
2463
|
+
# message digests. If you generate an HMAC for a hash digest of a
|
2464
|
+
# message, you must verify the HMAC of the same hash digest.
|
2465
|
+
# @return [String]
|
2466
|
+
#
|
2467
|
+
# @!attribute [rw] key_id
|
2468
|
+
# The HMAC KMS key to use in the operation. The MAC algorithm computes
|
2469
|
+
# the HMAC for the message and the key as described in [RFC 2104][1].
|
2470
|
+
#
|
2471
|
+
# To identify an HMAC KMS key, use the DescribeKey operation and see
|
2472
|
+
# the `KeySpec` field in the response.
|
2473
|
+
#
|
2474
|
+
#
|
2475
|
+
#
|
2476
|
+
# [1]: https://datatracker.ietf.org/doc/html/rfc2104
|
2477
|
+
# @return [String]
|
2478
|
+
#
|
2479
|
+
# @!attribute [rw] mac_algorithm
|
2480
|
+
# The MAC algorithm used in the operation.
|
2481
|
+
#
|
2482
|
+
# The algorithm must be compatible with the HMAC KMS key that you
|
2483
|
+
# specify. To find the MAC algorithms that your HMAC KMS key supports,
|
2484
|
+
# use the DescribeKey operation and see the `MacAlgorithms` field in
|
2485
|
+
# the `DescribeKey` response.
|
2486
|
+
# @return [String]
|
2487
|
+
#
|
2488
|
+
# @!attribute [rw] grant_tokens
|
2489
|
+
# A list of grant tokens.
|
2490
|
+
#
|
2491
|
+
# Use a grant token when your permission to call this operation comes
|
2492
|
+
# from a new grant that has not yet achieved *eventual consistency*.
|
2493
|
+
# For more information, see [Grant token][1] and [Using a grant
|
2494
|
+
# token][2] in the *Key Management Service Developer Guide*.
|
2495
|
+
#
|
2496
|
+
#
|
2497
|
+
#
|
2498
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
2499
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
|
2500
|
+
# @return [Array<String>]
|
2501
|
+
#
|
2502
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateMacRequest AWS API Documentation
|
2503
|
+
#
|
2504
|
+
class GenerateMacRequest < Struct.new(
|
2505
|
+
:message,
|
2506
|
+
:key_id,
|
2507
|
+
:mac_algorithm,
|
2508
|
+
:grant_tokens)
|
2509
|
+
SENSITIVE = [:message]
|
2510
|
+
include Aws::Structure
|
2511
|
+
end
|
2512
|
+
|
2513
|
+
# @!attribute [rw] mac
|
2514
|
+
# The hash-based message authentication code (HMAC) for the given
|
2515
|
+
# message, key, and MAC algorithm.
|
2516
|
+
# @return [String]
|
2517
|
+
#
|
2518
|
+
# @!attribute [rw] mac_algorithm
|
2519
|
+
# The MAC algorithm that was used to generate the HMAC.
|
2520
|
+
# @return [String]
|
2521
|
+
#
|
2522
|
+
# @!attribute [rw] key_id
|
2523
|
+
# The HMAC KMS key used in the operation.
|
2524
|
+
# @return [String]
|
2525
|
+
#
|
2526
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateMacResponse AWS API Documentation
|
2527
|
+
#
|
2528
|
+
class GenerateMacResponse < Struct.new(
|
2529
|
+
:mac,
|
2530
|
+
:mac_algorithm,
|
2531
|
+
:key_id)
|
2532
|
+
SENSITIVE = []
|
2533
|
+
include Aws::Structure
|
2534
|
+
end
|
2535
|
+
|
2366
2536
|
# @note When making an API call, you may pass GenerateRandomRequest
|
2367
2537
|
# data as a hash:
|
2368
2538
|
#
|
@@ -2372,7 +2542,7 @@ module Aws::KMS
|
|
2372
2542
|
# }
|
2373
2543
|
#
|
2374
2544
|
# @!attribute [rw] number_of_bytes
|
2375
|
-
# The length of the byte string.
|
2545
|
+
# The length of the random byte string. This parameter is required.
|
2376
2546
|
# @return [Integer]
|
2377
2547
|
#
|
2378
2548
|
# @!attribute [rw] custom_key_store_id
|
@@ -2513,8 +2683,9 @@ module Aws::KMS
|
|
2513
2683
|
# }
|
2514
2684
|
#
|
2515
2685
|
# @!attribute [rw] key_id
|
2516
|
-
# The identifier of the symmetric KMS key into which you
|
2517
|
-
# key material. The `Origin` of the KMS key must be
|
2686
|
+
# The identifier of the symmetric encryption KMS key into which you
|
2687
|
+
# will import key material. The `Origin` of the KMS key must be
|
2688
|
+
# `EXTERNAL`.
|
2518
2689
|
#
|
2519
2690
|
# Specify the key ID or key ARN of the KMS key.
|
2520
2691
|
#
|
@@ -2729,10 +2900,11 @@ module Aws::KMS
|
|
2729
2900
|
#
|
2730
2901
|
# KMS applies the grant constraints only to cryptographic operations
|
2731
2902
|
# that support an encryption context, that is, all cryptographic
|
2732
|
-
# operations with a [symmetric KMS key][3]. Grant constraints
|
2733
|
-
# applied to operations that do not support an encryption
|
2734
|
-
# as cryptographic operations with
|
2735
|
-
# operations, such as DescribeKey or
|
2903
|
+
# operations with a [symmetric encryption KMS key][3]. Grant constraints
|
2904
|
+
# are not applied to operations that do not support an encryption
|
2905
|
+
# context, such as cryptographic operations with HMAC KMS keys or
|
2906
|
+
# asymmetric KMS keys, and management operations, such as DescribeKey or
|
2907
|
+
# RetireGrant.
|
2736
2908
|
#
|
2737
2909
|
# In a cryptographic operation, the encryption context in the decryption
|
2738
2910
|
# operation must be an exact, case-sensitive match for the keys and
|
@@ -2880,10 +3052,13 @@ module Aws::KMS
|
|
2880
3052
|
# }
|
2881
3053
|
#
|
2882
3054
|
# @!attribute [rw] key_id
|
2883
|
-
# The identifier of the symmetric KMS key that receives the
|
2884
|
-
# key material.
|
2885
|
-
#
|
2886
|
-
#
|
3055
|
+
# The identifier of the symmetric encryption KMS key that receives the
|
3056
|
+
# imported key material. This must be the same KMS key specified in
|
3057
|
+
# the `KeyID` parameter of the corresponding GetParametersForImport
|
3058
|
+
# request. The `Origin` of the KMS key must be `EXTERNAL`. You cannot
|
3059
|
+
# perform this operation on an asymmetric KMS key, an HMAC KMS key, a
|
3060
|
+
# KMS key in a custom key store, or on a KMS key in a different Amazon
|
3061
|
+
# Web Services account
|
2887
3062
|
#
|
2888
3063
|
# Specify the key ID or key ARN of the KMS key.
|
2889
3064
|
#
|
@@ -3095,9 +3270,11 @@ module Aws::KMS
|
|
3095
3270
|
# key `(KeySpec`).
|
3096
3271
|
#
|
3097
3272
|
# For encrypting, decrypting, re-encrypting, and generating data keys,
|
3098
|
-
# the `KeyUsage` must be `ENCRYPT_DECRYPT`. For signing and verifying
|
3099
|
-
# the `KeyUsage` must be `SIGN_VERIFY`.
|
3100
|
-
#
|
3273
|
+
# the `KeyUsage` must be `ENCRYPT_DECRYPT`. For signing and verifying
|
3274
|
+
# messages, the `KeyUsage` must be `SIGN_VERIFY`. For generating and
|
3275
|
+
# verifying message authentication codes (MACs), the `KeyUsage` must be
|
3276
|
+
# `GENERATE_VERIFY_MAC`. To find the `KeyUsage` of a KMS key, use the
|
3277
|
+
# DescribeKey operation.
|
3101
3278
|
#
|
3102
3279
|
# To find the encryption or signing algorithms supported for a
|
3103
3280
|
# particular KMS key, use the DescribeKey operation.
|
@@ -3141,6 +3318,22 @@ module Aws::KMS
|
|
3141
3318
|
include Aws::Structure
|
3142
3319
|
end
|
3143
3320
|
|
3321
|
+
# The request was rejected because the HMAC verification failed. HMAC
|
3322
|
+
# verification fails when the HMAC computed by using the specified
|
3323
|
+
# message, HMAC KMS key, and MAC algorithm does not match the HMAC
|
3324
|
+
# specified in the request.
|
3325
|
+
#
|
3326
|
+
# @!attribute [rw] message
|
3327
|
+
# @return [String]
|
3328
|
+
#
|
3329
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/KMSInvalidMacException AWS API Documentation
|
3330
|
+
#
|
3331
|
+
class KMSInvalidMacException < Struct.new(
|
3332
|
+
:message)
|
3333
|
+
SENSITIVE = []
|
3334
|
+
include Aws::Structure
|
3335
|
+
end
|
3336
|
+
|
3144
3337
|
# The request was rejected because the signature verification failed.
|
3145
3338
|
# Signature verification fails when it cannot confirm that signature was
|
3146
3339
|
# produced by signing the specified message with the specified KMS key
|
@@ -3161,8 +3354,8 @@ module Aws::KMS
|
|
3161
3354
|
# is not valid for this request.
|
3162
3355
|
#
|
3163
3356
|
# For more information about how key state affects the use of a KMS key,
|
3164
|
-
# see [Key
|
3165
|
-
#
|
3357
|
+
# see [Key states of KMS keys][1] in the <i> <i>Key Management Service
|
3358
|
+
# Developer Guide</i> </i>.
|
3166
3359
|
#
|
3167
3360
|
#
|
3168
3361
|
#
|
@@ -3247,8 +3440,8 @@ module Aws::KMS
|
|
3247
3440
|
# The current status of the KMS key.
|
3248
3441
|
#
|
3249
3442
|
# For more information about how key state affects the use of a KMS
|
3250
|
-
# key, see [Key
|
3251
|
-
#
|
3443
|
+
# key, see [Key states of KMS keys][1] in the *Key Management Service
|
3444
|
+
# Developer Guide*.
|
3252
3445
|
#
|
3253
3446
|
#
|
3254
3447
|
#
|
@@ -3355,9 +3548,8 @@ module Aws::KMS
|
|
3355
3548
|
# (`False`) key. This value is `True` for multi-Region primary and
|
3356
3549
|
# replica keys and `False` for regional KMS keys.
|
3357
3550
|
#
|
3358
|
-
# For more information about multi-Region keys, see [
|
3359
|
-
#
|
3360
|
-
# Guide*.
|
3551
|
+
# For more information about multi-Region keys, see [Multi-Region keys
|
3552
|
+
# in KMS][1] in the *Key Management Service Developer Guide*.
|
3361
3553
|
#
|
3362
3554
|
#
|
3363
3555
|
#
|
@@ -3402,6 +3594,14 @@ module Aws::KMS
|
|
3402
3594
|
# the deletion date appears in the `DeletionDate` field.
|
3403
3595
|
# @return [Integer]
|
3404
3596
|
#
|
3597
|
+
# @!attribute [rw] mac_algorithms
|
3598
|
+
# The message authentication code (MAC) algorithm that the HMAC KMS
|
3599
|
+
# key supports.
|
3600
|
+
#
|
3601
|
+
# This value is present only when the `KeyUsage` of the KMS key is
|
3602
|
+
# `GENERATE_VERIFY_MAC`.
|
3603
|
+
# @return [Array<String>]
|
3604
|
+
#
|
3405
3605
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/KeyMetadata AWS API Documentation
|
3406
3606
|
#
|
3407
3607
|
class KeyMetadata < Struct.new(
|
@@ -3426,7 +3626,8 @@ module Aws::KMS
|
|
3426
3626
|
:signing_algorithms,
|
3427
3627
|
:multi_region,
|
3428
3628
|
:multi_region_configuration,
|
3429
|
-
:pending_deletion_window_in_days
|
3629
|
+
:pending_deletion_window_in_days,
|
3630
|
+
:mac_algorithms)
|
3430
3631
|
SENSITIVE = []
|
3431
3632
|
include Aws::Structure
|
3432
3633
|
end
|
@@ -3834,8 +4035,8 @@ module Aws::KMS
|
|
3834
4035
|
# A list of tags. Each tag consists of a tag key and a tag value.
|
3835
4036
|
#
|
3836
4037
|
# <note markdown="1"> Tagging or untagging a KMS key can allow or deny permission to the
|
3837
|
-
# KMS key. For details, see [
|
3838
|
-
#
|
4038
|
+
# KMS key. For details, see [ABAC in KMS][1] in the *Key Management
|
4039
|
+
# Service Developer Guide*.
|
3839
4040
|
#
|
3840
4041
|
# </note>
|
3841
4042
|
#
|
@@ -4054,15 +4255,29 @@ module Aws::KMS
|
|
4054
4255
|
# immediately visible][2] in the *Amazon Web Services Identity and
|
4055
4256
|
# Access Management User Guide*.
|
4056
4257
|
#
|
4057
|
-
#
|
4058
|
-
#
|
4059
|
-
#
|
4258
|
+
# A key policy document can include only the following characters:
|
4259
|
+
#
|
4260
|
+
# * Printable ASCII characters from the space character (`\u0020`)
|
4261
|
+
# through the end of the ASCII character range.
|
4262
|
+
#
|
4263
|
+
# * Printable characters in the Basic Latin and Latin-1 Supplement
|
4264
|
+
# character set (through `\u00FF`).
|
4265
|
+
#
|
4266
|
+
# * The tab (`\u0009`), line feed (`\u000A`), and carriage return
|
4267
|
+
# (`\u000D`) special characters
|
4268
|
+
#
|
4269
|
+
# For information about key policies, see [Key policies in KMS][3] in
|
4270
|
+
# the *Key Management Service Developer Guide*. For help writing and
|
4271
|
+
# formatting a JSON policy document, see the [IAM JSON Policy
|
4272
|
+
# Reference][4] in the <i> <i>Identity and Access Management User
|
4273
|
+
# Guide</i> </i>.
|
4060
4274
|
#
|
4061
4275
|
#
|
4062
4276
|
#
|
4063
4277
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
|
4064
4278
|
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
|
4065
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
4279
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
|
4280
|
+
# [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
|
4066
4281
|
# @return [String]
|
4067
4282
|
#
|
4068
4283
|
# @!attribute [rw] bypass_policy_lockout_safety_check
|
@@ -4111,8 +4326,8 @@ module Aws::KMS
|
|
4111
4326
|
# destination_encryption_context: {
|
4112
4327
|
# "EncryptionContextKey" => "EncryptionContextValue",
|
4113
4328
|
# },
|
4114
|
-
# source_encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256
|
4115
|
-
# destination_encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256
|
4329
|
+
# source_encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, SM2PKE
|
4330
|
+
# destination_encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, SM2PKE
|
4116
4331
|
# grant_tokens: ["GrantTokenType"],
|
4117
4332
|
# }
|
4118
4333
|
#
|
@@ -4126,13 +4341,15 @@ module Aws::KMS
|
|
4126
4341
|
# ciphertext.
|
4127
4342
|
#
|
4128
4343
|
# An *encryption context* is a collection of non-secret key-value
|
4129
|
-
# pairs that
|
4344
|
+
# pairs that represent additional authenticated data. When you use an
|
4130
4345
|
# encryption context to encrypt data, you must specify the same (an
|
4131
4346
|
# exact case-sensitive match) encryption context to decrypt the data.
|
4132
|
-
# An encryption context is
|
4133
|
-
# KMS
|
4347
|
+
# An encryption context is supported only on operations with symmetric
|
4348
|
+
# encryption KMS keys. On operations with symmetric encryption KMS
|
4349
|
+
# keys, an encryption context is optional, but it is strongly
|
4350
|
+
# recommended.
|
4134
4351
|
#
|
4135
|
-
# For more information, see [Encryption
|
4352
|
+
# For more information, see [Encryption context][1] in the *Key
|
4136
4353
|
# Management Service Developer Guide*.
|
4137
4354
|
#
|
4138
4355
|
#
|
@@ -4142,15 +4359,18 @@ module Aws::KMS
|
|
4142
4359
|
#
|
4143
4360
|
# @!attribute [rw] source_key_id
|
4144
4361
|
# Specifies the KMS key that KMS will use to decrypt the ciphertext
|
4145
|
-
# before it is re-encrypted.
|
4146
|
-
#
|
4362
|
+
# before it is re-encrypted.
|
4363
|
+
#
|
4364
|
+
# Enter a key ID of the KMS key that was used to encrypt the
|
4365
|
+
# ciphertext. If you identify a different KMS key, the `ReEncrypt`
|
4366
|
+
# operation throws an `IncorrectKeyException`.
|
4147
4367
|
#
|
4148
4368
|
# This parameter is required only when the ciphertext was encrypted
|
4149
|
-
# under an asymmetric KMS key. If you used a symmetric
|
4150
|
-
# can get the KMS key from metadata that it adds to the
|
4151
|
-
# ciphertext blob. However, it is always recommended as a
|
4152
|
-
# practice. This practice ensures that you use the KMS key that
|
4153
|
-
# intend.
|
4369
|
+
# under an asymmetric KMS key. If you used a symmetric encryption KMS
|
4370
|
+
# key, KMS can get the KMS key from metadata that it adds to the
|
4371
|
+
# symmetric ciphertext blob. However, it is always recommended as a
|
4372
|
+
# best practice. This practice ensures that you use the KMS key that
|
4373
|
+
# you intend.
|
4154
4374
|
#
|
4155
4375
|
# To specify a KMS key, use its key ID, key ARN, alias name, or alias
|
4156
4376
|
# ARN. When using an alias name, prefix it with `"alias/"`. To specify
|
@@ -4174,9 +4394,9 @@ module Aws::KMS
|
|
4174
4394
|
#
|
4175
4395
|
# @!attribute [rw] destination_key_id
|
4176
4396
|
# A unique identifier for the KMS key that is used to reencrypt the
|
4177
|
-
# data. Specify a symmetric
|
4178
|
-
# value of `ENCRYPT_DECRYPT`. To find the
|
4179
|
-
# key, use the DescribeKey operation.
|
4397
|
+
# data. Specify a symmetric encryption KMS key or an asymmetric KMS
|
4398
|
+
# key with a `KeyUsage` value of `ENCRYPT_DECRYPT`. To find the
|
4399
|
+
# `KeyUsage` value of a KMS key, use the DescribeKey operation.
|
4180
4400
|
#
|
4181
4401
|
# To specify a KMS key, use its key ID, key ARN, alias name, or alias
|
4182
4402
|
# ARN. When using an alias name, prefix it with `"alias/"`. To specify
|
@@ -4203,17 +4423,19 @@ module Aws::KMS
|
|
4203
4423
|
# data.
|
4204
4424
|
#
|
4205
4425
|
# A destination encryption context is valid only when the destination
|
4206
|
-
# KMS key is a symmetric KMS key. The standard ciphertext
|
4207
|
-
# asymmetric KMS keys does not include fields for metadata.
|
4426
|
+
# KMS key is a symmetric encryption KMS key. The standard ciphertext
|
4427
|
+
# format for asymmetric KMS keys does not include fields for metadata.
|
4208
4428
|
#
|
4209
4429
|
# An *encryption context* is a collection of non-secret key-value
|
4210
|
-
# pairs that
|
4430
|
+
# pairs that represent additional authenticated data. When you use an
|
4211
4431
|
# encryption context to encrypt data, you must specify the same (an
|
4212
4432
|
# exact case-sensitive match) encryption context to decrypt the data.
|
4213
|
-
# An encryption context is
|
4214
|
-
# KMS
|
4433
|
+
# An encryption context is supported only on operations with symmetric
|
4434
|
+
# encryption KMS keys. On operations with symmetric encryption KMS
|
4435
|
+
# keys, an encryption context is optional, but it is strongly
|
4436
|
+
# recommended.
|
4215
4437
|
#
|
4216
|
-
# For more information, see [Encryption
|
4438
|
+
# For more information, see [Encryption context][1] in the *Key
|
4217
4439
|
# Management Service Developer Guide*.
|
4218
4440
|
#
|
4219
4441
|
#
|
@@ -4224,8 +4446,8 @@ module Aws::KMS
|
|
4224
4446
|
# @!attribute [rw] source_encryption_algorithm
|
4225
4447
|
# Specifies the encryption algorithm that KMS will use to decrypt the
|
4226
4448
|
# ciphertext before it is reencrypted. The default value,
|
4227
|
-
# `SYMMETRIC_DEFAULT`, represents the algorithm used for symmetric
|
4228
|
-
# keys.
|
4449
|
+
# `SYMMETRIC_DEFAULT`, represents the algorithm used for symmetric
|
4450
|
+
# encryption KMS keys.
|
4229
4451
|
#
|
4230
4452
|
# Specify the same algorithm that was used to encrypt the ciphertext.
|
4231
4453
|
# If you specify a different algorithm, the decrypt attempt fails.
|
@@ -4238,7 +4460,7 @@ module Aws::KMS
|
|
4238
4460
|
# Specifies the encryption algorithm that KMS will use to reecrypt the
|
4239
4461
|
# data after it has decrypted it. The default value,
|
4240
4462
|
# `SYMMETRIC_DEFAULT`, represents the encryption algorithm used for
|
4241
|
-
# symmetric KMS keys.
|
4463
|
+
# symmetric encryption KMS keys.
|
4242
4464
|
#
|
4243
4465
|
# This parameter is required only when the destination KMS key is an
|
4244
4466
|
# asymmetric KMS key.
|
@@ -4359,24 +4581,33 @@ module Aws::KMS
|
|
4359
4581
|
# [KMS service endpoints][1] in the *Amazon Web Services General
|
4360
4582
|
# Reference*.
|
4361
4583
|
#
|
4584
|
+
# <note markdown="1"> HMAC KMS keys are not supported in all Amazon Web Services Regions.
|
4585
|
+
# If you try to replicate an HMAC KMS key in an Amazon Web Services
|
4586
|
+
# Region in which HMAC keys are not supported, the `ReplicateKey`
|
4587
|
+
# operation returns an `UnsupportedOperationException`. For a list of
|
4588
|
+
# Regions in which HMAC KMS keys are supported, see [HMAC keys in
|
4589
|
+
# KMS][2] in the *Key Management Service Developer Guide*.
|
4590
|
+
#
|
4591
|
+
# </note>
|
4592
|
+
#
|
4362
4593
|
# The replica must be in a different Amazon Web Services Region than
|
4363
4594
|
# its primary key and other replicas of that primary key, but in the
|
4364
4595
|
# same Amazon Web Services partition. KMS must be available in the
|
4365
4596
|
# replica Region. If the Region is not enabled by default, the Amazon
|
4366
|
-
# Web Services account must be enabled in the Region.
|
4367
|
-
#
|
4368
|
-
#
|
4369
|
-
#
|
4370
|
-
#
|
4371
|
-
#
|
4372
|
-
# the *Amazon Web Services General Reference*.
|
4597
|
+
# Web Services account must be enabled in the Region. For information
|
4598
|
+
# about Amazon Web Services partitions, see [Amazon Resource Names
|
4599
|
+
# (ARNs)][3] in the *Amazon Web Services General Reference*. For
|
4600
|
+
# information about enabling and disabling Regions, see [Enabling a
|
4601
|
+
# Region][4] and [Disabling a Region][5] in the *Amazon Web Services
|
4602
|
+
# General Reference*.
|
4373
4603
|
#
|
4374
4604
|
#
|
4375
4605
|
#
|
4376
4606
|
# [1]: https://docs.aws.amazon.com/general/latest/gr/kms.html#kms_region
|
4377
|
-
# [2]: https://docs.aws.amazon.com/
|
4378
|
-
# [3]: https://docs.aws.amazon.com/general/latest/gr/
|
4379
|
-
# [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-
|
4607
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
|
4608
|
+
# [3]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
4609
|
+
# [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
|
4610
|
+
# [5]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
|
4380
4611
|
# @return [String]
|
4381
4612
|
#
|
4382
4613
|
# @!attribute [rw] policy
|
@@ -4408,13 +4639,30 @@ module Aws::KMS
|
|
4408
4639
|
# immediately visible][3] in the <i> <i>Identity and Access
|
4409
4640
|
# Management User Guide</i> </i>.
|
4410
4641
|
#
|
4411
|
-
#
|
4642
|
+
# A key policy document can include only the following characters:
|
4643
|
+
#
|
4644
|
+
# * Printable ASCII characters from the space character (`\u0020`)
|
4645
|
+
# through the end of the ASCII character range.
|
4646
|
+
#
|
4647
|
+
# * Printable characters in the Basic Latin and Latin-1 Supplement
|
4648
|
+
# character set (through `\u00FF`).
|
4649
|
+
#
|
4650
|
+
# * The tab (`\u0009`), line feed (`\u000A`), and carriage return
|
4651
|
+
# (`\u000D`) special characters
|
4652
|
+
#
|
4653
|
+
# For information about key policies, see [Key policies in KMS][4] in
|
4654
|
+
# the *Key Management Service Developer Guide*. For help writing and
|
4655
|
+
# formatting a JSON policy document, see the [IAM JSON Policy
|
4656
|
+
# Reference][5] in the <i> <i>Identity and Access Management User
|
4657
|
+
# Guide</i> </i>.
|
4412
4658
|
#
|
4413
4659
|
#
|
4414
4660
|
#
|
4415
4661
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
|
4416
4662
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
|
4417
4663
|
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
|
4664
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
|
4665
|
+
# [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
|
4418
4666
|
# @return [String]
|
4419
4667
|
#
|
4420
4668
|
# @!attribute [rw] bypass_policy_lockout_safety_check
|
@@ -4455,8 +4703,8 @@ module Aws::KMS
|
|
4455
4703
|
# the TagResource operation.
|
4456
4704
|
#
|
4457
4705
|
# <note markdown="1"> Tagging or untagging a KMS key can allow or deny permission to the
|
4458
|
-
# KMS key. For details, see [
|
4459
|
-
#
|
4706
|
+
# KMS key. For details, see [ABAC in KMS][1] in the *Key Management
|
4707
|
+
# Service Developer Guide*.
|
4460
4708
|
#
|
4461
4709
|
# </note>
|
4462
4710
|
#
|
@@ -4500,9 +4748,9 @@ module Aws::KMS
|
|
4500
4748
|
|
4501
4749
|
# @!attribute [rw] replica_key_metadata
|
4502
4750
|
# Displays details about the new replica key, including its Amazon
|
4503
|
-
# Resource Name ([key ARN][1]) and [
|
4504
|
-
# the ARN and Amazon Web Services Region of its primary
|
4505
|
-
# replica keys.
|
4751
|
+
# Resource Name ([key ARN][1]) and [Key states of KMS keys][2]. It
|
4752
|
+
# also includes the ARN and Amazon Web Services Region of its primary
|
4753
|
+
# key and other replica keys.
|
4506
4754
|
#
|
4507
4755
|
#
|
4508
4756
|
#
|
@@ -4652,7 +4900,7 @@ module Aws::KMS
|
|
4652
4900
|
# The waiting period, specified in number of days. After the waiting
|
4653
4901
|
# period ends, KMS deletes the KMS key.
|
4654
4902
|
#
|
4655
|
-
# If the KMS key is a multi-Region primary key with
|
4903
|
+
# If the KMS key is a multi-Region primary key with replica keys, the
|
4656
4904
|
# waiting period begins when the last of its replica keys is deleted.
|
4657
4905
|
# Otherwise, the waiting period begins immediately.
|
4658
4906
|
#
|
@@ -4690,8 +4938,8 @@ module Aws::KMS
|
|
4690
4938
|
# The current status of the KMS key.
|
4691
4939
|
#
|
4692
4940
|
# For more information about how key state affects the use of a KMS
|
4693
|
-
# key, see [Key
|
4694
|
-
#
|
4941
|
+
# key, see [Key states of KMS keys][1] in the *Key Management Service
|
4942
|
+
# Developer Guide*.
|
4695
4943
|
#
|
4696
4944
|
#
|
4697
4945
|
#
|
@@ -4725,7 +4973,7 @@ module Aws::KMS
|
|
4725
4973
|
# message: "data", # required
|
4726
4974
|
# message_type: "RAW", # accepts RAW, DIGEST
|
4727
4975
|
# grant_tokens: ["GrantTokenType"],
|
4728
|
-
# signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512
|
4976
|
+
# signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, SM2DSA
|
4729
4977
|
# }
|
4730
4978
|
#
|
4731
4979
|
# @!attribute [rw] key_id
|
@@ -5006,8 +5254,8 @@ module Aws::KMS
|
|
5006
5254
|
# @!attribute [rw] alias_name
|
5007
5255
|
# Identifies the alias that is changing its KMS key. This value must
|
5008
5256
|
# begin with `alias/` followed by the alias name, such as
|
5009
|
-
# `alias/ExampleAlias`. You cannot use UpdateAlias to change the
|
5010
|
-
# name.
|
5257
|
+
# `alias/ExampleAlias`. You cannot use `UpdateAlias` to change the
|
5258
|
+
# alias name.
|
5011
5259
|
# @return [String]
|
5012
5260
|
#
|
5013
5261
|
# @!attribute [rw] target_key_id
|
@@ -5194,6 +5442,100 @@ module Aws::KMS
|
|
5194
5442
|
include Aws::Structure
|
5195
5443
|
end
|
5196
5444
|
|
5445
|
+
# @note When making an API call, you may pass VerifyMacRequest
|
5446
|
+
# data as a hash:
|
5447
|
+
#
|
5448
|
+
# {
|
5449
|
+
# message: "data", # required
|
5450
|
+
# key_id: "KeyIdType", # required
|
5451
|
+
# mac_algorithm: "HMAC_SHA_224", # required, accepts HMAC_SHA_224, HMAC_SHA_256, HMAC_SHA_384, HMAC_SHA_512
|
5452
|
+
# mac: "data", # required
|
5453
|
+
# grant_tokens: ["GrantTokenType"],
|
5454
|
+
# }
|
5455
|
+
#
|
5456
|
+
# @!attribute [rw] message
|
5457
|
+
# The message that will be used in the verification. Enter the same
|
5458
|
+
# message that was used to generate the HMAC.
|
5459
|
+
#
|
5460
|
+
# GenerateMac and `VerifyMac` do not provide special handling for
|
5461
|
+
# message digests. If you generated an HMAC for a hash digest of a
|
5462
|
+
# message, you must verify the HMAC for the same hash digest.
|
5463
|
+
# @return [String]
|
5464
|
+
#
|
5465
|
+
# @!attribute [rw] key_id
|
5466
|
+
# The KMS key that will be used in the verification.
|
5467
|
+
#
|
5468
|
+
# Enter a key ID of the KMS key that was used to generate the HMAC. If
|
5469
|
+
# you identify a different KMS key, the `VerifyMac` operation fails.
|
5470
|
+
# @return [String]
|
5471
|
+
#
|
5472
|
+
# @!attribute [rw] mac_algorithm
|
5473
|
+
# The MAC algorithm that will be used in the verification. Enter the
|
5474
|
+
# same MAC algorithm that was used to compute the HMAC. This algorithm
|
5475
|
+
# must be supported by the HMAC KMS key identified by the `KeyId`
|
5476
|
+
# parameter.
|
5477
|
+
# @return [String]
|
5478
|
+
#
|
5479
|
+
# @!attribute [rw] mac
|
5480
|
+
# The HMAC to verify. Enter the HMAC that was generated by the
|
5481
|
+
# GenerateMac operation when you specified the same message, HMAC KMS
|
5482
|
+
# key, and MAC algorithm as the values specified in this request.
|
5483
|
+
# @return [String]
|
5484
|
+
#
|
5485
|
+
# @!attribute [rw] grant_tokens
|
5486
|
+
# A list of grant tokens.
|
5487
|
+
#
|
5488
|
+
# Use a grant token when your permission to call this operation comes
|
5489
|
+
# from a new grant that has not yet achieved *eventual consistency*.
|
5490
|
+
# For more information, see [Grant token][1] and [Using a grant
|
5491
|
+
# token][2] in the *Key Management Service Developer Guide*.
|
5492
|
+
#
|
5493
|
+
#
|
5494
|
+
#
|
5495
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
5496
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
|
5497
|
+
# @return [Array<String>]
|
5498
|
+
#
|
5499
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/VerifyMacRequest AWS API Documentation
|
5500
|
+
#
|
5501
|
+
class VerifyMacRequest < Struct.new(
|
5502
|
+
:message,
|
5503
|
+
:key_id,
|
5504
|
+
:mac_algorithm,
|
5505
|
+
:mac,
|
5506
|
+
:grant_tokens)
|
5507
|
+
SENSITIVE = [:message]
|
5508
|
+
include Aws::Structure
|
5509
|
+
end
|
5510
|
+
|
5511
|
+
# @!attribute [rw] key_id
|
5512
|
+
# The HMAC KMS key used in the verification.
|
5513
|
+
# @return [String]
|
5514
|
+
#
|
5515
|
+
# @!attribute [rw] mac_valid
|
5516
|
+
# A Boolean value that indicates whether the HMAC was verified. A
|
5517
|
+
# value of `True` indicates that the HMAC (`Mac`) was generated with
|
5518
|
+
# the specified `Message`, HMAC KMS key (`KeyID`) and `MacAlgorithm.`.
|
5519
|
+
#
|
5520
|
+
# If the HMAC is not verified, the `VerifyMac` operation fails with a
|
5521
|
+
# `KMSInvalidMacException` exception. This exception indicates that
|
5522
|
+
# one or more of the inputs changed since the HMAC was computed.
|
5523
|
+
# @return [Boolean]
|
5524
|
+
#
|
5525
|
+
# @!attribute [rw] mac_algorithm
|
5526
|
+
# The MAC algorithm used in the verification.
|
5527
|
+
# @return [String]
|
5528
|
+
#
|
5529
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/VerifyMacResponse AWS API Documentation
|
5530
|
+
#
|
5531
|
+
class VerifyMacResponse < Struct.new(
|
5532
|
+
:key_id,
|
5533
|
+
:mac_valid,
|
5534
|
+
:mac_algorithm)
|
5535
|
+
SENSITIVE = []
|
5536
|
+
include Aws::Structure
|
5537
|
+
end
|
5538
|
+
|
5197
5539
|
# @note When making an API call, you may pass VerifyRequest
|
5198
5540
|
# data as a hash:
|
5199
5541
|
#
|
@@ -5202,7 +5544,7 @@ module Aws::KMS
|
|
5202
5544
|
# message: "data", # required
|
5203
5545
|
# message_type: "RAW", # accepts RAW, DIGEST
|
5204
5546
|
# signature: "data", # required
|
5205
|
-
# signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512
|
5547
|
+
# signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, SM2DSA
|
5206
5548
|
# grant_tokens: ["GrantTokenType"],
|
5207
5549
|
# }
|
5208
5550
|
#
|