Globales, von Google verwaltetes Zertifikat mit Certificate Authority Service bereitstellen


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:

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

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

  3. Aktivieren Sie die CA Service API.

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

  1. 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
    
  2. Gewähren Sie dem Dienstkonto des Zertifikatmanagers die Rolle „Zertifikatsanfragesteller“ 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.
  3. 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 sind ecdsa-p256 und rsa-2048. Der Standardwert ist rsa-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

  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. Die Beschreibung können Sie später ein bestimmtes Zertifikat identifizieren.

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

  7. Wählen Sie für Umfang eine der folgenden Optionen aus:

    1. 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.
    2. Alle Regionen: Wählen Sie alle Regionen für einen regionenübergreifenden internen Application Load Balancer 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. Durch Kommas getrennte Werte eingeben Liste der Zieldomains. Außerdem muss jeder Domainname ein voll qualifizierter Domainname, z. B. myorg.example.com.

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

  12. 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 Label hinzufügen und legen Sie key und value für das Label fest.

  13. 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 das 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:

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 wird
  • CERTIFICATE_NAME: der Name des Zertifikats, das Sie verwenden möchten mit diesem Zertifikatzuordnungseintrag verknüpfen
  • HOSTNAME: 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 Zertifikatszuordnung
  • CERTIFICATE_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:

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

    Zu Ziel-Proxys

  2. Notieren Sie sich den Namen des Zielproxys.

  3. 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 Zielproxys
    • CERTIFICATE_MAP_NAME: der Name der Zertifikatszuordnung Verweist auf Ihren Zertifikatzuordnungseintrag und das zugehörige Zertifikat

Sind bereits TLS/SSL-Zertifikate direkt an die Proxy gibt der Proxy den Vorzug für die Zertifikate, auf die von der Zertifikatszuordnung verwiesen wird. ü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:

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

  2. 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 Ziel
    • CERTIFICATE_MAP_NAME: der Name des Zielzertifikatzuordnung
  3. Löschen Sie die Zertifikatszuordnung:

    gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME
    

    Ersetzen Sie CERTIFICATE_MAP_NAME durch den Namen des Ziels. Zertifikatszuordnung.

  4. 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 das Kästchen der Zertifikat.

    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 Ziels. Zertifikat.

  5. Löschen Sie die Konfigurationsressource für die Zertifikatsausstellung:

    Console

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

      Zum Zertifikatmanager

    2. Klicken Sie auf dem Tab Issuance Configs (Ausgabekonfigurationen) das Kästchen neben Ausstellungskonfiguration.

    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 des Ziels. Konfigurationsressource der Zertifikatsausstellung.

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

Nächste Schritte