In dieser Anleitung erfahren Sie, wie Sie mit dem Zertifikatmanager ein regionales von Google verwaltetes Zertifikat mit dem Certificate Authority Service für einen regionalen externen Application Load Balancer oder einen regionalen internen Application Load Balancer bereitstellen.
Wenn Sie globale externe Load Balancer oder regionenübergreifende Load Balancer bereitstellen möchten, lesen Sie die folgenden Informationen:
Ziele
In diesem Anleitung werden die folgenden Aufgaben erläutert:
- Von Google verwaltetes Zertifikat mit CA Service über den Zertifikatmanager erstellen
- Stellen Sie das Zertifikat mit einem HTTPS-Zielproxy auf einem unterstützten Load Balancer bereit.
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine, Certificate Manager, Certificate Authority APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine, Certificate Manager, Certificate Authority APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init - Aktivieren Sie die CA Service API.
- Erstellen Sie einen CA-Pool. Sie müssen mindestens eine CA in diesem CA-Pool erstellen und aktivieren.
Bevor Sie die Schritte in dieser Anleitung ausführen, müssen Sie Folgendes beachten:
- Zertifikate, die Sie mit dem Certificate Authority Service erstellen, sind nicht öffentlich vertrauenswürdig. Wenn Sie öffentlich vertrauenswürdige Zertifikate ausstellen möchten, erstellen Sie Zertifikate mit DNS-Autorisierung oder Load-Balancer-Autorisierung.
Wenn für den Ziel-CA-Pool eine Richtlinie zur Zertifikatsausstellung gilt, kann die Zertifikatsbereitstellung aus einem der folgenden Gründe fehlschlagen:
- Das angeforderte Zertifikat wurde durch die Zertifikatsausstellungsrichtlinie blockiert. In diesem Fall wird Ihnen nichts in Rechnung gestellt, da das Zertifikat nicht ausgestellt wurde.
- Die Richtlinie hat Änderungen am Zertifikat vorgenommen, die vom Zertifikatmanager nicht unterstützt werden. In diesem Fall wird Ihnen das Zertifikat in Rechnung gestellt, da es ausgestellt wurde, obwohl es nicht vollständig mit dem Zertifikatmanager kompatibel ist.
Konfigurieren Sie die Richtlinie für die Zertifikatausstellung des Ziel-CA-Pools so, dass TLS-Zertifikate des Endentitätsservers (Blattzertifikate) zugelassen sind, um die Kompatibilität zu gewährleisten.
Von Google verwaltete TLS-Zertifikate, die aus einem regionalen CA-Pool ausgestellt werden, sind global und können in jeder Region verwendet werden.
Erforderliche Rollen
Sie benötigen die folgenden Rollen, um die Aufgaben in dieser Anleitung auszuführen:
Zertifikatmanager-Inhaber (
roles/certificatemanager.owner)Erforderlich zum Erstellen und Verwalten von Zertifikatmanager-Ressourcen.
Administrator für Compute-Load-Balancer (
roles/compute.loadBalancerAdmin) oder Compute-Netzwerkadministrator (roles/compute.networkAdmin)Erforderlich zum Erstellen und Verwalten von HTTPS-Ziel-Proxys.
CA Service-Administrator (
roles/privateca.admin)Erforderlich, um Aktionen in CA Service auszuführen.
Hier finden Sie weitere Informationen:
- Rollen und Berechtigungen für Zertifikatmanager.
- Compute Engine-IAM-Rollen und -Berechtigungen für Compute Engine.
- Zugriffssteuerung mit IAM für CA Service.
Load Balancer erstellen
In diesem Tutorial wird davon ausgegangen, dass Sie die Backends, Systemdiagnosen, Backend-Dienste und URL-Zuordnungen des Load-Balancers bereits erstellt und konfiguriert haben. Notieren Sie sich den Namen der URL-Zuordnung, da Sie ihn später in dieser Anleitung benötigen.
Informationen zum Erstellen eines regionalen externen Application Load Balancers finden Sie unter Regionalen externen Application Load Balancer mit VM-Instanzgruppen-Back-Ends einrichten.
Informationen zum Erstellen eines regionalen internen Application Load Balancers finden Sie unter Regionalen internen Application Load Balancer mit VM-Instanzgruppen-Back-Ends einrichten.
CA Service-Integration mit Zertifikatmanager konfigurieren
So binden Sie die CA-Dienste in Zertifikatmanager ein:
Erstellen Sie im Zielprojekt Google Cloud ein Zertifikatmanager-Dienstkonto:
gcloud beta services identity create --service=certificatemanager.googleapis.com \ --project=PROJECT_IDErsetzen Sie
PROJECT_IDdurch die ID des ZielprojektsGoogle Cloud .Der Befehl gibt den Namen der erstellten Dienstidentität zurück. Sehen Sie sich folgendes Beispiel an:
service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
Weisen Sie dem Certificate Manager-Dienstkonto im Ziel-CA-Pool die Rolle CA Service-Zertifikatsanfragesteller (
roles/privateca.certificateRequester) zu:gcloud privateca pools add-iam-policy-binding CA_POOL \ --location LOCATION \ --member "serviceAccount:SERVICE_ACCOUNT" \ --role roles/privateca.certificateRequesterErsetzen Sie Folgendes:
CA_POOL: die ID des Ziel-CA-Pools.LOCATION: Der Ziel Google Cloud standort.SERVICE_ACCOUNT: Der vollständige Name des Dienstkontos, das Sie in Schritt 1 erstellt haben.
Erstellen Sie eine Konfigurationsressource für die Zertifikatsausstellung für Ihren CA-Pool:
Console
Rufen Sie in der Google Cloud Console auf der Seite Zertifikatmanager den Tab Ausstellungskonfigurationen auf.
Klicken Sie auf Erstellen. Die Seite Konfiguration der Zertifikatsausstellung erstellen wird angezeigt.
Geben Sie im Feld Name einen eindeutigen Namen für die Konfiguration zur Zertifikatausstellung ein.
Optional: Geben Sie im Feld Beschreibung eine Beschreibung für die Ausstellungskonfiguration ein.
Wählen Sie als Standort die Option Regional aus.
Wählen Sie unter Region dieselbe Region wie für Ihr Zertifikat und Ihren CA-Pool aus.
Optional: Geben Sie im Feld Lifetime (Lebensdauer) die Lebensdauer des ausgestellten Zertifikats in Tagen an. Der Wert muss zwischen 21 und 30 Tagen (einschließlich) liegen.
Optional: Geben Sie unter Prozentsatz des Rotationszeitraums den Prozentsatz der Zertifikatslebensdauer an, bei dem die Verlängerung beginnt. Informationen zum Bereich gültiger Werte finden Sie unter Prozentsatz für Lebenszyklus und Rotationszeitraum.
Optional: Wählen Sie in der Liste Schlüsselalgorithmus den Schlüsselalgorithmus aus, der beim Generieren des privaten Schlüssels verwendet werden soll.
Wählen Sie in der Liste CA-Pool den Namen des CA-Pools aus, der dieser Konfigurationsressource für die Zertifikatsausstellung zugewiesen werden soll.
Geben Sie im Feld Labels die Labels an, die dem Zertifikat zugewiesen werden sollen. Klicken Sie auf Label hinzufügen, um ein Label hinzuzufügen, und geben Sie einen Schlüssel und einen Wert für das Label an.
Klicken Sie auf Erstellen.
gcloud
gcloud certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \ --ca-pool=CA_POOL \ --location=LOCATIONErsetzen Sie Folgendes:
ISSUANCE_CONFIG_NAME: Der Name der Ressource für die Konfiguration der Zertifikatausstellung.CA_POOL: Der vollständige Ressourcenpfad und Name des CA-Pools, den Sie dieser Konfigurationsressource für die Zertifikatsausstellung zuweisen möchten.LOCATION: Der Ziel Google Cloud standort. Sie müssen denselben Standort wie für den CA-Pool und das Zertifikat angeben.
Weitere Informationen zu Konfigurationsressourcen für die Zertifikatsausstellung finden Sie unter Konfigurationsressourcen für die Zertifikatsausstellung verwalten.
Von Ihrer CA Service-Instanz ausgestelltes, von Google verwaltetes Zertifikat erstellen
So erstellen Sie ein von Google verwaltetes Zertifikat, das von Ihrer CA Service-Instanz ausgestellt wurde:
Console
Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.
Klicken Sie auf dem Tab Certificates (Zertifikate) auf Add Certificate (Zertifikat hinzufügen).
Geben Sie im Feld Zertifikatname einen eindeutigen Namen für das Zertifikat ein.
Optional: Geben Sie im Feld Beschreibung eine Beschreibung für das Zertifikat ein. Anhand der Beschreibung können Sie das Zertifikat identifizieren.
Wählen Sie als Standort die Option Regional aus.
Wählen Sie in der Liste Region Ihre Region aus.
Wählen Sie für Zertifikatstyp die Option Von Google verwaltetes Zertifikat erstellen aus.
Wählen Sie für Zertifizierungsstellentyp die Option Privat aus.
Geben Sie im Feld Domainnamen eine durch Kommas getrennte Liste der Domainnamen des Zertifikats an. Jeder Domainname muss ein voll qualifizierter Domainname sein, z. B.
myorg.example.com.Wählen Sie unter Konfiguration für Zertifikatsausstellung auswählen den Namen der Konfigurationsressource für die Zertifikatsausstellung aus, die auf den Ziel-CA-Pool verweist.
Geben Sie im Feld Labels die Labels an, die dem Zertifikat zugewiesen werden sollen. Klicken Sie auf Label hinzufügen, um ein Label hinzuzufügen, und geben Sie einen Schlüssel und einen Wert für das Label an.
Klicken Sie auf Erstellen.
Das neue Zertifikat wird in der Liste der Zertifikate angezeigt.
gcloud
Verwenden Sie zum Erstellen eines regionalen von Google verwalteten Zertifikats mit Certificate Authority Service den Befehl certificate-manager certificates create mit dem Flag issuance-config:
gcloud certificate-manager certificates create CERTIFICATE_NAME \
--domains="DOMAIN_NAMES" \
--issuance-config="ISSUANCE_CONFIG_NAME" \
--location="LOCATION"
Ersetzen Sie Folgendes:
CERTIFICATE_NAME: Der Name des Zertifikats.DOMAIN_NAME: der Name der Zieldomain. Der Domainname muss ein voll qualifizierter Domainname sein, z. B.myorg.example.com.ISSUANCE_CONFIG_NAME: der Name der Ressource für die Konfiguration der Zertifikatsausstellung, die auf den Ziel-CA-Pool verweist.LOCATION: Der Ziel Google Cloud standort. Sie müssen denselben Standort wie für den CA-Pool, die Ressource für die Konfiguration der Zertifikatausstellung und das verwaltete Zertifikat angeben.
API
Erstellen Sie das Zertifikat. Stellen Sie dazu eine POST-Anfrage an die Methode certificates.create:
POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?certificate_id=CERTIFICATE_NAME"
{
name: "/projects/example-project/locations/LOCATION/certificates/my-cert",
"managed": {
"domains": ["DOMAIN_NAME"],
"issuanceConfig": "ISSUANCE_CONFIG_NAME",
},
}
Ersetzen Sie Folgendes:
PROJECT_ID: ID Ihres Google Cloud -Projekts.LOCATION: Der Ziel Google Cloud standort. Sie müssen denselben Standort wie für den CA-Pool, die Ressource für die Konfiguration der Zertifikatausstellung und das verwaltete Zertifikat angeben.CERTIFICATE_NAME: Der Name des Zertifikats.DOMAIN_NAME: der Name der Zieldomain. Der Domainname muss ein voll qualifizierter Domainname sein, z. B.myorg.example.com.ISSUANCE_CONFIG_NAME: der Name der Ressource für die Konfiguration der Zertifikatsausstellung, die auf den Ziel-CA-Pool verweist.
Status des Zertifikats prüfen
Prüfen Sie vor der Bereitstellung eines Zertifikats auf einem Load Balancer, ob es aktiv ist. Es kann einige Minuten dauern, bis sich der Zertifikatstatus in ACTIVE ändert.
Console
Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.
Sehen Sie sich auf dem Tab Zertifikate die Spalte Status für das Zertifikat an.
gcloud
Führen Sie den folgenden Befehl aus, um den Status des Zertifikats zu prüfen:
gcloud certificate-manager certificates describe CERTIFICATE_NAME \
--location=LOCATION
Ersetzen Sie Folgendes:
CERTIFICATE_NAME: Der Name des Zertifikats.LOCATION: Der Google Cloud Zielstandort, an dem Sie das von Google verwaltete Zertifikat erstellt haben.
Die Ausgabe sieht etwa so aus:
createTime: '2021-10-20T12:19:53.370778666Z' expireTime: '2022-05-07T05:03:49Z' managed: domains: - myorg.example.com issuanceConfig: projects/myproject/locations/LOCATION/issuanceConfigs/myissuanceConfig state: ACTIVE name: projects/myproject/locations/LOCATION/certificates/mycertificate pemCertificate: | -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Weitere Schritte zur Fehlerbehebung finden Sie unter Fehlerbehebung bei Certificate Manager.
Regionales von Google verwaltetes Zertifikat für einen Load Balancer bereitstellen
Wenn Sie das regionale von Google verwaltete Zertifikat bereitstellen möchten, hängen Sie es direkt an den Ziel-Proxy an.
Zertifikat direkt an den Ziel-Proxy anhängen
Sie können das Zertifikat an einen neuen oder vorhandenen Ziel-Proxy anhängen.
Verwenden Sie den Befehl gcloud compute
target-https-proxies create, um das Zertifikat an einen neuen Ziel-Proxy anzuhängen:
gcloud compute target-https-proxies create PROXY_NAME \
--certificate-manager-certificates=CERTIFICATE_NAME \
--url-map=URL_MAP \
--region=LOCATION
Ersetzen Sie Folgendes:
PROXY_NAME: Name des Ziel-Proxys.CERTIFICATE_NAME: Der Name des Zertifikats.URL_MAPist der Name der URL-Zuordnung. Sie haben die URL-Zuordnung beim Erstellen des Load-Balancers erstellt.LOCATION: Der Google Cloud Zielort, an dem Sie den HTTPS-Ziel-Proxy erstellen möchten.
Verwenden Sie den Befehl gcloud
compute target-https-proxies update, um ein Zertifikat an einen vorhandenen Ziel-HTTPS-Proxy anzuhängen. Wenn Sie den Namen des vorhandenen Ziel-Proxys nicht kennen, rufen Sie die Seite Ziel-Proxys auf und notieren Sie sich den Namen des Ziel-Proxys.
gcloud compute target-https-proxies update PROXY_NAME \
--region=LOCATION \
--certificate-manager-certificates=CERTIFICATE_NAME
Führen Sie nach dem Erstellen oder Aktualisieren des Ziel-Proxys den folgenden Befehl aus, um ihn zu prüfen:
gcloud compute target-https-proxies list
Fehlerbehebung bei Zertifikaten, die von CA Service ausgestellt wurden
Schritte zur Fehlerbehebung finden Sie unter Probleme im Zusammenhang mit Zertifikaten, die von einer CA Service-Instanz ausgestellt wurden.
Bereinigen
Löschen Sie die in dieser Anleitung verwendeten Ressourcen, um zu vermeiden, dass Ihrem Google Cloud Konto dafür Gebühren berechnet werden.
Löschen Sie den Load Balancer und seine Ressourcen.
Löschen Sie das von Google verwaltete Zertifikat:
Console
Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.
Klicken Sie auf dem Tab Zertifikate das Kästchen des Zertifikats an.
Klicken Sie auf Löschen.
Klicken Sie im angezeigten Dialogfeld zur Bestätigung auf Löschen.
gcloud
gcloud certificate-manager certificates delete CERTIFICATE_NAME \ --location=LOCATIONErsetzen Sie Folgendes:
CERTIFICATE_NAME: Der Name des Zertifikats.LOCATION: Der Ziel Google Cloud standort.
Löschen Sie die Konfigurationsressource für die Zertifikatsausstellung:
Console
Rufen Sie in der Google Cloud Console auf der Seite Zertifikatmanager den Tab Ausstellungskonfigurationen auf.
Klicken Sie auf das Kästchen neben der Ressource für die Ausstellungskonfiguration, die Sie löschen möchten.
Klicken Sie auf Löschen.
Klicken Sie im angezeigten Dialogfeld zur Bestätigung auf Löschen.
gcloud
gcloud certificate-manager issuance-configs delete ISSUANCE_CONFIG_NAME \ --location=LOCATIONErsetzen Sie Folgendes:
ISSUANCE_CONFIG_NAME: der Name der Ressource für die Konfiguration der Zertifikatsausstellung, die auf den Ziel-CA-Pool verweist.LOCATION: Der Ziel Google Cloud standort.
Löschen Sie den CA-Pool.
Wenn Sie den CA-Pool löschen oder die letzte aktivierte CA in einem CA-Pool deaktivieren möchten, auf den in einer Konfiguration für die Zertifikatsausstellung verwiesen wird, löschen Sie alle Konfigurationen für die Zertifikatsausstellung, in denen auf den CA-Pool verwiesen wird. Weitere Informationen finden Sie unter CA-Pool löschen.