DNS-Autorisierungen verwalten

In diesem Abschnitt wird beschrieben, wie Sie DNS-Autorisierungen zur Verwendung mit von Google verwalteten Zertifikaten erstellen und verwalten.

Weitere Informationen zu DNS-Autorisierungen finden Sie unter Funktionsweise des Zertifikatmanagers.

Informationen zum Bereitstellen eines Zertifikats mit dem Zertifikatmanager finden Sie unter Bereitstellungsübersicht.

Weitere Informationen zu den auf dieser Seite verwendeten gcloud CLI-Befehlen finden Sie unter Certificate Manager API.

DNS-Autorisierung erstellen

Führen Sie die Schritte in diesem Abschnitt aus, um eine DNS-Autorisierung zu erstellen. Da jede DNS-Autorisierung nur einen einzelnen Domainnamen abdeckt, müssen Sie für jeden Domainnamen, den Sie mit dem Zielzertifikat verwenden möchten, eine DNS-Autorisierung erstellen.

Um Zertifikate projektübergreifend unabhängig zu verwalten, können Sie die DNS-Autorisierung pro Projekt verwenden (Vorschau). Der Zertifikatmanager kann Zertifikate für jedes Projekt unabhängig voneinander in Google Cloud ausstellen und verwalten. DNS-Autorisierungen und -Zertifikate, die Sie in einem Projekt verwenden, sind eigenständig und interagieren nicht mit denen in anderen Projekten.

Zum Ausführen dieser Aufgabe benötigen Sie eine der folgenden Rollen für das Google Cloud-Zielprojekt:

  • Zertifikatmanager-Bearbeiter
  • Zertifikatmanager-Inhaber

Weitere Informationen finden Sie unter Rollen und Berechtigungen.

gcloud

 gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \
     --domain="DOMAIN_NAME" \
 gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME

Führen Sie den folgenden Befehl aus, um die DNS-Autorisierung pro Projekt (Vorschau) zu verwenden:

gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \
    --domain="DOMAIN_NAME" \
    --type="PER_PROJECT_RECORD" \
gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME

Ersetzen Sie Folgendes:

  • AUTHORIZATION_NAME: ein eindeutiger Name, der diese DNS-Autorisierung beschreibt.
  • DOMAIN_NAME: der Name der Domain, für die Sie diese DNS-Autorisierung erstellen. Der Domainname muss ein voll qualifizierter Domainname sein, z. B. myorg.example.com.

Dieser Befehl gibt den CNAME-Eintrag zurück, den Sie Ihrer DNS-Konfiguration hinzufügen müssen. Beispiel:

createTime: '2022-01-14T13:35:00.258409106Z'
dnsResourceRecord:
  data: 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog.
  name: _acme-challenge.myorg.example.com.
  type: CNAME
domain: myorg.example.com
name: projects/myProject/locations/global/dnsAuthorizations/myAuthorization
updateTime: '2022-01-14T13:35:01.571086137Z'

Terraform

Zum Erstellen einer DNS-Autorisierung können Sie eine google_certificate_manager_dns_authorization-Ressource verwenden.

resource "google_certificate_manager_dns_authorization" "default" {
  name        = "${local.name}-dnsauth-${random_id.tf_prefix.hex}"
  description = "The default dns auth"
  domain      = local.domain
  labels = {
    "terraform" : true
  }
}

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

API

Erstellen Sie eine DNS-Autorisierung. Stellen Sie dazu eine POST-Anfrage an die Methode dnsAuthorizations.create:

