In dieser Anleitung wird beschrieben, wie Sie mit dem Zertifikatmanager ein regionales von Google verwaltetes Zertifikat mit CA-Dienst für einen regionalen externen Application Load Balancer oder einen regionalen internen Application Load Balancer bereitstellen.
Lernziele
In diesem Anleitung werden die folgenden Aufgaben erläutert:
- Erstellen Sie mit dem Zertifikatmanager ein von Google verwaltetes Zertifikat mit CA Service.
- Stellen Sie das Zertifikat über einen HTTPS-Zielproxy für einen unterstützten Load-Balancer bereit.
Weitere Informationen zur Bereitstellung von Zertifikaten finden Sie unter Bereitstellungsübersicht.
Hinweise
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Sie benötigen die folgenden Rollen, um die Aufgaben in dieser Anleitung auszuführen:
- Certificate Manager Owner (Zertifikatmanager-Inhaber): Erforderlich zum Erstellen und Verwalten von Zertifikatmanager-Ressourcen.
- Administrator für Compute-Load-Balancer: Erforderlich zum Erstellen und Verwalten des HTTPS-Zielproxys.
- CA Service Admin: Erforderlich, um Aktionen innerhalb des 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
- Berechtigungen und Rollen für CA Service
Erstellen Sie einen CA-Pool. Sie müssen mindestens eine Zertifizierungsstelle in diesem Zertifizierungsstellenpool erstellen und aktivieren.
Einbindung von CA Service in Certificate Manager konfigurieren
Konfigurieren Sie den Zertifikatmanager so, dass er in den CA-Dienst eingebunden wird:
Erstellen Sie ein Dienstkonto für den Zertifikatmanager im Google Cloud-Zielprojekt:
gcloud beta services identity create \ --service=certificatemanager.googleapis.com \ --project=PROJECT_ID
Ersetzen Sie
PROJECT_ID
durch die ID des Google Cloud-Zielprojekts.
Der Befehl gibt den Namen der erstellten Dienstidentität zurück, wie im folgenden Beispiel gezeigt:
service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
Weisen Sie dem Dienstkonto des Zertifikatmanagers die Rolle „CA Service Certificate Requester“ im CA-Zielpool zu:
gcloud privateca pools add-iam-policy-binding CA_POOL \ --location LOCATION \ --member "serviceAccount:SERVICE_ACCOUNT" \ --role roles/privateca.certificateRequester
Ersetzen Sie Folgendes:
CA_POOL
: die ID des CA-Zielpools.LOCATION
: der Google Cloud-Zielstandort. Sie müssen denselben Standort wie den Zertifizierungsstellenpool, die Konfigurationsressource für die Zertifikatsausstellung und das verwaltete Zertifikat angeben.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 den CA-Pool:
gcloud beta certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \ --ca-pool=CA_POOL \ --location=LOCATION> \ [--lifetime=CERTIFICATE_LIFETIME] \ [--rotation-window-percentage=ROTATION_WINDOW_PERCENTAGE] \ [--key-algorithm=KEY_ALGORITHM]
Ersetzen Sie Folgendes:
ISSUANCE_CONFIG_NAME
: der eindeutige Name der Konfigurationsressource für die Zertifikatsausstellung.CA_POOL
: Der vollständige Ressourcenpfad und der Name des CA-Pools, den Sie dieser Konfigurationsressource für die Zertifikatsausstellung zuweisen möchten.LOCATION
: der Google Cloud-Zielstandort. Sie müssen denselben Standort wie den Zertifizierungsstellenpool, die Konfigurationsressource für die Zertifikatsausstellung und das verwaltete Zertifikat angeben.CERTIFICATE_LIFETIME
: die Lebensdauer des Zertifikats in Tagen. Gültige Werte sind 21 bis 30 Tage im Standardformat für die Dauer. Die Standardeinstellung beträgt 30 Tage (30D
). Diese Einstellung ist optional.ROTATION_WINDOW_PERCENTAGE
: Der Prozentsatz der Lebensdauer des Zertifikats, zu dem eine Verlängerung ausgelöst wird. Der Standardwert ist 66 %. Sie müssen den Prozentsatz des Rotationszeitraums im Verhältnis zur Lebensdauer des Zertifikats so festlegen, dass die Zertifikatsverlängerung mindestens 7 Tage nach Ausstellung des Zertifikats und mindestens 7 Tage vor Ablauf erfolgt. Diese Einstellung ist optional.KEY_ALGORITHM
: Der Verschlüsselungsalgorithmus, der zum Generieren des privaten Schlüssels verwendet wird. Gültige Werte sindecdsa-p256
undrsa-2048
. Der Standardwert istrsa-2048
. Diese Einstellung ist optional.
Weitere Informationen zu Konfigurationsressourcen für die Zertifikatsausstellung finden Sie unter Konfigurationen der Zertifikatsausstellung verwalten.
Regionales von Google verwaltetes Zertifikat erstellen
Erstellen Sie mithilfe der im vorherigen Schritt erstellten Konfigurationsressource für die Zertifikatsausstellung ein regionales, von Google verwaltetes Zertifikat, das von Ihrem Zertifizierungsstellendienst ausgestellt wurde:
Console
Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.
Wählen Sie auf der angezeigten Seite den Tab Zertifikate aus.
Klicken Sie auf Zertifikat hinzufügen.
Geben Sie einen Namen für das Zertifikat ein.
Dieser Name muss für das Projekt eindeutig sein.
Optional: Geben Sie eine Beschreibung für das Zertifikat ein. Anhand der Beschreibung können Sie später ein bestimmtes Zertifikat identifizieren.
Wählen Sie für Standort die Option Regional aus.
Wählen Sie in der Liste Region eine Region aus.
Wählen Sie für Zertifikatstyp die Option Von Google verwaltetes Zertifikat erstellen aus.
Wählen Sie als Typ der Zertifizierungsstelle die Option Privat aus.
Geben Sie die Domainnamen für das Zertifikat an. Geben Sie eine durch Kommas getrennte Liste der Zieldomains ein. Außerdem muss jeder Domainname ein vollständig qualifizierter Domainname sein, z. B.
myorg.example.com
.Wählen Sie unter Konfiguration der Zertifikatsausstellung den Namen der Konfigurationsressource für die Zertifikatsausstellung aus, die auf den CA-Zielpool verweist.
Geben Sie ein Label an, das mit dem Zertifikat verknüpft werden soll. Sie können bei Bedarf mehrere Labels hinzufügen. Klicken Sie zum Hinzufügen eines Labels auf die Schaltfläche add_box Label hinzufügen und geben Sie
key
undvalue
für das Label an.Klicken Sie auf Erstellen. Prüfen Sie, ob das neue Zertifikat in der Liste der Zertifikate angezeigt wird.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud beta certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAMES" \ --issuance-config="ISSUANCE_CONFIG_NAME" \ --location="LOCATION"
Ersetzen Sie Folgendes:
CERTIFICATE_NAME
: Ein eindeutiger Name des Zertifikats.DOMAIN_NAMES
: eine durch Kommas getrennte Liste der Zielpools für dieses Zertifikat. Jeder Domainname muss ein vollständig qualifizierter Domainname sein, z. B.myorg.example.com
.ISSUANCE_CONFIG_NAME
: der Name der Konfigurationsressource für die Zertifikatsausstellung, die auf den CA-Zielpool verweist.LOCATION
: der Google Cloud-Zielstandort. Sie müssen denselben Standort wie den Zertifizierungsstellenpool, die Konfigurationsressource für die Zertifikatsausstellung 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
: die ID des Google Cloud-Zielprojekts.LOCATION
: der Google Cloud-Zielstandort. Sie müssen denselben Standort wie den Zertifizierungsstellenpool, die Konfigurationsressource für die Zertifikatsausstellung und das verwaltete Zertifikat angeben.CERTIFICATE_NAME
: Ein eindeutiger Name des Zertifikats.DOMAIN_NAME
: die Zieldomain für dieses Zertifikat. Der Domainname muss ein voll qualifizierter Domainname sein, z. B.example.com
oderwww.example.com
.ISSUANCE_CONFIG_NAME
: der Name der Konfigurationsressource für die Zertifikatsausstellung, die auf den CA-Zielpool verweist.
Eine Übersicht über den Prozess der Zertifikatsbereitstellung finden Sie unter Bereitstellungsübersicht.
Prüfen, ob das Zertifikat aktiv ist
Prüfen Sie mit dem folgenden Befehl, ob das Zertifikat selbst aktiv ist, bevor Sie es auf dem Load-Balancer bereitstellen. Es kann einige Minuten dauern, bis sich der Zertifikatstatus in ACTIVE
ändert.
gcloud beta certificate-manager certificates describe CERTIFICATE_NAME \ --location=LOCATION
Ersetzen Sie Folgendes:
CERTIFICATE_NAME
: Ein eindeutiger Name des Zertifikats.LOCATION
: der Google Cloud-Zielstandort. Sie müssen denselben Standort wie den Zertifizierungsstellenpool, die Konfigurationsressource für die Zertifikatsausstellung und das verwaltete Zertifikat angeben.
Die Ausgabe des Befehls sieht in 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/mylocation/issuanceConfigs/myissuanceConfig state: ACTIVE name: projects/myproject/locations/mylocation/certificates/mycertificate pemCertificate: | -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Regionales von Google verwaltetes Zertifikat für einen Load-Balancer bereitstellen
Zum Bereitstellen des regionalen von Google verwalteten Zertifikats erstellen Sie einen HTTPS-Zielproxy und hängen das Zertifikat an diesen an.
HTTPS-Zielproxy erstellen
Führen Sie den folgenden Befehl aus, um den HTTPS-Zielproxy zu erstellen und das Zertifikat anzuhängen:
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP \ --region=REGION \ --certificate-manager-certificates=CERTIFICATE_NAME
Ersetzen Sie Folgendes:
PROXY_NAME
: Ein eindeutiger Name des Proxys.URL_MAP
ist der Name der URL-Zuordnung. Sie haben die URL-Zuordnung beim Erstellen des Load-Balancers erstellt.REGION
: Die Region, in der Sie den HTTPS-Zielproxy erstellen.CERTIFICATE_NAME
: der Name des Zertifikats.
Führen Sie den folgenden Befehl aus, um zu prüfen, ob der Zielproxy erstellt wurde:
gcloud compute target-https-proxies list
Erstellen Sie eine Weiterleitungsregel.
Richten Sie eine Weiterleitungsregel ein und schließen Sie die Einrichtung des Load-Balancers ab.
- Wenn Sie einen regionalen externen Application Load Balancer verwenden, lesen Sie Regionalen externen Application Load Balancer mit VM-Instanzgruppen-Back-Ends einrichten.
- Wenn Sie einen regionalen internen Application Load Balancer verwenden, lesen Sie Regionalen internen Application Load Balancer mit VM-Instanzgruppen-Back-Ends einrichten.
Bereinigen
Mit den folgenden Schritten können Sie die in dieser Anleitung vorgenommenen Änderungen rückgängig machen:
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=LOCATION
Ersetzen Sie Folgendes:
CERTIFICATE_NAME
: der Name des ZertifikatsLOCATION
: der Google Cloud-Zielstandort
Löschen Sie die Konfigurationsressource für die Zertifikatsausstellung:
Console
Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.
Klicken Sie auf dem Tab Issuance Configs auf das Kästchen der Ausstellungskonfiguration.
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=LOCATION
Ersetzen Sie Folgendes:
ISSUANCE_CONFIG_NAME
: der Name der AusstellungskonfigurationLOCATION
: der Google Cloud-Zielstandort
Löschen Sie den Zertifizierungsstellenpool wie unter CA-Pool löschen beschrieben.
Wenn Sie die letzte Zertifizierungsstelle aktivieren möchten, die Sie im CA-Pool aktiviert haben, auf den in der Konfigurationsressource für die Zertifikatsausstellung verwiesen wird, oder um den referenzierten CA-Pool vollständig zu löschen, müssen Sie zuerst alle Konfigurationsressourcen für die Zertifikatsausstellung löschen, die auf diesen CA-Pool verweisen.
Fehlerbehebung
Schritte zur Fehlerbehebung finden Sie unter Probleme mit Zertifikaten, die von einer CA Service-Instanz ausgestellt wurden.