Zertifikat mit der Google Cloud CLI ausstellen

Auf dieser Seite wird erläutert, wie Sie mit der Google Cloud CLI Zertifikate über den Certificate Authority Service generieren oder ausstellen.

Mit CA Service können Sie private Zertifizierungsstellen bereitstellen und verwalten, ohne die Infrastruktur verwalten zu müssen.

Hinweis

  • Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

    gcloud init

    Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  • Google Cloud Projekt erstellen oder auswählen

    Erforderliche Rollen zum Auswählen oder Erstellen eines Projekts

    • Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
    • Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Project Creator“ (roles/resourcemanager.projectCreator), die die Berechtigung resourcemanager.projects.create enthält. Informationen zum Zuweisen von Rollen
    • So erstellen Sie ein Google Cloud Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch einen Namen für das Google Cloud Projekt, das Sie erstellen.

    • Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:

      gcloud config set project PROJECT_ID

      Ersetzen Sie PROJECT_ID durch Ihren Google Cloud Projektnamen.

  • Aktivieren Sie die Certificate Authority Service API, falls sie noch nicht aktiviert ist:

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    gcloud services enable privateca.googleapis.com

  • Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.

  • Konfigurieren Sie einen standardmäßigen Standort für die Verwendung in den gcloud-Befehlen in dieser Kurzanleitung.

    gcloud config set privateca/location LOCATION
    

    CA Service-Ressourcen wie CA-Pools und CAs befinden sich an einem einzigen Google Cloud Standort, den Sie nach dem Erstellen dieser Ressourcen nicht mehr ändern können.

CA-Pool erstellen

Ein Zertifizierungsstellenpool ist eine Sammlung mehrerer Zertifizierungsstellen. Ein CA-Pool bietet die Möglichkeit, Vertrauensketten ohne Ausfallzeiten für Arbeitslasten zu rotieren.

Führen Sie den folgenden Befehl aus, um einen CA-Pool im Enterprise-Tarif zu erstellen:

gcloud privateca pools create POOL_ID --location LOCATION --tier "enterprise"

Ersetzen Sie Folgendes:

  • POOL_ID: der Name des CA-Pools
  • LOCATION: der Standort des CA-Pools. Eine vollständige Liste der Standorte finden Sie unter Standorte.

Ressourcennamen dürfen Buchstaben, Ziffern, Bindestriche (-) und Unterstriche (_) enthalten und maximal 63 Zeichen lang sein.

Stamm-CA erstellen

Ein CA-Pool ist bei der Erstellung leer. Wenn Sie Zertifikate von einem CA-Pool anfordern möchten, müssen Sie eine Zertifizierungsstelle hinzufügen.

Führen Sie den folgenden Befehl aus, um eine Stamm-CA zu erstellen und sie dem von Ihnen erstellten CA-Pool hinzuzufügen:

gcloud privateca roots create CA_ID --pool POOL_ID --location LOCATION --subject "CN=Example Prod Root CA,O=Google"

Ersetzen Sie Folgendes:

  • CA_ID: der Name der Stammzertifizierungsstelle
  • POOL_ID: der Name des CA-Pools
  • LOCATION: der Standort des CA-Pools. Eine vollständige Liste der Standorte finden Sie unter Standorte.

CA Service gibt die folgende Ausgabe zurück, wenn die Stamm-CA erstellt wird:

Created Certificate Authority [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/CA_ID]

Aktivieren Sie die Stammzertifizierungsstelle, indem Sie y eingeben, wenn Sie von der gcloud CLI dazu aufgefordert werden.

Optional: Untergeordneten CA-Pool erstellen

Führen Sie den folgenden Befehl aus, um einen untergeordneten CA-Pool zu erstellen:

    gcloud privateca pools create SUBORDINATE_POOL_ID
        --location LOCATION
        --tier TIER

Ersetzen Sie Folgendes:

  • SUBORDINATE_POOL_ID: die ID des untergeordneten CA-Pools
  • LOCATION: der Standort des untergeordneten CA-Pools. Eine vollständige Liste der Standorte finden Sie unter Standorte.
  • TIER: die Ebene der untergeordneten CA, entweder „devops“ oder „enterprise“

Optional: Erstellen Sie eine untergeordnete CA, die von einer in Google Cloudgespeicherten Root-CA signiert wird.

Führen Sie den folgenden Befehl aus, um eine untergeordnete CA im untergeordneten CA-Pool zu erstellen, den Sie im vorherigen Schritt erstellt haben:

    gcloud privateca subordinates create SUBORDINATE_CA_ID \
        --location=LOCATION \
        --pool=SUBORDINATE_POOL_ID \
        --issuer-pool=POOL_ID \
        --issuer-location=ISSUER_LOCATION \
        --from-ca=EXISTING_CA_ID \
        --kms-key-version projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/KEY_VERSION

