DNS-Autorisierungen verwalten

Mit DNS-Autorisierungen können Sie die Inhaberschaft von Domains für von Google verwaltete Zertifikate nachweisen. Beim Erstellen eines von Google verwalteten Zertifikats können Sie eine oder mehrere DNS-Autorisierungen angeben, die für die Bereitstellung und Verlängerung verwendet werden sollen.

Auf dieser Seite wird beschrieben, wie Sie DNS-Autorisierungen zur Verwendung mit von Google verwalteten Zertifikaten erstellen und verwalten.

Weitere Informationen finden Sie unter Domainautorisierungen.

DNS-Autorisierung erstellen

Eine DNS-Autorisierung gilt nur für einen einzelnen Domainnamen. Sie müssen für jeden Domainnamen, den Sie mit dem Zielzertifikat verwenden möchten, eine separate DNS-Autorisierung erstellen.

Wenn Sie eine DNS-Autorisierung für ein Platzhalterzertifikat wie *.myorg.example.com erstellen, konfigurieren Sie die DNS-Autorisierung für die übergeordnete Domain, z. B. myorg.example.com.

Wenn Sie Zertifikate in mehreren Projekten unabhängig voneinander verwalten möchten, können Sie die PER_PROJECT_RECORD-DNS-Autorisierung verwenden. Mit Certificate Manager können Zertifikate für jedes Projekt in Google Cloudunabhängig ausgestellt und verwaltet werden. DNS-Autorisierungen und Zertifikate, die Sie in einem Projekt verwenden, sind in sich geschlossen und interagieren nicht mit denen in anderen Projekten.

Console

Sie können beim Erstellen eines Zertifikats eine DNS-Autorisierung erstellen oder eine vorhandene DNS-Autorisierung anhängen. Weitere Informationen finden Sie unter Ein von Google verwaltetes Zertifikat erstellen, das auf die DNS-Autorisierung verweist.

gcloud

Verwenden Sie den Befehl certificate-manager dns-authorizations create, um eine DNS-Autorisierung zu erstellen:

gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \
    --domain="DOMAIN_NAME" \
    [--type=TYPE] \
    [–-location="LOCATION"]

Ersetzen Sie Folgendes:

  • AUTHORIZATION_NAME: der Name der DNS-Autorisierung.
  • DOMAIN_NAME: der Name der Zieldomain, für die Sie diese DNS-Autorisierung erstellen. Der Domainname muss ein voll qualifizierter Domainname sein, z. B. myorg.example.com.
  • TYPE: der Typ der DNS-Autorisierung. Sie können FIXED_RECORD oder PER_PROJECT_RECORD angeben. Weitere Informationen finden Sie unter DNS-Autorisierung.
  • LOCATION: Der Google Cloud Zielort, an dem Sie die DNS-Autorisierung erstellen.

Nachdem Sie die DNS-Autorisierung erstellt haben, können Sie sie mit dem Befehl certificate-manager dns-authorizations describe prüfen:

gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME

Die entsprechende Ausgabe sieht etwa so aus: Suchen Sie in der Ausgabe nach der Zeile dnsResourceRecord und rufen Sie den CNAME-Eintrag (data, name und type) ab, den Sie Ihrer DNS-Konfiguration hinzufügen müssen.

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

Senden Sie zum Erstellen einer DNS-Autorisierung eine POST-Anfrage an die Methode dnsAuthorizations.create:

