Zertifikat mit Terraform ausstellen
Hier erfahren Sie, wie Sie Terraform mit dem Certificate Authority Service verwenden, um Folgendes zu tun:
- Erstellen Sie einen CA-Pool und eine Stamm-CA im neuen CA-Pool.
- Erstellen Sie einen CA-Pool und eine untergeordnete CA darin, die von der Stamm-CA signiert wird.
- Generieren Sie eine neue Zertifikatsignierungsanfrage (Certificate Signing Request, CSR).
- Verwenden Sie die generierte CSR, um ein Zertifikat vom CA-Pool anzufordern, der die untergeordnete CA enthält.
Terraform ist eine Open-Source-Software, mit der Sie Ihre CA Service-Ressourcen mithilfe des Infrastructure-as-Code-Paradigmas erstellen und verwalten können. In dieser Kurzanleitung wird der Google Cloud Terraform-Anbieter für Terraform verwendet.
Eine detaillierte Anleitung dazu finden Sie direkt in der Google Cloud Console. Klicken Sie dazu einfach auf Anleitung:
Hinweis
Sie müssen die IAM-Rolle „CA Service-Administrator“ (roles/privateca.admin) haben. Wenn Sie diese IAM-Rolle nicht haben, lesen Sie
den Abschnitt Einzelne Rolle zuweisen
, um Informationen zum Zuweisen dieser Rolle zu erhalten.
ein Projekt Google Cloud erstellen
- Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Google Cloud-Nutzer sind, erstellen Sie ein Konto, um zu sehen, wie sich unsere Produkte in realen Szenarien schlagen. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the CA Service API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the CA Service API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
Google Cloud CLI installieren
Installieren Sie das Google Cloud CLI, falls noch nicht geschehen. Wählen Sie bei Aufforderung das Projekt aus, das Sie zuvor ausgewählt oder erstellt haben.
Wenn Sie das Google Cloud CLI bereits installiert haben, aktualisieren Sie es mit dem
gcloud components update Befehl:
gcloud components update
Terraform-Konfigurationsbeispiel
Terraform-Konfigurationsdatei ausführen
Führen Sie die Schritte in den folgenden Abschnitten aus, um Ihre Terraform-Konfiguration in einem Google Cloud Projekt anzuwenden.
Cloud Shell vorbereiten
- Rufen Sie Cloud Shell auf.
-
Legen Sie das Standard Google Cloud projekt fest, in dem Sie Ihre Terraform-Konfigurationen anwenden möchten.
Sie müssen diesen Befehl nur einmal pro Projekt und in jedem beliebigen Verzeichnis ausführen.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Umgebungsvariablen werden überschrieben, wenn Sie in der Terraform-Konfigurationsdatei explizite Werte festlegen.
Verzeichnis vorbereiten
Jede Terraform-Konfigurationsdatei muss ein eigenes Verzeichnis haben (auch als Stammmodul bezeichnet).
-
Erstellen Sie in Cloud Shell ein Verzeichnis und eine neue Datei in diesem Verzeichnis. Der Dateiname muss die Erweiterung
.tfhaben, z. B.main.tf. In dieser Anleitung wird die Datei alsmain.tfbezeichnet.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Wenn Sie einer Anleitung folgen, können Sie den Beispielcode in jedem Abschnitt oder Schritt kopieren.
Kopieren Sie den Beispielcode in das neu erstellte
main.tf.Kopieren Sie optional den Code aus GitHub. Dies wird empfohlen, wenn das Terraform-Snippet Teil einer End-to-End-Lösung ist.
- Prüfen und ändern Sie die Beispielparameter, die auf Ihre Umgebung angewendet werden sollen.
- Speichern Sie die Änderungen.
-
Initialisieren Sie Terraform. Dies ist nur einmal für jedes Verzeichnis erforderlich.
terraform init
Fügen Sie optional die Option
-upgradeein, um die neueste Google-Anbieterversion zu verwenden:terraform init -upgrade
Änderungen anwenden
-
Prüfen Sie die Konfiguration und prüfen Sie, ob die Ressourcen, die Terraform erstellen oder aktualisieren wird, Ihren Erwartungen entsprechen:
terraform plan
Korrigieren Sie die Konfiguration nach Bedarf.
-
Wenden Sie die Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie
yesan der Eingabeaufforderung ein:terraform apply
Warten Sie, bis Terraform die Meldung „Apply complete“ anzeigt.
- Öffnen Sie Ihr Google Cloud Projekt, um die Ergebnisse anzusehen. Rufen Sie in der Google Cloud Console Ihre Ressourcen in der Benutzeroberfläche auf, um sicherzustellen dass Terraform sie erstellt oder aktualisiert hat.
Bereinigen
So vermeiden Sie, dass Ihrem Google Cloud Konto die in dieser Kurzanleitung verwendeten Ressourcen in Rechnung gestellt werden: Löschen Sie den CA-Pool und alle Ressourcen, die in der Terraform-Konfigurationsdatei definiert sind:
terraform destroy
Geben Sie bei Aufforderung yes ein.
Wenn Sie für diese Kurzanleitung ein neues Projekt erstellt haben und es nicht mehr benötigen, dann löschen Sie das Projekt.
Nächste Schritte
- Weitere Informationen zum Ausführen von
gcloudBefehlen mit Cloud Shell. - Weitere Informationen zur Verwendung von Terraform mit Google Cloud.
- Weitere Informationen zur Verwendung von Terraform mit dem CA Service
- Lesen Sie die Terraform-Dokumentation zur Unterstützung des CA Service.
- Erste Schritte mit dem Google Cloud Anbieter.