Crea un'autorità di certificazione subordinata
Questa pagina descrive come creare autorità di certificazione (CA) subordinate in un pool CA.
Le CA subordinate sono responsabili dell'emissione di certificati direttamente alle entità finali, come utenti, computer e dispositivi. Le CA subordinate sono firmate in modo crittografico da una CA principale, che spesso è la CA radice. Di conseguenza, i sistemi che considerano attendibile la CA radice considerano automaticamente attendibili le CA subordinate e i certificati delle entità finali emessi dalle CA subordinate.
Prima di iniziare
- Assicurati di disporre del ruolo IAM CA Service Operation Manager (
roles/privateca.caManager) o Amministratore di Certificate Authority Service (roles/privateca.admin). Per informazioni, consulta Configura le policy IAM. - Crea un pool CA.
- Seleziona la CA radice.
- Se il pool di CA contenente la CA radice di emissione ha una policy di emissione dei certificati configurata, verifica che i relativi
baselineValuesconsentano l'emissione dei certificati CAcaOptions.isCa: true,keyUsage.baseKeyUsage.certSign: trueekeyUsage.baseKeyUsage.crlSign: true. In caso contrario, l'attivazione della CA subordinata non va a buon fine e viene visualizzato il messaggio di erroreFields in the CSR were modified or removed in the signed CA certificate.
Crea una CA subordinata
Le CA subordinate sono più facili da revocare e ruotare rispetto alle CA root. Se hai più scenari di emissione di certificati, puoi creare una CA subordinata per ciascuno di questi scenari. L'aggiunta di più CA subordinate in un pool CA ti aiuta a ottenere un migliore bilanciamento del carico delle richieste di certificati e un valore QPS totale effettivo più elevato.
Per creare una CA subordinata, segui questi passaggi:
Console
Vai alla pagina Certificate Authority Service nella consoleGoogle Cloud .
Fai clic sulla scheda Gestore CA.
Fai clic su Crea CA.
Seleziona il tipo di CA
- Fai clic su CA subordinata.
- Fai clic su La CA principale si trova in Google Cloud.
- Nel campo Valido per, inserisci la durata di validità del certificato CA.
- (Facoltativo) Scegli il livello per la CA. Il livello predefinito è Enterprise. Per saperne di più, consulta Seleziona i livelli di operazione.
- Fai clic su Regione per selezionare una località per la CA. Per saperne di più, consulta Località.
- (Facoltativo) In Stato inizializzato, seleziona lo stato operativo in cui creare la CA.
- (Facoltativo) In Configura uno scenario di emissione, fai clic su Profilo certificato e seleziona dall'elenco il profilo certificato più adatto alle tue esigenze. Per saperne di più, consulta Profili dei certificati.
- Fai clic su Avanti.
- (Facoltativo) Nel campo Organizzazione (O), inserisci il nome della tua azienda.
- (Facoltativo) Nel campo Unità organizzativa (UO), inserisci la divisione aziendale o l'unità aziendale.
- (Facoltativo) Nel campo Nome paese (C), inserisci un codice paese di due lettere.
- (Facoltativo) Nel campo Nome stato o provincia, inserisci il nome del tuo stato.
- (Facoltativo) Nel campo Nome località, inserisci il nome della tua città.
- Nel campo Nome comune CA (NC), inserisci il nome della CA.
- Fai clic su Continua.
- Scegli l'algoritmo della chiave più adatto alle tue esigenze. Per maggiori dettagli sulle opzioni delle chiavi di firma, consulta Configura le chiavi di firma della CA.
- Per utilizzare una chiave di firma gestita dal cliente, seleziona Chiave gestita dal cliente e fornisci la versione della chiave di crittografia di Cloud Key Management Service.
- Fai clic su Continua.
- Scegli se utilizzare un bucket Cloud Storage gestito da Google o dal cliente.
- Per un bucket Cloud Storage gestito da Google, CA Service crea un bucket gestito da Google nella stessa località della CA.
- Per un bucket Cloud Storage gestito dal cliente, fai clic su Sfoglia e seleziona uno dei bucket Cloud Storage esistenti.
- Fai clic su Continua.
I seguenti passaggi sono facoltativi.
Se vuoi aggiungere etichette alla CA, segui questi passaggi:
- Fai clic su Aggiungi elemento.
- Nel campo Chiave 1, inserisci la chiave dell'etichetta.
- Nel campo Valore 1, inserisci il valore dell'etichetta.
- Se vuoi aggiungere un'altra etichetta, fai clic su Aggiungi elemento. Poi, aggiungi la chiave e il valore dell'etichetta come indicato nei passaggi 2 e 3.
- Fai clic su Continua.
Esamina attentamente tutte le impostazioni, quindi fai clic su Fine per creare la CA.
gcloud
Crea un pool CA per la CA subordinata:
gcloud privateca pools create SUBORDINATE_POOL_ID --location=LOCATIONSostituisci quanto segue:
- SUBORDINATE_POOL_ID: il nome del pool CA
- LOCATION: la località in cui vuoi creare il pool CA. Per l'elenco completo delle località, consulta Località.
Per saperne di più sulla creazione di pool CA, consulta Crea un pool CA.
Per saperne di più sul comando
gcloud privateca pools create, consulta gcloud privateca pools create.Crea una CA subordinata nel pool CA creato.
Assicurati che
--issuer-poolspecifichi l'ID del pool CA di emissione (non l'ID risorsa della CA principale). Inoltre, se nel pool di CA di emissione è configurata una policy di emissione, il relativobaselineValuesdeve consentire i certificati CA:baselineValues: caOptions: isCa: true keyUsage: baseKeyUsage: certSign: true crlSign: trueSe il pool di CA emittenti limita l'emissione ai certificati di entità finale, l'attivazione della CA subordinata non riesce e viene visualizzato il messaggio di errore
Fields in the CSR were modified or removed in the signed CA certificate.gcloud privateca subordinates create SUBORDINATE_CA_ID \ --pool=SUBORDINATE_POOL_ID \ --location=LOCATION \ --issuer-pool=ISSUER_POOL_ID \ --issuer-location=ISSUER_LOCATION \ --key-algorithm="ec-p256-sha256" \ --subject="CN=Example Server TLS CA, O=Example LLC"Sostituisci quanto segue:
- SUBORDINATE_CA_ID: l'identificatore univoco della CA subordinata
- SUBORDINATE_POOL_ID: il nome del pool CA
- LOCATION: la località del pool CA
- ISSUER_POOL_ID: il nome del pool di CA contenente la CA di emissione
ISSUER_LOCATION: la località del pool di CA contenente la CA di emissione
Il flag
--key-algorithmspecifica l'algoritmo di crittografia che vuoi utilizzare per creare una chiave Cloud HSM gestita per la CA.Il flag
--subjectspecifica il nome X.501 del soggetto del certificato.
Per creare una CA subordinata utilizzando una chiave di firma gestita dal cliente, esegui questo comando:
gcloud privateca subordinates create SUBORDINATE_CA_ID \ --pool=SUBORDINATE_POOL_ID \ --location=LOCATION \ --issuer-pool=ISSUER_POOL_ID \ --issuer-location=ISSUER_LOCATION \ --kms-key-version=KMS_KEY_VERSION \ --subject="CN=Example Server TLS CA, O=Example LLC"Sostituisci quanto segue:
- SUBORDINATE_POOL_ID: il nome del pool CA
- LOCATION: la località del pool CA
- ISSUER_POOL_ID: il nome del pool di CA contenente la CA di emissione
- ISSUER_LOCATION: la località del pool CA contenente la CA di emissione
- KMS_KEY_VERSION: l'ID risorsa completo di una versione della chiave di crittografia Cloud KMS gestita dal cliente da utilizzare come chiave di firma
Per maggiori dettagli sulle opzioni delle chiavi di firma e sulla preparazione di una chiave di firma gestita dal cliente, consulta Configura le chiavi di firma della CA.
Quando viene creata la CA subordinata, viene restituita la seguente istruzione.
Created Certificate Authority [projects/my-project-pki/locations/us-west1/caPools/SUBORDINATE_POOL_ID/certificateAuthorities/SUBORDINATE_CA_ID].
Per specificare URL di accesso personalizzati per l'accesso alle informazioni sull'autorità (AIA) e per il punto di distribuzione CRL (CDP), utilizza i flag
--custom-aia-urlse--custom-cdp-urls. Se specificati, questi URL sono inclusi in tutti i certificati emessi dalla CA e sostituiscono gli URL di accesso predefiniti del bucket Cloud Storage.Per visualizzare un elenco completo delle impostazioni, esegui il seguente comando
gcloud:gcloud privateca subordinates create --helpIl comando restituisce esempi per creare una CA subordinata la cui emittente si trova in CA Service o altrove.
Terraform
Java
Per eseguire l'autenticazione in CA Service, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione in CA Service, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Attiva una CA subordinata
Per attivare una CA subordinata:
Console
Vai alla pagina Certificate Authority Service nella consoleGoogle Cloud .
Fai clic sulla scheda Gestore CA.
In Autorità di certificazione, seleziona la CA che vuoi attivare.
Fai clic su play_circleAbilita.
gcloud
Per attivare una CA subordinata appena creata, esegui questo comando:
gcloud privateca subordinates enable SUBORDINATE_CA_ID \
--pool=SUBORDINATE_POOL_ID \
--location=LOCATION
Sostituisci quanto segue:
- SUBORDINATE_CA_ID: l'identificatore univoco della CA subordinata
- SUBORDINATE_POOL_ID: il nome del pool di CA che contiene la CA subordinata
- LOCATION: la località del pool CA. Per l'elenco completo delle località, consulta Località.
Per saperne di più sul comando gcloud privateca subordinates enable, consulta gcloud privateca subordinates enable.
Terraform
Imposta il campo desired_state su ENABLED nella CA subordinata ed esegui terraform apply.
Java
Per attivare la CA subordinata utilizzando un certificato firmato, chiama l'RPC ActivateCertificateAuthority:
Per attivare la CA subordinata in modo che possa emettere certificati, chiama l'RPC EnableCertificateAuthority:
Python
Per attivare la CA subordinata utilizzando un certificato firmato, chiama l'RPC ActivateCertificateAuthority:
Per attivare la CA subordinata in modo che possa emettere certificati, chiama l'RPC EnableCertificateAuthority:
Passaggi successivi
- Scopri come richiedere i certificati.
- Scopri come inviare una richiesta di certificato utilizzando una CSR.
- Scopri di più sui modelli e sulle policy di emissione.