Certificate Authority Service fornisce modelli di certificati predefiniti per semplificare e proteggere la procedura di emissione dei certificati. Offrendo set preconfigurati di parametri X.509 per i casi d'uso comuni, questi modelli pronti all'uso semplificano la gestione dei certificati, riducono il rischio di errore umano e applicano le best practice di sicurezza. Ogni modello è progettato per un caso d'uso specifico per garantire che i certificati vengano emessi con i parametri corretti per lo scopo previsto, rispettando al contempo eventuali limitazioni stabilite dall'autorità di certificazione emittente.
Questo documento è destinato ai segmenti di pubblico all'interno del gruppo di operatori di applicazioni, ad esempio sviluppatori di applicazioni o data scientist, che gestiscono i cicli di vita dei certificati all'interno del loro progetto. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per GDC air-gap.
Applicare un modello di certificato
Per applicare un modello, specifica il nome del modello nel campo certificateTemplate
della risorsa CertificateRequest. CA Service applica i parametri
del modello scelto al certificato emesso.
Per indicazioni dettagliate su come strutturare la risorsa CertificateRequest e
includere il campo certificateTemplate, consulta
Richiedere un certificato.
Tipi di modelli di certificato
Sono disponibili i seguenti modelli di certificato predefiniti. Ogni modello è progettato per un caso d'uso specifico e preconfigura i parametri X.509 che il modello applica.
Nelle descrizioni dei modelli riportate di seguito, tutti i parametri non impostati esplicitamente dal modello vengono presi dalla risorsa CertificateRequest, indipendentemente dal fatto che siano forniti in una richiesta di firma del certificato (CSR) o nei campi definiti.
Predefinito
Nome modello: default
Questo modello viene utilizzato automaticamente se non specifichi un modello di certificato
nella risorsa CertificateRequest. Il certificato emesso eredita le impostazioni Key
usage e Extended key usage dal profilo della CA emittente e imposta
Basic constraints su CA:FALSE, impedendo l'utilizzo del certificato per
firmare altri certificati.
| Parametro X509 | Valore |
|---|---|
| RawSubject | [User defined SubjectOverride or Passthrough from CSR] |
| Limitazioni di base | CA:FALSE |
| Nome alternativo del soggetto | [Passthrough from CSR] |
| Utilizzo della chiave | [Utilizzo chiave impostato nella CA] |
| Utilizzo esteso della chiave | [Utilizzo esteso della chiave impostato nella CA] |
Certificati TLS client
Nome modello: endEntityClientAuthCertificate
Questo modello rilascia certificati di entità finale per l'autenticazione TLS lato client.
Il certificato emesso imposta Extended key usage su TLS web client
authentication e Basic constraints su CA:FALSE, impedendo
l'utilizzo del certificato per firmare altri certificati.
| Parametro X509 | Valore |
|---|---|
| RawSubject | [User defined SubjectOverride or Passthrough from CSR] |
| Limitazioni di base | CA:FALSE |
| Nome alternativo del soggetto | [Passthrough from CSR] |
| Utilizzo della chiave | Critico, firma digitale, crittografia chiave |
| Utilizzo esteso della chiave | Autenticazione client web TLS |
Certificati TLS del server
Nome modello: endEntityServerAuthCertificate
Questo modello emette certificati di entità finale per l'autenticazione TLS lato server,
ideale per l'utilizzo con i server web. Il certificato emesso imposta Extended
key usage su TLS web server authentication e Basic constraints su
CA:FALSE, impedendo l'utilizzo del certificato per firmare altri
certificati.
| Parametro X509 | Valore |
|---|---|
| RawSubject | [User defined SubjectOverride or Passthrough from CSR] |
| Limitazioni di base | CA:FALSE |
| Nome alternativo del soggetto | [Passthrough from CSR] |
| Utilizzo della chiave | Critico, firma digitale, crittografia chiave |
| Utilizzo esteso della chiave | Autenticazione TLS del server web |
Certificati CA subordinata (PathLen 0)
Nome modello: blankSubCACertificate_PathLen0_CSRPassthrough
Questo modello emette certificati CA subordinati con un vincolo di lunghezza del percorso pari a 0, il che consente al certificato di firmare certificati di entità finale, ma non altri certificati CA.
| Parametro X509 | Valore |
|---|---|
| RawSubject | [User defined SubjectOverride or Passthrough from CSR] |
| Limitazioni di base | CA:TRUE, pathlen: 0 |
| Nome alternativo del soggetto | [Passthrough from CSR] |
| Utilizzo della chiave | [Utilizzo chiave impostato nella CSR] |
| Utilizzo esteso della chiave | [Utilizzo esteso della chiave impostato nella richiesta CSR] |
Certificati CA subordinata (PathLen 1)
Nome modello: blankSubCACertificate_PathLen1_CSRPassthrough
Questo modello emette certificati CA subordinati con un vincolo di lunghezza del percorso pari a 1, il che consente al certificato di firmare certificati di entità finale e altri certificati CA subordinati con una lunghezza del percorso pari a 0.
| Parametro X509 | Valore |
|---|---|
| RawSubject | [User defined SubjectOverride or Passthrough from CSR] |
| Limitazioni di base | CA:TRUE, pathlen: 1 |
| Nome alternativo del soggetto | [Passthrough from CSR] |
| Utilizzo della chiave | [Utilizzo chiave impostato nella CSR] |
| Utilizzo esteso della chiave | [Utilizzo esteso della chiave impostato nella richiesta CSR] |
Rilevamento dei conflitti
Ogni CA ha un profilo che definisce i tipi di certificati che è autorizzata a
emettere. Ad esempio, una CA potrebbe essere limitata all'emissione di soli certificati di autenticazione client. Il profilo della CA viene configurato nella sezione certificateProfile della risorsa CertificateAuthority al momento della creazione della CA, come descritto in Crea un'autorità di certificazione radice e Crea un'autorità di certificazione subordinata.
Quando richiedi un certificato utilizzando un modello predefinito, CA Service convalida
i parametri del modello in base alla configurazione della CA emittente. Per essere validi,
i parametri X.509 definiti nel modello scelto devono essere un sottoinsieme di quelli
consentiti dalla CA emittente in base al relativo certificateProfile. Si verifica un conflitto se il modello richiede attributi o autorizzazioni che l'AC non è autorizzata a concedere. Ad esempio, un modello non può richiedere un
Extended key usage (EKU) di serverAuth se la CA emittente è autorizzata
solo a concedere clientAuth.
Se CA Service rileva un conflitto di questo tipo, CertificateRequest non funziona. Puoi esaminare lo stato della risorsa CertificateRequest per comprendere il motivo dell'errore.
Esempio
Nello scenario seguente, una CA denominata client-certs-ca è configurata per emettere
certificati solo per l'autenticazione client. Il relativo certificateProfile specifica
che l'unico Extended key usage consentito è TLS web client authentication.
Invii il seguente CertificateRequest per emettere un certificato per un server utilizzando il modello 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
Questa richiesta non va a buon fine per i seguenti motivi:
- Il modello
endEntityServerAuthCertificaterichiede l'EKUTLS web server authentication. - La CA emittente,
client-certs-ca, ha uncertificateProfileche consente solo l'EKUTLS web client authentication.
Poiché l'EKU richiesta dal modello non è inclusa nell'elenco delle EKU consentite dal profilo della CA, i requisiti del modello non sono un sottoinsieme dei parametri consentiti della CA. Pertanto, la richiesta viene rifiutata.