Regionales von Google verwaltetes Zertifikat mit Certificate Authority Service bereitstellen


In dieser Anleitung wird beschrieben, wie Sie mit dem Zertifikatmanager ein regionales von Google verwaltetes Zertifikat mit CA-Dienst 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 mit dem Zertifikatmanager ein von Google verwaltetes Zertifikat mit CA Service.
  • Stellen Sie das Zertifikat über einen HTTPS-Zielproxy für einen unterstützten Load-Balancer bereit.

Weitere Informationen zur Bereitstellung von Zertifikaten finden Sie unter Bereitstellungsübersicht.

Hinweise

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. 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: Erforderlich zum Erstellen und Verwalten des HTTPS-Zielproxys.
    • CA Service Admin: Erforderlich, um Aktionen innerhalb des CA Service auszuführen.

    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 mindestens eine Zertifizierungsstelle in diesem Zertifizierungsstellenpool erstellen und aktivieren.

Einbindung von CA Service in Certificate Manager konfigurieren

Konfigurieren Sie den Zertifikatmanager so, dass er in den CA-Dienst eingebunden wird:

  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. Weisen Sie dem Dienstkonto des Zertifikatmanagers die Rolle „CA Service Certificate Requester“ im CA-Zielpool 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 CA-Zielpools.
    • LOCATION: der Google Cloud-Zielstandort. Sie müssen denselben Standort wie den 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 CA-Pool:

    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 Standort wie den Zertifizierungsstellenpool, die Konfigurationsressource für die Zertifikatsausstellung und das verwaltete Zertifikat angeben.
    • CERTIFICATE_LIFETIME: die Lebensdauer des Zertifikats in Tagen. Gültige Werte sind 21 bis 30 Tage im Standardformat für die Dauer. Die Standardeinstellung 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 %. Sie müssen den Prozentsatz des Rotationszeitraums im Verhältnis zur Lebensdauer des Zertifikats so festlegen, dass 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, der zum Generieren des privaten Schlüssels verwendet 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 der 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 Zertifizierungsstellendienst ausgestellt wurde:

Console

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

    Zum Zertifikatmanager

  2. Wählen Sie auf der angezeigten Seite den Tab Zertifikate aus.

  3. Klicken Sie auf Zertifikat hinzufügen.

  4. Geben Sie einen Namen für das Zertifikat ein.

    Dieser Name muss für das Projekt eindeutig sein.

  5. Optional: Geben Sie eine Beschreibung für das Zertifikat ein. Anhand der Beschreibung können Sie später ein bestimmtes Zertifikat identifizieren.

  6. Wählen Sie für Standort die Option Regional aus.

  7. Wählen Sie in der Liste Region eine Region aus.

  8. Wählen Sie für Zertifikatstyp die Option Von Google verwaltetes Zertifikat erstellen aus.

  9. Wählen Sie als Typ der Zertifizierungsstelle die Option Privat aus.

  10. Geben Sie die Domainnamen für das Zertifikat an. Geben Sie eine durch Kommas getrennte Liste der Zieldomains ein. Außerdem muss jeder Domainname ein vollständig qualifizierter Domainname sein, z. B. myorg.example.com.

  11. Wählen Sie unter Konfiguration der Zertifikatsausstellung den Namen der Konfigurationsressource für die Zertifikatsausstellung aus, die auf den CA-Zielpool verweist.

  12. Geben Sie ein Label an, das mit dem Zertifikat verknüpft werden soll. Sie können bei Bedarf mehrere Labels hinzufügen. Klicken Sie zum Hinzufügen eines Labels auf die Schaltfläche Label hinzufügen und geben Sie key und value für das Label an.

  13. Klicken Sie auf Erstellen. Prüfen Sie, ob das neue Zertifikat in der Liste der Zertifikate angezeigt wird.

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 Zielpools 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.
  • LOCATION: der Google Cloud-Zielstandort. Sie müssen denselben Standort wie den 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 Standort wie den 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 CA-Zielpool verweist.

Eine Übersicht über den Prozess der Zertifikatsbereitstellung 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 Standort wie den Zertifizierungsstellenpool, die Konfigurationsressource für die Zertifikatsausstellung und das verwaltete Zertifikat angeben.

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/mylocation/issuanceConfigs/myissuanceConfig
state: ACTIVE
name: projects/myproject/locations/mylocation/certificates/mycertificate
pemCertificate: |
  -----BEGIN CERTIFICATE-----
  [...]
  -----END CERTIFICATE-----
sanDnsnames:
  -   myorg.example.com
updateTime: '2021-10-20T12:19:55.083385630Z'

Regionales von Google verwaltetes Zertifikat für einen Load-Balancer bereitstellen

Zum Bereitstellen des regionalen von Google verwalteten Zertifikats erstellen Sie einen HTTPS-Zielproxy und hängen das Zertifikat an diesen an.

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 wurde:

gcloud compute target-https-proxies list

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-Zielstandort
  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-Zielstandort
  1. Löschen Sie den Zertifizierungsstellenpool wie unter CA-Pool löschen beschrieben.

    Wenn Sie die letzte Zertifizierungsstelle aktivieren möchten, die Sie im CA-Pool aktiviert haben, 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 alle Konfigurationsressourcen für die Zertifikatsausstellung löschen, die auf diesen CA-Pool verweisen.

Fehlerbehebung

Schritte zur Fehlerbehebung finden Sie unter Probleme mit Zertifikaten, die von einer CA Service-Instanz ausgestellt wurden.

Nächste Schritte