In dieser Anleitung wird beschrieben, wie Sie mithilfe des Zertifikatmanagers ein regionales, von Google verwaltetes Zertifikat mit dem Zertifizierungsstellendienst 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 mithilfe von Certificate Manager ein von Google verwaltetes Zertifikat mit CA Service.
- Stellen Sie das Zertifikat mithilfe eines Ziel-HTTPS-Proxys für einen unterstützten Load-Balancer bereit.
Weitere Informationen zum Bereitstellen von Zertifikaten finden Sie unter Bereitstellungsübersicht.
Hinweise
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
Für die Ausführung der Aufgaben in dieser Anleitung benötigen Sie die folgenden Rollen:
- Inhaber des Zertifikatmanagers: Erforderlich, um Zertifikatsmanager-Ressourcen zu erstellen und zu verwalten.
- Administrator für Compute Load Balancer: Erforderlich zum Erstellen und Verwalten eines HTTPS-Zielproxys.
- CA Service Admin: Erforderlich zum Ausführen von Aktionen innerhalb des CA Service.
Hier finden Sie weitere Informationen:
- Rollen und Berechtigungen für Certificate Manager
- 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 in diesem Zertifizierungsstellenpool mindestens eine Zertifizierungsstelle erstellen und aktivieren.
CA Service-Integration in den Zertifikatmanager konfigurieren
So konfigurieren Sie den Zertifikatmanager für die Einbindung in den CA Service:
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
Gewähren Sie dem Zertifikatmanager-Dienstkonto im CA-Zielpool die Rolle CA Service Certificate Requester (CA-Dienstzertifikat-Anforderer):
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 Zertifizierungsstellenpools.LOCATION
: der Google Cloud-Zielstandort. Sie müssen denselben Speicherort wie der 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 Zertifizierungsstellenpool:
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 Speicherort wie der Zertifizierungsstellenpool, die Konfigurationsressource für die Zertifikatsausstellung und das verwaltete Zertifikat angeben.CERTIFICATE_LIFETIME
: die Zertifikatslebensdauer in Tagen. Gültige Werte sind 21 bis 30 Tage im Standardformat für die Dauer. Der Standardwert 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 Prozent. Sie müssen den Prozentsatz des Rotationsfensters in Bezug auf die Zertifikatslebensdauer festlegen, sodass 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, mit dem der private Schlüssel generiert 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 für die 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 CA-Dienst ausgestellt wurde:
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 Zieldomains für dieses Zertifikat. Jeder Domainname muss ein voll qualifizierter Domainname wiemyorg.example.com
sein.ISSUANCE_CONFIG_NAME
: Der Name der Konfigurationsressource für die Zertifikatsausstellung, die auf den Zielpool der Zertifizierungsstelle verweist.LOCATION
: der Google Cloud-Zielstandort. Sie müssen denselben Speicherort wie der 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 Speicherort wie der 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 Zielpool der Zertifizierungsstelle verweist.
Einen Überblick über den Bereitstellungsprozess von Zertifikaten 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 Speicherort wie der Zertifizierungsstellenpool, die Konfigurationsressource für die Zertifikatsausstellung und das verwaltete Zertifikat angeben.
Der Befehl gibt in etwa folgende Ausgabe zurück:
certificatePem: myPEM 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 scope: myScope subjectAlternativeNames:- - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Regionales von Google verwaltetes Zertifikat für einen Load-Balancer bereitstellen
Erstellen Sie einen HTTPS-Zielproxy und hängen Sie das Zertifikat an diesen an, um das regionale von Google verwaltete Zertifikat bereitzustellen.
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 wird:
gcloud compute list target-https-proxies
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:
gcloud certificate-manager certificates delete CERTIFICATE_NAME --location=LOCATION
Ersetzen Sie Folgendes:
CERTIFICATE_NAME
: der Name des ZertifikatsLOCATION
: der Google Cloud-Zielspeicherort
Löschen Sie die Konfigurationsressource für die Zertifikatsausstellung:
gcloud certificate-manager issuance-configs delete ISSUANCE_CONFIG_NAME --location=LOCATION
Ersetzen Sie Folgendes:
CERTIFICATE_NAME
: der Name des ZertifikatsLOCATION
: der Google Cloud-Zielspeicherort
Löschen Sie den CA-Pool wie unter CA-Pool löschen beschrieben.
Wenn Sie die letzte aktivierte Zertifizierungsstelle im CA-Pool aktivieren möchten, 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 jede Konfigurationsressource für die Zertifikatsausstellung löschen, die auf diesen CA-Pool verweist.
Fehlerbehebung
Informationen zur Fehlerbehebung finden Sie unter Probleme mit Zertifikaten, die von einer CA Service-Instanz ausgestellt werden.