Certificate Authority Service proporciona plantillas de certificados predefinidas para ayudar a optimizar y proteger el proceso de emisión de certificados. Al ofrecer conjuntos preconfigurados de parámetros X.509 para casos de uso comunes, estas plantillas listas para usar simplifican la administración de certificados, reducen el riesgo de errores humanos y aplican las prácticas recomendadas de seguridad. Cada plantilla está diseñada para un caso de uso específico para garantizar que los certificados se emitan con los parámetros correctos para su propósito previsto, al mismo tiempo que se respetan las limitaciones establecidas por la autoridad certificadora (CA) emisora.
Este documento está destinado a públicos dentro del grupo de operadores de aplicaciones, como desarrolladores de aplicaciones o científicos de datos, que administran los ciclos de vida de los certificados dentro de su proyecto. Para obtener más información, consulta Públicos de la documentación de Google Distributed Cloud aislado.
Aplica una plantilla de certificado
Para aplicar una plantilla, especifica su nombre en el campo certificateTemplate de tu recurso CertificateRequest. El Servicio de CA aplica los parámetros de la plantilla elegida al certificado emitido.
Para obtener instrucciones detalladas sobre cómo estructurar el recurso CertificateRequest y
cómo incluir el campo certificateTemplate, consulta
Solicita un certificado.
Tipos de plantillas de certificado
Las siguientes plantillas de certificado predefinidas están disponibles. Cada plantilla está diseñada para un caso de uso específico y preconfigura los parámetros X.509 que aplica la plantilla.
En las descripciones de las plantillas que se muestran a continuación, los parámetros que no se establecen de forma explícita en la plantilla se toman del recurso CertificateRequest, ya sea que se proporcionen en una solicitud de firma de certificado (CSR) o en los campos que definas.
Predeterminado
Nombre de la plantilla: default
Esta plantilla se usa automáticamente si no especificas una plantilla de certificado en tu recurso CertificateRequest. El certificado emitido hereda la configuración de Key
usage y Extended key usage del perfil de la CA emisora y establece
Basic constraints en CA:FALSE, lo que impide que el certificado se use para
firmar otros certificados.
| Parámetro X509 | Valor |
|---|---|
| RawSubject | [SubjectOverride definido por el usuario o Passthrough desde CSR] |
| Restricciones básicas | CA:FALSE |
| Nombre alternativo del asunto | [Passthrough desde CSR] |
| Uso de la clave | [Uso de la clave establecido en la CA] |
| Uso extendido de la clave | [Uso extendido de la clave establecido en la CA] |
Certificados TLS del cliente
Nombre de la plantilla: endEntityClientAuthCertificate
Esta plantilla emite certificados de entidad final para la autenticación TLS del cliente.
El certificado emitido establece Extended key usage en TLS web client
authentication y Basic constraints en CA:FALSE, lo que impide que el
certificado se use para firmar otros certificados.
| Parámetro X509 | Valor |
|---|---|
| RawSubject | [SubjectOverride definido por el usuario o Passthrough desde CSR] |
| Restricciones básicas | CA:FALSE |
| Nombre alternativo del asunto | [Passthrough desde CSR] |
| Uso de la clave | Crítico, firma digital, cifrado de claves |
| Uso extendido de la clave | Autenticación de cliente web TLS |
Certificados TLS del servidor
Nombre de la plantilla: endEntityServerAuthCertificate
Esta plantilla emite certificados de entidad final para la autenticación TLS del servidor, lo que es ideal para usar con servidores web. El certificado emitido establece Extended
key usage en TLS web server authentication y Basic constraints en
CA:FALSE, lo que impide que el certificado se use para firmar otros
certificados.
| Parámetro X509 | Valor |
|---|---|
| RawSubject | [SubjectOverride definido por el usuario o Passthrough desde CSR] |
| Restricciones básicas | CA:FALSE |
| Nombre alternativo del asunto | [Passthrough desde CSR] |
| Uso de la clave | Crítico, firma digital, cifrado de claves |
| Uso extendido de la clave | Autenticación de servidor web TLS |
Certificados de CA subordinada (PathLen 0)
Nombre de la plantilla: blankSubCACertificate_PathLen0_CSRPassthrough
Esta plantilla emite certificados de CA subordinada con una restricción de longitud de ruta de 0, lo que permite que el certificado firme certificados de entidad final, pero no otros certificados de CA.
| Parámetro X509 | Valor |
|---|---|
| RawSubject | [SubjectOverride definido por el usuario o Passthrough desde CSR] |
| Restricciones básicas | CA:TRUE, pathlen: 0 |
| Nombre alternativo del asunto | [Passthrough desde CSR] |
| Uso de la clave | [Uso de la clave establecido en la CSR] |
| Uso extendido de la clave | [Uso extendido de la clave establecido en la CSR] |
Certificados de CA subordinada (PathLen 1)
Nombre de la plantilla: blankSubCACertificate_PathLen1_CSRPassthrough
Esta plantilla emite certificados de CA subordinada con una restricción de longitud de ruta de 1, lo que permite que el certificado firme certificados de entidad final, así como otros certificados de CA subordinada que tengan una longitud de ruta de 0.
| Parámetro X509 | Valor |
|---|---|
| RawSubject | [SubjectOverride definido por el usuario o Passthrough desde CSR] |
| Restricciones básicas | CA:TRUE, pathlen: 1 |
| Nombre alternativo del asunto | [Passthrough desde CSR] |
| Uso de la clave | [Uso de la clave establecido en la CSR] |
| Uso extendido de la clave | [Uso extendido de la clave establecido en la CSR] |
Detección de conflictos
Cada CA tiene un perfil que define los tipos de certificados que puede emitir. Por ejemplo, una CA podría estar restringida a emitir solo certificados de autenticación de cliente. El perfil de la CA se configura en la
certificateProfile sección del CertificateAuthority recurso cuando
se crea la CA, como se detalla en
Crea una autoridad de certificación raíz
y
Crea una autoridad certificadora subordinada.
Cuando solicitas un certificado con una plantilla predefinida, el Servicio de CA valida los parámetros de la plantilla con la configuración de la CA emisora. Para que sean válidos, los parámetros X.509 definidos en la plantilla elegida deben ser un subconjunto de los permitidos por la CA emisora según su certificateProfile. Se produce un conflicto si la plantilla solicita atributos o permisos que la CA no está autorizada a otorgar. Por ejemplo, una plantilla no puede solicitar un Extended key usage (EKU) de serverAuth si la CA emisora solo está autorizada a otorgar clientAuth.
Si el Servicio de CA detecta un conflicto de este tipo, falla la CertificateRequest. Puedes inspeccionar el estado del recurso CertificateRequest para comprender el motivo de la falla.
Ejemplo
En la siguiente situación, se configura una CA llamada client-certs-ca para emitir certificados solo para la autenticación del cliente. Su certificateProfile especifica que el único Extended key usage permitido es TLS web client authentication.
Envías la siguiente CertificateRequest para emitir un certificado para un servidor con la plantilla 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
Esta solicitud falla debido a lo siguiente:
- La plantilla
endEntityServerAuthCertificaterequiere la EKUTLS web server authentication. - La CA emisora,
client-certs-ca, tiene uncertificateProfileque solo permite la EKUTLS web client authentication.
Dado que la EKU requerida por la plantilla no está incluida en la lista de EKUs permitidas por el perfil de la CA, los requisitos de la plantilla no son un subconjunto de los parámetros permitidos de la CA. Por lo tanto, se rechaza la solicitud.