Crea un'autorità di certificazione radice
Questa pagina descrive come creare un'autorità di certificazione (CA) radice in un pool di CA.
Una CA principale si trova nella parte superiore di una gerarchia di infrastruttura a chiave pubblica (PKI) ed è responsabile della formazione del trust anchor della PKI. Per partecipare e utilizzare correttamente i certificati in una PKI, un dispositivo, un software o un componente deve considerare attendibile la PKI. Ciò viene ottenuto configurando il dispositivo, il software o il componente in modo che attenda la CA radice. Di conseguenza, tutti i certificati emessi dalla CA radice sono attendibili.
Prima di iniziare
- Assicurati di disporre del ruolo IAM Responsabile operativo servizio CA
(
roles/privateca.caManager
) o Amministratore servizio CA (roles/privateca.admin
). Per informazioni, consulta Configurare i criteri IAM. - Crea un pool di CA.
- Determina le impostazioni della CA.
Crea una CA radice
Un'autorità di certificazione radice ha un certificato autofirmato che devi distribuire agli archivi chiavi attendibili dei tuoi client. Il certificato della CA radice si trova nella parte superiore della catena di certificati. Nessun'altra CA può revocare il certificato CA. La CRL della CA radice si applica solo agli altri certificati emessi dalla CA radice, ma non a se stessa.
Console
Per creare una CA radice:
Vai alla pagina Certificate Authority Service nella console Google Cloud.
Fai clic sulla scheda Gestore CA.
Fai clic su Crea CA.
Seleziona il tipo di CA
Per configurare le impostazioni permanenti della CA, ad esempio il livello, la posizione, la durata e lo stato operativo al momento della creazione, svolgi i seguenti passaggi:
- Seleziona CA radice.
- Nel campo Valido per, inserisci la durata per la quale vuoi che i certificati emessi dal certificato CA siano validi.
- (Facoltativo) Seleziona un livello per la CA.
- Fai clic su Regione e nell'elenco seleziona la località in cui vuoi creare la CA. Ti consigliamo di creare la CA geograficamente vicino ai clienti della tua applicazione. Per ulteriori informazioni, consulta la sezione Scegliere la migliore posizione.
(Facoltativo) Seleziona lo stato operativo dell'autorità di certificazione da creare.
(Facoltativo) Fai clic su Profilo certificato. Nell'elenco, seleziona il profilo di certificato corrispondente al tipo di certificati che vuoi che l' autorità di certificazione emetta.
Fai clic su Avanti.
- Nel campo Organizzazione (O), inserisci il nome della tua azienda.
- (Facoltativo) Nel campo Unità organizzativa (OU), inserisci la suddivisione dell'azienda o la business unit.
- (Facoltativo) Nel campo Nome paese, 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 (CN), inserisci il nome della CA.
- Nel campo ID pool, inserisci il nome del pool di CA. Non puoi modificare il pool di CA dopo aver creato la CA.
- Fai clic su Avanti.
- Scegli l'algoritmo chiave più adatto alle tue esigenze. Per informazioni su come scegliere l'algoritmo chiave più adatto, consulta Scegliere un algoritmo chiave.
- Fai clic su Avanti.
I passaggi che seguono sono facoltativi. Se salti questi passaggi, verranno applicate le impostazioni predefinite.
- Scegli se utilizzare un bucket Cloud Storage gestito da Google o autogestito.
- Scegli se disattivare la pubblicazione degli elenchi di revoche dei certificati (CRL) e dei certificati CA nel bucket Cloud Storage.
- Fai clic su Avanti.
Se non selezioni un bucket Cloud Storage autogestito, il servizio CA crea un bucket gestito da Google nella stessa posizione dell'autorità di certificazione.
La pubblicazione di CRL e certificato CA in un bucket Cloud Storage è abilitata per impostazione predefinita. Per disattivare queste impostazioni, fai clic sui pulsanti di attivazione/disattivazione.
I passaggi che seguono sono facoltativi.
Se vuoi aggiungere etichette alla CA:
- 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. Aggiungi poi la chiave e il valore dell'etichetta come indicato nei passaggi 2 e 3.
- Fai clic su Avanti.
Esamina attentamente tutte le impostazioni, quindi fai clic su Crea per creare la CA.
gcloud
Per creare un pool di CA, esegui il seguente comando:
gcloud privateca pools create POOL_ID
Sostituisci POOL_ID con il nome del pool di CA.
Per ulteriori informazioni, vedi Creare un pool di CA.
Per ulteriori informazioni su questo comando
gcloud
, consulta gcloud privateca pools create.Crea una nuova CA radice nel pool di CA che hai creato.
gcloud privateca roots create ROOT_CA_ID --pool=POOL_ID \ --key-algorithm=KEY_ALGORITHM \ --subject="CN=my-ca, O=Test LLC"
Sostituisci quanto segue:
- ROOT_CA_ID: il nome della CA.
- POOL_ID: il nome del pool di CA.
- KEY_ALGORITHM: l'algoritmo da utilizzare per creare una chiave Cloud KMS. Questo flag è facoltativo. Se non includi questo flag, l'algoritmo principale predefinito è
rsa-pkcs1-4096-sha256
. Per maggiori informazioni, consulta il flag --key-algorithm.
Per impostazione predefinita, la CA viene creata nello stato
STAGED
. Per attivare una CA per impostazione predefinita, includi il flag--auto-enable
.Se vuoi utilizzare un bucket Cloud Storage gestito dal cliente per la pubblicazione di certificati CA e CRL, aggiungi
--bucket bucket-name
al comando. Sostituisci bucket-name con il nome del bucket Cloud Storage.Per visualizzare l'elenco completo delle impostazioni, esegui il seguente comando:
gcloud privateca roots create --help
Terraform
Per creare una CA radice utilizzando una chiave di proprietà e gestita da Google, utilizza la seguente configurazione di esempio:
Per creare una CA radice utilizzando una chiave gestita autonomamente, utilizza la seguente configurazione di esempio:
Vai
Per autenticarti al servizio CA, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per autenticarti al servizio CA, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per autenticarti al servizio CA, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
Crea una CA radice.
Metodo HTTP e URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities?certificate_authority_id=ROOT_CA_ID
Corpo JSON della richiesta:
{ "type": "SELF_SIGNED", "lifetime": { "seconds": 315576000, "nanos": 0 }, "config": { "subject_config": { "subject": { "organization": "ORGANIZATION_NAME", "common_name": "COMMON_NAME" } }, "x509_config":{ "ca_options":{ "is_ca":true }, "key_usage":{ "base_key_usage":{ "cert_sign":true, "crl_sign":true } } } }, "key_spec":{ "algorithm":"RSA_PKCS1_4096_SHA256" } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }
Effettua il polling dell'operazione fino al completamento.
Metodo HTTP e URL:
GET https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.security.privateca.v1.CertificateAuthority", "name": "...", } }
Dopo aver verificato che l'AC funzioni come previsto, puoi attivarla per iniziare a emettere certificati con bilanciamento del carico per il pool di CA.
Attivare una CA radice
gcloud
Per abilitare una CA principale, esegui il seguente comando gcloud
:
gcloud privateca roots enable ROOT_CA_ID --pool=POOL_ID
Sostituisci quanto segue:
- ROOT_CA_ID: il nome della CA.
- POOL_ID: il nome del pool di CA.
Terraform
Se utilizzi Terraform per creare una CA radice, questa viene attivata al momento della creazione. Per creare una CA radice nello stato STAGED
, imposta il campo desired_state
su STAGED
durante la creazione della CA.
Puoi impostare il campo desired_state
su ENABLED
o DISABLED
dopo la creazione dell'APV.
Vai
Per autenticarti al servizio CA, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per autenticarti al servizio CA, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per autenticarti al servizio CA, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
Consenti all'autorità di certificazione di emettere certificati dal pool di CA.
Metodo HTTP e URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/ROOT_CA_ID:enable
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }
Effettua il polling dell'operazione fino al completamento.
Metodo HTTP e URL:
GET https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.security.privateca.v1.CertificateAuthority", "name": "...", } }
Testare una CA
Per verificare che un'autorità di certificazione sia in grado di emettere certificati, richiedi un certificato al pool di CA associato e menziona esplicitamente il nome dell'autorità di certificazione che vuoi testare utilizzando il flag --ca
.
Per richiedere un certificato da un pool di CA, puoi utilizzare i seguenti metodi:
- Chiedi al servizio CA di creare una chiave privata o pubblica per te.
- Genera la tua chiave privata o pubblica e invia una richiesta di firma del certificato (CSR).
È più facile utilizzare una chiave privata o una chiave pubblica generata automaticamente per richiedere un certificato a una CA in un pool di CA. Questa sezione fornisce informazioni su come testare una CA utilizzando questo metodo.
Per utilizzare una chiave privata o pubblica generata automaticamente per richiedere un certificato da un'autorità di certificazione in un pool di CA, esegui il seguente comando gcloud
:
gcloud privateca certificates create \
--issuer-pool=POOL_ID \
--ca=ROOT_CA_ID \
--generate-key \
--key-output-file=KEY_FILENAME \
--cert-output-file=CERT_FILENAME \
--dns-san=DNS_NAME
Sostituisci quanto segue:
- POOL_ID: il nome del pool di CA.
- ROOT_CA_ID: l'identificatore univoco della CA che vuoi testare.
- KEY_FILENAME: il file in cui la chiave generata è scritta in formato PEM.
- CERT_FILENAME: il file in cui viene scritto il file della catena di certificati con codifica PEM risultante. L'ordine della catena di certificati è dal certificato dell'entità finale a quello radice.
DNS_NAME: uno o più nomi DNS alternativi dell'oggetto (SAN) separati da virgole.
Il flag
--generate-key
genera una nuova chiave privata RSA-2048 sul tuo computer.
Per utilizzare una richiesta di firma del certificato (CSR) per richiedere un certificato da un'autorità di certificazione in un pool di CA o per ulteriori informazioni sulla richiesta di certificati, consulta Richiedere un certificato e visualizzare i certificati emessi.
Clona le autorità di certificazione
Per clonare una CA esistente al fine di rinnovarla o per creare una nuova CA con la stessa configurazione, esegui il seguente comando:
gcloud privateca roots create NEW_CA_ID --pool=POOL_ID \
--from-ca=EXISTING_CA_ID \
--key-algorithm "ec-p384-sha384"
Sostituisci quanto segue:
- NEW_CA_ID: l'identificatore univoco della nuova CA.
- POOL_ID: il nome del pool di CA in cui vuoi creare la nuova CA.
Il flag --from-ca
è supportato per la creazione di CA radice e subordinate. La CA esistente deve trovarsi nello stesso pool di CA della nuova CA.
Il flag --key-algorithm
copia tutta la configurazione della CA dalla CA esistente
(tranne la versione della chiave Cloud KMS e il bucket Cloud Storage). Tuttavia,
puoi comunque sostituire qualsiasi valore di configurazione nel nuovo CA fornendo esplicitamente il flag appropriato. Ad esempio, puoi comunque
specificare `--subject SUBJECT per utilizzare un nuovo oggetto.
Se ometti il flag --key-algorithm
, l'algoritmo predefinito è:
rsa-pkcs1-4096-sha256
per le CA radice.rsa-pkcs1-2048-sha256
per le CA subordinate.
Per ulteriori informazioni su questo comando gcloud
, consulta
gcloud privateca roots create.
Passaggi successivi
- Scopri come creare una CA subordinata.
- Scopri come richiedere i certificati.
- Scopri di più su modelli e norme di emissione.