Esegui il deployment di un certificato gestito da Google a livello di regione con Certificate Authority Service


Questo tutorial descrive come utilizzare Gestore certificati per il deployment un certificato a livello di regione gestito da Google con il servizio CA a un bilanciatore del carico delle applicazioni esterno regionale o a un il bilanciatore del carico delle applicazioni interno regionale.

Obiettivi

Questo tutorial mostra come completare le seguenti attività:

  • Crea un certificato gestito da Google con il servizio CA utilizzando Gestione certificati.
  • Esegui il deployment del certificato in un bilanciatore del carico supportato utilizzando un proxy HTTPS di destinazione.

Per ulteriori informazioni sulla procedura di deployment dei certificati, consulta la Panoramica del deployment.

Prima di iniziare

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Per completare le attività di questo tutorial, assicurati di disporre dei seguenti ruoli:

    • Proprietario gestore certificati: obbligatorio per creare e gestire le risorse di Gestore certificati.
    • Amministratore bilanciatore del carico Compute: richiesto per creare e gestire HTTPS proxy di destinazione.
    • Amministratore servizio CA: obbligatorio per eseguire azioni all'interno del servizio CA.

    Per ulteriori informazioni, consulta le seguenti risorse:

  3. Abilitare l'API Certificate Manager

  4. Abilita l'API CA Service.

  5. Crea un pool di CA. Devi creare e attivare almeno una CA in questo pool di CA.

Configurare l'integrazione di CA Service con Certificate Manager

Configura Gestore certificati per l'integrazione con CA Service come segue:

  1. Creare un account di servizio Gestore certificati nella destinazione Progetto Google Cloud:

    gcloud beta services identity create \
        --service=certificatemanager.googleapis.com \
        --project=PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID del target progetto Google Cloud.

Il comando restituisce il nome dell'identità servizio creata, come mostrato nell'esempio seguente:

service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
  1. Concedi all'account di servizio Certificate Manager il ruolo Richiedente certificato del servizio CA nel pool di CA di destinazione come segue:

    gcloud privateca pools add-iam-policy-binding CA_POOL \
        --location LOCATION \
        --member "serviceAccount:SERVICE_ACCOUNT" \
        --role roles/privateca.certificateRequester
    

    Sostituisci quanto segue:

    • CA_POOL: l'ID del pool di CA di destinazione.
    • LOCATION: la località di destinazione di Google Cloud. Devi specificare la stessa posizione del pool di CA, della risorsa di configurazione dell'emissione dei certificati e del certificato gestito.
    • SERVICE_ACCOUNT: nome completo dell'account di servizio creato nel passaggio 1.
  2. Crea una risorsa di configurazione dell'emissione di certificati per il tuo pool di CA:

    gcloud beta certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \
        --ca-pool=CA_POOL \
        --location=LOCATION> \
        [--lifetime=CERTIFICATE_LIFETIME] \
        [--rotation-window-percentage=ROTATION_WINDOW_PERCENTAGE] \
        [--key-algorithm=KEY_ALGORITHM]
    

    Sostituisci quanto segue:

    • ISSUANCE_CONFIG_NAME: il nome univoco della risorsa di configurazione dell'emissione dei certificati.
    • CA_POOL: il percorso completo e il nome del pool di CA che vuoi assegnare a questa risorsa di configurazione dell'emissione dei certificati.
    • LOCATION: la località di destinazione di Google Cloud. Tu deve specificare la stessa località del pool di CA, l'emissione del certificato la risorsa di configurazione e il certificato gestito.
    • CERTIFICATE_LIFETIME: la durata del certificato in giorni. I valori validi sono compresi tra 21 e 30 giorni nel formato di durata standard. Il valore predefinito è 30 giorni (30D). Questa impostazione è facoltativa.
    • ROTATION_WINDOW_PERCENTAGE: la percentuale della durata del certificato in cui viene attivato un rinnovo. Il valore predefinito è 66 percentuale. Occorre impostare la percentuale della finestra di rotazione in relazione al per una durata minima del certificato, in modo che il rinnovo del certificato avvenga per almeno 7 giorni dopo che il certificato è stato emesso e almeno 7 giorni prima scade. Questa impostazione è facoltativa.
    • KEY_ALGORITHM: l'algoritmo di crittografia utilizzato per generare la chiave privata. I valori validi sono ecdsa-p256 o rsa-2048. Il valore predefinito è rsa-2048. Questa impostazione è facoltativa.

