amazonka-route53-2.0: Amazon Route 53 SDK.
Copyright(c) 2013-2023 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

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

  • createdDate :: Maybe ISO8601

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

  • dNSKEYRecord :: Maybe Text

    A string that represents a DNSKEY record.

  • dSRecord :: Maybe Text

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

  • 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.

  • 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.

  • 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.

  • flag :: Maybe Int

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

  • 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.

  • kmsArn :: Maybe Text

    The Amazon resource name (ARN) used to identify the customer managed key 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 customer managed key 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 key in KMS, see Key Management Service concepts.

  • lastModifiedDate :: Maybe ISO8601

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

  • 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.

  • publicKey :: Maybe Text

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

  • signingAlgorithmMnemonic :: Maybe Text

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

  • signingAlgorithmType :: Maybe Int

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

  • 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 key might have been deleted, or the permissions for the customer managed key 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.
  • 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.

Instances

Instances details
FromXML 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 #

Read KeySigningKey Source # 
Instance details

Defined in Amazonka.Route53.Types.KeySigningKey

Show KeySigningKey Source # 
Instance details

Defined in Amazonka.Route53.Types.KeySigningKey

NFData KeySigningKey Source # 
Instance details

Defined in Amazonka.Route53.Types.KeySigningKey

Methods

rnf :: KeySigningKey -> () #

Eq KeySigningKey Source # 
Instance details

Defined in Amazonka.Route53.Types.KeySigningKey

Hashable 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" "amazonka-route53-2.0-8wP357MyuPX6rh87d4wklb" 'False) (C1 ('MetaCons "KeySigningKey'" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "createdDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ISO8601)) :*: S1 ('MetaSel ('Just "dNSKEYRecord") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "dSRecord") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "digestAlgorithmMnemonic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 ('MetaSel ('Just "digestAlgorithmType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "digestValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "flag") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "keyTag") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural))))) :*: (((S1 ('MetaSel ('Just "kmsArn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "lastModifiedDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ISO8601))) :*: (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "publicKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 ('MetaSel ('Just "signingAlgorithmMnemonic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "signingAlgorithmType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int))) :*: (S1 ('MetaSel ('Just "status") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "statusMessage") '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:createdDate:KeySigningKey', keySigningKey_createdDate - The date when the key-signing key (KSK) was created.

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

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

$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: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: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.

$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: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:kmsArn:KeySigningKey', keySigningKey_kmsArn - The Amazon resource name (ARN) used to identify the customer managed key 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 customer managed key 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 key in KMS, see Key Management Service concepts.

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

$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:publicKey:KeySigningKey', keySigningKey_publicKey - The public key, represented as a Base64 encoding, as required by RFC-4034 Page 5.

$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: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: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 key might have been deleted, or the permissions for the customer managed key 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: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.

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

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

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

A string that represents a DNSKEY record.

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

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

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_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_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.

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_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_kmsArn :: Lens' KeySigningKey (Maybe Text) Source #

The Amazon resource name (ARN) used to identify the customer managed key 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 customer managed key 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 key in KMS, see Key Management Service concepts.

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

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

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_publicKey :: Lens' KeySigningKey (Maybe Text) Source #

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

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_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_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 key might have been deleted, or the permissions for the customer managed key 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_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.