Puoi utilizzare Certificate Manager per eseguire il deployment di un certificato autogestito globale in un bilanciatore del carico delle applicazioni interno tra regioni, in modo da proteggere le tue applicazioni interne con la gestione dei certificati SSL/TLS. Questo tutorial ti guida nella procedura di configurazione di questo deployment.
Prima di iniziare, assicurati di aver creato un bilanciatore del carico delle applicazioni interno tra regioni.
Se vuoi eseguire il deployment di certificati autogestiti su altri tipi di bilanciatori del carico, consulta i seguenti documenti:
Obiettivi
Questo tutorial mostra come completare le seguenti attività:
- Carica un certificato autogestito in Certificate Manager.
- Esegui il deployment del certificato in un bilanciatore del carico supportato utilizzando un proxy HTTPS di destinazione.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine, Certificate Manager APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine, Certificate Manager APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Ruoli obbligatori
Per completare le attività di questo tutorial, assicurati di disporre dei seguenti ruoli:
Proprietario di Certificate Manager (
roles/certificatemanager.owner)Necessario per creare e gestire le risorse di Certificate Manager.
Amministratore bilanciatore del carico Compute (
roles/compute.loadBalancerAdmin) o Compute Network Admin (roles/compute.networkAdmin)Obbligatorio per creare e gestire il proxy HTTPS di destinazione.
Per ulteriori informazioni, consulta le seguenti risorse:
- Ruoli e autorizzazioni per Certificate Manager.
- Ruoli e autorizzazioni IAM di Compute Engine per Compute Engine.
Crea il bilanciatore del carico
Questo tutorial presuppone che tu abbia già creato e configurato i backend, i controlli di integrità, i servizi di backend e le mappe URL del bilanciatore del carico. Prendi nota del nome della mappa degli URL perché ti servirà più avanti in questo tutorial.
Se non hai creato un bilanciatore del carico delle applicazioni interno tra regioni, consulta Configura un bilanciatore del carico delle applicazioni interno tra regioni con backend di gruppi di istanze VM.
Crea una chiave privata e un certificato
Per creare una chiave privata e un certificato:
Utilizza un'autorità di certificazione (CA) di terze parti attendibile per emettere il certificato insieme alla chiave associata.
Verifica che il certificato sia concatenato correttamente e che la radice sia attendibile.
Prepara i seguenti file con codifica PEM:
- Il file del certificato (CRT)
- Il file della chiave privata corrispondente (KEY)
Per informazioni su come richiedere e convalidare un certificato, vedi Creare una chiave privata e un certificato.
Caricare un certificato autogestito in Certificate Manager
Per caricare il certificato in Certificate Manager:
Console
Nella console Google Cloud , vai alla pagina Certificate Manager.
Nella scheda Certificati, fai clic su Aggiungi certificato.
Nel campo Nome certificato, inserisci un nome univoco per il certificato.
(Facoltativo) Nel campo Descrizione, inserisci una descrizione del certificato. La descrizione ti consente di identificare il certificato.
Per Località, seleziona Globale.
In Ambito, seleziona Tutte le regioni.
In Tipo di certificato, seleziona Crea certificato autogestito.
Per il campo Certificato, esegui una delle seguenti operazioni:
- Fai clic sul pulsante Carica e seleziona il file del certificato in formato PEM.
- Copia e incolla i contenuti di un certificato in formato PEM. I
contenuti devono iniziare con
-----BEGIN CERTIFICATE-----e terminare con-----END CERTIFICATE-----.
Per il campo Certificato di chiave privata, esegui una delle seguenti operazioni:
- Fai clic sul pulsante Carica e seleziona la chiave privata. La chiave privata deve essere in formato PEM e non protetta da una passphrase.
- Copia e incolla i contenuti di una chiave privata in formato PEM. Le
chiavi private devono iniziare con
-----BEGIN PRIVATE KEY-----e terminare con-----END PRIVATE KEY-----.
Nel campo Etichette, specifica le etichette da associare al certificato. Per aggiungere un'etichetta, fai clic su Aggiungi etichetta e specifica una chiave e un valore per l'etichetta.
Fai clic su Crea.
Il nuovo certificato viene visualizzato nell'elenco dei certificati.
gcloud
Per creare un certificato autogestito multiregionale, utilizza il comando certificate-manager certificates create:
gcloud certificate-manager certificates create CERTIFICATE_NAME \
--certificate-file="CERTIFICATE_FILE" \
--private-key-file="PRIVATE_KEY_FILE" \
--scope=all-regions
Sostituisci quanto segue:
CERTIFICATE_NAME: il nome del certificato.CERTIFICATE_FILE: il percorso e il nome file del file del certificato CRT.PRIVATE_KEY_FILE: il percorso e il nome file del file della chiave privata KEY.
Terraform
Per caricare un certificato autogestito, puoi utilizzare una
risorsa google_certificate_manager_certificate con il blocco self_managed.
API
Carica il certificato inviando una richiesta POST al
metodo certificates.create come segue:
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME
{
self_managed: {
pem_certificate: "PEM_CERTIFICATE",
pem_private_key: "PEM_KEY",
scope: "ALL_REGIONS"
}
}
Sostituisci quanto segue:
PROJECT_ID: l'ID del tuo Google Cloud progetto.CERTIFICATE_NAME: il nome del certificato.PEM_CERTIFICATE: il PEM del certificato.PEM_KEY: il PEM della chiave.
Esegui il deployment del certificato autogestito su un bilanciatore del carico
Per eseguire il deployment del certificato autogestito globale, allegalo direttamente al proxy di destinazione.
Collega il certificato direttamente al proxy di destinazione
Puoi collegare il certificato a un nuovo proxy di destinazione o a uno esistente.
Per collegare il certificato a un nuovo proxy di destinazione, utilizza il comando
gcloud compute
target-https-proxies create:
gcloud compute target-https-proxies create PROXY_NAME \
--url-map=URL_MAP \
--certificate-manager-certificates=CERTIFICATE_NAME \
--global
Sostituisci quanto segue:
PROXY_NAME: il nome del proxy di destinazione.URL_MAP: il nome della mappa URL. Hai creato la mappa URL quando hai creato il bilanciatore del carico.CERTIFICATE_NAME: il nome del certificato.
Per collegare il certificato a un proxy HTTPS di destinazione esistente, utilizza il comando
gcloud
compute target-https-proxies update. Se non
conosci il nome del proxy di destinazione esistente, vai alla pagina Proxy
di destinazione e annota il nome del proxy di destinazione.
gcloud compute target-https-proxies update PROXY_NAME \
--global \
--certificate-manager-certificates=CERTIFICATE_NAME
Dopo aver creato o aggiornato il proxy di destinazione, esegui questo comando per verificarlo:
gcloud compute target-https-proxies list
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il certificato caricato:
gcloud certificate-manager certificates delete CERTIFICATE_NAME
Sostituisci CERTIFICATE_NAME con il nome del certificato
di destinazione.
Se non prevedi di utilizzare il bilanciatore del carico, eliminalo insieme alle relative risorse. Consulta Eseguire la pulizia di una configurazione di bilanciamento del carico.