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 per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Creare un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
Abilita l'API Certificate Authority Service:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.gcloud services enable privateca.googleapis.com
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .
Configura una località predefinita da utilizzare nei comandi
gclouddi questa guida rapida.gcloud config set privateca/location LOCATIONLe risorse del servizio CA, come i pool di CA e le CA, si trovano in una singola Google Cloud posizione 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 questo comando:
gcloud privateca pools create POOL_ID --location LOCATION --tier "enterprise"
Sostituisci quanto segue:
- POOL_ID: il nome del pool di CA
- LOCATION: la posizione 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 aggiungere una CA.
Per creare una CA radice e aggiungerla al pool di CA creato, esegui questo comando:
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 posizione del pool di CA. Per l'elenco completo delle località, consulta Località.
Quando crea la CA radice, CA Service restituisce il seguente output:
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 questo comando:
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 posizione del pool di CA subordinato. 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 questo comando:
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 posizione della CA subordinata. Per l'elenco completo delle località, consulta Località.
- SUBORDINATE_POOL_ID: l'ID del pool di CA subordinate che hai creato nella sezione precedente
- POOL_ID: l'ID del pool di CA principale
- ISSUER_LOCATION: la posizione del certificato
- EXISTING_CA_ID: l'ID della CA di origine
- PROJECT_ID: l'ID progetto
- LOCATION_ID: la posizione 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
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].
Attiva 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 al servizio CA.
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 posizione dell'autorità di certificazione che ha emesso il certificato digitale
Certificate Authority Service restituisce la seguente risposta:
Created Certificate [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificates/CERTIFICATE_ID]
Esegui la pulizia
Esegui la pulizia 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 posizione del pool di CA
Per revocare un certificato, esegui questo comando:
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 dalla CA.
Disattiva 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 posizione 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 cambia in
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 progetto Google Cloud :
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 di CA.
- Scopri di più sulla richiesta di certificati.
- Scopri come controllare il tipo di certificati che un pool di CA può emettere.