Crea un'autorità di certificazione radice
In questa pagina viene descritto come creare un'autorità di certificazione (CA) radice in un pool di CA.
Una CA radice si trova in cima alla gerarchia dell'infrastruttura a chiave pubblica (PKI) responsabile della creazione del trust anchor dell'infrastruttura a chiave pubblica. Per partecipare correttamente e utilizzare i certificati in un'infrastruttura a chiave pubblica; un dispositivo, software o componente deve considerare attendibile l'infrastruttura a chiave pubblica. A questo scopo, occorre configurare il dispositivo, il software o il componente in modo che consideri attendibile la CA principale. Di conseguenza, tutti i certificati emessi dalla CA radice sono considerati attendibili.
Prima di iniziare
- Assicurati di avere il CA Service Operation Manager
(
roles/privateca.caManager
) o l'amministratore del servizio CA (roles/privateca.admin
) Ruolo IAM. Per informazioni, vedi Configura i criteri IAM. - Crea un pool di CA.
- Determina le impostazioni della CA.
Crea una CA radice
Una CA radice ha un certificato autofirmato che devi distribuire all'attendibilità i negozi dei tuoi clienti. Il certificato della CA radice si trova nella parte superiore della catena di certificati. Nessun'altra CA può revocare il certificato CA. Il CRL del CA radice si applica solo agli altri certificati emessi dalla CA radice, ma non a per trovare le regole.
Console
Per creare una CA radice, procedi nel seguente modo.
Vai alla pagina Certificate Authority Service in la console Google Cloud.
Fai clic sulla scheda CA Manager (Amministratore CA).
Fai clic su Crea CA.
Seleziona il tipo di CA
Per configurare le impostazioni permanenti della CA, come livello, località intera durata e lo stato operativo al momento della creazione, segui questi passaggi:
- Seleziona CA radice.
- Nel campo Valido per, inserisci il periodo di tempo per cui vuoi che venga emessi dal certificato CA.
- (Facoltativo) Seleziona un livello per la CA.
- Fai clic su Regione e seleziona nell'elenco la località in cui vuoi per creare la CA. Consigliamo di creare la CA geograficamente vicina i client della tua applicazione. Per ulteriori informazioni, consulta Scegliere la migliore posizione.
(Facoltativo) Seleziona lo stato operativo della CA da creare.
(Facoltativo) Fai clic su Profilo certificato. Nell'elenco, seleziona profilo del certificato che corrisponda al tipo di certificati che CA di rilascio.
Fai clic su Avanti.
- Nel campo Organizzazione (O), inserisci il nome della tua azienda.
- (Facoltativo) Nel campo Unità organizzativa (UO), inserisci l'azienda una suddivisione o un'unità aziendale.
- (Facoltativo) Nel campo Nome paese, inserisci un codice paese di due lettere.
- (Facoltativo) Nel campo Nome stato o provincia, inserisci il nome stato.
- (Facoltativo) Nel campo Nome località, inserisci il nome della tua città.
- Nel campo Nome comune della CA (CN), inserisci il nome della CA.
- Nel campo ID pool, inserisci il nome del pool di CA. Non puoi modificare Pool di CA dopo la creazione della CA.
- Fai clic su Avanti.
- Scegli l'algoritmo chiave più adatto alle tue esigenze. Per informazioni su come decidere l'algoritmo chiave adatto, consulta Scegli un algoritmo chiave.
- Fai clic su Avanti.
I passaggi che seguono sono facoltativi. Se salti questi passaggi, lo stato predefinito impostazioni.
- Scegli se utilizzare un sistema gestito da Google o uno autogestito nel bucket Cloud Storage.
- Scegli se disattivare la pubblicazione del certificato elenchi di revoche (CRL) e certificati CA a Cloud Storage di sincronizzare la directory di una VM con un bucket.
- Fai clic su Avanti.
Se non selezioni un bucket Cloud Storage autogestito, CA Service crea un bucket gestito da Google nello stesso località dell'autorità di certificazione come CA.
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 di etichetta.
- Nel campo Valore 1, inserisci il valore dell'etichetta.
- Se vuoi aggiungere un'altra etichetta, fai clic su Aggiungi elemento. Quindi, aggiungi e etichetta la chiave e il valore come indicato nei passaggi 2 e 3.
- Fai clic su Avanti.
Esamina attentamente tutte le impostazioni, poi fai clic su Crea per creare la CA.
gcloud
Per creare un pool di CA, esegui questo comando:
gcloud privateca pools create POOL_ID
Sostituisci POOL_ID con il nome del pool di CA.
Per ulteriori informazioni, consulta l'articolo sulla creazione di una CA pool.
Per ulteriori informazioni su questo comando
gcloud
, consulta gcloud privateca pool 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 un
Chiave Cloud KMS. Questo flag è facoltativo. Se non includi
questo flag, l'algoritmo chiave è
rsa-pkcs1-4096-sha256
per impostazione predefinita. Per Per ulteriori informazioni, vedi --key-algorithm flag.
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 del bucket Cloud Storage.Per visualizzare l'elenco completo delle impostazioni, esegui questo comando:
gcloud privateca roots create --help
Terraform
Per creare una CA radice utilizzando una chiave di proprietà di Google e gestita da Google, utilizza l'esempio seguente configurazione:
Per creare una CA radice utilizzando una chiave autogestita, utilizza l'esempio seguente configurazione:
Vai
Per eseguire l'autenticazione con CA Service, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per eseguire l'autenticazione con CA Service, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione con CA Service, 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 delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }
Fai un sondaggio con l'operazione fino al suo 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 delle seguenti 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 la CA funzioni come previsto, puoi abilitarla per iniziare a emettere certificati con bilanciamento del carico per il pool di CA.
Abilita una CA radice
gcloud
Per abilitare una CA radice, esegui questo 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, quest'ultima viene abilitata 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 della CA.
Vai
Per eseguire l'autenticazione con CA Service, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per eseguire l'autenticazione con CA Service, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione con CA Service, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
API REST
Consenti 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 delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }
Fai un sondaggio con l'operazione fino al suo 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 delle seguenti 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": "...", } }
Testa una CA
Per verificare se un'autorità di certificazione sia in grado di emettere certificati, richiedi un certificato a
il pool di CA associato e menzionare esplicitamente il nome della CA che
test utilizzando il flag --ca
.
Per richiedere un certificato a 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 una chiave pubblica generata automaticamente per richiedere un di un'autorità di certificazione in un pool di CA. Questa sezione fornisce informazioni di una CA utilizzando questo metodo.
Per utilizzare una chiave privata o pubblica generata automaticamente per richiedere un certificato
da una CA in un pool di CA, esegui questo 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 va da foglia a 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 sulla tua macchina.
Per utilizzare una richiesta di firma del certificato (CSR) per richiedere un certificato a un'autorità di certificazione in a un pool di CA o per ulteriori informazioni sulla richiesta di certificati, consulta Richiedi un certificato e visualizza i certificati emessi.
Clona le autorità di certificazione
Per clonare una CA esistente per rinnovarla o per creare una nuova CA con lo stesso esegui questo 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 per creare la nuova CA.
Il flag --from-ca
è supportato per la creazione di CA radice e subordinate. La
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 eseguire l'override
dei valori di configurazione nella nuova CA
fornendo esplicitamente il flag appropriato. Ad esempio, puoi ancora
specifica "--subject SUBJECT per utilizzare un nuovo oggetto.
Se ometti il flag --key-algorithm
, l'impostazione predefinita dell'algoritmo sarà:
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 certificati.
- Scopri di più su modelli e norme di emissione.