Zertifizierungsstellenpool eine Zertifikatsausstellungsrichtlinie hinzufügen
Auf dieser Seite wird beschrieben, wie Sie einem CA-Pool eine Zertifikatsausstellungsrichtlinie hinzufügen.
Mit einer Richtlinie zur Zertifikatsausstellung können Sie die alternativen Antragstellernamen (Subject Alternative Names, SANs) angeben, die in den ausgestellten Zertifikaten enthalten sein können. Sie können die Zertifikatsausstellungsrichtlinie beim Erstellen eines Zertifizierungsstellenpools angeben oder einen vorhandenen Zertifizierungsstellenpool aktualisieren, um eine Ausstellungsrichtlinie hinzuzufügen.
Weitere Informationen finden Sie unter Übersicht über Vorlagen und Ausstellungsrichtlinien.
Hinweise
Sie benötigen die IAM-Rolle „CA Service Operation Manager“ (
roles/privateca.caManager
) oder die IAM-Rolle „CA Service Admin“ (roles/privateca.admin
). Informationen zum Zuweisen einer IAM zu einem Hauptkonto finden Sie unter Eine einzelne Rolle zuweisen.
Datei mit der Zertifikatsausstellungsrichtlinie hinzufügen
So fügen Sie einem vorhandenen Zertifizierungsstellenpool eine Zertifikatsausstellungsrichtlinie hinzu:
Console
Rufen Sie in der Google Cloud Console die Seite Certificate Authority Service auf.
Klicken Sie auf der Seite CA-Pool-Manager auf den Namen des CA-Pools, für den Sie eine Zertifikatsausstellungsrichtlinie hinzufügen möchten.
Klicken Sie auf der Seite CA-Pool auf
Bearbeiten.
So konfigurieren Sie Einschränkungen für den Betreff und die SANs in den vom CA-Pool ausgestellten Zertifikaten:
- Optional: Klicken Sie auf die Ein-/Aus-Schaltfläche, um zu verhindern, dass Inhaber in Zertifikatsanfragen weitergeleitet werden.
- Optional: Klicken Sie auf die Ein-/Aus-Schaltfläche, um zu verhindern, dass alternative Antragstellernamen in Zertifikatsanfragen weitergegeben werden.
- Optional: Fügen Sie einen CEL-Ausdruck (Common Expression Language) hinzu, um die Zertifikatsthemen einzuschränken. Weitere Informationen finden Sie unter CEL verwenden.
- Klicken Sie auf Next (Weiter).
Klicken Sie auf die Ein-/Aus-Schaltfläche, um zu verhindern, dass alle Erweiterungen aus Zertifikatsanfragen in den ausgestellten Zertifikaten enthalten sind.
Nachdem Sie auf die Ein-/Aus-Schaltfläche geklickt haben, wird das Feld Bekannte Zertifikaterweiterungen angezeigt, in dem Sie die Zertifikatserweiterungen auswählen können. So wählen Sie die Zertifikatserweiterungen aus:
- Optional: Klicken Sie auf das Feld Bekannte Zertifikatserweiterungen und entfernen Sie die nicht erforderlichen Erweiterungen aus dem Menü.
- Optional: Fügen Sie im Feld Benutzerdefinierte Erweiterungen die Objektkennungen für Erweiterungen hinzu, die in den vom CA-Pool ausgestellten Zertifikaten enthalten sein sollen.
So konfigurieren Sie Referenzwerte in den Zertifikaten, die vom CA-Pool ausgestellt werden:
- Klicken Sie auf die Ein-/Aus-Schaltfläche.
- Klicken Sie auf Referenzwerte konfigurieren.
Mit dieser Einstellung können Sie konfigurieren, wie der im Zertifikat enthaltene Schlüssel verwendet werden soll. Zu den Optionen für die Schlüsselverwendung gehören u. a. die Schlüsselverschlüsselung, die Datenverschlüsselung, die Zertifikatssignierung und die CRL-Signierung.
Weitere Informationen finden Sie unter Schlüsselverwendung.
So definieren Sie die Basisschlüsselverwendungen:
- Optional: Klicken Sie im angezeigten Fenster auf die Ein-/Aus-Schaltfläche, wenn Sie Basisschlüsselverwendungen für die Zertifikate angeben möchten.
- Wählen Sie mithilfe der Kontrollkästchen aus, wie ein Schlüssel verwendet werden soll.
- Klicken Sie auf Next (Weiter).
Mit dieser Einstellung lassen sich detailliertere Szenarien auswählen, in denen der im Zertifikat enthaltene Schlüssel verwendet werden kann. Zu den Optionen gehören unter anderem Serverauthentifizierung, Clientauthentifizierung, Codesignatur, E-Mail-Schutz und mehr.
Erweiterte Schlüsselverwendungen werden mithilfe von Objektkennungen (OIDs) definiert. Wenn Sie die erweiterten Schlüsselverwendungen nicht konfigurieren, sind alle Schlüsselnutzungsszenarien zulässig.
Weitere Informationen finden Sie unter Erweiterte Schlüsselverwendung.
So definieren Sie die erweiterten Schlüsselverwendungen:
- Optional: Klicken Sie auf die Ein-/Aus-Schaltfläche, um die erweiterten Schlüsselverwendungen für die Zertifikate anzugeben, die der CA-Pool ausstellt.
- Klicken Sie die Kästchen für die erweiterten Schlüsselnutzungsszenarien an.
- Klicken Sie auf Next (Weiter).
Die Erweiterung der Zertifikatsrichtlinien im Zertifikat gibt die Richtlinien an, denen der ausstellende CA-Pool folgt. Diese Erweiterung kann Informationen darüber enthalten, wie Identitäten vor dem Ausstellen von Zertifikaten validiert werden, wie Zertifikate widerrufen werden und wie die Integrität des Zertifizierungsstellenpools sichergestellt wird. Mit dieser Erweiterung können Sie die vom CA-Pool ausgestellten Zertifikate prüfen und sehen, wie die Zertifikate verwendet werden.
Weitere Informationen finden Sie unter Zertifikatrichtlinien.
So legen Sie die Richtlinie fest, die die Zertifikatnutzung definiert:
- Optional: Geben Sie die Richtlinien-ID in das Feld Richtlinien-IDs ein.
- Klicken Sie auf Next (Weiter).
Die AIA-Erweiterung in einem Zertifikat bietet die folgenden Informationen:
- Adresse der OCSP-Server, von denen aus Sie den Sperrstatus des Zertifikats prüfen können.
- Die Zugriffsmethode für den Aussteller des Zertifikats.
Weitere Informationen finden Sie unter Zugriff auf Autorisierungsinformationen.
So fügen Sie die OCSP-Server hinzu, die in den Zertifikaten im Feld der AIA-Erweiterung angezeigt werden: Das folgende Verfahren ist optional.
- Optional: Klicken Sie auf Element hinzufügen.
- Geben Sie im Feld Server-URL die URL des OCSP-Servers ein.
- Klicken Sie auf Fertig.
- Klicken Sie auf Next (Weiter).
So konfigurieren Sie zusätzliche benutzerdefinierte Erweiterungen, die in die vom CA-Pool ausgestellten Zertifikate einbezogen werden: Das folgende Verfahren ist optional.
- Klicken Sie auf Zeile hinzufügen.
- Geben Sie im Feld Objekt-ID eine gültige Objektkennung in Form von punktgetrennten Ziffern ein.
- Fügen Sie im Feld Wert den base64-codierten Wert für die Kennung hinzu.
- Wenn die Erweiterung kritisch ist, wählen Sie Erweiterung ist kritisch aus.
Klicken Sie zum Speichern aller Basiswertkonfigurationen auf Fertig.
gcloud
Wenn Sie die Google Cloud CLI verwenden möchten, um einem CA-Pool eine Zertifikatsausstellungsrichtlinie hinzuzufügen, müssen Sie eine YAML-Datei erstellen, in der die Einschränkungen für die Zertifikate beschrieben sind, die der CA-Pool ausstellen kann. Der Inhalt entspricht einer IssuancePolicy.
Erstellen Sie mit dem Cloud Shell-Editor eine Datei
policy.yaml
mit folgendem Inhalt:identityConstraints: allowSubjectPassthrough: true allowSubjectAltNamesPassthrough: true
Wobei:
allowSubjectPassthrough
ist ein Pflichtfeld. Wenn das FeldallowSubjectPassthrough
auftrue
gesetzt ist, wird das Feld „Betreff“ aus einer Zertifikatsanfrage in das signierte Zertifikat kopiert. Andernfalls wird der angeforderte Subjekt verworfen.- Wenn das Feld
allowSubjectAltNamesPassthrough
auftrue
gesetzt ist, wird die Erweiterung „SubjectAltNames“ aus einer Zertifikatsanfrage in das signierte Zertifikat kopiert. Andernfalls wird der angeforderte SubjectAltNames-Wert verworfen.
Führen Sie den folgenden Befehl aus, um die Zertifikatsausstellungsrichtlinie eines Zertifizierungsstellenpools mithilfe der im vorherigen Schritt erstellten Datei zu aktualisieren:
gcloud privateca pools update POOL_NAME \ --issuance-policy FILE_PATH
Ersetzen Sie Folgendes:
- POOL_NAME: Name des Zertifizierungsstellenpools.
- FILE_PATH: Der Pfad zur Datei
policy.yaml
.
Weitere Informationen zum Befehl
gcloud privateca pools update
finden Sie unter gcloud privateca channels update.
Weitere Informationen finden Sie unter CA-Pool erstellen.
Unterstützte Einschränkungen
CA Service unterstützt die folgenden Einschränkungen für Ausstellungsrichtlinien. Sie können die folgenden Einschränkungen nach Bedarf kombinieren, um eine benutzerdefinierte Richtlinie zur Zertifikatsausstellung zu erstellen.
Zulässige X.509-Werte einschränken oder erzwingen
Ein Zertifizierungsstellenpool kann die zulässigen X.509-Werte in Zertifikatsanfragen einschränken, indem das Feld passthrough_extensions konfiguriert wird.
In einem CA-Pool können auch explizit X.509-Werte angegeben werden, die allen ausgestellten Zertifikaten hinzugefügt werden sollen. Dabei werden alle angeforderten Werte über das Feld baseline_values überschrieben.
Für baseline_values eines Zertifizierungsstellenpools können die folgenden Attribute angegeben werden:
Sie können diese Optionen auch zusammen verwenden.
Wenn Sie einen Teil des Felds baseline_values
aktualisieren, ersetzt die Aktualisierung alle Werte im Feld baseline_values
.
Beispiel: Beschränken Sie eine Zertifizierungsstelle so, dass nur Zertifikate der Endentität mit X.509-Werten für gegenseitiges TLS (mTLS) ausgestellt werden.
policy.yaml
baselineValues: caOptions: isCa: false keyUsage: baseKeyUsage: digitalSignature: true keyEncipherment: true extendedKeyUsage: clientAuth: true serverAuth: true
Beispiel: Beschränken Sie eine Zertifizierungsstelle so, dass sie nur Signaturzertifikate für Endentitäten mit einer AIA-OCSP-Referenz-URL ausstellt.
policy.yaml
baselineValues: caOptions: isCa: false keyUsage: baseKeyUsage: digitalSignature: true extendedKeyUsage: codeSigning: true aiaOcspServers: - "http://foo.bar/revocation" additionalExtensions: - objectId: objectIdPath: - 1 - 2 - 3 critical: false value: "base64 encoded extension value"
Weitere Informationen zum Zertifikatsprofil für mTLS der Endentität finden Sie unter mTLS der Endentität.
Zulässige Identitätsfelder einschränken
Wenn Sie die Identität von Zertifikaten einschränken möchten, die über einen CA-Pool ausgestellt wurden, können Sie einen CEL-Ausdruck (Common Expression Language) in das Feld identity_constraints der Ausstellungsrichtlinie einfügen. Die CEL-Ausdrücke ermöglichen beliebige Einschränkungen im Hinblick auf den Subjekt-Domainnamen (einschließlich des allgemeinen Namens) und die SANs eines Zertifikats.
Weitere Informationen zur Verwendung eines CEL-Ausdrucks zum Einschränken von Subjekt und SANs finden Sie unter CEL verwenden.
Beispiel: Die Zertifizierungsstelle darf nur Zertifikate ausstellen, die einem bestimmten Betreff entsprechen.
policy.yaml
identityConstraints: allowSubjectPassthrough: true allowSubjectAltNamesPassthrough: false celExpression: expression: 'subject.organization == "Example LLC" && subject.country_code in ["US", "UK"]'
Das Feld
celExpression
ist optional. Verwenden Sie einen CEL-Ausdruck (Common Expression Language), um das aufgelöste X.509-Subjekt und das SAN zu validieren, bevor ein Zertifikat signiert wird. Weitere Informationen zur Verwendung von CEL-Ausdrücken finden Sie unter CEL verwenden.Beispiel: Nur SANs zulassen, die DNS-Namen als
us.google.org
haben oder auf.google.com
enden.policy.yaml
identityConstraints: allowSubjectPassthrough: false allowSubjectAltNamesPassthrough: true celExpression: expression: 'subject_alt_names.all(san, san.type == DNS && (san.value == "us.google.org" || san.value.endsWith(".google.com")) )'
Beispiel: Nur SANs zulassen, die URIs
https://google.com/webhp
haben oder mitspiffe://example-trust-domain-1/ns/namespace1/sa/
beginnen.policy.yaml
identityConstraints: allowSubjectPassthrough: false allowSubjectAltNamesPassthrough: true celExpression: expression: 'subject_alt_names.all(san, san.type == URI && (san.value == "https://google.com/webhp" || san.value.startsWith("spiffe://example-trust-domain-1/ns/namespace1/sa/")) )'
Beispiel: Nur SANs zulassen, die die E-Mail-Adressen
example@google.com
haben oder auf@google.org
enden.policy.yaml
identityConstraints: allowSubjectPassthrough: false allowSubjectAltNamesPassthrough: true celExpression: expression: 'subject_alt_names.all(san, san.type == EMAIL && (san.value == "example@google.com" || san.value.endsWith("@google.org")) )'
Beispiel: Nur benutzerdefinierte SANs mit einer bestimmten OID und einem benutzerdefinierten Wert zulassen
policy.yaml
identityConstraints: allowSubjectPassthrough: false allowSubjectAltNamesPassthrough: true celExpression: expression: 'subject_alt_names.all(san, san.type == CUSTOM && san.oid == [1, 2, 3, 4] && san.value == "custom-data" )'
Maximale Lebensdauer der ausgestellten Zertifikate einschränken
Verwenden Sie das Feld maximum_lifetime, um die Lebensdauer der ausgestellten Zertifikate einzuschränken. Wenn die angeforderte Lebensdauer eines Zertifikats länger als die maximale Lebensdauer ist, wird die Lebensdauer des Zertifikats explizit gekürzt.
Beispiel
Wenn Sie eine maximale Lebensdauer von 30 Tagen zulassen möchten, verwenden Sie die folgende policy.yaml
-Datei:
policy.yaml
maximumLifetime: 2592000s
Zulässige Zertifikatsausstellungsmodi einschränken
Sie können ein Zertifikat entweder über eine Anfrage zur Zertifikatsignierung (Certificate Signing Request, CSR) oder eine Inline-Beschreibung der angeforderten Werte anfordern. Einige Organisationen ziehen es vor, die Option einzuschränken, die verwendet werden kann, da bei der letzten Methode kein Nachweis des Besitzes des zugehörigen privaten Schlüssels erforderlich ist. Diese Einschränkungen können Sie im Feld allowedIssuanceModes festlegen.
Weitere Informationen dazu, wie Sie festlegen, wie Zertifikate von einem CA-Pool angefordert werden können, finden Sie unter IssuanceModes.
Weitere Informationen zum Anfordern von Zertifikaten finden Sie unter Zertifikate anfordern und ausgestellte Zertifikate ansehen.
Beispiel: Nur CSR-Ausstellungen zulassen
policy.yaml
allowedIssuanceModes:
allowCsrBasedIssuance: True
allowConfigBasedIssuance: False
Die Public-Key-Algorithmen der Zertifikatsanfrage einschränken
Wenn Sie die Mindestlänge und die Algorithmen für öffentliche Schlüssel einschränken möchten, die Zertifikate verwenden können, können Sie das Feld allowedKeyTypes in der YAML-Datei für die Zertifikatsausstellungsrichtlinie verwenden. Wenn dieses Feld angegeben ist, muss der öffentliche Schlüssel der Zertifikatsanfrage einem der in der YAML-Datei aufgeführten Schlüsseltypen entsprechen. Wenn dieses Feld nicht angegeben ist, können Sie einen beliebigen Schlüssel verwenden, mit Ausnahme von RSA-Schlüsseln, deren Modulusgröße kleiner als 2.048 Bit ist. Wenn Sie einen RSA-Schlüssel mit einer Modulusgröße von weniger als 2.048 Bit verwenden möchten, müssen Sie ihn mithilfe der Richtlinie zur Zertifikatsausstellung ausdrücklich zulassen.
Beispiel: Lassen Sie RSA-Schlüssel mit einer Modulusgröße zwischen 3.072 Bit und 4.096 Bit (einschließlich) oder ECDSA-Schlüssel (Elliptic Curve Digital Signature Algorithm) über die NIST P-256-Kurve zu.
policy.yaml
allowedKeyTypes:
- rsa:
minModulusSize: 3072
maxModulusSize: 4096
- ellipticCurve:
signatureAlgorithm: ECDSA_P256
Sie können einen der folgenden Signaturalgorithmen für elliptische Kurven auswählen:
EC_SIGNATURE_ALGORITHM_UNSPECIFIED
– Jeder Signaturalgorithmus kann verwendet werden.ECDSA_P256
: Digitale Signatur mit elliptischer Kurve über der NIST P-256-Kurve.ECDSA_P384
: Digitale Signatur mit elliptischer Kurve über die NIST P-384-Kurve.EDDSA_25519
: Der Edwards-Kurven-Algorithmus für digitale Signaturen über Kurve 25519, wie in RFC 8410 beschrieben.
Nächste Schritte
- Weitere Informationen zu Zertifikatsprofilen
- Weitere Informationen zum Anfordern von Zertifikaten
- IAM-Richtlinien konfigurieren
- Weitere Informationen zur Verwendung der Common Expression Language (CEL)
- Informationen zur Verwaltung verschiedener Richtlinien