Modèles de certificats prédéfinis

Certificate Authority Service fournit des modèles de certificats prédéfinis pour vous aider à simplifier et à sécuriser le processus d'émission de certificats. En proposant des ensembles de paramètres X.509 préconfigurés pour les cas d'utilisation courants, ces modèles prêts à l'emploi simplifient la gestion des certificats, réduisent le risque d'erreur humaine et appliquent les bonnes pratiques de sécurité. Chaque modèle est conçu pour un cas d'utilisation spécifique. Il permet de s'assurer que les certificats sont émis avec les paramètres appropriés à leur objectif, tout en respectant les limites définies par l'autorité de certification émettrice.

Ce document s'adresse aux membres du groupe des opérateurs d'applications, tels que les développeurs d'applications ou les data scientists, qui gèrent les cycles de vie des certificats dans leur projet. Pour en savoir plus, consultez Audiences pour la documentation GDC sous air gap.

Appliquer un modèle de certificat

Pour appliquer un modèle, spécifiez son nom dans le champ certificateTemplate de votre ressource CertificateRequest. Le service CA applique les paramètres du modèle choisi au certificat émis.

Pour obtenir des instructions détaillées sur la façon de structurer la ressource CertificateRequest et d'inclure le champ certificateTemplate, consultez Demander un certificat.

Types de modèles de certificats

Les modèles de certificat prédéfinis suivants sont disponibles. Chaque modèle est conçu pour un cas d'utilisation spécifique et préconfigure les paramètres X.509 qu'il applique.

Dans les descriptions de modèle ci-dessous, tous les paramètres qui ne sont pas explicitement définis par le modèle sont extraits de la ressource CertificateRequest, qu'ils soient fournis dans une demande de signature de certificat (CSR) ou dans des champs que vous définissez.

Par défaut

Nom du modèle : default

Ce modèle est utilisé automatiquement si vous ne spécifiez pas de modèle de certificat dans votre ressource CertificateRequest. Le certificat émis hérite des paramètres Key usage et Extended key usage du profil de l'autorité de certification émettrice, et définit Basic constraints sur CA:FALSE, ce qui empêche le certificat d'être utilisé pour signer d'autres certificats.

Paramètre X509 Valeur
RawSubject [User defined SubjectOverride or Passthrough from CSR]
Contraintes de base CA :FALSE
Autre nom de l'objet [Passthrough from CSR]
Utilisation de la clé [Utilisation de la clé définie dans l'autorité de certification]
Utilisation étendue de la clé [Utilisation étendue de la clé définie dans l'AC]

Certificats TLS client

Nom du modèle : endEntityClientAuthCertificate

Ce modèle émet des certificats d'entité de fin pour l'authentification TLS côté client. Le certificat émis définit Extended key usage sur TLS web client authentication et Basic constraints sur CA:FALSE, ce qui empêche le certificat d'être utilisé pour signer d'autres certificats.

Paramètre X509 Valeur
RawSubject [User defined SubjectOverride or Passthrough from CSR]
Contraintes de base CA :FALSE
Autre nom de l'objet [Passthrough from CSR]
Utilisation de la clé Critique, signature numérique, chiffrement de clé
Utilisation étendue de la clé Authentification du client Web TLS

Certificats TLS du serveur

Nom du modèle : endEntityServerAuthCertificate

Ce modèle émet des certificats d'entité finale pour l'authentification TLS côté serveur, ce qui est idéal pour une utilisation avec des serveurs Web. Le certificat émis définit Extended key usage sur TLS web server authentication et Basic constraints sur CA:FALSE, ce qui empêche l'utilisation du certificat pour signer d'autres certificats.

Paramètre X509 Valeur
RawSubject [User defined SubjectOverride or Passthrough from CSR]
Contraintes de base CA :FALSE
Autre nom de l'objet [Passthrough from CSR]
Utilisation de la clé Critique, signature numérique, chiffrement de clé
Utilisation étendue de la clé Authentification du serveur Web TLS

Certificats CA subordonnés (PathLen 0)

Nom du modèle : blankSubCACertificate_PathLen0_CSRPassthrough

Ce modèle émet des certificats d'autorité de certification subordonnée avec une contrainte de longueur de chemin d'accès de 0, ce qui permet au certificat de signer des certificats d'entité de fin, mais pas d'autres certificats d'autorité de certification.

Paramètre X509 Valeur
RawSubject [User defined SubjectOverride or Passthrough from CSR]
Contraintes de base CA :TRUE, pathlen: 0
Autre nom de l'objet [Passthrough from CSR]
Utilisation de la clé [Utilisation de la clé définie dans la CSR]
Utilisation étendue de la clé [Utilisation étendue de la clé définie dans la RDC]

Certificats CA subordonnés (PathLen 1)

Nom du modèle : blankSubCACertificate_PathLen1_CSRPassthrough

Ce modèle émet des certificats d'AC subordonnée avec une contrainte de longueur de chemin d'accès de 1, ce qui permet au certificat de signer des certificats d'entité de fin ainsi que d'autres certificats d'AC subordonnée dont la longueur de chemin d'accès est de 0.

Paramètre X509 Valeur
RawSubject [User defined SubjectOverride or Passthrough from CSR]
Contraintes de base CA :TRUE, pathlen: 1
Autre nom de l'objet [Passthrough from CSR]
Utilisation de la clé [Utilisation de la clé définie dans la CSR]
Utilisation étendue de la clé [Utilisation étendue de la clé définie dans la RDC]

Détection des conflits

Chaque CA dispose d'un profil qui définit les types de certificats qu'elle est autorisée à émettre. Par exemple, une AC peut être limitée à l'émission de certificats d'authentification client uniquement. Le profil de l'autorité de certification est configuré dans la section certificateProfile de la ressource CertificateAuthority lors de la création de l'autorité de certification, comme indiqué dans Créer une autorité de certification racine et Créer une autorité de certification subordonnée.

Lorsque vous demandez un certificat à l'aide d'un modèle prédéfini, CA Service valide les paramètres du modèle par rapport à la configuration de l'autorité de certification émettrice. Pour être valides, les paramètres X.509 définis dans le modèle choisi doivent être un sous-ensemble de ceux autorisés par l'AC émettrice conformément à son certificateProfile. Un conflit se produit si le modèle demande des attributs ou des autorisations que l'AC n'est pas autorisée à accorder. Par exemple, un modèle ne peut pas demander un Extended key usage (EKU) de serverAuth si l'AC émettrice n'est autorisée qu'à accorder clientAuth.

Si CA Service détecte un tel conflit, l'opération CertificateRequest échoue. Vous pouvez inspecter l'état de la ressource CertificateRequest pour comprendre la raison de l'échec.

Exemple

Dans le scénario suivant, une CA nommée client-certs-ca est configurée pour n'émettre des certificats que pour l'authentification du client. Son certificateProfile spécifie que le seul Extended key usage autorisé est TLS web client authentication.

Vous envoyez le CertificateRequest suivant pour émettre un certificat pour un serveur, à l'aide du modèle endEntityServerAuthCertificate :

  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

Cette requête échoue pour les raisons suivantes :

  • Le modèle endEntityServerAuthCertificate requiert l'EKU TLS web server authentication.
  • L'autorité de certification émettrice, client-certs-ca, possède un certificateProfile qui n'autorise que l'EKU TLS web client authentication.

Étant donné que l'EKU requise par le modèle n'est pas incluse dans la liste des EKU autorisées par le profil de l'AC, les exigences du modèle ne sont pas un sous-ensemble des paramètres autorisés de l'AC. La demande est donc refusée.