POST /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations?dns_authorization_id=AUTHORIZATION_NAME"
{
  "domain": "DOMAIN_NAME",
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Google Cloud-Zielprojekts.
  • AUTHORIZATION_NAME: ein eindeutiger Name, der diese DNS-Autorisierung beschreibt.
  • DOMAIN_NAME: der Name der Domain, für die Sie diese DNS-Autorisierung erstellen. Der Domainname muss ein voll qualifizierter Domainname sein, z. B. myorg.example.com.

DNS-Konfiguration den CNAME-Eintrag hinzufügen

Wenn Sie eine DNS-Autorisierung erstellen, gibt Google Cloud den entsprechenden CNAME-Eintrag für die Subdomain der Überprüfung zurück. Sie müssen diesen CNAME-Eintrag Ihrer DNS-Konfiguration in der DNS-Zone der Zieldomain hinzufügen. Wenn Sie Ihr DNS mit Google Cloud verwalten, führen Sie die Schritte in diesem Abschnitt aus. Lesen Sie andernfalls in der Dokumentation zu Ihrer DNS-Lösung eines Drittanbieters nach.

Weitere Informationen dazu, wie der Zertifikatmanager diesen CNAME-Eintrag zur Bestätigung der Domaininhaberschaft verwendet, finden Sie unter Domainautorisierung für von Google verwaltete Zertifikate.

gcloud

  1. Starten Sie die Transaktion des DNS-Eintrags:

    gcloud dns record-sets transaction start --zone="DNS_ZONE_NAME"
    

    Ersetzen Sie Folgendes:

    • DNS_ZONE_NAME: der Name der DNS-Zielzone.
  2. Fügen Sie den CNAME-Eintrag zur Ziel-DNS-Zone hinzu:

    gcloud dns record-sets transaction add CNAME_RECORD \
       --name="_acme-challenge.DOMAIN_NAME." \
       --ttl="30" \
       --type="CNAME" \
       --zone="DNS_ZONE_NAME"
    

    Ersetzen Sie Folgendes:

    • CNAME_RECORD: der vollständige Wert des CNAME-Eintrags, der vom Befehl gcloud zurückgegeben wurde, mit dem die entsprechende DNS-Autorisierung erstellt wurde.
    • DOMAIN_NAME: der Name der Zieldomain Der Domainname muss ein voll qualifizierter Domainname wie myorg.example.com sein. Sie müssen auch den Punkt nach dem Zieldomainnamen einfügen.
    • DNS_ZONE_NAME: der Name der DNS-Zielzone.
  3. Führen Sie die Transaktion des DNS-Eintrags aus, um die Änderungen zu speichern:

    gcloud dns record-sets transaction execute --zone="DNS_ZONE_NAME"
    

    Ersetzen Sie Folgendes:

    • DNS_ZONE_NAME: der Name der DNS-Zielzone.

Terraform

Mit einer google_dns_record_set-Ressource können Sie Ihrer DNS-Konfiguration den CNAME-Eintrag hinzufügen.

resource "google_dns_record_set" "cname" {
  name         = google_certificate_manager_dns_authorization.default.dns_resource_record[0].name
  managed_zone = google_dns_managed_zone.default.name
  type         = google_certificate_manager_dns_authorization.default.dns_resource_record[0].type
  ttl          = 300
  rrdatas      = [google_certificate_manager_dns_authorization.default.dns_resource_record[0].data]
}

Weitere Informationen zu DNS-Einträgen finden Sie unter Einträge verwalten.

DNS-Autorisierung aktualisieren

Führen Sie die Schritte in diesem Abschnitt aus, um eine DNS-Autorisierung zu aktualisieren. So aktualisieren Sie eine DNS-Autorisierung:

  • Neue Labels angeben
  • Geben Sie eine neue Beschreibung ein

Zum Ausführen dieser Aufgabe benötigen Sie eine der folgenden Rollen für das Google Cloud-Zielprojekt:

  • Zertifikatmanager-Bearbeiter
  • Zertifikatmanager-Inhaber

Weitere Informationen finden Sie unter Rollen und Berechtigungen.

gcloud

 gcloud certificate-manager dns-authorizations update AUTHORIZATION_NAME \
     --update-labels="LABELS" \
     --description="DESCRIPTION"

Ersetzen Sie Folgendes:

  • AUTHORIZATION_NAME: der Name der Ziel-DNS-Autorisierung.
  • LABELS: ein optionales Flag, das die Labels für diese DNS-Autorisierung angibt.
  • DESCRIPTION: ein optionales Flag, das die Beschreibung dieser DNS-Autorisierung angibt.

API

Aktualisieren Sie eine DNS-Autorisierung. Stellen Sie dazu eine PATCH-Anfrage an die Methode dnsAuthorizations.patch:

PATCH /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations/AUTHORIZATION_NAME?updateMask=labels,description"
{
    description: "DESCRIPTION",
    labels: { "LABEL_KEY": "LABEL_VALUE" }
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Google Cloud-Zielprojekts.
  • AUTHORIZATION_NAME: der Name der Ziel-DNS-Autorisierung.
  • DESCRIPTION: ein optionales Feld, das die Beschreibung dieser DNS-Autorisierung angibt.
  • LABEL_KEY: ein auf diese DNS-Autorisierung angewendeter Labelschlüssel.
  • LABEL_VALUE: ein Labelwert, der auf diese DNS-Autorisierung angewendet wird.

DNS-Autorisierungen auflisten

Führen Sie die Schritte in diesem Abschnitt aus, um die konfigurierten DNS-Autorisierungen aufzulisten.

Zum Ausführen dieser Aufgabe benötigen Sie eine der folgenden Rollen für das Google Cloud-Zielprojekt:

  • Zertifikatmanager-Betrachter
  • Zertifikatmanager-Bearbeiter
  • Zertifikatmanager-Inhaber

Weitere Informationen finden Sie unter Rollen und Berechtigungen.

gcloud

gcloud certificate-manager dns-authorizations list \
    --filter="FILTER" \
    --page-size="PAGE_SIZE" \
    --limit="LIMIT" \
    --sort-by="SORT_BY"

Ersetzen Sie Folgendes:

  • FILTER: ein Ausdruck, der die zurückgegebenen Ergebnisse auf bestimmte Werte einschränkt. Sie können die Ergebnisse beispielsweise nach den folgenden Kriterien filtern:

    • Domain: --filter='domain=myorg.example.com'
    • Labels und Erstellungszeit: --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

    Weitere Filterbeispiele, die Sie mit dem Zertifikatmanager verwenden können, finden Sie unter Listenergebnisse sortieren und filtern in der Dokumentation zum Cloud Key Management Service.

  • PAGE_SIZE: die Anzahl der Ergebnisse, die pro Seite zurückgegeben werden sollen.

  • LIMIT: die maximale Anzahl der Ergebnisse, die zurückgegeben werden sollen.

  • SORT_BY: eine durch Kommas getrennte Liste von name-Feldern, nach denen die zurückgegebenen Ergebnisse sortiert werden. Die Standardsortierreihenfolge ist aufsteigend. Für eine absteigende Sortierreihenfolge stellen Sie dem Feld eine Tilde (~) voran.

API

Listen Sie alle konfigurierten DNS-Autorisierungen auf. Stellen Sie dazu so eine GET-Anfrage an die Methode dnsAuthorizations.list:

GET /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations?filter=FILTER&pageSize=PAGE_SIZE&sortBy=SORT_BY

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Google Cloud-Zielprojekts.
  • FILTER: ein Ausdruck, der die zurückgegebenen Ergebnisse auf bestimmte Werte einschränkt.
  • PAGE_SIZE: die Anzahl der Ergebnisse, die pro Seite zurückgegeben werden sollen.
  • SORT_BY: eine durch Kommas getrennte Liste von Feldnamen, nach denen die zurückgegebenen Ergebnisse sortiert werden. Die Standardsortierreihenfolge ist aufsteigend. Für eine absteigende Sortierreihenfolge stellen Sie dem Feld eine Tilde (~) voran.

DNS-Autorisierung löschen

Führen Sie die Schritte in diesem Abschnitt aus, um eine DNS-Autorisierung zu löschen. Wenn Sie eine DNS-Autorisierung löschen möchten, die einem oder mehreren von Google verwalteten Zertifikaten zugewiesen ist, müssen Sie diese Zertifikate löschen, bevor Sie die DNS-Autorisierung löschen können.

Zum Ausführen dieser Aufgabe benötigen Sie die Rolle „Zertifikatmanager-Inhaber“ für das Google Cloud-Zielprojekt. Weitere Informationen finden Sie unter Rollen und Berechtigungen.

gcloud

gcloud certificate-manager dns-authorizations delete AUTHORIZATION_NAME

Ersetzen Sie Folgendes:

  • AUTHORIZATION_NAME: der Name der Ziel-DNS-Autorisierung.

API

Zum Löschen einer DNS-Autorisierung stellen Sie eine DELETE-Anfrage an die Methode dnsAuthorizations.delete:

DELETE /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations/AUTHORIZATION_NAME

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Google Cloud-Zielprojekts.
  • AUTHORIZATION_NAME: der Name der Ziel-DNS-Autorisierung.

Nächste Schritte