Zertifikat mit der Google Cloud CLI ausstellen
Auf dieser Seite wird erläutert, wie Sie mit der Google Cloud CLI Zertifikate über den Zertifikatsstellendienst generieren oder ausstellen.
Mit CA Service können Sie private Zertifizierungsstellen bereitstellen und verwalten, ohne die Infrastruktur verwalten zu müssen.
Hinweise
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create
PROJECT_ID Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project
PROJECT_ID Replace
PROJECT_ID
with your Google Cloud project name.
-
Enable the Certificate Authority Service API:
gcloud services enable privateca.googleapis.com
Make sure that billing is enabled for your Google Cloud project.
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 Speicherort, den Sie nach dem Erstellen dieser Ressourcen nicht mehr ändern können.
CA-Pool erstellen
Ein Zertifizierungsstellenpool besteht aus mehreren Zertifizierungsstellen. Mit einem CA-Pool können Sie Vertrauensketten ohne Ausfallzeiten für Arbeitslasten rotieren.
Führen Sie den folgenden Befehl aus, um einen CA-Pool in der Enterprise-Stufe 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.
Die Namen aller CA-Dienstressourcen dürfen nur die zulässigen Zeichen enthalten, also Buchstaben, Ziffern, Bindestriche und Unterstriche. Ein Name darf maximal 63 Zeichen lang sein.
Stamm-CA erstellen
Ein CA-Pool ist beim Erstellen 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 den folgenden Befehl 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 Root-Zertifizierungsstelle, indem Sie in der gcloud CLI auf die Aufforderung hin y
eingeben.
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 Speicherort des untergeordneten CA-Pools. Eine vollständige Liste der Standorte finden Sie unter Standorte.
- TIER: die Stufe der untergeordneten Zertifizierungsstelle, entweder „DevOps“ oder „Enterprise“.
Optional: Erstellen Sie eine untergeordnete Zertifizierungsstelle, die von einer Root-Zertifizierungsstelle signiert wird, die in Google Cloud
Führen Sie den folgenden Befehl aus, um eine untergeordnete Zertifizierungsstelle 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 Zertifizierungsstelle.
- 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-Zertifizierungsstelle.
- 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 Meldung 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 Zertifizierungsstelle, indem Sie in der gcloud CLI aufgefordert werden, y
einzugeben.
Zertifikat erstellen
So erstellen Sie mit der neu erstellten Zertifizierungsstelle ein Zertifikat:
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 den CA-Dienst gesendet.
Damit das Google Cloud SDK die kryptografische Bibliothek von Pyca verwenden kann, müssen Sie Website-Pakete aktivieren.
export CLOUDSDK_PYTHON_SITEPACKAGES=1
set CLOUDSDK_PYTHON_SITEPACKAGES=1
Erstellen Sie ein Zertifikat.
gcloud privateca certificates create \ --issuer-pool
POOL_ID \ --issuer-locationISSUER_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 Standort 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 Zertifizierungsstelle und das Projekt löschen, das 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-poolPOOL_ID --locationLOCATION 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 Zertifizierungsstelle.
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.
Löschen Sie die Zertifizierungsstelle.
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 Zertifizierungsstelle 30 Tage nach dem Starten des Löschvorgangs endgültig.Löschen Sie den CA-Pool.
Sie können einen CA-Pool erst löschen, nachdem die darin enthaltene Zertifizierungsstelle endgültig gelöscht wurde.
gcloud privateca pools delete
POOL_ID --location=LOCATION Löschen Sie das Projekt.
Delete a Google Cloud project:
gcloud projects deletePROJECT_ID