libZSservicesZSamazonka-route53ZSamazonka-route53
Copyright(c) 2013-2021 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone

Amazonka.Route53.Types.KeySigningKey

Description

 
Synopsis

Documentation

data KeySigningKey Source #

A key-signing key (KSK) is a complex type that represents a public/private key pair. The private key is used to generate a digital signature for the zone signing key (ZSK). The public key is stored in the DNS and is used to authenticate the ZSK. A KSK is always associated with a hosted zone; it cannot exist by itself.

See: newKeySigningKey smart constructor.

Constructors

KeySigningKey' 

Fields

  • status :: Maybe Text

    A string that represents the current key-signing key (KSK) status.

    Status can have one of the following values:

    ACTIVE
    The KSK is being used for signing.
    INACTIVE
    The KSK is not being used for signing.
    DELETING
    The KSK is in the process of being deleted.
    ACTION_NEEDED
    There is a problem with the KSK that requires you to take action to resolve. For example, the customer managed customer master key (CMK) might have been deleted, or the permissions for the customer managed CMK might have been changed.
    INTERNAL_FAILURE
    There was an error during a request. Before you can continue to work with DNSSEC signing, including actions that involve this KSK, you must correct the problem. For example, you may need to activate or deactivate the KSK.
  • signingAlgorithmMnemonic :: Maybe Text

    A string used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1.

  • digestAlgorithmMnemonic :: Maybe Text

    A string used to represent the delegation signer digest algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.3.

  • lastModifiedDate :: Maybe ISO8601

    The last time that the key-signing key (KSK) was changed.

  • keyTag :: Maybe Natural

    An integer used to identify the DNSSEC record for the domain name. The process used to calculate the value is described in RFC-4034 Appendix B.

  • dNSKEYRecord :: Maybe Text

    A string that represents a DNSKEY record.

  • publicKey :: Maybe Text

    The public key, represented as a Base64 encoding, as required by RFC-4034 Page 5.

  • signingAlgorithmType :: Maybe Int

    An integer used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1.

  • createdDate :: Maybe ISO8601

    The date when the key-signing key (KSK) was created.

  • flag :: Maybe Int

    An integer that specifies how the key is used. For key-signing key (KSK), this value is always 257.

  • digestAlgorithmType :: Maybe Int

    An integer used to represent the delegation signer digest algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.3.

  • statusMessage :: Maybe Text

    The status message provided for the following key-signing key (KSK) statuses: ACTION_NEEDED or INTERNAL_FAILURE. The status message includes information about what the problem might be and steps that you can take to correct the issue.

  • name :: Maybe Text

    A string used to identify a key-signing key (KSK). Name can include numbers, letters, and underscores (_). Name must be unique for each key-signing key in the same hosted zone.

  • dSRecord :: Maybe Text

    A string that represents a delegation signer (DS) record.

  • kmsArn :: Maybe Text

    The Amazon resource name (ARN) used to identify the customer managed customer master key (CMK) in Key Management Service (KMS). The KmsArn must be unique for each key-signing key (KSK) in a single hosted zone.

    You must configure the CMK as follows:

    Status
    Enabled
    Key spec
    ECC_NIST_P256
    Key usage
    Sign and verify
    Key policy
    The key policy must give permission for the following actions:
    • DescribeKey
    • GetPublicKey
    • Sign

    The key policy must also include the Amazon Route 53 service in the principal for your account. Specify the following:

    • "Service": "dnssec-route53.amazonaws.com"

    For more information about working with the customer managed CMK in KMS, see Key Management Service concepts.

  • digestValue :: Maybe Text

    A cryptographic digest of a DNSKEY resource record (RR). DNSKEY records are used to publish the public key that resolvers can use to verify DNSSEC signatures that are used to secure certain kinds of information provided by the DNS system.

Instances

Instances details
Eq KeySigningKey Source # 
Instance details

Defined in Amazonka.Route53.Types.KeySigningKey

Read KeySigningKey Source # 
Instance details

Defined in Amazonka.Route53.Types.KeySigningKey

Show KeySigningKey Source # 
Instance details

Defined in Amazonka.Route53.Types.KeySigningKey

Generic KeySigningKey Source # 
Instance details

Defined in Amazonka.Route53.Types.KeySigningKey

Associated Types

type Rep KeySigningKey :: Type -> Type #

NFData KeySigningKey Source # 
Instance details

Defined in Amazonka.Route53.Types.KeySigningKey

Methods

rnf :: KeySigningKey -> () #

