Regionales von Google verwaltetes Zertifikat mit Certificate Authority Service bereitstellen


In dieser Anleitung erfahren Sie, wie Sie mit dem Zertifikatmanager ein regionales von Google verwaltetes Zertifikat mit Zertifizierungsstelle auf einem regionalen externen oder internen Application Load Balancer bereitstellen.

Wenn Sie eine Bereitstellung auf globalen externen Load Balancern oder regionenübergreifenden Load Balancern vornehmen möchten, lesen Sie die folgenden Informationen:

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

Hinweise

  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 mit den Schritten in dieser Anleitung fortfahren:

  • 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 die Kosten in Rechnung gestellt, da das Zertifikat ausgestellt wurde, obwohl es nicht vollständig mit Certificate Manager kompatibel ist.
  • Von Google verwaltete TLS-Zertifikate, die von einem regionalen CA-Pool ausgestellt werden, sind global und können in jeder Region verwendet 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 Administrator für Compute-Netzwerk (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.

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 Dienstkonto für Certificate Manager:

    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 Zielstandort Google Cloud .
    • 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 als Standort die Option Regional aus.

      Wählen Sie unter Region dieselbe Region wie für Ihr Zertifikat und Ihren Zertifizierungsstellenpool 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 Lebensdauer und 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 \
        --location=LOCATION
    

    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.
    • LOCATION: den Ziel Google Cloud standort. Sie müssen denselben Speicherort wie für den CA-Pool und das Zertifikat angeben.

    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 als Standort die Option Regional aus.

  6. Wählen Sie in der Liste Region Ihre Region 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

Verwenden Sie zum Erstellen eines regionalen von Google verwalteten Zertifikats mit Certificate Authority Service den Befehl certificate-manager certificates create mit dem Flag issuance-config:

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --issuance-config="ISSUANCE_CONFIG_NAME" \
    --location="LOCATION"

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.
  • LOCATION: den Ziel Google Cloud standort. Sie müssen denselben Speicherort wie für den CA-Pool, die Konfigurationsressource für die Zertifikatausstellung und das verwaltete Zertifikat angeben.

API

So erstellen Sie das Zertifikat:POSTcertificates.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: ID des Google Cloud-Projekts.
  • LOCATION: den Ziel Google Cloud standort. Sie müssen denselben Speicherort wie für den CA-Pool, die Konfigurationsressource für die Zertifikatausstellung und das verwaltete Zertifikat angeben.
  • 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 \
    --location=LOCATION

Ersetzen Sie Folgendes:

  • CERTIFICATE_NAME ist der Name des Zertifikats.
  • LOCATION: der Ziel Google Cloud speicherort, an dem Sie das von Google verwaltete Zertifikat erstellt haben.

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

Regionales von Google verwaltetes Zertifikat auf einem Load Balancer bereitstellen

Wenn Sie das regionale 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 \
    --certificate-manager-certificates=CERTIFICATE_NAME \
    --url-map=URL_MAP \
    --region=LOCATION

Ersetzen Sie Folgendes:

  • PROXY_NAME: der Name des Zielproxys.
  • CERTIFICATE_NAME ist der Name des Zertifikats.
  • URL_MAP ist der Name der URL-Zuordnung. Sie haben die URL-Zuordnung beim Erstellen des Load Balancers erstellt.
  • LOCATION: der Zielstandort Google Cloud , an dem Sie den HTTPS-Ziel-Proxy erstellen möchten.

Verwenden Sie den Befehl gcloud compute target-https-proxies update, um einem vorhandenen Ziel-HTTPS-Proxy ein Zertifikat 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 \
    --region=LOCATION \
    --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 Service-Instanz ausgestellten Zertifikaten beheben.

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 \
        --location=LOCATION
    

    Ersetzen Sie Folgendes:

    • CERTIFICATE_NAME ist der Name des Zertifikats.
    • LOCATION: den Ziel Google Cloud standort.
  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. Setzen Sie auf dem Tab Ausgabekonfigurationen ein Häkchen in das Kästchen der Ausgabekonfigurationsressource.

    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 \
        --location=LOCATION
    

    Ersetzen Sie Folgendes:

    • ISSUANCE_CONFIG_NAME: der Name der Konfigurationsressource für die Zertifikatsausstellung, die auf den Ziel-CA-Pool verweist.
    • LOCATION: den Ziel Google Cloud standort.
  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 in einer Konfiguration für die Zertifikatsausstellung verwiesen wird, 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