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 können.
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 oder wählen Sie ein Google Cloud Projekt 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 ein beliebiges 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 dieresourcemanager.projects.createBerechtigung enthält. Informationen zum Zuweisen von Rollen.
-
Projekt erstellen: Google Cloud
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:
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 für Ihr Google Cloud Projekt die Abrechnung 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 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.
Ressourcennamen können 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 aus einem CA-Pool anfordern möchten, müssen Sie eine CA 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 Stamm-CA
- 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 bei der Erstellung der Stamm-CA die folgende Ausgabe zurück:
Created Certificate Authority [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/CA_ID]
Aktivieren Sie die Stamm-CA, indem Sie bei entsprechender Aufforderung durch die gcloud CLI 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 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: Untergeordnete CA erstellen, die von einer in gespeicherten Stamm-CA signiert wird Google Cloud
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 Standort des Zertifikats
- EXISTING_CA_ID: die ID der Quell-CA
- PROJECT_ID: die ID des Projekts
- LOCATION_ID: der Standort 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 bei entsprechender Aufforderung durch die gcloud CLI y eingeben.
Zertifikat erstellen
So erstellen Sie mit der neu erstellten CA ein Zertifikat:
Installieren Sie die Pyca Cryptography-Bibliothek mit dem Befehl
pip.pip install --user "cryptography>=2.2.0"CA Service verwendet die Pyca Cryptography-Bibliothek, um ein neues asymmetrisches Schlüsselpaar auf Ihrem lokalen Computer zu generieren und zu speichern. Dieser Schlüssel wird niemals 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 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 CA und das Projekt löschen, die Sie für diese Kurzanleitung erstellt haben.
Heben Sie das Zertifikat auf.
- CERT_NAME: der Name des Zertifikats, das Sie aufheben 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 aufzuheben:
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 CA erst löschen, nachdem Sie alle von ihr ausgestellten Zertifikate aufgehoben 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 CA.
gcloud privateca roots delete CA_ID --pool=POOL_ID --location=LOCATION
Der CA-Status ändert sich in
Deleted. CA Service 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 CA darin endgültig gelöscht wurde.
gcloud privateca pools delete POOL_ID --location=LOCATIONLöschen Sie das Projekt.
Projekt löschen: Google Cloud
gcloud projects delete PROJECT_ID
Nächste Schritte
- Weitere Informationen zu CA-Pools.
- Weitere Informationen zum Erstellen eines CA Pools.
- Weitere Informationen zum Erstellen von CAs.
- Weitere Informationen zum Anfordern von Zertifikaten.
- Informationen zum Steuern des Typs von Zertifikaten, die ein CA-Pool ausstellen kann