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 initWenn 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 Berechtigungresourcemanager.projects.createenthält. Informationen zum Zuweisen von Rollen
-
So erstellen Sie ein Google Cloud Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch 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_IDdurch 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 Rollengcloud 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 LOCATIONCA 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:
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.
Damit das Google Cloud SDK die Pyca-Kryptografiebibliothek verwenden kann, müssen Sie Site-Pakete aktivieren.
macOS oder Linux
export CLOUDSDK_PYTHON_SITEPACKAGES=1Windows
set CLOUDSDK_PYTHON_SITEPACKAGES=1Erstellen 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.pemErsetzen 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.
Widerrufen Sie das Zertifikat.
- 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
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:
Löschen Sie die Zertifizierungsstelle.
Sie können eine Zertifizierungsstelle erst löschen, nachdem Sie alle von ihr ausgestellten Zertifikate widerrufen haben.
Deaktivieren Sie die CA.
gcloud privateca roots disable CA_ID --pool=POOL_ID --location=LOCATIONErsetzen 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.
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.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=LOCATIONLöschen Sie das Projekt.
Google Cloud -Projekt löschen:
gcloud projects delete PROJECT_ID