Afficher les clés DNSSEC

Cette page explique comment afficher les clés DNSSEC (Domain Name System Security Extensions).

Pour obtenir une présentation des concepts liés à DNSSEC, consultez la présentation de DNSSEC.

DNSKEY est un type d'enregistrement DNS contenant une clé de signature publique. Si vous migrez une zone signée DNSSEC vers un autre opérateur DNS, vous devrez peut-être afficher les enregistrements DNSKEY. Le processus de migration, défini dans le document RFC 6781, nécessite de transférer les enregistrements DNSKEY (clé ZSK et clé KSK) de la zone Cloud DNS vers la zone gérée par l'autre opérateur.

Si vous avez activé DNSSEC pour une zone, Cloud DNS gère automatiquement la création et la rotation des clés DNSSEC (enregistrements DNSKEY), ainsi que la signature des données de zone à l'aide des enregistrements RRSIG (signature numérique d'enregistrement de ressources). Cloud DNS ne permet pas la rotation automatique des clés KSK, car les rotations KSK nécessitent actuellement une interaction manuelle avec le service d'enregistrement de noms de domaine. En revanche, il effectue les rotations ZSK de façon entièrement automatisée. Vous pouvez afficher les enregistrements DNSKEY gérés automatiquement à l'aide de la CLI Google Cloud ou de l'API REST.

Avant de commencer

Pour pouvoir afficher les clés DNSSEC, vous devez d'abord créer une zone gérée et activer DNSSEC pour la zone. Ces opérations entraînent la création des enregistrements DNSKEY.

Afficher les enregistrements DNSKEY actuels

Pour afficher les enregistrements DNSKEY actifs de votre zone, procédez comme suit :

gcloud

Pour les exemples de ligne de commande gcloud suivants, vous pouvez spécifier le paramètre --project pour qu'il s'applique à un projet spécifique.

Pour imprimer tous les DNSKEY au format JSON, utilisez la commande gcloud dns dns-keys list :

gcloud dns dns-keys list --zone ZONE_NAME

Remplacez ZONE_NAME par le nom de la zone gérée.

Pour afficher les détails d'un DNSKEY spécifié au format JSON, utilisez la commande gcloud dns dns-keys describe :

gcloud dns dns-keys describe DNSKEY_ID --zone ZONE_NAME

Remplacez l'élément suivant :

  • DNSKEY_ID : ID du DNSKEY pour lequel vous souhaitez afficher les détails
  • ZONE_NAME : nom de la zone gérée

API

Pour imprimer tous les DNSKEY dans une collection ResourceRecordSet, utilisez la méthode dnsKeys.get avec un corps de requête vide :

GET https://dns.googleapis.com/dns/v1/projects/PROJECT/managedZones/ZONE_NAME/dnsKeys

Remplacez l'élément suivant :

  • PROJECT : nom ou ID du projet DNS
  • ZONE_NAME : nom de la zone gérée

Vous obtenez un résultat semblable à ce qui suit :

{
  "kind": "dns#dnsKeysListResponse",
  "header": {
    "operationId": string
  },
  "dnsKeys": [
    dnsKeys Resource
  ],
  "nextPageToken": string
}

Pour afficher les détails d'un DNSKEY spécifié au format JSON, utilisez la méthode dnsKeys DNSKEY_ID.get avec un corps de requête vide :

GET https://dns.googleapis.com/dns/v1/projects/PROJECT/managedZones/ZONE_NAME/dnsKeys/DNSKEY_ID

Remplacez l'élément suivant :

  • PROJECT : nom ou ID du projet DNS
  • ZONE_NAME : nom de la zone gérée
  • DNSKEY_ID : ID du DNSKEY pour lequel vous souhaitez afficher les détails

Python

  from apiclient import errors
  from apiclient.discovery import build

  PROJECT_NAME= 'PROJECT_NAME'
  ZONE_NAME= 'ZONE_NAME'

  try:
    service = build('dns', 'v1')
    response = service.dnskeys().list(project=PROJECT_NAME,
                                      managedZone=ZONE_NAME).execute()
  except errors.HttpError, error:
    print 'An error occurred: %s' % error

  try:
    response = service.dnskeys().list(project=PROJECT_NAME,
                                      managedZone=ZONE_NAME,
                                      keyId=KEY_ID).execute()
  except errors.HttpError, error:
    print 'An error occurred: %s' % error

Remplacez l'élément suivant :

  • PROJECT_NAME : nom ou ID de votre projet DNS
  • ZONE_NAME : nom de la zone gérée

Étape suivante