Certificate Authority Service bietet vordefinierte Zertifikatsvorlagen, um die Zertifikatsausstellung zu optimieren und zu sichern. Diese vorgefertigten Vorlagen bieten vorkonfigurierte Sätze von X.509-Parametern für häufige Anwendungsfälle und vereinfachen so die Zertifikatsverwaltung, verringern das Risiko menschlicher Fehler und setzen bewährte Sicherheitsverfahren durch. Jede Vorlage ist für einen bestimmten Anwendungsfall konzipiert, damit Zertifikate mit den richtigen Parametern für den vorgesehenen Zweck ausgestellt werden und gleichzeitig alle von der ausstellenden Zertifizierungsstelle festgelegten Einschränkungen eingehalten werden.
Dieses Dokument richtet sich an Zielgruppen in der Gruppe der Anwendungsoperatoren, z. B. Anwendungsentwickler oder Data Scientists, die den Zertifikatslebenszyklus in ihrem Projekt verwalten. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.
Zertifikatsvorlage anwenden
Wenn Sie eine Vorlage anwenden möchten, geben Sie den Namen der Vorlage im Feld certificateTemplate Ihrer CertificateRequest-Ressource an. CA Service wendet die Parameter aus der ausgewählten Vorlage auf das ausgestellte Zertifikat an.
Eine detaillierte Anleitung zum Strukturieren der CertificateRequest Ressource und
zum Einbeziehen des certificateTemplate Felds finden Sie unter
Zertifikat anfordern.
Zertifikatsvorlagentypen
Die folgenden vordefinierten Zertifikatsvorlagen sind verfügbar. Jede Vorlage ist für einen bestimmten Anwendungsfall konzipiert und vorkonfiguriert die X.509-Parameter, die von der Vorlage erzwungen werden.
In den Vorlagenbeschreibungen unten werden alle Parameter, die nicht explizit von der Vorlage festgelegt werden, aus der CertificateRequest-Ressource übernommen, unabhängig davon, ob sie in einer Zertifikatsignierungsanfrage (Certificate Signing Request, CSR) oder in von Ihnen definierten Feldern angegeben wurden.
Standard
Vorlagenname: default
Diese Vorlage wird automatisch verwendet, wenn Sie in Ihrer CertificateRequest-Ressource keine Zertifikatsvorlage angeben. Das ausgestellte Zertifikat erbt die Einstellungen für Key
usage und Extended key usage aus dem Profil der ausstellenden Zertifizierungsstelle und legt
Basic constraints auf CA:FALSE fest, wodurch verhindert wird, dass das Zertifikat zum
Signieren anderer Zertifikate verwendet wird.
| X509-Parameter | Wert |
|---|---|
| RawSubject | [Benutzerdefinierte SubjectOverride oder Passthrough aus CSR] |
| Basiseinschränkungen | CA:FALSE |
| Alternativer Name des Inhabers | [Passthrough aus CSR] |
| Schlüsselverwendung | [In der Zertifizierungsstelle festgelegte Schlüsselverwendung] |
| Erweiterte Schlüsselverwendung | [In der Zertifizierungsstelle festgelegte erweiterte Schlüsselverwendung] |
TLS-Clientzertifikate
Vorlagenname: endEntityClientAuthCertificate
Diese Vorlage stellt Endentitätzertifikate für die clientseitige TLS-Authentifizierung aus.
Das ausgestellte Zertifikat legt Extended key usage auf TLS web client
authentication und Basic constraints auf CA:FALSE fest, wodurch verhindert wird, dass das
Zertifikat zum Signieren anderer Zertifikate verwendet wird.
| X509-Parameter | Wert |
|---|---|
| RawSubject | [Benutzerdefinierte SubjectOverride oder Passthrough aus CSR] |
| Basiseinschränkungen | CA:FALSE |
| Alternativer Name des Inhabers | [Passthrough aus CSR] |
| Schlüsselverwendung | Kritisch, digitale Signatur, Schlüsselverschlüsselung |
| Erweiterte Schlüsselverwendung | TLS-Webclient-Authentifizierung |
TLS-Serverzertifikate
Vorlagenname: endEntityServerAuthCertificate
Diese Vorlage stellt Endentitätzertifikate für die serverseitige TLS-Authentifizierung aus, die sich ideal für die Verwendung mit Webservern eignet. Das ausgestellte Zertifikat legt Extended
key usage auf TLS web server authentication und Basic constraints auf
CA:FALSE fest, wodurch verhindert wird, dass das Zertifikat zum Signieren anderer
Zertifikate verwendet wird.
| X509-Parameter | Wert |
|---|---|
| RawSubject | [Benutzerdefinierte SubjectOverride oder Passthrough aus CSR] |
| Basiseinschränkungen | CA:FALSE |
| Alternativer Name des Inhabers | [Passthrough aus CSR] |
| Schlüsselverwendung | Kritisch, digitale Signatur, Schlüsselverschlüsselung |
| Erweiterte Schlüsselverwendung | TLS-Webserver-Authentifizierung |
Untergeordnete CA-Zertifikate (PathLen 0)
Vorlagenname: blankSubCACertificate_PathLen0_CSRPassthrough
Diese Vorlage stellt untergeordnete CA-Zertifikate mit einer Pfadlängenbeschränkung von 0 aus, mit denen Endentitätzertifikate, aber keine anderen CA-Zertifikate signiert werden können.
| X509-Parameter | Wert |
|---|---|
| RawSubject | [Benutzerdefinierte SubjectOverride oder Passthrough aus CSR] |
| Basiseinschränkungen | CA:TRUE, pathlen: 0 |
| Alternativer Name des Inhabers | [Passthrough aus CSR] |
| Schlüsselverwendung | [In der CSR festgelegte Schlüsselverwendung] |
| Erweiterte Schlüsselverwendung | [In der CSR festgelegte erweiterte Schlüsselverwendung] |
Untergeordnete CA-Zertifikate (PathLen 1)
Vorlagenname: blankSubCACertificate_PathLen1_CSRPassthrough
Diese Vorlage stellt untergeordnete CA-Zertifikate mit einer Pfadlängenbeschränkung von 1 aus, mit denen Endentitätzertifikate sowie andere untergeordnete CA-Zertifikate mit einer Pfadlänge von 0 signiert werden können.
| X509-Parameter | Wert |
|---|---|
| RawSubject | [Benutzerdefinierte SubjectOverride oder Passthrough aus CSR] |
| Basiseinschränkungen | CA:TRUE, pathlen: 1 |
| Alternativer Name des Inhabers | [Passthrough aus CSR] |
| Schlüsselverwendung | [In der CSR festgelegte Schlüsselverwendung] |
| Erweiterte Schlüsselverwendung | [In der CSR festgelegte erweiterte Schlüsselverwendung] |
Konflikterkennung
Jede Zertifizierungsstelle hat ein Profil, in dem die Arten von Zertifikaten definiert sind, die sie ausstellen darf. Eine Zertifizierungsstelle kann beispielsweise darauf beschränkt sein, nur Zertifikate für die Clientauthentifizierung auszustellen. Das Profil der Zertifizierungsstelle wird beim Erstellen der Zertifizierungsstelle im
certificateProfile Abschnitt der CertificateAuthority Ressource konfiguriert, wie unter
Root-Zertifizierungsstelle erstellen
und
Untergeordnete Zertifizierungsstelle erstellen beschrieben.
Wenn Sie ein Zertifikat mit einer vordefinierten Vorlage anfordern, validiert CA Service die Parameter der Vorlage anhand der Konfiguration der ausstellenden Zertifizierungsstelle. Damit die Vorlage gültig ist, müssen die in der ausgewählten Vorlage definierten X.509-Parameter eine Teilmenge der Parameter sein, die von der ausstellenden Zertifizierungsstelle gemäß ihrem certificateProfile zulässig sind. Ein Konflikt tritt auf, wenn die Vorlage Attribute oder Berechtigungen anfordert, die die Zertifizierungsstelle nicht gewähren darf. Eine Vorlage kann beispielsweise keine Extended key usage (Erweiterte Schlüsselverwendung, EKU) von serverAuth anfordern, wenn die ausstellende Zertifizierungsstelle nur clientAuth gewähren darf.
Wenn CA Service einen solchen Konflikt erkennt, schlägt die CertificateRequest fehl. Sie können den Status der CertificateRequest-Ressource prüfen, um den Grund für den Fehler zu ermitteln.
Beispiel
Im folgenden Szenario ist eine Zertifizierungsstelle mit dem Namen client-certs-ca so konfiguriert, dass sie nur Zertifikate für die Clientauthentifizierung ausstellt. In ihrem certificateProfile ist festgelegt, dass die einzige zulässige Extended key usage TLS web client authentication ist.
Sie senden die folgende CertificateRequest, um ein Zertifikat für einen Server mit der Vorlage endEntityServerAuthCertificate auszustellen:
apiVersion: pki.security.gdc.goog/v1
kind: CertificateRequest
metadata:
name: server-cert-req
namespace: my-project
spec:
certificateAuthorityRef:
name: client-certs-ca
namespace: my-project
csr: "..."
certificateTemplate: endEntityServerAuthCertificate
signedCertificateSecret: server-cert-secret
Diese Anfrage schlägt aus folgenden Gründen fehl:
- Die Vorlage
endEntityServerAuthCertificateerfordert die EKUTLS web server authentication. - Die ausstellende Zertifizierungsstelle
client-certs-cahat eincertificateProfile, das nur die EKUTLS web client authenticationzulässt.
Da die von der Vorlage erforderliche EKU nicht in der Liste der EKUs enthalten ist, die vom Profil der Zertifizierungsstelle zugelassen werden, sind die Anforderungen der Vorlage keine Teilmenge der zulässigen Parameter der Zertifizierungsstelle. Die Anfrage wird daher abgelehnt.