In dieser Anleitung wird der Prozess der Zertifikatsbereitstellung beschrieben. Verwendung eines von Google verwalteten Zertifikats mit Certificate Authority Service als Beispiel.
Die folgenden Load-Balancer unterstützen von Google verwaltete Zertifikate mit dem CA-Dienst:
- Globaler externer Application Load Balancer
- Klassischer Application Load Balancer
- Regionsübergreifender interner Application Load Balancer
- Globaler externer Proxy-Network Load Balancer
Ob eine Richtlinie zur Zertifikatsausstellung gilt im Ziel-CA-Pool kann die Bereitstellung von Zertifikaten aus einem der folgenden Gründe fehlschlagen:
- Die Richtlinie zur Zertifikatsausstellung hat das angeforderte Zertifikat blockiert. In diesem Fall werden Ihnen keine Kosten in Rechnung gestellt, da das Zertifikat noch nicht ausgestellt wurde.
- Durch die Richtlinie wurden Änderungen am Zertifikat angewendet, die vom Zertifikatmanager nicht unterstützt werden. In diesem Fall werden Ihnen die Kosten nach der Ausstellung des Zertifikats in Rechnung gestellt, auch wenn es nicht vollständig mit dem Zertifikatmanager kompatibel ist.
Zertifikate, die anhand der Schritte in dieser Anleitung ausgestellt wurden, sind nicht öffentlich vertrauenswürdig. Wenn Sie Zertifikate ausstellen, die öffentlich vertrauenswürdig sind, führen Sie stattdessen die Schritte in einer der folgenden Anleitungen aus:
- Von Google verwaltetes Zertifikat mit DNS-Autorisierung bereitstellen (Anleitung)
- Von Google verwaltetes Zertifikat mit Load-Balancer-Autorisierung bereitstellen (Anleitung)
Wenn Sie ein vorhandenes Zertifikat zum Zertifikatmanager migrieren möchten, folgen Sie führen Sie stattdessen die Schritte unter Zertifikate zum Zertifikatmanager migrieren aus.
Auch wenn Sie einen regionalen Zertifizierungsstellenpool verwenden, um einen von Google verwalteten TLS-Zertifikat enthält, ist das Zertifikat selbst global und kann in jeder Region verwendet werden.
Lernziele
In diesem Anleitung werden die folgenden Aufgaben erläutert:
- Von Google verwaltetes Zertifikat mit CA Service erstellen mit dem Zertifikatmanager.
- Stellen Sie das Zertifikat mithilfe eines Ziel-HTTPS-Proxys 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 oder Compute-Netzwerkadministrator:Erforderlich zum Erstellen und Verwalten des HTTPS-Zielproxys.
- Certificate Authority Service Admin:Erforderlich, um Aktionen innerhalb von CA Service auszuführen.
Hier finden Sie weitere Informationen:
- Rollen und Berechtigungen für den 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 zuerst erstellen und aktivieren mindestens eine Zertifizierungsstelle in diesem Zertifizierungsstellenpool vorhanden ist.
Einbindung von CA Service in Certificate Manager konfigurieren
Konfigurieren Sie den Zertifikatmanager so, dass er in den CA-Dienst integriert wird:
Verwenden Sie den folgenden Befehl, um ein Dienstkonto für den Zertifikatmanager im Google Cloud-Zielprojekt zu erstellen:
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. Sehen Sie sich folgendes Beispiel an:
service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
Gewähren Sie dem Dienstkonto des Zertifikatmanagers die Rolle „Certificate Requester“ in den CA-Zielpool so an:
gcloud privateca pools add-iam-policy-binding CA_POOL \ --location REGION \ --member "serviceAccount:SERVICE_ACCOUNT" \ --role roles/privateca.certificateRequester
Ersetzen Sie Folgendes:
CA_POOL
: die ID des CA-Zielpools.REGION
: die Google Cloud-Zielregion.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 certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \ --ca-pool=CA_POOL \ [--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.CERTIFICATE_LIFETIME
: die Lebensdauer des Zertifikats in Tagen. Gültige Werte sind 21 bis 30 Tage in 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. Diese Einstellung ist optional.Die Standardeinstellung ist 66 Prozent. Sie müssen den Prozentsatz für das Rotationsfenster im Verhältnis zur Lebensdauer des Zertifikats so einstellen, dass die Zertifikatsverlängerung mindestens 7 Tage nach Ausstellung des Zertifikats und mindestens 7 Tage vor dem Ablauf erfolgt.
KEY_ALGORITHM
: der für die Verarbeitung verwendete Verschlüsselungsalgorithmus den privaten Schlüssel generieren. Gültige Werte sindecdsa-p256
undrsa-2048
. Der Standardwert istrsa-2048
. Diese Einstellung ist optional.
Weitere Informationen zu Konfigurationen für die Zertifikatsausstellung finden Sie unter Konfigurationen der 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.
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. Die Beschreibung können Sie später ein bestimmtes Zertifikat identifizieren.
Wählen Sie für Standort die Option Global aus.
Wählen Sie für Umfang eine der folgenden Optionen aus:
- Standard: Wählen Sie die Standardeinstellung für den globalen externen Application Load Balancer, einen klassischen Application Load Balancer oder einen globalen externen Proxy-Network Load Balancer aus.
- Alle Regionen: Wählen Sie alle Regionen für einen regionenübergreifenden internen Application Load Balancer 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. Durch Kommas getrennte Werte eingeben Liste der Zieldomains. Außerdem muss jeder Domainname ein voll qualifizierter Domainname, z. B.
myorg.example.com
.Wählen Sie für die Konfiguration der Zertifikatsausstellung den Namen des Zertifikats aus. Konfigurationsressource der Ausstellung, die auf den CA-Zielpool verweist.
Geben Sie ein Label an, das mit dem Zertifikat verknüpft werden soll. Sie können mehrere Labels hinzufügen. Um ein Label hinzuzufügen, klicken Sie auf das add_box Label hinzufügen und legen Sie
key
undvalue
für das Label fest.Klicken Sie auf Erstellen. Prüfen Sie, ob das neue Zertifikat in der Liste der Zertifikate angezeigt wird.
gcloud
Für einen globalen externen Application Load Balancer, einen klassischen Application Load Balancer oder einen globalen externen Proxy-Network Load Balancer:
Führen Sie dazu diesen Befehl aus:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAMES" \ --issuance-config=ISSUANCE_CONFIG_NAME
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 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.
Für einen regionsübergreifenden internen Application Load Balancer:
Führen Sie dazu diesen Befehl aus:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAMES" \ --issuance-config=ISSUANCE_CONFIG_NAME \ --scope=all-regions
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 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.
API
Erstellen Sie das Zertifikat, indem Sie eine POST
-Anfrage an certificates.create
stellen
so an:
Für einen globalen externen Application Load Balancer, einen Classic Application Load Balancer oder einen globalen externen Proxynetzwerk-Load Balancer:
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME" { "managed": { "domains": ["DOMAIN_NAME"], "issuanceConfig": "ISSUANCE_CONFIG_NAME", } }
Ersetzen Sie Folgendes:
PROJECT_ID
: die ID des Google Cloud-Zielprojekts.CERTIFICATE_NAME
: Ein eindeutiger Name des Zertifikats.DOMAIN_NAME
: die Zieldomain für dieses Zertifikat . Der 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 Zertifizierungsstellenzielpool.
Für einen regionsübergreifenden internen Application Load Balancer:
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME" { "managed": { "domains": ["DOMAIN_NAME"], "issuanceConfig": "ISSUANCE_CONFIG_NAME", "scope": "ALL_REGIONS" } }
Ersetzen Sie Folgendes:
PROJECT_ID
: die ID des Google Cloud-Zielprojekts.CERTIFICATE_NAME
: Ein eindeutiger Name des Zertifikats.DOMAIN_NAME
: die Zieldomain für dieses Zertifikat . Der 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 die Zertifizierungsstellenzielpool.
Eine Übersicht über die Bereitstellung 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 der
Zertifikatstatus, der in ACTIVE
geändert werden soll.
gcloud certificate-manager certificates describe CERTIFICATE_NAME
Ersetzen Sie CERTIFICATE_NAME
durch den Namen des Ziels.
Von Google verwaltetes Zertifikat.
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/global/certificateIssuanceConfigs/myIssuanceConfig state: ACTIVE name: projects/myProject/locations/global/certificates/myCert pemCertificate: | -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Zertifikat für einen Load-Balancer bereitstellen
In diesem Abschnitt werden die erforderlichen Schritte zum Bereitstellen des von Google verwalteten Zertifikats für einen Load-Balancer beschrieben.
Bevor Sie mit den Aufgaben in diesem Abschnitt fortfahren, stellen Sie sicher, dass Sie das Aufgaben, die in den Abschnitten Integration der Zertifizierungsstelle in den Zertifikatmanager konfigurieren und Von Google verwaltetes Zertifikat erstellen, das von Ihrer CA Service-Instanz ausgestellt wurde aufgeführt sind.
Je nach Load-Balancer-Typ können Sie Zertifikate so bereitstellen:
- Stellen Sie für die folgenden Load-Balancer das Zertifikat mithilfe einer Zertifikatszuordnung bereit:
<ph type="x-smartling-placeholder">
- </ph>
- Globaler externer Application Load Balancer
- Globaler externer Proxy-Network Load Balancer
- Klassischer Application Load Balancer
- Stellen Sie das Zertifikat für den regionsübergreifenden internen Application Load Balancer bereit, indem Sie es direkt an den Zielproxy anhängen.
Zertifikat mithilfe einer Zertifikatszuordnung bereitstellen
In diesem Abschnitt werden die Schritte zum Bereitstellen eines Zertifikats mithilfe einer Zertifikatszuordnung beschrieben.
Zertifikatzuordnung erstellen
Zertifikatszuordnung erstellen die auf den Zertifikatszuordnungseintrag verweist mit Ihrem Zertifikat verknüpft sind:
gcloud certificate-manager maps create CERTIFICATE_MAP_NAME
Ersetzen Sie CERTIFICATE_MAP_NAME
durch den Namen der Zielzertifikatzuordnung.
Eintrag für Zertifikatszuordnung erstellen
Zertifikatszuordnungseintrag erstellen und mit Ihrem Zertifikat verknüpfen sowie Ihre Zertifikatszuordnung:
gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME" \ --certificates="CERTIFICATE_NAME" \ --hostname="HOSTNAME"
Ersetzen Sie Folgendes:
CERTIFICATE_MAP_ENTRY_NAME
: ein eindeutiger Name des Zertifikatszuordnungseintrags.CERTIFICATE_MAP_NAME
: der Name des Zertifikats, dem es zugeordnet ist. an diesen Zertifikatzuordnungseintrag angehängt wirdCERTIFICATE_NAME
: der Name des Zertifikats, das Sie verwenden möchten mit diesem Zertifikatzuordnungseintrag verknüpfenHOSTNAME
: der Hostname, den Sie verknüpfen möchten mit diesem Zertifikatzuordnungseintrag
Prüfen, ob der Zertifikatzuordnungseintrag aktiv ist
Prüfen Sie mit dem folgenden Befehl, ob der Eintrag der Zertifikatszuordnung aktiv ist, bevor Sie die entsprechende Zertifikatszuordnung an den Zielproxy anhängen:
gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Ersetzen Sie Folgendes:
CERTIFICATE_MAP_ENTRY_NAME
: der Name des Ziels Eintrag in ZertifikatszuordnungCERTIFICATE_MAP_NAME
: der Name des Zertifikats, dem es zugeordnet ist. an diesen Zertifikatzuordnungseintrag angehängt wird
Die Ausgabe des Befehls sieht in etwa so aus:
certificates: createTime: '2021-09-06T10:01:56.229472109Z' hostname: example.com name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/myCertMapEntry state: ACTIVE updateTime: '2021-09-06T10:01:58.277031787Z'
Zertifikatszuordnung an den Zielproxy anhängen
Hängen Sie die konfigurierte Zertifikatszuordnung an den Zielproxy an:
Rufen Sie in der Google Cloud Console die Seite Zielproxys auf.
Notieren Sie sich den Namen des Zielproxys.
Hängen Sie die Zertifikatszuordnung an den Zielproxy an:
gcloud compute target-https-proxies update PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME"
Ersetzen Sie Folgendes:
PROXY_NAME
: der Name des ZielproxysCERTIFICATE_MAP_NAME
: der Name der Zertifikatszuordnung Verweist auf Ihren Zertifikatzuordnungseintrag und das zugehörige Zertifikat
Sind bereits TLS/SSL-Zertifikate direkt an die Proxy verwendet, gibt der Proxy die Zertifikate, auf die die Zertifikatszuordnung verweist, den Vorzug vor. über die direkt angehängten TLS/SSL-Zertifikate.
Zertifikat direkt an den Zielproxy anhängen
Führen Sie den folgenden Befehl aus, um das Zertifikat direkt an den Proxy anzuhängen:
gcloud compute target-https-proxies update PROXY_NAME \ --url-map=URL_MAP \ --global \ --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.CERTIFICATE_NAME
: der Name des Zertifikats.
Fehlerbehebung
Schritte zur Fehlerbehebung finden Sie unter Probleme im Zusammenhang mit Zertifikaten, die von einer CA Service-Instanz ausgestellt wurden
Bereinigen
Führen Sie die folgenden Schritte aus, um die Änderungen, die Sie in dieser Anleitung vorgenommen haben, rückgängig zu machen. Schritte:
Trennen Sie die Zertifikatszuordnung vom Proxy.
Beachten Sie Folgendes, bevor Sie die Zertifikatszuordnung trennen:
- Wenn TLS/SSL-Zertifikate direkt an den Proxy angehängt sind, Durch das Trennen der Zertifikatszuordnung kann der Proxy diese direkt wieder verwenden angehängte TLS/SSL-Zertifikate.
- Wenn keine TLS/SSL-Zertifikate direkt mit dem Proxy verbunden sind, ist die Zertifikatszuordnung kann nicht vom Proxy getrennt werden. Sie müssen zuerst mindestens ein TLS (SSL) anhängen Zertifikat direkt an den Proxy, bevor Sie die Zertifikatszuordnung trennen können.
Führen Sie den folgenden Befehl aus, um die Zertifikatszuordnung zu trennen:
gcloud compute target-https-proxies update PROXY_NAME \ --clear-certificate-map
Ersetzen Sie
PROXY_NAME
durch den Namen des Zielproxys.Löschen Sie den Zertifikatszuordnungseintrag aus der Zertifikatszuordnung:
gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Ersetzen Sie Folgendes:
CERTIFICATE_MAP_ENTRY_NAME
: der Name des Eintrag für die Zertifikatszuordnung im ZielCERTIFICATE_MAP_NAME
: der Name des Zielzertifikatszuordnung
Löschen Sie die Zertifikatszuordnung:
gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME
Ersetzen Sie
CERTIFICATE_MAP_NAME
durch den Namen des Ziels. Zertifikatszuordnung.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 der Zertifikat.
Klicken Sie auf Löschen.
Klicken Sie im angezeigten Dialogfeld zur Bestätigung auf Löschen.
gcloud
gcloud certificate-manager certificates delete CERTIFICATE_NAME
Ersetzen Sie
CERTIFICATE_NAME
durch den Namen des Ziels. Zertifikat.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 (Ausgabekonfigurationen) das Kästchen neben 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
Ersetzen Sie
ISSUANCE_CONFIG_NAME
durch den Namen des Ziels. Konfigurationsressource der Zertifikatsausstellung.Löschen Sie den Zertifizierungsstellenpool wie unter CA-Pool löschen beschrieben.
Zum Deaktivieren der letzten Zertifizierungsstelle, die Sie im Zertifizierungsstellenpool aktiviert haben, auf den im Konfiguration der Zertifikatsausstellung oder um den referenzierten CA-Pool vollständig zu löschen, müssen Sie Löschen Sie zuerst alle Konfigurationen für die Zertifikatsausstellung, die auf diesen CA-Pool verweisen.