Questo tutorial descrive come utilizzare Gestore certificati per eseguire il deployment di un certificato a livello di regione gestito da Google con CA Service su un bilanciatore del carico delle applicazioni esterno regionale o su un bilanciatore del carico delle applicazioni interno regionale.
Obiettivi
Questo tutorial mostra come completare le seguenti attività:
- Creare un certificato gestito da Google con CA Service utilizzando Gestore certificati.
- Esegui il deployment del certificato su un bilanciatore del carico supportato utilizzando un proxy HTTPS di destinazione.
Per ulteriori informazioni sul processo di deployment dei certificati, consulta Panoramica del deployment.
Prima di iniziare
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Assicurati di disporre dei ruoli seguenti per completare le attività di questo tutorial:
- Proprietario Certificate Manager: obbligatorio per creare e gestire le risorse del Gestore certificati.
- Amministratore bilanciatore del carico Compute: richiesto per creare e gestire il proxy di destinazione HTTPS.
- Amministratore servizio CA: obbligatorio per eseguire azioni all'interno di CA Service.
Per ulteriori informazioni, consulta le seguenti risorse:
- Ruoli e autorizzazioni per Gestore certificati
- Ruoli e autorizzazioni IAM di Compute Engine per Compute Engine
- Autorizzazioni e ruoli per CA Service
Crea un pool di CA. Devi creare e abilitare almeno una CA in questo pool di CA.
Configura l'integrazione del servizio CA con Gestore certificati
Configura Gestore certificati per l'integrazione con CA Service come segue:
Crea un account di servizio Gestore certificati nel progetto Google Cloud di destinazione:
gcloud beta services identity create \ --service=certificatemanager.googleapis.com \ --project=PROJECT_ID
Sostituisci
PROJECT_ID
con l'ID del progetto Google Cloud di destinazione.
Il comando restituisce il nome dell'identità di servizio creata, come mostrato nell'esempio seguente:
service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
Concedi all'account di servizio Gestore certificati il ruolo CA Service Certificate Requester all'interno del 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 località del pool di CA, della risorsa di configurazione dell'emissione dei certificati e del certificato gestito.SERVICE_ACCOUNT
: il nome completo dell'account di servizio creato al passaggio 1.
Crea una risorsa di configurazione dell'emissione dei certificati per il 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 del certificato.CA_POOL
: il percorso completo della risorsa 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. Devi specificare la stessa località del pool di CA, della risorsa di configurazione dell'emissione dei certificati e del 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%. Devi impostare la percentuale della finestra di rotazione in relazione alla durata del certificato, in modo che il rinnovo del certificato abbia luogo almeno sette giorni dopo la sua emissione e almeno sette giorni prima della sua scadenza. Questa impostazione è facoltativa.KEY_ALGORITHM
: l'algoritmo di crittografia utilizzato per generare la chiave privata. I valori validi sonoecdsa-p256
orsa-2048
. Il valore predefinito èrsa-2048
. Questa impostazione è facoltativa.
Per saperne di più sulle risorse di configurazione dell'emissione dei certificati, vedi Gestire le configurazioni dell'emissione dei certificati.
Crea un certificato gestito da Google a livello di regione
Crea un certificato a livello di regione gestito da Google emesso dal servizio CA utilizzando la risorsa di configurazione dell'emissione dei certificati creata nel passaggio precedente:
Console
Nella console Google Cloud, vai alla pagina Gestore certificati.
Nella pagina visualizzata, seleziona la scheda Certificati.
Fai clic su Aggiungi certificato.
Inserisci un Nome per il certificato.
Questo nome deve essere univoco per il progetto.
(Facoltativo) Inserisci la descrizione del certificato. La descrizione ti consente di identificare un certificato specifico in un secondo momento.
In Località, scegli A livello di regione.
Dall'elenco Regione, seleziona una regione.
In Tipo di certificato, scegli Crea certificato gestito da Google.
Per Tipo di autorità di certificazione, scegli Privato.
Specifica i nomi di dominio del certificato. Inserisci un elenco di domini di destinazione delimitato da virgole. Inoltre, ogni nome di dominio deve essere un nome di dominio completo, come
myorg.example.com
.In Configurazione di emissione dei certificati, seleziona il nome della risorsa di configurazione dell'emissione dei certificati che fa riferimento al pool di CA di destinazione.
Specifica un'etichetta da associare al certificato. Se necessario, puoi aggiungere più di un'etichetta. Per aggiungere un'etichetta, fai clic sul pulsante add_box Aggiungi etichetta e specifica
key
evalue
per l'etichetta.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 delimitato da virgole di domini di destinazione per questo certificato. Ogni nome di dominio deve essere un nome di dominio completo, comemyorg.example.com
.ISSUANCE_CONFIG_NAME
: il nome della risorsa di configurazione dell'emissione dei certificati che fa riferimento al pool di CA di destinazione.LOCATION
: la località di destinazione di Google Cloud. Devi specificare la stessa località del pool di CA, della risorsa di configurazione dell'emissione dei certificati e del certificato gestito.
API
Crea il certificato effettuando 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 destinazione di Google Cloud. Devi specificare la stessa località 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, ad esempioexample.com
,www.example.com
.ISSUANCE_CONFIG_NAME
: il nome della risorsa di configurazione dell'emissione dei certificati che fa riferimento al pool di CA di destinazione.
Per una panoramica del processo di deployment dei certificati, consulta Panoramica del deployment.
Verifica che il certificato sia attivo
Utilizza il comando seguente per verificare che il certificato stesso sia attivo prima di eseguirne il deployment nel bilanciatore del carico. Possono essere necessari diversi minuti prima che lo stato del certificato diventi 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 destinazione di Google Cloud. Devi specificare la stessa località del pool di CA, della risorsa di configurazione dell'emissione dei certificati e del 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 su un bilanciatore del carico
Per eseguire il deployment del certificato gestito da Google a livello di regione, crea un proxy di destinazione HTTPS e collegalo al certificato.
Crea il proxy di destinazione HTTPS
Per creare il proxy di destinazione HTTPS e collegare il certificato, esegui questo 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 URL. La mappa URL è stata creata da te al momento della creazione del bilanciatore del carico.REGION
: la regione in cui stai creando il proxy di destinazione HTTPS.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 forwarding e completa la configurazione del bilanciatore del carico.
- Se utilizzi un bilanciatore del carico delle applicazioni esterno regionale, consulta Configurare un bilanciatore del carico delle applicazioni esterno regionale con backend di gruppi di istanze VM.
- Se utilizzi un bilanciatore del carico delle applicazioni interno regionale, consulta Configurare un bilanciatore del carico delle applicazioni interno regionale con backend di gruppi di istanze VM.
Esegui la pulizia
Per ripristinare le modifiche apportate in questo tutorial, completa questi passaggi:
Elimina il certificato gestito da Google:
Console
Nella console Google Cloud, vai alla pagina Gestore certificati.
Nella scheda Certificati, seleziona la casella di controllo del certificato.
Fai clic su Elimina.
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 certificatoLOCATION
: la località di destinazione di Google Cloud
Elimina la risorsa di configurazione dell'emissione dei certificati:
Console
Nella console Google Cloud, vai alla pagina Gestore certificati.
Nella scheda Configurazioni di emissione, seleziona la casella di controllo della configurazione di emissione.
Fai clic su Elimina.
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 di emissioneLOCATION
: la località di destinazione di Google Cloud
Elimina il pool di CA come descritto in Eliminare un pool di CA.
Tieni presente che per disabilitare l'ultima CA abilitata nel pool di CA a cui viene fatto riferimento nella risorsa di configurazione dell'emissione dei certificati o per eliminare del tutto il pool di CA a cui viene fatto 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 la sezione Problemi relativi ai certificati emessi da un'istanza di CA Service.