Hashable KeySigningKey Source # 
Instance details

Defined in Amazonka.Route53.Types.KeySigningKey

FromXML KeySigningKey Source # 
Instance details

Defined in Amazonka.Route53.Types.KeySigningKey

type Rep KeySigningKey Source # 
Instance details

Defined in Amazonka.Route53.Types.KeySigningKey

type Rep KeySigningKey = D1 ('MetaData "KeySigningKey" "Amazonka.Route53.Types.KeySigningKey" "libZSservicesZSamazonka-route53ZSamazonka-route53" 'False) (C1 ('MetaCons "KeySigningKey'" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "status") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "signingAlgorithmMnemonic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "digestAlgorithmMnemonic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "lastModifiedDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ISO8601)))) :*: ((S1 ('MetaSel ('Just "keyTag") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)) :*: S1 ('MetaSel ('Just "dNSKEYRecord") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "publicKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "signingAlgorithmType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int))))) :*: (((S1 ('MetaSel ('Just "createdDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ISO8601)) :*: S1 ('MetaSel ('Just "flag") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int))) :*: (S1 ('MetaSel ('Just "digestAlgorithmType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "statusMessage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "dSRecord") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "kmsArn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "digestValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))))))

newKeySigningKey :: KeySigningKey Source #

Create a value of KeySigningKey with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:status:KeySigningKey', keySigningKey_status - A string that represents the current key-signing key (KSK) status.

Status can have one of the following values:

ACTIVE
The KSK is being used for signing.
INACTIVE
The KSK is not being used for signing.
DELETING
The KSK is in the process of being deleted.
ACTION_NEEDED
There is a problem with the KSK that requires you to take action to resolve. For example, the customer managed customer master key (CMK) might have been deleted, or the permissions for the customer managed CMK might have been changed.
INTERNAL_FAILURE
There was an error during a request. Before you can continue to work with DNSSEC signing, including actions that involve this KSK, you must correct the problem. For example, you may need to activate or deactivate the KSK.

$sel:signingAlgorithmMnemonic:KeySigningKey', keySigningKey_signingAlgorithmMnemonic - A string used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1.

$sel:digestAlgorithmMnemonic:KeySigningKey', keySigningKey_digestAlgorithmMnemonic - A string used to represent the delegation signer digest algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.3.

$sel:lastModifiedDate:KeySigningKey', keySigningKey_lastModifiedDate - The last time that the key-signing key (KSK) was changed.

$sel:keyTag:KeySigningKey', keySigningKey_keyTag - An integer used to identify the DNSSEC record for the domain name. The process used to calculate the value is described in RFC-4034 Appendix B.

$sel:dNSKEYRecord:KeySigningKey', keySigningKey_dNSKEYRecord - A string that represents a DNSKEY record.

$sel:publicKey:KeySigningKey', keySigningKey_publicKey - The public key, represented as a Base64 encoding, as required by RFC-4034 Page 5.

$sel:signingAlgorithmType:KeySigningKey', keySigningKey_signingAlgorithmType - An integer used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1.

$sel:createdDate:KeySigningKey', keySigningKey_createdDate - The date when the key-signing key (KSK) was created.

$sel:flag:KeySigningKey', keySigningKey_flag - An integer that specifies how the key is used. For key-signing key (KSK), this value is always 257.

$sel:digestAlgorithmType:KeySigningKey', keySigningKey_digestAlgorithmType - An integer used to represent the delegation signer digest algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.3.

$sel:statusMessage:KeySigningKey', keySigningKey_statusMessage - The status message provided for the following key-signing key (KSK) statuses: ACTION_NEEDED or INTERNAL_FAILURE. The status message includes information about what the problem might be and steps that you can take to correct the issue.

$sel:name:KeySigningKey', keySigningKey_name - A string used to identify a key-signing key (KSK). Name can include numbers, letters, and underscores (_). Name must be unique for each key-signing key in the same hosted zone.

$sel:dSRecord:KeySigningKey', keySigningKey_dSRecord - A string that represents a delegation signer (DS) record.

$sel:kmsArn:KeySigningKey', keySigningKey_kmsArn - The Amazon resource name (ARN) used to identify the customer managed customer master key (CMK) in Key Management Service (KMS). The KmsArn must be unique for each key-signing key (KSK) in a single hosted zone.

You must configure the CMK as follows:

Status
Enabled
Key spec
ECC_NIST_P256
Key usage
Sign and verify
Key policy
The key policy must give permission for the following actions:
  • DescribeKey
  • GetPublicKey
  • Sign

The key policy must also include the Amazon Route 53 service in the principal for your account. Specify the following:

  • "Service": "dnssec-route53.amazonaws.com"

For more information about working with the customer managed CMK in KMS, see Key Management Service concepts.

$sel:digestValue:KeySigningKey', keySigningKey_digestValue - A cryptographic digest of a DNSKEY resource record (RR). DNSKEY records are used to publish the public key that resolvers can use to verify DNSSEC signatures that are used to secure certain kinds of information provided by the DNS system.

keySigningKey_status :: Lens' KeySigningKey (Maybe Text) Source #

A string that represents the current key-signing key (KSK) status.

Status can have one of the following values:

ACTIVE
The KSK is being used for signing.
INACTIVE
The KSK is not being used for signing.
DELETING
The KSK is in the process of being deleted.
ACTION_NEEDED
There is a problem with the KSK that requires you to take action to resolve. For example, the customer managed customer master key (CMK) might have been deleted, or the permissions for the customer managed CMK might have been changed.
INTERNAL_FAILURE
There was an error during a request. Before you can continue to work with DNSSEC signing, including actions that involve this KSK, you must correct the problem. For example, you may need to activate or deactivate the KSK.

keySigningKey_signingAlgorithmMnemonic :: Lens' KeySigningKey (Maybe Text) Source #

A string used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1.

keySigningKey_digestAlgorithmMnemonic :: Lens' KeySigningKey (Maybe Text) Source #

A string used to represent the delegation signer digest algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.3.

keySigningKey_lastModifiedDate :: Lens' KeySigningKey (Maybe UTCTime) Source #

The last time that the key-signing key (KSK) was changed.

keySigningKey_keyTag :: Lens' KeySigningKey (Maybe Natural) Source #

An integer used to identify the DNSSEC record for the domain name. The process used to calculate the value is described in RFC-4034 Appendix B.

keySigningKey_dNSKEYRecord :: Lens' KeySigningKey (Maybe Text) Source #

A string that represents a DNSKEY record.

keySigningKey_publicKey :: Lens' KeySigningKey (Maybe Text) Source #

The public key, represented as a Base64 encoding, as required by RFC-4034 Page 5.

keySigningKey_signingAlgorithmType :: Lens' KeySigningKey (Maybe Int) Source #

An integer used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1.

keySigningKey_createdDate :: Lens' KeySigningKey (Maybe UTCTime) Source #

The date when the key-signing key (KSK) was created.

keySigningKey_flag :: Lens' KeySigningKey (Maybe Int) Source #

An integer that specifies how the key is used. For key-signing key (KSK), this value is always 257.

keySigningKey_digestAlgorithmType :: Lens' KeySigningKey (Maybe Int) Source #

An integer used to represent the delegation signer digest algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.3.

keySigningKey_statusMessage :: Lens' KeySigningKey (Maybe Text) Source #

The status message provided for the following key-signing key (KSK) statuses: ACTION_NEEDED or INTERNAL_FAILURE. The status message includes information about what the problem might be and steps that you can take to correct the issue.

keySigningKey_name :: Lens' KeySigningKey (Maybe Text) Source #

A string used to identify a key-signing key (KSK). Name can include numbers, letters, and underscores (_). Name must be unique for each key-signing key in the same hosted zone.

keySigningKey_dSRecord :: Lens' KeySigningKey (Maybe Text) Source #

A string that represents a delegation signer (DS) record.

keySigningKey_kmsArn :: Lens' KeySigningKey (Maybe Text) Source #

The Amazon resource name (ARN) used to identify the customer managed customer master key (CMK) in Key Management Service (KMS). The KmsArn must be unique for each key-signing key (KSK) in a single hosted zone.

You must configure the CMK as follows:

Status
Enabled
Key spec
ECC_NIST_P256
Key usage
Sign and verify
Key policy
The key policy must give permission for the following actions:
  • DescribeKey
  • GetPublicKey
  • Sign

The key policy must also include the Amazon Route 53 service in the principal for your account. Specify the following:

  • "Service": "dnssec-route53.amazonaws.com"

For more information about working with the customer managed CMK in KMS, see Key Management Service concepts.

keySigningKey_digestValue :: Lens' KeySigningKey (Maybe Text) Source #

A cryptographic digest of a DNSKEY resource record (RR). DNSKEY records are used to publish the public key that resolvers can use to verify DNSSEC signatures that are used to secure certain kinds of information provided by the DNS system.