Emetti un certificato utilizzando Google Cloud CLI
Questa pagina spiega come generare o emettere certificati tramite Certificate Authority Service utilizzando Google Cloud CLI.
CA Service ti consente di eseguire il deployment e la gestione di CA private senza gestire l'infrastruttura.
Prima di iniziare
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico: puoi selezionare qualsiasi progetto su cui ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'resourcemanager.projects.createautorizzazione. Scopri come concedere i ruoli.
-
Crea un Google Cloud progetto:
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il Google Cloud progetto che stai creando. -
Seleziona il Google Cloud progetto che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del Google Cloud progetto.
Abilita l'API Certificate Authority Service:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (
roles/serviceusage.serviceUsageAdmin), che contiene l'serviceusage.services.enableautorizzazione. Scopri come concedere i ruoli.gcloud services enable privateca.googleapis.com
Verifica che la fatturazione sia abilitata per il tuo Google Cloud progetto.
Configura una località predefinita da utilizzare nei comandi
gcloudin questa guida rapida.gcloud config set privateca/location LOCATIONLe risorse di CA Service, come i pool di CA e le CA, si trovano in una singola Google Cloud località che non puoi modificare dopo aver creato queste risorse.
Crea un pool di CA
Un pool di autorità di certificazione (CA) è una raccolta di più CA. Un pool di CA consente di ruotare le catene di attendibilità senza interruzioni o tempi di inattività per i carichi di lavoro.
Per creare un pool di CA nel livello Enterprise, esegui il comando seguente:
gcloud privateca pools create POOL_ID --location LOCATION --tier "enterprise"
Sostituisci quanto segue:
- POOL_ID: il nome del pool di CA.
- LOCATION: la località del pool di CA. Per l'elenco completo delle località, consulta Località.
I nomi delle risorse possono contenere lettere, numeri, trattini (-) e trattini bassi (_) e possono avere una lunghezza massima di 63 caratteri.
Crea una CA radice
Un pool di CA è vuoto al momento della creazione. Per richiedere certificati da un pool di CA, devi aggiungerne una.
Per creare una CA radice e aggiungerla al pool di CA che hai creato, esegui il comando seguente:
gcloud privateca roots create CA_ID --pool POOL_ID --location LOCATION --subject "CN=Example Prod Root CA,O=Google"
Sostituisci quanto segue:
- CA_ID: il nome della CA radice.
- POOL_ID: il nome del pool di CA.
- LOCATION: la località del pool di CA. Per l'elenco completo delle località, consulta Località.
CA Service restituisce il seguente output quando crea la CA radice:
Created Certificate Authority [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/CA_ID]
Abilita la CA radice inserendo y quando richiesto da gcloud CLI.
(Facoltativo) Crea un pool di CA subordinate
Per creare un pool di CA subordinate, esegui il comando seguente:
gcloud privateca pools create SUBORDINATE_POOL_ID
--location LOCATION
--tier TIER
Sostituisci quanto segue:
- SUBORDINATE_POOL_ID: l'ID del pool di CA subordinate.
- LOCATION: la località del pool di CA subordinate. Per l'elenco completo delle località, consulta Località.
- TIER: il livello della CA subordinata, devops o enterprise.
(Facoltativo) Crea una CA subordinata firmata da una CA radice archiviata in Google Cloud
Per creare una CA subordinata nel pool di CA subordinate creato nel passaggio precedente, esegui il comando seguente:
gcloud privateca subordinates create SUBORDINATE_CA_ID \
--location=LOCATION \
--pool=SUBORDINATE_POOL_ID \
--issuer-pool=POOL_ID \
--issuer-location=ISSUER_LOCATION \
--from-ca=EXISTING_CA_ID \
--kms-key-version projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/KEY_VERSION
Sostituisci quanto segue:
- SUBORDINATE_CA_ID: l'ID della CA subordinata.
- LOCATION: la località della CA subordinata. Per l'elenco completo delle località, consulta Località.
- SUBORDINATE_POOL_ID: l'ID del pool di CA subordinate creato nella sezione precedente.
- POOL_ID: l'ID del pool di CA principale.
- ISSUER_LOCATION: la località del certificato.
- EXISTING_CA_ID: l'ID della CA di origine.
- PROJECT_ID: l'ID del progetto.
- LOCATION_ID: la località delle chiavi automatizzate.
- KEY_RING: il nome delle chiavi automatizzate in cui si trova la chiave.
- KEY: il nome della chiave.
- KEY_VERSION: la versione della chiave.
Viene restituita la seguente istruzione quando viene creata la CA subordinata.
Created Certificate Authority [projects/my-project-pki/locations/us-west1/caPools/SUBORDINATE_POOL_ID/certificateAuthorities/SUBORDINATE_CA_ID].
Abilita la CA subordinata inserendo y quando richiesto da gcloud CLI.
Crea un certificato
Per utilizzare la CA appena creata per creare un certificato:
Installa la libreria di crittografia Pyca utilizzando il comando
pip.pip install --user "cryptography>=2.2.0"CA Service utilizza la libreria di crittografia Pyca per generare e archiviare una nuova coppia di chiavi asimmetriche sulla tua macchina locale. Questa chiave non viene mai inviata a CA Service.
Per consentire a Google Cloud SDK di utilizzare la libreria di crittografia Pyca, devi abilitare i pacchetti del sito.
macOS o Linux
export CLOUDSDK_PYTHON_SITEPACKAGES=1Windows
set CLOUDSDK_PYTHON_SITEPACKAGES=1Crea un certificato.
gcloud privateca certificates create \ --issuer-pool POOL_ID \ --issuer-location ISSUER_LOCATION \ --subject "CN=Example Prod,O=Google" \ --generate-key \ --key-output-file=./key \ --cert-output-file=./cert.pemSostituisci quanto segue:
- POOL_ID: l'ID risorsa del pool di CA che hai creato.
- ISSUER_LOCATION: la località dell'autorità di certificazione che ha emesso il certificato digitale.
CA Service restituisce la seguente risposta:
Created Certificate [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificates/CERTIFICATE_ID]
Libera spazio
Libera spazio eliminando il pool di CA, la CA e il progetto che hai creato per questa guida rapida.
Revoca il certificato.
- CERT_NAME: il nome del certificato che vuoi revocare.
- POOL_ID: il nome del pool di CA che ha emesso il certificato.
- LOCATION: la località del pool di CA.
Per revocare un certificato, esegui il comando seguente:
gcloud privateca certificates revoke --certificate CERT_NAME --issuer-pool POOL_ID --location LOCATION
Sostituisci quanto segue:
Elimina la CA.
Puoi eliminare una CA solo dopo aver revocato tutti i certificati emessi.
Disabilita la CA.
gcloud privateca roots disable CA_ID --pool=POOL_ID --location=LOCATIONSostituisci quanto segue:
- CA_ID: l'ID risorsa della CA.
- POOL_ID: l'ID risorsa del pool di CA.
- LOCATION: la località del pool di CA. Per l' elenco completo delle località, consulta Località.
Elimina la CA.
gcloud privateca roots delete CA_ID --pool=POOL_ID --location=LOCATION
Lo stato della CA diventa
Deleted. CA Service elimina definitivamente la CA 30 giorni dopo l'avvio dell'eliminazione.Elimina il pool di CA.
Puoi eliminare un pool di CA solo dopo che la CA al suo interno è stata eliminata definitivamente.
gcloud privateca pools delete POOL_ID --location=LOCATIONElimina il progetto.
Elimina un Google Cloud progetto:
gcloud projects delete PROJECT_ID
Passaggi successivi
- Scopri di più sui pool di CA.
- Scopri di più sulla creazione di un pool di CA.
- Scopri di più sulla creazione delle CA.
- Scopri di più sulla richiesta di certificati.
- Scopri come controllare il tipo di certificati che un pool di CA può emettere.