Von Google verwaltetes Zertifikat für mehrere Regionen mit Certificate Authority Service bereitstellen


In dieser Anleitung erfahren Sie, wie Sie mit Certificate Manager ein globales von Google verwaltetes Zertifikat mit Certificate Authority Service auf einem regionsübergreifenden internen Application Load Balancer bereitstellen.

Wenn Sie die Bereitstellung auf globalen externen Load Balancern oder regionalen Load Balancern vornehmen möchten, lesen Sie die folgenden Artikel:

Lernziele

In diesem Anleitung werden die folgenden Aufgaben erläutert:

  • Mit dem Zertifikatmanager ein von Google verwaltetes Zertifikat mit dem CA-Dienst erstellen
  • Bereitstellen des Zertifikats auf einem unterstützten Load Balancer mit einem HTTPS-Zielproxy

Hinweis

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine, Certificate Manager, Certificate Authority APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Compute Engine, Certificate Manager, Certificate Authority APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. Aktivieren Sie die CA Service API.
  13. Erstellen Sie einen CA-Pool. Sie müssen mindestens eine Zertifizierungsstelle in diesem CA-Pool erstellen und aktivieren.

Notieren Sie sich Folgendes, bevor Sie die Schritte in dieser Anleitung ausführen:

  • Zertifikate, die Sie mit 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 aufgrund der Zertifikatsausstellungsrichtlinie 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 vorgenommen, die vom Zertifikatsmanager nicht unterstützt werden. In diesem Fall werden Ihnen Kosten in Rechnung gestellt, da das Zertifikat ausgestellt wurde, obwohl es nicht vollständig mit Certificate Manager kompatibel ist.
  • Globale von Google verwaltete TLS-Zertifikate können so konfiguriert werden, dass sie von einem CA-Pool in einer beliebigen Region ausgestellt werden.

Erforderliche Rollen

Sie benötigen die folgenden Rollen, um die Aufgaben in dieser Anleitung ausführen zu können:

  • Zertifikatmanager-Inhaber (roles/certificatemanager.owner)

    Erforderlich zum Erstellen und Verwalten von Certificate Manager-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 im CA Service auszuführen.

Hier finden Sie weitere Informationen:

Load-Balancer erstellen

In dieser Anleitung 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.

Wenn Sie noch keinen regionenübergreifenden internen Application Load Balancer erstellt haben, lesen Sie den Hilfeartikel Regionenübergreifenden internen Application Load Balancer mit Back-Ends von VM-Instanzgruppen einrichten.

CA Service-Integration mit dem Zertifikatsmanager konfigurieren

So integrieren Sie den CA-Dienst in Certificate Manager:

  1. Erstellen Sie im Ziel-Google Cloud-Projekt ein Certificate Manager-Dienstkonto:

    gcloud beta services identity create --service=certificatemanager.googleapis.com \
        --project=PROJECT_ID
    

    Ersetzen Sie PROJECT_ID durch die ID des Ziel-Google Cloud-Projekts.

    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
    
  2. Weisen Sie dem Dienstkonto des Zertifikatsmanagers die Rolle CA Service-Zertifikatsanfragesteller (roles/privateca.certificateRequester) im Ziel-CA-Pool 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 Ziel-CA-Pools.
    • LOCATION: den Ziel Google Cloud standort.
    • SERVICE_ACCOUNT: den vollständigen Namen des Dienstkontos, das Sie in Schritt 1 erstellt haben.
  3. Erstellen Sie eine Konfigurationsressource für die Zertifikatsausstellung für Ihren CA-Pool:

    Console

    1. Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.

      Zum Zertifikatmanager

    2. Klicken Sie auf dem Tab Ausgabekonfigurationen auf Erstellen.

    3. Geben Sie im Feld Name einen eindeutigen Namen für die Konfiguration der Zertifikatausstellung ein.

    4. Optional: Geben Sie im Feld Beschreibung eine Beschreibung für die Ausweisausgabekonfiguration ein.

    5. Wählen Sie unter Standort die Option Global aus.

    6. Optional: Geben Sie im Feld Lifetime die Lebensdauer des ausgestellten Zertifikats in Tagen an. Der Wert muss zwischen 21 und 30 Tagen liegen (einschließlich).

    7. Optional: Geben Sie unter Prozentsatz des Rotationszeitraums den Prozentsatz der Lebensdauer des Zertifikats an, zu dem die Verlängerung beginnt. Informationen zu den gültigen Werten finden Sie unter Prozentsatz für die Lebensdauer und das Rotationsfenster.

    8. Optional: Wählen Sie in der Liste Schlüsselalgorithmus den Algorithmus aus, der beim Generieren des privaten Schlüssels verwendet werden soll.

    9. Wählen Sie in der Liste CA-Pool den Namen des CA-Pools aus, den Sie dieser Konfigurationsressource für die Zertifikatausstellung zuweisen möchten.

    10. Geben Sie im Feld Labels die Labels an, die dem Zertifikat zugeordnet 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.

    11. Klicken Sie auf Erstellen.

    gcloud

    gcloud certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \
        --ca-pool=CA_POOL
    

    Ersetzen Sie Folgendes:

    • ISSUANCE_CONFIG_NAME: der Name der Konfigurationsressource für die Zertifikatsausstellung.
    • CA_POOL: Der vollständige Ressourcenpfad und der Name des Zertifizierungsstellenpools, den Sie dieser Ressource für die Zertifikatsausstellung zuweisen möchten.

    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 Ihrer CA Service-Instanz ausgestelltes, von Google verwaltetes Zertifikat:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.

    Zum Zertifikatmanager

  2. Klicken Sie auf dem Tab Zertifikate auf Zertifikat hinzufügen.

  3. Geben Sie im Feld Zertifikatname einen eindeutigen Namen für das Zertifikat ein.

  4. Optional: Geben Sie im Feld Beschreibung eine Beschreibung für das Zertifikat ein. Anhand der Beschreibung können Sie das Zertifikat identifizieren.

  5. Wählen Sie unter Standort die Option Global aus.

  6. Wählen Sie unter Umfang die Option Alle Regionen aus.

  7. Wählen Sie unter Zertifikattyp die Option Von Google verwaltetes Zertifikat erstellen aus.

  8. Wählen Sie unter Zertifizierungsstellentyp die Option Privat aus.

  9. 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.

  10. 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.

  11. Geben Sie im Feld Labels die Labels an, die dem Zertifikat zugeordnet 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.

  12. Klicken Sie auf Erstellen.

    Das neue Zertifikat wird in der Liste der Zertifikate angezeigt.

