Regionales von Google verwaltetes Zertifikat mit Certificate Authority Service bereitstellen


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

  1. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  2. 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:

  3. Certificate Manager API aktivieren

  4. Aktivieren Sie die CA Service API.

  5. 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:

  1. 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
  1. 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.
  2. 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 sind ecdsa-p256 und rsa-2048. Der Standardwert ist rsa-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 wie myorg.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 oder www.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.

Bereinigen

Mit den folgenden Schritten können Sie die in dieser Anleitung vorgenommenen Änderungen rückgängig machen:

  1. 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 Zertifikats
  • LOCATION: der Google Cloud-Zielspeicherort
  1. 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 Zertifikats
  • LOCATION: der Google Cloud-Zielspeicherort
  1. 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.

Nächste Schritte