POST /v1/projects/PROJECT_ID/locations/LOCATION/dnsAuthorizations?dns_authorization_id=AUTHORIZATION_NAME"
{
  "domain": "DOMAIN_NAME",
  "type": "PER_PROJECT_RECORD" //optional
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Google Cloud Projekts.
  • LOCATION: Der Google Cloud Zielort, an dem Sie die DNS-Autorisierung erstellen. Verwenden Sie für den globalen Standort global.
  • AUTHORIZATION_NAME: der Name der DNS-Autorisierung.
  • DOMAIN_NAME: der Name der Zieldomain, für die Sie diese DNS-Autorisierung erstellen. Der Domainname muss ein voll qualifizierter Domainname sein, z. B. myorg.example.com.

CNAME-Eintrag zu DNS-Konfiguration hinzufügen

Wenn Sie eine Drittanbieter-DNS-Lösung zum Verwalten Ihrer DNS verwenden, lesen Sie in der zugehörigen Dokumentation nach, wie Sie den CNAME-Eintrag der DNS-Konfiguration hinzufügen. Wenn SieGoogle Cloud zum Verwalten Ihrer DNS-Einträge verwenden, führen Sie die Schritte in diesem Abschnitt aus.

Console

So erstellen Sie einen Datensatz:

  1. Rufen Sie in der Google Cloud Console die Seite DNS-Zonen auf.

    Cloud DNS-Zonen aufrufen

  2. Klicken Sie auf den Namen der DNS-Zone, der Sie den Eintrag hinzufügen möchten.

  3. Klicken Sie auf der Seite Zonendetails auf Standard hinzufügen.

  4. Geben Sie auf der Seite Eintrag erstellen im Feld DNS-Name die Subdomain der DNS-Zone ein.

    Achten Sie beim Eingeben des Subdomainnamens darauf, dass der Subdomainname einschließlich des ausgegrauten Texts, der im Feld DNS-Name angezeigt wird, mit dem vollständigen Wert des Felds dnsResourceRecord.name übereinstimmt, wie er in der Ausgabe des Befehls gcloud certificate-manager dns-authorizations describe angezeigt wird.

    Betrachten Sie die folgenden Beispiele:

    • Wenn der Feldwert dnsResourceRecord.name _acme-challenge.myorg.example.com. ist und der ausgegraute Text im Feld DNS-Name .example.com. lautet, geben Sie _acme-challenge.myorg ein.

    • Wenn der Feldwert dnsResourceRecord.name _acme-challenge.myorg.example.com. ist und der ausgegraute Text im Feld DNS-Name .myorg.example.com. lautet, geben Sie _acme-challenge ein.

    • Wenn der Wert des Felds dnsResourceRecord.name _acme-challenge_ujmmovf2vn55tgye.myorg.example.com. ist und der ausgegraute Text im Feld DNS-Name .myorg.example.com. lautet, geben Sie _acme-challenge_ujmmovf2vn55tgye ein.

  5. Wählen Sie im Feld Ressourceneintragstyp die Option CNAME aus.

  6. Geben Sie im Feld TTL einen positiven numerischen Wert für die Gültigkeitsdauer des Ressourceneintrags ein, also den Zeitraum, den er im Cache gespeichert werden kann.

  7. Wählen Sie in der Liste TTL-Einheit die Zeiteinheit aus, z. B. 30 minutes.

  8. Geben Sie im Feld Kanonischer Name den vollständigen Wert des Felds dnsResourceRecord.data ein, wie er in der Ausgabe des Befehls gcloud certificate-manager dns-authorizations describe angezeigt wird.

  9. Wenn Sie zusätzliche Informationen eingeben möchten, klicken Sie auf Element hinzufügen.

  10. Klicken Sie auf Erstellen.

gcloud

Wenn Sie eine DNS-Autorisierung erstellen, gibt der gcloud CLI-Befehl den entsprechenden CNAME-Eintrag zurück. So fügen Sie den CNAME-Eintrag Ihrer DNS-Konfiguration in der DNS-Zone der Zieldomain hinzu:

  1. Starten Sie die Transaktion des DNS-Eintrags:

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

    Ersetzen Sie DNS_ZONE_NAME durch den Namen der Ziel-DNS-Zone.

  2. Fügen Sie den CNAME-Eintrag zur Ziel-DNS-Zone hinzu:

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

    Ersetzen Sie Folgendes:

    • CNAME_RECORD: Der vollständige Datenwert des CNAME-Eintrags, der vom Google Cloud CLI-Befehl zurückgegeben wurde, mit dem die entsprechende DNS-Autorisierung erstellt wurde.
    • VALIDATION_SUBDOMAIN_NAME: die Präfix-Subdomain der DNS-Zone, z. B. _acme-challenge. Sie können den Namen aus dem gcloud certificate-manager dns-authorizations describe-Befehlsprotokoll kopieren, wie unter DNS-Autorisierung erstellen beschrieben.
    • DOMAIN_NAME: Der Name der Zieldomain. Der Domainname muss ein voll qualifizierter Domainname sein, z. B. myorg.example.com. Sie dürfen den Punkt am Ende nach dem Zieldomainnamen nicht weglassen.
    • DNS_ZONE_NAME: der Name der Ziel-DNS-Zone.

    Sehen Sie sich folgendes Beispiel an:

    gcloud dns record-sets transaction add 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. \
        --name="_acme-challenge.myorg.example.com." \
        --ttl="30" \
        --type="CNAME" \
        --zone="myorg-example-com"
    
  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 DNS_ZONE_NAME durch den Namen der Ziel-DNS-Zone.

Terraform

Wenn Sie den CNAME-Eintrag Ihrer DNS-Konfiguration hinzufügen möchten, können Sie eine google_dns_record_set-Ressource verwenden.

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]
}

DNS-Autorisierung aktualisieren

