Emettere un certificato utilizzando Google Cloud CLI

Questa pagina spiega come creare un pool di autorità di certificazione (CA) e emettere un certificato utilizzando l'interfaccia a riga di comando Google Cloud.

CA Service ti consente di eseguire il deployment e la gestione di CA private senza gestire l'infrastruttura.

Prima di iniziare

  • Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init
  • Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  • Enable the Certificate Authority Service API:

    gcloud services enable privateca.googleapis.com

  • Make sure that billing is enabled for your Google Cloud project.

  • Configura una posizione predefinita da utilizzare nei comandi gcloud in questo quickstart.

    gcloud config set privateca/location LOCATION
    

    Le risorse del servizio CA, come i pool di CA e le CA, si trovano in un'unica 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 seguente 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 di tutte le risorse del servizio CA devono contenere solo i caratteri consentiti, ovvero tutte le lettere, i numeri, i trattini e i trattini bassi. La lunghezza massima consentita per un nome è 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 che hai creato, esegui il seguente 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 l'autorità di certificazione principale, Certificate Authority Service restituisce il seguente comando:

Created Certificate Authority [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/CA_ID]

Attiva la CA principale inserendo y quando richiesto dalla CLI gcloud.

Ora che hai un pool di CA con una CA radice, puoi procedere alla creazione di certificati.

Crea un certificato

Per utilizzare la CA appena creata per creare un certificato, segui questi passaggi:

  1. Installa la libreria di crittografia Pyca utilizzando il comando pip.

      pip install --user "cryptography>=2.2.0"
    

    Il servizio CA utilizza la libreria di crittografia Pyca per generare e memorizzare una nuova coppia di chiavi asimmetriche sulla tua macchina locale. Questa chiave non viene mai inviata al servizio CA.

  2. Per consentire a Google Cloud SDK di utilizzare la libreria di crittografia Pyca, devi attivare i pacchetti del sito.

    macOS o Linux

    export CLOUDSDK_PYTHON_SITEPACKAGES=1
    

    Windows

    set CLOUDSDK_PYTHON_SITEPACKAGES=1
    
  3. Crea 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.pem
    

    Sostituisci 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.

    Il servizio CA 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 walkthrough.

  1. Revoca il certificato.

      Per revocare un certificato, esegui il seguente comando:

       gcloud privateca certificates revoke --certificate CERT_NAME
       --issuer-pool POOL_ID --location 
      LOCATION
        

      Sostituisci quanto segue:

      • 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.
  2. Elimina la CA.

    Puoi eliminare una CA solo dopo aver revocato tutti i certificati da essa emessi.

    1. Disabilita la CA.

      gcloud privateca roots disable CA_ID --pool=POOL_ID --location=LOCATION
      

      Sostituisci 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 un elenco completo delle località, consulta Località.
    2. Elimina la CA.

      gcloud privateca roots delete CA_ID --pool=POOL_ID --location=LOCATION
      

    Lo stato della CA diventa Deleted. Il servizio CA elimina definitivamente la CA 30 giorni dopo l'avvio dell'eliminazione.

  3. 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=LOCATION
    
  4. Elimina il progetto.

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

Passaggi successivi