gcloud

Wenn Sie ein von Google verwaltetes regionales Zertifikat mit dem Certificate Authority Service erstellen möchten, verwenden Sie den Befehl certificate-manager certificates create mit den Flags issuance-config und --scope:

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --issuance-config=ISSUANCE_CONFIG_NAME \
    --scope=all-regions

Ersetzen Sie Folgendes:

  • CERTIFICATE_NAME ist 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 Konfigurationsressource für die Zertifikatsausstellung, die auf den Ziel-CA-Pool verweist.

API

So erstellen Sie das Zertifikat:POSTcertificates. create

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: ID des Google Cloud-Projekts.
  • CERTIFICATE_NAME ist 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 Konfigurationsressource für die 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

  1. Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.

    Zum Zertifikatmanager

  2. Prüfen Sie auf dem Tab Zertifikate in der Spalte Status den Status des Zertifikats.

gcloud

Führen Sie den folgenden Befehl aus, um den Status des Zertifikats zu prüfen:

gcloud certificate-manager certificates describe CERTIFICATE_NAME

Ersetzen Sie CERTIFICATE_NAME durch den Namen des Zielzertifikats, das von Google verwaltet wird.

Die Ausgabe 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/issuanceConfigs/myissuanceConfig
  state: ACTIVE
name: projects/myproject/locations/global/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.

Zertifikat auf einem Load Balancer bereitstellen

Wenn Sie das globale von Google verwaltete Zertifikat bereitstellen möchten, hängen Sie es direkt an den Zielproxy an.

Zertifikat direkt an den Zielproxy anhängen

Sie können das Zertifikat einem neuen oder einem vorhandenen Zielproxy zuweisen.

Verwenden Sie den Befehl gcloud compute target-https-proxies create, um das Zertifikat an einen neuen Zielproxy anzuhängen:

gcloud compute target-https-proxies create PROXY_NAME \
    --url-map=URL_MAP \
    --certificate-manager-certificates=CERTIFICATE_NAME \
    --global

Ersetzen Sie Folgendes:

  • PROXY_NAME: der Name des Zielproxys.
  • URL_MAP ist der Name der URL-Zuordnung. Sie haben die URL-Zuordnung beim Erstellen des Load Balancers erstellt.
  • CERTIFICATE_NAME ist der Name des Zertifikats.

Verwenden Sie den Befehl gcloud compute target-https-proxies update, um das Zertifikat an einen vorhandenen Ziel-HTTPS-Proxy anzuhängen. Wenn Sie den Namen des vorhandenen Zielproxys nicht kennen, rufen Sie die Seite Zielproxys auf und notieren Sie sich den Namen des Zielproxys.

gcloud compute target-https-proxies update PROXY_NAME \
    --global \
    --certificate-manager-certificates=CERTIFICATE_NAME

Führen Sie nach dem Erstellen oder Aktualisieren des Zielproxies den folgenden Befehl aus, um ihn zu überprüfen:

gcloud compute target-https-proxies list

Fehlerbehebung bei von CA Service ausgestellten Zertifikaten

Schritte zur Fehlerbehebung finden Sie unter Probleme im Zusammenhang mit von einer CA-Dienstinstanz ausgestellten Zertifikaten.

Bereinigen

Löschen Sie die in dieser Anleitung verwendeten Ressourcen, damit Ihrem Google Cloud -Konto keine Kosten in Rechnung gestellt werden.

  1. Löschen Sie den Load Balancer und seine Ressourcen.

    Load-Balancing-Einrichtung bereinigen.

  2. Löschen Sie das von Google verwaltete Zertifikat:

    Console

    1. Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.

      Zum Zertifikatmanager

    2. Klicken Sie auf dem Tab Zertifikate auf das Kästchen des Zertifikats.

    3. Klicken Sie auf Löschen.

    4. 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 Zielzertifikats.

  3. Löschen Sie die Ressource für die Konfiguration der Zertifikatsausstellung:

    Console

    1. Rufen Sie in der Google Cloud Console die Seite Zertifikatmanager auf.

      Zum Zertifikatmanager

    2. Klicken Sie auf dem Tab Ausstellungskonfigurationen das Kästchen der Konfigurationsressource für die Zertifikatsausstellung an.

    3. Klicken Sie auf Löschen.

    4. 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 der Konfigurationsressource für die Ausstellung des Zielzertifikats.

  4. Löschen Sie den CA-Pool.

    Wenn Sie den CA-Pool löschen oder die letzte aktivierte Zertifizierungsstelle in einem CA-Pool deaktivieren möchten, auf die eine Konfigurationsressource für die Zertifikatsausstellung verweist, löschen Sie alle Konfigurationen für die Zertifikatsausstellung, die auf den CA-Pool verweisen. Weitere Informationen finden Sie unter CA-Pool löschen.

Nächste Schritte