Ersetzen Sie Folgendes:

  • SUBORDINATE_CA_ID: die ID der untergeordneten CA
  • LOCATION: der Standort der untergeordneten Zertifizierungsstelle. Eine vollständige Liste der Standorte finden Sie unter Standorte.
  • SUBORDINATE_POOL_ID: die ID des untergeordneten CA-Pools, den Sie im vorherigen Abschnitt erstellt haben
  • POOL_ID: die ID des übergeordneten CA-Pools
  • ISSUER_LOCATION: der Speicherort des Zertifikats
  • EXISTING_CA_ID: die ID der Quell-CA
  • PROJECT_ID: die ID des Projekts.
  • LOCATION_ID: der Speicherort des Schlüsselbunds
  • KEY_RING: der Name des Schlüsselbunds, in dem sich der Schlüssel befindet
  • KEY: der Name des Schlüssels
  • KEY_VERSION: die Version des Schlüssels

Die folgende Anweisung wird zurückgegeben, wenn die untergeordnete Zertifizierungsstelle erstellt wird.

Created Certificate Authority [projects/my-project-pki/locations/us-west1/caPools/SUBORDINATE_POOL_ID/certificateAuthorities/SUBORDINATE_CA_ID].

Aktivieren Sie die untergeordnete CA, indem Sie y eingeben, wenn Sie von der gcloud CLI dazu aufgefordert werden.

Zertifikat erstellen

So erstellen Sie ein Zertifikat mit der neu erstellten Zertifizierungsstelle:

  1. Installieren Sie die Pyca-Kryptografiebibliothek mit dem Befehl pip.

      pip install --user "cryptography>=2.2.0"
    

    Der CA-Dienst verwendet die Pyca-Kryptografiebibliothek, um ein neues asymmetrisches Schlüsselpaar auf Ihrem lokalen Computer zu generieren und zu speichern. Dieser Schlüssel wird nie an den CA-Dienst gesendet.

  2. Damit das Google Cloud SDK die Pyca-Kryptografiebibliothek verwenden kann, müssen Sie Site-Pakete aktivieren.

    macOS oder Linux

    export CLOUDSDK_PYTHON_SITEPACKAGES=1
    

    Windows

    set CLOUDSDK_PYTHON_SITEPACKAGES=1
    
  3. Erstellen Sie ein Zertifikat.

      gcloud privateca certificates create \
          --issuer-pool POOL_ID \
          --issuer-location ISSUER_LOCATION \
          --subject "CN=Example Prod,O=Google" \
          --generate-key \
          --key-output-file=./key \
          --cert-output-file=./cert.pem
    

    Ersetzen Sie Folgendes:

    • POOL_ID: die Ressourcen-ID des von Ihnen erstellten CA-Pools
    • ISSUER_LOCATION: Der Speicherort der Zertifizierungsstelle, die das digitale Zertifikat ausgestellt hat.

    Der CA-Dienst gibt die folgende Antwort zurück:

    Created Certificate [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificates/CERTIFICATE_ID]
    

Bereinigen

Führen Sie eine Bereinigung durch, indem Sie den CA-Pool, die CA und das Projekt löschen, die Sie für diese Kurzanleitung erstellt haben.

  1. Widerrufen Sie das Zertifikat.

      Führen Sie den folgenden Befehl aus, um ein Zertifikat zu widerrufen:

       gcloud privateca certificates revoke --certificate CERT_NAME --issuer-pool POOL_ID --location 
      LOCATION
        

      Ersetzen Sie Folgendes:

      • CERT_NAME: der Name des Zertifikats, das Sie widerrufen möchten
      • POOL_ID: der Name des CA-Pools, der das Zertifikat ausgestellt hat
      • LOCATION: der Standort des CA-Pools
  2. Löschen Sie die Zertifizierungsstelle.

    Sie können eine Zertifizierungsstelle erst löschen, nachdem Sie alle von ihr ausgestellten Zertifikate widerrufen haben.

    1. Deaktivieren Sie die CA.

      gcloud privateca roots disable CA_ID --pool=POOL_ID --location=LOCATION
      

      Ersetzen Sie Folgendes:

      • CA_ID: die Ressourcen-ID der CA
      • POOL_ID: die Ressourcen-ID des CA-Pools
      • LOCATION: der Standort des CA-Pools. Eine vollständige Liste der Standorte finden Sie unter Standorte.
    2. Löschen Sie die Zertifizierungsstelle.

      gcloud privateca roots delete CA_ID --pool=POOL_ID --location=LOCATION
      

    Der CA-Status ändert sich in Deleted. Der CA-Dienst löscht die CA 30 Tage nach dem Start des Löschvorgangs endgültig.

  3. Löschen Sie den CA-Pool.

    Sie können einen CA-Pool erst löschen, nachdem die darin enthaltene CA dauerhaft gelöscht wurde.

    gcloud privateca pools delete POOL_ID --location=LOCATION
    
  4. Löschen Sie das Projekt.

    Google Cloud -Projekt löschen:

    gcloud projects delete PROJECT_ID

Nächste Schritte