Per ulteriori informazioni sulle risorse di configurazione dell'emissione dei certificati, consulta Gestisci le configurazioni di emissione dei certificati.

Crea un certificato gestito da Google a livello di regione

Crea un certificato gestito da Google a livello di regione emesso dal tuo servizio CA utilizzando la risorsa di configurazione dell'emissione del certificato creata nel passaggio precedente:

Console

  1. Nella console Google Cloud, vai alla pagina Gestore certificati.

    Vai a Gestore dei certificati

  2. Nella pagina visualizzata, seleziona la scheda Certificati.

  3. Fai clic su Aggiungi certificato.

  4. Inserisci un Nome per il certificato.

    Questo nome deve essere univoco per il progetto.

  5. (Facoltativo) Inserisci la descrizione del certificato. La descrizione consente di identificare un certificato specifico in un secondo momento.

  6. In Località, scegli Regionale.

  7. Dall'elenco Regione, seleziona una regione.

  8. In Tipo di certificato, scegli Crea un certificato gestito da Google.

  9. In Tipo di autorità di certificazione, scegli Privato.

  10. Specifica i Nomi di dominio del certificato. Inserisci un elenco dei domini di destinazione separati da virgole. Inoltre, ogni nome di dominio deve essere un nome nome di dominio, ad esempio myorg.example.com.

  11. In Configurazione di emissione dei certificati, seleziona il nome del certificato risorsa di configurazione dell'emissione che fa riferimento al pool di CA di destinazione.

  12. Specifica un'etichetta da associare al certificato. Se necessario, puoi aggiungere più di un'etichetta. Per aggiungere un'etichetta, fai clic sull'icona Aggiungi etichetta e specifica key e value per l'etichetta.

  13. Fai clic su Crea. Verifica che il nuovo certificato sia presente nell'elenco dei certificati.

gcloud

Esegui questo comando:

gcloud beta certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --issuance-config="ISSUANCE_CONFIG_NAME" \
    --location="LOCATION"

Sostituisci quanto segue:

  • CERTIFICATE_NAME: un nome univoco del certificato.
  • DOMAIN_NAMES: un elenco separato da virgole dei domini di destinazione per questo certificato. Ogni nome di dominio deve essere un nome di dominio completo, ad esempio myorg.example.com.
  • ISSUANCE_CONFIG_NAME: il nome del certificato risorsa di configurazione dell'emissione che fa riferimento al pool di CA di destinazione.
  • LOCATION: la località di destinazione di Google Cloud. Tu deve specificare la stessa località del pool di CA, l'emissione del certificato la risorsa di configurazione e il certificato gestito.

API

Crea il certificato inviando una richiesta POST al metodo certificates.create come segue:

POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?certificate_id=CERTIFICATE_NAME"
{
 name: "/projects/example-project/locations/LOCATION/certificates/my-cert",
 "managed": {
  "domains": ["DOMAIN_NAME"],
  "issuanceConfig": "ISSUANCE_CONFIG_NAME",
 },
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto Google Cloud di destinazione.
  • LOCATION: la località di Google Cloud di destinazione. Devi specificare la stessa posizione del pool di CA, della risorsa di configurazione dell'emissione dei certificati e del certificato gestito.
  • CERTIFICATE_NAME: un nome univoco del certificato.
  • DOMAIN_NAME: il dominio di destinazione per questo certificato. Il nome di dominio deve essere un nome di dominio completo, come example.com e www.example.com.
  • ISSUANCE_CONFIG_NAME: il nome del certificato risorsa di configurazione dell'emissione che fa riferimento al pool di CA di destinazione.

Per una panoramica della procedura di deployment dei certificati, consulta la Panoramica del deployment.

Verificare che il certificato sia attivo

Utilizza il seguente comando per verificare che il certificato stesso sia attivo prima di eseguire il deployment nel bilanciatore del carico. Potrebbero essere necessari diversi minuti per impostare lo stato del certificato in ACTIVE.

gcloud beta certificate-manager certificates describe CERTIFICATE_NAME \
    --location=LOCATION

Sostituisci quanto segue:

  • CERTIFICATE_NAME: un nome univoco del certificato.
  • LOCATION: la località di Google Cloud di destinazione. Tu deve specificare la stessa località del pool di CA, l'emissione del certificato la risorsa di configurazione e il certificato gestito.

Il comando restituisce un output simile al seguente:

createTime: '2021-10-20T12:19:53.370778666Z'
expireTime: '2022-05-07T05:03:49Z'
managed:
domains:
-   myorg.example.com
issuanceConfig: projects/myproject/locations/mylocation/issuanceConfigs/myissuanceConfig
state: ACTIVE
name: projects/myproject/locations/mylocation/certificates/mycertificate
pemCertificate: |
  -----BEGIN CERTIFICATE-----
  [...]
  -----END CERTIFICATE-----
sanDnsnames:
  -   myorg.example.com
updateTime: '2021-10-20T12:19:55.083385630Z'

Esegui il deployment del certificato gestito da Google a livello di regione in un bilanciatore del carico

Per implementare il certificato gestito da Google a livello di regione, crea un proxy di destinazione HTTPS e allega il certificato.

Crea il proxy di destinazione HTTPS

Per creare il proxy target HTTPS e allegare il certificato, esegui il seguente comando:

gcloud compute target-https-proxies create PROXY_NAME \
    --url-map=URL_MAP \
    --region=REGION \
    --certificate-manager-certificates=CERTIFICATE_NAME

Sostituisci quanto segue:

  • PROXY_NAME: un nome univoco del proxy.
  • URL_MAP: il nome della mappa di URL. Hai creato la mappa URL quando hai creato il bilanciatore del carico.
  • REGION: la regione in cui stai creando il protocollo HTTPS proxy di destinazione.
  • CERTIFICATE_NAME: il nome del certificato.

Per verificare se il proxy di destinazione è stato creato, esegui questo comando:

gcloud compute target-https-proxies list

Creare una regola di forwarding

Configura una regola di inoltro e completa la configurazione del bilanciatore del carico.

Esegui la pulizia

Per annullare le modifiche apportate in questo tutorial, completa i seguenti passaggi passaggi:

  1. Elimina il certificato gestito da Google:

    Console

    1. Nella console Google Cloud, vai alla pagina Gestore certificati.

      Vai a Gestore certificati

    2. Nella scheda Certificati, seleziona la casella di controllo della certificato.

    3. Fai clic su Elimina.

    4. Nella finestra di dialogo visualizzata, fai clic su Elimina per confermare.

    gcloud

    gcloud certificate-manager certificates delete CERTIFICATE_NAME \
        --location=LOCATION
    

    Sostituisci quanto segue:

    • CERTIFICATE_NAME: il nome del certificato
    • LOCATION: la località di destinazione di Google Cloud
  2. Elimina la risorsa di configurazione dell'emissione dei certificati:

    Console

    1. Nella console Google Cloud, vai alla pagina Gestore certificati.

      Vai a Gestore certificati

    2. Nella scheda Configurazioni di emissione, seleziona la casella di controllo della configurazione di emissione.

    3. Fai clic su Elimina.

    4. Nella finestra di dialogo visualizzata, fai clic su Elimina per confermare.

    gcloud

    gcloud certificate-manager issuance-configs delete ISSUANCE_CONFIG_NAME \
        --location=LOCATION
    

    Sostituisci quanto segue:

    • ISSUANCE_CONFIG_NAME: il nome della configurazione dell'emissione
    • LOCATION: la località di Google Cloud di destinazione
  3. Elimina il pool di CA come descritto in Eliminare un pool di CA.

    Tieni presente che per disattivare l'ultima CA abilitata nel pool di CA in cui viene fatto riferimento nella risorsa di configurazione dell'emissione dei certificati o per eliminare del tutto il pool di CA a cui si fa riferimento, devi prima eliminare ogni risorsa di configurazione dell'emissione dei certificati che fa riferimento a quel pool di CA.

Risoluzione dei problemi

Per la procedura di risoluzione dei problemi, consulta Problemi relativi ai certificati emessi da un'istanza di servizio CA.

Passaggi successivi