Certificate Authority Service bietet vordefinierte Zertifikatsvorlagen, um die Zertifikatsausstellung zu optimieren und zu sichern. Durch die Bereitstellung vorkonfigurierter Sätze von X.509-Parametern für gängige Anwendungsfälle vereinfachen diese vorgefertigten Vorlagen die Zertifikatsverwaltung, verringern das Risiko menschlicher Fehler und setzen Sicherheits-Best Practices durch. Jede Vorlage ist für einen bestimmten Anwendungsfall konzipiert, damit Zertifikate mit den richtigen Parametern für den vorgesehenen Zweck ausgestellt werden. Dabei werden auch alle Einschränkungen der ausstellenden Zertifizierungsstelle berücksichtigt.
Dieses Dokument richtet sich an Personen 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
Geben Sie den Namen der Vorlage im Feld certificateTemplate Ihrer CertificateRequest-Ressource an, um eine Vorlage anzuwenden. CA Service wendet die Parameter der ausgewählten Vorlage auf das ausgestellte Zertifikat an.
Eine detaillierte Anleitung dazu, wie Sie die CertificateRequest-Ressource strukturieren und das Feld certificateTemplate einfügen, finden Sie unter Zertifikat anfordern.
Typen von Zertifikatsvorlagen
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 werden.
Standard
Vorlagenname: default
Diese Vorlage wird automatisch verwendet, wenn Sie in Ihrer CertificateRequest-Ressource keine Zertifikatvorlage angeben. Das ausgestellte Zertifikat übernimmt die Einstellungen Key
usage und Extended key usage aus dem Profil der ausstellenden CA und setzt Basic constraints auf CA:FALSE. Dadurch wird verhindert, dass das Zertifikat zum Signieren anderer Zertifikate verwendet wird.
| X509-Parameter | Wert |
|---|---|
| RawSubject | [User defined SubjectOverride or Passthrough from CSR] |
| Basiseinschränkungen | CA:FALSE |
| Alternativer Name des Inhabers | [Passthrough from CSR] |
| Schlüsselverwendung | [Schlüsselverwendung in der Zertifizierungsstelle festgelegt] |
| Erweiterte Schlüsselverwendung | [Erweiterte Schlüsselverwendung in CA festgelegt] |
Client-TLS-Zertifikate
Vorlagenname: endEntityClientAuthCertificate
Mit dieser Vorlage werden Endentitätszertifikate für die clientseitige TLS-Authentifizierung ausgestellt.
Im ausgestellten Zertifikat wird Extended key usage auf TLS web client
authentication und Basic constraints auf CA:FALSE festgelegt. Dadurch kann das Zertifikat nicht zum Signieren anderer Zertifikate verwendet werden.
| X509-Parameter | Wert |
|---|---|
| RawSubject | [User defined SubjectOverride or Passthrough from CSR] |
| Basiseinschränkungen | CA:FALSE |
| Alternativer Name des Inhabers | [Passthrough from CSR] |
| Schlüsselverwendung | Kritisch, digitale Signatur, Schlüsselverschlüsselung |
| Erweiterte Schlüsselverwendung | TLS-Webclient-Authentifizierung |
TLS-Serverzertifikate
Vorlagenname: endEntityServerAuthCertificate
Mit dieser Vorlage werden Endentitätszertifikate für die serverseitige TLS-Authentifizierung ausgestellt, die sich ideal für die Verwendung mit Webservern eignen. Im ausgestellten Zertifikat wird Extended
key usage auf TLS web server authentication und Basic constraints auf CA:FALSE festgelegt. Dadurch kann das Zertifikat nicht zum Signieren anderer Zertifikate verwendet werden.
| X509-Parameter | Wert |
|---|---|
| RawSubject | [User defined SubjectOverride or Passthrough from CSR] |
| Basiseinschränkungen | CA:FALSE |
| Alternativer Name des Inhabers | [Passthrough from CSR] |
| Schlüsselverwendung | Kritisch, digitale Signatur, Schlüsselverschlüsselung |
| Erweiterte Schlüsselverwendung | TLS-Webserverauthentifizierung |
Untergeordnete CA-Zertifikate (PathLen 0)
Vorlagenname: blankSubCACertificate_PathLen0_CSRPassthrough
Mit dieser Vorlage werden untergeordnete CA-Zertifikate mit einer Pfadlängenbeschränkung von 0 ausgestellt. Damit kann das Zertifikat Endentitätzertifikate, aber keine anderen CA-Zertifikate signieren.
| X509-Parameter | Wert |
|---|---|
| RawSubject | [User defined SubjectOverride or Passthrough from CSR] |
| Basiseinschränkungen | CA:TRUE, pathlen: 0 |
| Alternativer Name des Inhabers | [Passthrough from CSR] |
| Schlüsselverwendung | [Schlüsselverwendung in CSR festgelegt] |
| Erweiterte Schlüsselverwendung | [Erweiterte Schlüsselverwendung im CSR festgelegt] |
Untergeordnete CA-Zertifikate (PathLen 1)
Vorlagenname: blankSubCACertificate_PathLen1_CSRPassthrough
Mit dieser Vorlage werden untergeordnete CA-Zertifikate mit einer Pfadlängenbeschränkung von 1 ausgestellt. Das Zertifikat kann also Endentitätzertifikate sowie andere untergeordnete CA-Zertifikate mit einer Pfadlänge von 0 signieren.
| X509-Parameter | Wert |
|---|---|
| RawSubject | [User defined SubjectOverride or Passthrough from CSR] |
| Basiseinschränkungen | CA:TRUE, pathlen: 1 |
| Alternativer Name des Inhabers | [Passthrough from CSR] |
| Schlüsselverwendung | [Schlüsselverwendung in CSR festgelegt] |
| Erweiterte Schlüsselverwendung | [Erweiterte Schlüsselverwendung im CSR festgelegt] |
Konflikterkennung
Jede Zertifizierungsstelle hat ein Profil, in dem die Arten von Zertifikaten definiert sind, die sie ausstellen darf. Eine CA kann beispielsweise darauf beschränkt sein, nur Clientauthentifizierungszertifikate auszustellen. Das Profil der Zertifizierungsstelle wird beim Erstellen der Zertifizierungsstelle im Abschnitt certificateProfile der CertificateAuthority-Ressource konfiguriert, wie in Root-Zertifizierungsstelle erstellen und Untergeordnete Zertifizierungsstelle erstellen beschrieben.
Wenn Sie ein Zertifikat mit einer vordefinierten Vorlage anfordern, werden die Parameter der Vorlage vom CA-Dienst anhand der Konfiguration der ausstellenden Zertifizierungsstelle validiert. Damit die in der ausgewählten Vorlage definierten X.509-Parameter gültig sind, müssen sie eine Teilmenge der Parameter sein, die von der ausstellenden Zertifizierungsstelle gemäß ihrer certificateProfile zulässig sind. Ein Konflikt tritt auf, wenn in der Vorlage Attribute oder Berechtigungen angefordert werden, die die Zertifizierungsstelle nicht gewähren darf. Eine Vorlage kann beispielsweise keine Extended key usage (EKU) von serverAuth anfordern, wenn die ausstellende CA nur zum Gewähren von clientAuth autorisiert ist.
Wenn CA Service einen solchen Konflikt erkennt, schlägt 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 namens client-certs-ca so konfiguriert, dass sie Zertifikate nur für die Clientauthentifizierung ausstellt. Im certificateProfile wird angegeben, dass nur TLS web client authentication als Extended key usage zulässig ist.
Sie reichen das Folgende CertificateRequest ein, 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:
- Für die Vorlage
endEntityServerAuthCertificateist die EKUTLS web server authenticationerforderlich. - Die ausstellende CA,
client-certs-ca, hat einecertificateProfile, die nur die EKUTLS web client authenticationzulässt.
Da die von der Vorlage erforderliche EKU nicht in der Liste der vom Profil der Zertifizierungsstelle zulässigen EKUs enthalten ist, sind die Anforderungen der Vorlage keine Teilmenge der zulässigen Parameter der Zertifizierungsstelle. Die Anfrage wird daher abgelehnt.