Questa pagina fornisce istruzioni per creare un'autorità di certificazione (CA) privata utilizzando Certificate Authority Service e caricando i certificati in una risorsa TrustConfig
di Gestore certificati.
Creerai anche le risorse di sicurezza di rete necessarie per configurare il protocollo TLS reciproco per gli Application Load Balancer.
Prima di iniziare
- Consulta la panoramica sul protocollo TLS reciproco.
Installa Google Cloud CLI. Per una panoramica completa dello strumento, vedi la panoramica dell'interfaccia a riga di comando gcloud. Puoi trovare i comandi relativi al bilanciamento del carico nel riferimento API e gcloud CLI.
Se non hai già eseguito gcloud CLI, esegui prima
gcloud init
per l'autenticazione.Assicurati di sapere come creare pool di CA.
Autorizzazioni
Per ottenere le autorizzazioni necessarie per completare questa guida, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:
-
Per creare risorse del bilanciatore del carico, ad esempio
TargetHTTPProxy
: Amministratore bilanciatore del carico Compute (roles/compute.loadBalancerAdmin
) -
Per utilizzare le risorse di Gestore certificati:
Proprietario Gestore certificati (
roles/certificatemanager.owner
) -
Per creare componenti di sicurezza e networking:
Amministratore rete Compute (
roles/compute.networkAdmin
) e Amministratore sicurezza Compute (roles/compute.securityAdmin
) -
(Facoltativo) Per creare un progetto:
Autore progetto (
roles/resourcemanager.projectCreator
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Crea una CA privata
Crea una CA privata utilizzando il servizio CA, quindi crea un certificato radice:
Per creare un pool di CA, utilizza il comando
gcloud privateca pools create
:gcloud privateca pools create CA_POOL \ --location=us-central1
Sostituisci
CA_POOL
con l'ID o il nome del pool di CA padre.Per creare una CA privata nel pool di CA, utilizza il comando
gcloud privateca roots create
:gcloud privateca roots create CA_ROOT \ --pool=CA_POOL \ --subject="CN=my-ca, O=Test LLC" \ --location=us-central1
Sostituisci quanto segue:
CA_ROOT
: l'ID o il nome della CA privataCA_POOL
: l'ID o il nome del pool di CA padre
Per descrivere la nuova CA e creare il file
root.cert
, utilizza il comandogcloud privateca roots describe
:gcloud privateca roots describe CA_ROOT \ --pool=CA_POOL \ --location=us-central1 \ --format='value(pemCaCertificates)' > root.cert
export ROOT=$(cat root.cert | sed 's/^[ ]*//g' | tr '\n' $ | sed 's/\$/\\n/g')
Sostituisci quanto segue:
CA_ROOT
: l'ID o il nome della CA privataCA_POOL
: l'ID o il nome del pool di CA padre
Per ulteriori informazioni, consulta le seguenti risorse:
Crea TrustConfig con CA privata
Crea una risorsa TrustConfig
del gestore certificati che rappresenti la tua infrastruttura a chiave pubblica, utilizzando il certificato radice generato mediante la CA privata. Presumiamo che la risorsa TrustConfig
sia un semplice archivio di attendibilità con un singolo trust anchor che rappresenta un certificato radice.
Nei passaggi seguenti, sostituisci TRUST_CONFIG_NAME
con il nome della risorsa TrustConfig
.
Per creare il file
trust_config.yaml
, utilizza il comando seguente:cat << EOF > trust_config.yaml name: TRUST_CONFIG_NAME trustStores: - trustAnchors: - pemCertificate: "${ROOT?}" EOF
Per creare le risorse
TrustConfig
del gestore certificati, utilizza il comandogcloud certificate-manager trust-configs import
:gcloud certificate-manager trust-configs import TRUST_CONFIG_NAME \ --source=trust_config.yaml \ --location=REGION
Sostituisci quanto segue:
REGION
: utilizzaglobal
per il bilanciatore del carico delle applicazioni interno tra regioni, per l'Application Load Balancer esterno globale o per l'Application Load Balancer classico. Per il bilanciatore del carico delle applicazioni esterno regionale o per l'Application Load Balancer interno regionale, utilizza la regione in cui hai configurato il bilanciatore del carico.
crea le risorse di sicurezza della rete
Un criterio TLS del server (risorsa di sicurezza di rete ServerTLSPolicy
) consente di specificare la modalità TLS lato server e la risorsa TrustConfig
da utilizzare durante la convalida dei certificati client. Quando il client presenta un certificato non valido o nessun certificato al bilanciatore del carico, clientValidationMode
specifica come viene gestita la connessione client.
- Se
clientValidationMode
è impostato suALLOW_INVALID_OR_MISSING_CLIENT_CERT
, tutte le richieste vengono passate al backend anche se la convalida non va a buon fine o il certificato client è mancante. - Quando
clientValidationMode
è impostato suREJECT_INVALID
, solo le richieste che forniscono un certificato client che può essere convalidato a fronte di una risorsaTrustConfig
vengono passate al backend.
Per creare la risorsa ServerTLSPolicy
, completa i seguenti passaggi:
A seconda di come vuoi gestire la connessione, seleziona una delle seguenti opzioni.
Nei passaggi seguenti, sostituisci
SERVER_TLS_POLICY_NAME
con il nome del criterio TLS del server ePROJECT_ID
con l'ID del tuo progetto Google Cloud.Opzione 1:
clientValidationMode
è impostata suALLOW_INVALID_OR_MISSING_CLIENT_CERT
.Per creare il file
server_tls_policy.yaml
, utilizza il comando seguente:globale
Per bilanciatori del carico delle applicazioni esterni e Application Load Balancer interni tra regioni, utilizza il comando:
cat << EOF > server_tls_policy.yaml name: SERVER_TLS_POLICY_NAME mtlsPolicy: clientValidationMode: ALLOW_INVALID_OR_MISSING_CLIENT_CERT clientValidationTrustConfig: projects/PROJECT_ID/locations/global/trustConfigs/TRUST_CONFIG_NAME EOF
regionale
Per gli Application Load Balancer esterni regionali e gli Application Load Balancer interni regionali, utilizza il comando:
cat << EOF > server_tls_policy.yaml name: SERVER_TLS_POLICY_NAME mtlsPolicy: clientValidationMode: ALLOW_INVALID_OR_MISSING_CLIENT_CERT clientValidationTrustConfig: projects/PROJECT_ID/locations/REGION/trustConfigs/TRUST_CONFIG_NAME EOF
Opzione 2:
clientValidationMode
è impostata suREJECT_INVALID
.Per creare il file
server_tls_policy.yaml
, utilizza il comando seguente:globale
Per bilanciatori del carico delle applicazioni esterni e Application Load Balancer interni tra regioni, utilizza il comando:
cat << EOF > server_tls_policy.yaml name: SERVER_TLS_POLICY_NAME mtlsPolicy: clientValidationMode: REJECT_INVALID clientValidationTrustConfig: projects/PROJECT_ID/locations/global/trustConfigs/TRUST_CONFIG_NAME EOF
regionale
Per gli Application Load Balancer esterni regionali e gli Application Load Balancer interni regionali, utilizza il comando:
cat << EOF > server_tls_policy.yaml name: SERVER_TLS_POLICY_NAME mtlsPolicy: clientValidationMode: REJECT_INVALID clientValidationTrustConfig: projects/PROJECT_ID/locations/REGION/trustConfigs/TRUST_CONFIG_NAME EOF
Per creare la risorsa
ServerTlsPolicy
, utilizza il comandogcloud network-security server-tls-policies import
:globale
Per bilanciatori del carico delle applicazioni esterni e Application Load Balancer interni tra regioni, utilizza il comando:
gcloud network-security server-tls-policies import SERVER_TLS_POLICY_NAME \ --source=server_tls_policy.yaml \ --location=global
regionale
Per gli Application Load Balancer esterni regionali e gli Application Load Balancer interni regionali, utilizza il comando:
gcloud network-security server-tls-policies import SERVER_TLS_POLICY_NAME \ --source=server_tls_policy.yaml \ --location=REGION
Per maggiori informazioni, consulta Modalità di convalida del client MTLS.
Passaggi successivi
- Configurare il protocollo TLS comune per un bilanciatore del carico delle applicazioni esterno globale
- Configurare il protocollo TLS comune per un bilanciatore del carico delle applicazioni classico
- Configura il protocollo TLS reciproca per un bilanciatore del carico delle applicazioni interno
- Configura il protocollo TLS reciproca per un bilanciatore del carico delle applicazioni esterno regionale
- Configurare il protocollo TLS reciproco con i certificati firmati