Root-Zertifizierungsstelle erstellen
Auf dieser Seite wird beschrieben, wie Sie eine Root-Zertifizierungsstelle in einem Zertifizierungsstellenpool erstellen.
Eine Stammzertifizierungsstelle befindet sich an der Spitze einer Public-Key-Infrastrukturhierarchie (PKI). Sie ist für die Bildung des Vertrauensankers der PKI verantwortlich. Damit Zertifikate in einer PKI ordnungsgemäß verwendet werden können und diese ordnungsgemäß verwendet werden können, muss ein Gerät, eine Software oder eine Komponente der PKI vertrauen. Dazu wird das Gerät, die Software oder die Komponente so konfiguriert, dass der Stamm-CA vertraut wird. Daher sind alle von der Root-Zertifizierungsstelle ausgestellten Zertifikate vertrauenswürdig.
Hinweise
- Sie benötigen die IAM-Rolle „CA Service Operation Manager“ (
roles/privateca.caManager
) oder die IAM-Rolle „CA Service Admin“ (roles/privateca.admin
). Weitere Informationen finden Sie unter IAM-Richtlinien konfigurieren. - Erstellen Sie einen CA-Pool.
- Legen Sie die CA-Einstellungen fest.
Stamm-CA erstellen
Eine Root-Zertifizierungsstelle hat ein selbst signiertes Zertifikat, das Sie an die Trust Stores Ihrer Clients verteilen müssen. Das Zertifikat der Root-Zertifizierungsstelle befindet sich am Anfang der Zertifikatskette. Keine andere Zertifizierungsstelle kann das CA-Zertifikat widerrufen. Die Zertifikatssperrliste gilt nur für die anderen Zertifikate, die von der Root-Zertifizierungsstelle ausgestellt wurden, aber nicht für sich selbst.
Console
So erstellen Sie eine Stammzertifizierungsstelle:
Rufen Sie in der Google Cloud Console die Seite Certificate Authority Service auf.
Klicken Sie auf den Tab CA-Manager.
Klicken Sie auf Zertifizierungsstelle erstellen.
CA-Typ auswählen
So konfigurieren Sie die dauerhaften Einstellungen der Zertifizierungsstelle wie Stufe, Standort, Lebensdauer und Betriebszustand bei der Erstellung:
- Wählen Sie Root-Zertifizierungsstelle aus.
- Geben Sie im Feld Gültig für den Zeitraum ein, während dessen die vom CA-Zertifikat ausgestellten Zertifikate gültig sein sollen.
- Optional: Wählen Sie eine Stufe für die Zertifizierungsstelle aus.
- Klicken Sie auf Region und wählen Sie in der Liste den Standort aus, an dem Sie die Zertifizierungsstelle erstellen möchten. Wir empfehlen, die Zertifizierungsstelle geografisch in der Nähe der Clients Ihrer Anwendung zu erstellen. Weitere Informationen finden Sie unter Besten Standort auswählen.
Optional: Wählen Sie den Betriebsstatus der Zertifizierungsstelle aus, in der erstellt werden soll.
Optional: Klicken Sie auf Zertifikatsprofil. Wählen Sie in der Liste das Zertifikatsprofil aus, das dem Typ der Zertifikate entspricht, die die Zertifizierungsstelle ausstellen soll.
Klicken Sie auf Next (Weiter).
- Geben Sie in das Feld Organisation (O) den Namen Ihres Unternehmens ein.
- Optional: Geben Sie im Feld Organisationseinheit (OE) die Untergruppe oder Geschäftseinheit des Unternehmens ein.
- Optional: Geben Sie in das Feld Landesname einen zweistelligen Ländercode ein.
- Optional: Geben Sie in das Feld Name des Bundesstaats/-landes den Namen Ihres Bundesstaates ein.
- Optional: Geben Sie in das Feld Ortsname den Namen der Stadt ein.
- Geben Sie in das Feld CA Common Name (CN) den Namen der Zertifizierungsstelle ein.
- Geben Sie im Feld Pool-ID den Namen des Zertifizierungsstellenpools ein. Sie können den Zertifizierungsstellenpool nach dem Erstellen der Zertifizierungsstelle nicht mehr ändern.
- Klicken Sie auf Next (Weiter).
- Wählen Sie den Schlüsselalgorithmus aus, der Ihre Anforderungen am besten erfüllt. Informationen zur Auswahl eines geeigneten Schlüsselalgorithmus finden Sie unter Schlüsselalgorithmus auswählen.
- Klicken Sie auf Next (Weiter).
Die folgenden Schritte sind optional. Wenn Sie diese Schritte überspringen, gelten die Standardeinstellungen.
- Wählen Sie aus, ob Sie einen von Google verwalteten oder einen selbstverwalteten Cloud Storage-Bucket verwenden möchten.
- Wählen Sie aus, ob Sie das Veröffentlichen von Zertifikatssperrlisten (CRLs) und CA-Zertifikaten im Cloud Storage-Bucket deaktivieren möchten.
- Klicken Sie auf Next (Weiter).
Wenn Sie keinen selbstverwalteten Cloud Storage-Bucket auswählen, erstellt CA Service einen von Google verwalteten Bucket am selben Standort wie die Zertifizierungsstelle.
Das Veröffentlichen von Zertifikatssperrlisten und Zertifizierungsstellen der Zertifizierungsstelle in einem Cloud Storage-Bucket ist standardmäßig aktiviert. Klicken Sie auf die Ein-/Aus-Schaltflächen, um diese Einstellungen zu deaktivieren.
Die folgenden Schritte sind optional.
So fügen Sie der Zertifizierungsstelle Labels hinzu:
- Klicken Sie auf Element hinzufügen.
- Geben Sie im Feld Schlüssel 1 den Labelschlüssel ein.
- Geben Sie im Feld Wert 1 den Wert für das Label ein.
- Wenn Sie ein weiteres Label hinzufügen möchten, klicken Sie auf Element hinzufügen. Fügen Sie dann den Labelschlüssel und den Labelwert wie in den Schritten 2 und 3 beschrieben hinzu.
- Klicken Sie auf Next (Weiter).
Prüfen Sie alle Einstellungen sorgfältig und klicken Sie dann auf Erstellen, um die Zertifizierungsstelle zu erstellen.
gcloud
Führen Sie den folgenden Befehl aus, um einen Zertifizierungsstellenpool zu erstellen:
gcloud privateca pools create POOL_ID
Ersetzen Sie POOL_ID durch den Namen des Zertifizierungsstellenpools.
Weitere Informationen finden Sie unter CA-Pool erstellen.
Weitere Informationen zu diesem
gcloud
-Befehl finden Sie unter gcloud privatecapools create.Erstellen Sie eine neue Stammzertifizierungsstelle im erstellten Zertifizierungsstellenpool.
gcloud privateca roots create ROOT_CA_ID --pool=POOL_ID \ --key-algorithm=KEY_ALGORITHM \ --subject="CN=my-ca, O=Test LLC"
Ersetzen Sie Folgendes:
- ROOT_CA_ID: Der Name der Zertifizierungsstelle.
- POOL_ID: Der Name des Zertifizierungsstellenpools.
- KEY_ALGORITHM: Der Algorithmus zum Erstellen eines Cloud KMS-Schlüssels. Dieses Flag ist optional. Wenn Sie dieses Flag nicht angeben, wird der Schlüsselalgorithmus standardmäßig auf
rsa-pkcs1-4096-sha256
gesetzt. Weitere Informationen finden Sie unter --key-algorithmflag.
Standardmäßig wird die Zertifizierungsstelle mit dem Status
STAGED
erstellt. Fügen Sie das Flag--auto-enable
hinzu, um eine Zertifizierungsstelle standardmäßig zu aktivieren.Wenn Sie einen vom Kunden verwalteten Cloud Storage-Bucket zum Veröffentlichen von CA-Zertifikaten und Zertifikatssperrlisten verwenden möchten, fügen Sie dem Befehl
--bucket bucket-name
hinzu. Ersetzen Sie bucket-name durch den Namen des Cloud Storage-Bucket.Führen Sie den folgenden Befehl aus, um die vollständige Liste der Einstellungen aufzurufen:
gcloud privateca roots create --help
Terraform
Verwenden Sie die folgende Beispielkonfiguration, um eine Stammzertifizierungsstelle mit einem von Google verwalteten Schlüssel zu erstellen:
Verwenden Sie die folgende Beispielkonfiguration, um eine Stammzertifizierungsstelle mit einem selbstverwalteten Schlüssel zu erstellen:
Einfach loslegen (Go)
Richten Sie für die Authentifizierung beim CA Service Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie für die Authentifizierung beim CA Service Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie für die Authentifizierung beim CA Service Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST API
Erstellen Sie eine Stamm-CA.
HTTP-Methode und URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities?certificate_authority_id=ROOT_CA_ID
JSON-Text der Anfrage:
{ "type": "SELF_SIGNED", "lifetime": { "seconds": 315576000, "nanos": 0 }, "config": { "subject_config": { "subject": { "organization": "ORGANIZATION_NAME", "common_name": "COMMON_NAME" } }, "x509_config":{ "ca_options":{ "is_ca":true }, "key_usage":{ "base_key_usage":{ "cert_sign":true, "crl_sign":true } } } }, "key_spec":{ "algorithm":"RSA_PKCS1_4096_SHA256" } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }
Fragen Sie den Vorgang ab, bis er abgeschlossen ist.
HTTP-Methode und URL:
GET https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.security.privateca.v1.CertificateAuthority", "name": "...", } }
Nachdem Sie sich vergewissert haben, dass die Zertifizierungsstelle wie erwartet funktioniert, können Sie sie aktivieren, um Load-Balancing-Zertifikate für den Zertifizierungsstellenpool auszustellen.
Stamm-CA aktivieren
gcloud
Führen Sie den folgenden gcloud
-Befehl aus, um eine Stamm-CA zu aktivieren:
gcloud privateca roots enable ROOT_CA_ID --pool=POOL_ID
Ersetzen Sie Folgendes:
- ROOT_CA_ID: Der Name der Zertifizierungsstelle.
- POOL_ID: Der Name des Zertifizierungsstellenpools.
Terraform
Wenn Sie eine Root-Zertifizierungsstelle mit Terraform erstellen, wird sie beim Erstellen aktiviert. Wenn Sie eine Stamm-CA mit dem Status STAGED
erstellen möchten, setzen Sie beim Erstellen der Zertifizierungsstelle das Feld desired_state
auf STAGED
.
Sie können das Feld desired_state
nach dem Erstellen der Zertifizierungsstelle auf ENABLED
oder DISABLED
setzen.
Einfach loslegen (Go)
Richten Sie für die Authentifizierung beim CA Service Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie für die Authentifizierung beim CA Service Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie für die Authentifizierung beim CA Service Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST API
Aktivieren Sie die Zertifizierungsstelle, um Zertifikate aus dem CA-Pool auszustellen.
HTTP-Methode und URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/ROOT_CA_ID:enable
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }
Fragen Sie den Vorgang ab, bis er abgeschlossen ist.
HTTP-Methode und URL:
GET https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.security.privateca.v1.CertificateAuthority", "name": "...", } }
Zertifizierungsstelle testen
Wenn Sie prüfen möchten, ob eine Zertifizierungsstelle Zertifikate ausstellen kann, fordern Sie ein Zertifikat vom zugehörigen CA-Pool an und geben Sie mit dem Flag --ca
explizit den Namen der Zertifizierungsstelle an, die Sie testen möchten.
Mit den folgenden Methoden können Sie ein Zertifikat von einem Zertifizierungsstellenpool anfordern:
- Lassen Sie den CA Service einen privaten oder öffentlichen Schlüssel für Sie erstellen.
- Generieren Sie Ihren eigenen privaten oder öffentlichen Schlüssel und senden Sie eine Anfrage zur Zertifikatssignierung (Certificate Signing Request, CSR).
Es ist einfacher, einen automatisch generierten privaten oder öffentlichen Schlüssel zu verwenden, um ein Zertifikat von einer Zertifizierungsstelle in einem CA-Pool anzufordern. Dieser Abschnitt enthält Informationen zum Testen einer Zertifizierungsstelle mit dieser Methode.
Führen Sie den folgenden gcloud
-Befehl aus, um mit einem automatisch generierten privaten oder öffentlichen Schlüssel ein Zertifikat von einer Zertifizierungsstelle in einem Zertifizierungsstellenpool anzufordern:
gcloud privateca certificates create \
--issuer-pool=POOL_ID \
--ca=ROOT_CA_ID \
--generate-key \
--key-output-file=KEY_FILENAME \
--cert-output-file=CERT_FILENAME \
--dns-san=DNS_NAME
Ersetzen Sie Folgendes:
- POOL_ID: Der Name des Zertifizierungsstellenpools.
- ROOT_CA_ID: Die eindeutige Kennung der Zertifizierungsstelle, die Sie testen möchten.
- KEY_FILENAME: Die Datei, in die der generierte Schlüssel im PEM-Format geschrieben ist.
- CERT_FILENAME: Die Datei, in die die resultierende PEM-codierte Zertifikatskettendatei geschrieben wird. Die Zertifikatskette gilt vom Blatt zum Stamm.
DNS_NAME: Ein oder mehrere durch Kommas getrennte DNS-Subject Alternative Names (SANs).
Das Flag
--generate-key
generiert einen neuen privaten RSA-2048-Schlüssel auf Ihrem Computer.
Wie Sie mit einer Zertifizierungsstelle (Certificate Signing Request, CSR) ein Zertifikat von einer Zertifizierungsstelle in einem Zertifizierungsstellenpool anfordern, oder weitere Informationen zum Anfordern von Zertifikaten finden Sie unter Zertifikat anfordern und ausgestellte Zertifikate ansehen.
Zertifizierungsstellen klonen
Führen Sie den folgenden Befehl aus, um eine vorhandene Zertifizierungsstelle zu klonen oder eine neue Zertifizierungsstelle mit derselben Konfiguration zu erstellen:
gcloud privateca roots create NEW_CA_ID --pool=POOL_ID \
--from-ca=EXISTING_CA_ID \
--key-algorithm "ec-p384-sha384"
Ersetzen Sie Folgendes:
- NEW_CA_ID: Die eindeutige Kennung der neuen Zertifizierungsstelle.
- POOL_ID: Der Name des Zertifizierungsstellenpools, in dem Sie die neue Zertifizierungsstelle erstellen möchten.
Das Flag --from-ca
wird für das Erstellen von Stamm- und untergeordneten Zertifizierungsstellen unterstützt. Die vorhandene Zertifizierungsstelle muss sich im selben Zertifizierungsstellenpool wie die neue Zertifizierungsstelle befinden.
Das Flag --key-algorithm
kopiert die gesamte CA-Konfiguration aus der vorhandenen Zertifizierungsstelle (mit Ausnahme der Cloud KMS-Schlüsselversion und des Cloud Storage-Bucket). Sie können jedoch alle Konfigurationswerte in der neuen Zertifizierungsstelle überschreiben, indem Sie das entsprechende Flag explizit angeben. Sie können beispielsweise „--subject SUBJECT“ angeben, um ein neues Subjekt zu verwenden.
Wenn Sie das Flag --key-algorithm
weglassen, verwendet der Algorithmus standardmäßig:
rsa-pkcs1-4096-sha256
für Root-Zertifizierungsstellen.rsa-pkcs1-2048-sha256
für untergeordnete Zertifizierungsstellen.
Weitere Informationen zu diesem gcloud
-Befehl finden Sie unter gcloud privateca roots create.
Nächste Schritte
- Weitere Informationen zum Erstellen einer untergeordneten Zertifizierungsstelle
- Informationen zum Anfordern von Zertifikaten
- Weitere Informationen zu Vorlagen und Ausstellungsrichtlinien.