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.
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 Berechtigungresourcemanager.projects.createenthält. Weitere 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 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 Berechtigungserviceusage.services.enableenthält. Weitere Informationen zum Zuweisen von Rollengcloud 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 LOCATIONCA 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:
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.
Damit das Google Cloud SDK die Pyca Cryptography-Bibliothek verwenden kann, müssen Sie Website-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.
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.
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 CA.
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 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 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.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=LOCATIONLöschen Sie das Projekt.
Google Cloud -Projekt löschen:
gcloud projects delete PROJECT_ID