Wenn Sie eine DNS-Autorisierung aktualisieren, haben Sie folgende Möglichkeiten:

  • Neue Labels angeben
  • Neue Beschreibung angeben

gcloud

Verwenden Sie den Befehl certificate-manager dns-authorizations update, um eine DNS-Autorisierung zu aktualisieren:

gcloud certificate-manager dns-authorizations update AUTHORIZATION_NAME \
    [--update-labels="LABELS"] \
    [--description="DESCRIPTION"] \
    [--location="LOCATION"]

Ersetzen Sie Folgendes:

  • AUTHORIZATION_NAME: der Name der DNS-Autorisierung.
  • LABELS: Labels für diese DNS-Autorisierung. Dieses Flag ist optional.
  • DESCRIPTION: Beschreibung für diese DNS-Autorisierung. Dieses Flag ist optional.
  • LOCATION: der Ziel Google Cloud standort. Der Standardspeicherort ist global.

API

Aktualisieren Sie eine DNS-Autorisierung, indem Sie eine PATCH-Anfrage an die Methode dnsAuthorizations.patch stellen:

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Google Cloud Projekts.
  • LOCATION: der Ziel Google Cloud standort. Der Standardspeicherort ist global.
  • AUTHORIZATION_NAME: der Name der DNS-Autorisierung.
  • DESCRIPTION: Ein optionales Feld, das die Beschreibung für diese DNS-Autorisierung angibt.
  • LABEL_KEY: Ein Labelschlüssel, der auf diese DNS-Autorisierung angewendet wird.
  • LABEL_VALUE: Ein Labelwert, der auf diese DNS-Autorisierung angewendet wird.

DNS-Autorisierungen auflisten

Sie können alle DNS-Autorisierungen Ihres Projekts und die zugehörigen Details aufrufen.

gcloud

Verwenden Sie den Befehl certificate-manager dns-authorizations list, um DNS-Autorisierungen aufzulisten:

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

Ersetzen Sie Folgendes:

  • FILTER: Ein Ausdruck, der die zurückgegebenen Ergebnisse auf bestimmte Werte beschrä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 Certificate Manager verwenden können, finden Sie in der Cloud Key Management Service-Dokumentation unter Sortieren und Filtern von Listenergebnissen.

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

  • LIMIT: Die maximale Anzahl der zurückzugebenden Ergebnisse.

  • SORT_BY: Eine durch Kommas getrennte Liste von name-Feldern, nach denen die zurückgegebenen Ergebnisse sortiert werden. Die Standardsortierreihenfolge ist aufsteigend. Wenn Sie in absteigender Reihenfolge sortieren möchten, stellen Sie dem Feld eine Tilde (~) voran.

  • LOCATION: der Ziel Google Cloud standort. Verwenden Sie - als Wert, um DNS-Autorisierungen aus allen Regionen aufzulisten. Der Standardwert ist -. Dieses Flag ist optional.

API

Listen Sie alle konfigurierten DNS-Autorisierungen auf, indem Sie eine GET-Anfrage an die Methode dnsAuthorizations.list senden:

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Google Cloud Projekts.
  • LOCATION: der Ziel Google Cloud standort. Wenn Sie alle DNS-Autorisierungen für alle Standorte sehen möchten, geben Sie einen einzelnen Bindestrich (-) an.
  • FILTER: Ein Ausdruck, der die zurückgegebenen Ergebnisse auf bestimmte Werte beschrä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"'
  • PAGE_SIZE: Die Anzahl der Ergebnisse, die pro Seite 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. Wenn Sie in absteigender Reihenfolge sortieren möchten, stellen Sie dem Feld eine Tilde (~) voran.

DNS-Autorisierung löschen

Wenn Sie eine DNS-Autorisierung löschen möchten, die von Google verwalteten Zertifikaten zugewiesen ist, müssen Sie die Zertifikate löschen, bevor Sie die DNS-Autorisierung löschen.

gcloud

Verwenden Sie den Befehl certificate-manager dns-authorizations delete, um eine DNS-Autorisierung zu löschen:

gcloud certificate-manager dns-authorizations delete AUTHORIZATION_NAME \
    [--location="LOCATION"]

Ersetzen Sie Folgendes:

  • AUTHORIZATION_NAME: der Name der DNS-Autorisierung.
  • LOCATION: der Ziel Google Cloud standort. Der Standardspeicherort ist global.

API

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

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Google Cloud Projekts.
  • LOCATION: der Ziel Google Cloud standort. Der Standardspeicherort ist global.
  • AUTHORIZATION_NAME: der Name der DNS-Autorisierung.

Nächste Schritte