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önnenFIXED_RECORD
oderPER_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.
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 Standortglobal
.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:
Rufen Sie in der Google Cloud Console die Seite DNS-Zonen auf.
Klicken Sie auf den Namen der DNS-Zone, der Sie den Eintrag hinzufügen möchten.
Klicken Sie auf der Seite Zonendetails auf Standard hinzufügen.
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 Befehlsgcloud 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.
Wählen Sie im Feld Ressourceneintragstyp die Option CNAME aus.
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.
Wählen Sie in der Liste TTL-Einheit die Zeiteinheit aus, z. B.
30 minutes
.Geben Sie im Feld Kanonischer Name den vollständigen Wert des Felds
dnsResourceRecord.data
ein, wie er in der Ausgabe des Befehlsgcloud certificate-manager dns-authorizations describe
angezeigt wird.Wenn Sie zusätzliche Informationen eingeben möchten, klicken Sie auf Element hinzufügen.
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:
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.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 demgcloud 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"
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.
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 istglobal
.
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 istglobal
.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.
- Domain:
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 vonname
-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"'
- Domain:
PAGE_SIZE
: Die Anzahl der Ergebnisse, die pro Seite zurückgegeben werden sollen.SORT_BY
: Eine durch Kommas getrennte Liste vonname
-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 istglobal
.
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 istglobal
.AUTHORIZATION_NAME
: der Name der DNS-Autorisierung.
Nächste Schritte
- Zertifikate verwalten
- Zertifikatszuordnungen verwalten
- Zertifikatzuordnungseinträge verwalten
- Konfigurationsressourcen für die Zertifikatausstellung verwalten