Crea un'autorità di certificazione radice
Questa pagina descrive come creare una CA radice in un pool di CA.
Un'autorità di certificazione radice si trova in cima a una gerarchia di infrastruttura a chiave pubblica (PKI) ed è responsabile della formazione del trust anchor della PKI. Per partecipare correttamente e utilizzare i certificati in un'infrastruttura a chiave pubblica, un dispositivo, un software o un componente deve considerare attendibile l'infrastruttura a chiave pubblica. Ciò si ottiene configurando il dispositivo, il software o il componente in modo che consideri attendibile 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, vedi Configurare i criteri IAM. - Crea un pool di CA.
- Determina le impostazioni della campagna.
Crea una CA radice
Una CA radice ha un certificato autofirmato che devi distribuire agli archivi 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. L'elenco CRL della CA radice si applica solo agli altri certificati emessi dalla CA radice, ma non a se stessa.
Puoi creare una CA radice in un pool di CA esistente o in un nuovo pool di CA. Le seguenti istruzioni utilizzano una piscina esistente.
Console
Per creare una CA radice in un pool di CA esistente:
Vai alla pagina Certificate Authority Service nella consoleGoogle Cloud .
Fai clic sulla scheda Gestore CA.
Fai clic sulla freccia di espansione Crea CA
e poi seleziona Crea CA in un pool di CA esistente.
Seleziona pool di CA
Seleziona un pool di CA esistente dall'elenco e fai clic su Continua.
Seleziona il tipo di CA
- In Type (Tipo), seleziona CA radice.
- Nel campo Valido per, inserisci la durata per cui vuoi che i certificati emessi dal certificato CA siano validi.
- In Stato inizializzato, seleziona lo stato operativo in cui creare la CA.
- Fai clic su Continua.
- Nel campo Organizzazione (O), inserisci il nome della tua azienda.
- (Facoltativo) Nel campo Unità organizzativa, inserisci la divisione aziendale o la business unit.
- (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 chiave più adatto alle tue esigenze. Per informazioni su come decidere l'algoritmo chiave più adatto, vedi Scegliere un algoritmo chiave.
- 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:
- 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. A questo punto, aggiungi la chiave e il valore dell'etichetta come indicato nei passaggi 2 e 3.
- Fai clic su Continua.
Esamina attentamente tutte le impostazioni, poi fai clic su Fine per creare l'autorità di certificazione.
gcloud
Per creare una nuova CA radice in un pool di CA esistente, esegui questo comando:
gcloud privateca roots create ROOT_CA_ID \ --location=LOCATION \ --pool=POOL_ID \ --key-algorithm=KEY_ALGORITHM \ --subject="CN=my-ca, O=Test LLC"
Sostituisci quanto segue:
- ROOT_CA_ID: il nome della CA.
- LOCATION: la posizione del pool di 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 della chiave è impostato
su
rsa-pkcs1-4096-sha256
per impostazione predefinita. Per maggiori informazioni, vedi 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 ed elenchi di revoche dei certificati, aggiungi
--bucket bucket-name
al comando. Sostituisci bucket-name con il nome del bucket Cloud Storage.Per visualizzare l'elenco esaustivo delle impostazioni, esegui questo comando:
gcloud privateca roots create --help
Terraform
Per creare una CA radice utilizzando una chiave di crittografia di proprietà di Google e gestita da Google , utilizza la seguente configurazione di esempio:
Per creare una CA radice utilizzando una chiave autogestita, utilizza la seguente configurazione di esempio:
Vai
Per eseguire l'autenticazione al servizio CA, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per eseguire l'autenticazione al servizio CA, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione al servizio CA, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura 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 }
Esegui il sondaggio sull'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'autorità di certificazione funzioni come previsto, puoi attivarla per iniziare a emettere certificati con bilanciamento del carico per il pool di autorità di certificazione.
Attivare una CA radice
gcloud
Per abilitare una CA radice, esegui questo comando gcloud
:
gcloud privateca roots enable ROOT_CA_ID --location=LOCATION --pool=POOL_ID
Sostituisci quanto segue:
- ROOT_CA_ID: il nome della CA.
- LOCATION: la posizione del pool di CA. Per l'elenco completo delle località, consulta Località.
- 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'autorità di certificazione.
Vai
Per eseguire l'autenticazione al servizio CA, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per eseguire l'autenticazione al servizio CA, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione al servizio CA, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
API REST
Consente alla CA 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 }
Esegui il sondaggio sull'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 una CA sia in grado di emettere certificati, richiedi un certificato dal pool di CA associato e menziona esplicitamente il nome della CA che vuoi testare utilizzando il flag --ca
.
Per richiedere un certificato da un pool di CA, puoi utilizzare i seguenti metodi:
- Fai in modo che CA Service crei 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 pubblica generata automaticamente per richiedere un certificato da una CA in un pool di CA. Questa sezione fornisce informazioni sul test di una CA utilizzando questo metodo.
Per utilizzare una chiave privata o una chiave pubblica generata automaticamente per richiedere un certificato a
una CA in un pool di CA, esegui il seguente comando gcloud
:
gcloud privateca certificates create \
--issuer-pool=POOL_ID \
--issuer-location=ISSUER_LOCATION \
--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.
- ISSUER_LOCATION: la posizione dell'autorità di certificazione (CA) che ha emesso il certificato digitale.
- ROOT_CA_ID: l'identificatore univoco della CA che vuoi testare.
- KEY_FILENAME: il file in cui viene scritta la chiave generata in formato PEM.
- CERT_FILENAME: il file in cui viene scritta la 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 alternativi del soggetto DNS (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 una CA in un pool di CA o per ulteriori informazioni sulla richiesta di certificati, consulta Richiedere un certificato e visualizzare i certificati emessi.
Clona autorità di certificazione
Per clonare una CA esistente per rinnovarla o per creare una nuova CA con la stessa configurazione, esegui questo comando:
gcloud privateca roots create NEW_CA_ID \
--location=LOCATION \
--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.
- LOCATION: la posizione del pool di CA.
- POOL_ID: il nome del pool di CA in cui vuoi creare la nuova CA.
- EXISTING_CA_ID: l'ID della CA di origine o l'identificatore completo della CA di origine.
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
(ad eccezione della versione della chiave Cloud KMS e del bucket Cloud Storage).
Tuttavia, puoi comunque sostituire uno qualsiasi dei valori di configurazione nella nuova 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 utilizza per impostazione predefinita:
rsa-pkcs1-4096-sha256
per le CA radice.rsa-pkcs1-2048-sha256
per le CA subordinate.
Per saperne di più 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ù sui modelli e sulle norme di emissione.