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.

  • Erstellen Sie ein Google Cloud Projekt oder wählen Sie eines aus.

    Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind

    • 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 „Projektersteller“ (roles/resourcemanager.projectCreator), die die Berechtigung resourcemanager.projects.create enthält. Weitere 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 den Namen Ihres Projekts in Google Cloud .

  • Aktivieren Sie die Certificate Authority Service API:

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen

    gcloud services enable privateca.googleapis.com

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

  • Konfigurieren Sie einen Standardspeicherort 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 der Erstellung 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 bis zu 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 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 Stufe 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 CA. 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 CA 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 Cryptography-Bibliothek 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 CA Service gesendet.

  2. Damit das Google Cloud SDK die Pyca Cryptography-Bibliothek verwenden kann, müssen Sie Website-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.

    CA Service 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 CA.

    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 Zertifizierungsstelle.
      • 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 CA.

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

    Der Status der Zertifizierungsstelle ändert sich in Deleted. Der CA-Dienst löscht die CA 30 Tage nach dem Starten 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 endgültig 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