Questa pagina mostra come configurare Cloud External Key Manager (Cloud EKM) per la connessione a il tuo provider di gestione delle chiavi esterno (EKM) tramite una Rete Virtual Private Cloud (VPC).
Puoi utilizzare chiavi esterne su VPC nelle località Cloud KMS che supportare EKM tramite VPC. Per ulteriori informazioni, consulta la sezione Località Cloud KMS .
Terminologia
Connessione EKM
La risorsa Cloud KMS utilizzata per configurare una connessione un gestore di chiavi esterno. Nella console Google Cloud, è chiamato un EKM tramite connessione VPC.
Progetto VPC
Il progetto che contiene la risorsa VPC utilizzata per la connessione al gestore chiavi esterno.
Progetti chiave
I progetti che contengono le risorse di connessione EKM e le chiavi Cloud EKM di Cloud KMS. Un progetto chiave può essere uguale a un VPC progetto, ma non è obbligatorio.
Spazio di crittografia
Un contenitore per le tue risorse all'interno del tuo partner esterno per la gestione delle chiavi. Il tuo spazio di criptovalute è identificato da un percorso unico di criptovalute. Il formato dello spazio delle criptovalute varia a seconda del partner esterno per la gestione delle chiavi, ad esempio
v0/cryptospaces/YOUR_UNIQUE_PATH
.
Prima di iniziare
Dopo aver completato i passaggi riportati di seguito, puoi iniziare a utilizzare Cloud EKM per proteggere i dati.
Crea un nuovo progetto
Nella console Google Cloud, vai alla pagina Gestisci risorse.
Crea un nuovo progetto Google Cloud o selezionane uno esistente.
-
Make sure that billing is enabled for your Google Cloud project.
Scopri di più sui prezzi di Cloud EKM.
Attiva Cloud KMS
Abilitare l'API Cloud Key Management Service per il progetto.
Prendi nota dell'account di servizio Cloud EKM del progetto. Nella nell'esempio seguente, sostituisci
PROJECT_NUMBER
con Numero di progetto del progetto Google Cloud. Queste informazioni sono visibili anche ogni volta che utilizzi la console Google Cloud per creare una chiave Cloud EKM.service-PROJECT_NUMBER@gcp-sa-ekms.iam.gserviceaccount.com
Assicurati che gcloud CLI sia aggiornato
Se intendi utilizzare Google Cloud CLI, assicurati che sia aggiornato con seguente comando:
Interfaccia a riga di comando gcloud
gcloud components update
prepara una rete VPC
Quando configuri una rete VPC, esistono due opzioni:
Per impostazione predefinita, i nuovi progetti contengono una rete in modalità automatica che precompilate con regole firewall. Se la rete VPC non verrà utilizzata a fini di produzione, la rete in modalità automatica predefinita è il modo più rapido per iniziare.
Se il gestore di chiavi esterno è in esecuzione on-premise e ti connetterai tramite connettività ibrida, è consigliabile utilizzare una modalità personalizzata perché fornisce il controllo sugli intervalli di indirizzi IP della subnet.
Per configurare il VPC:
Abilitare l'accesso privato Google
Il gestore di chiavi esterno deve verificare il token OIDC contenuto in ogni richiesta. Per verificare il token, deve recuperare la chiave pubblica OAuth2 dal nome di dominio
www.googleapis.com
. Se il gestore di chiavi esterno esegue in Google Cloud e non ha accesso tramite internet (ad es. una VM senza un IP esterno o è bloccato da un firewall), segui le istruzioni per configurazione dell'accesso privato Google.Configurazione del firewall per l'intervallo IP
35.199.192.0/19
Le richieste da Cloud EKM proveranno da questo intervallo. Crea regole firewall per TCP sia in entrata che in uscita per la porta su cui il gestore chiavi esterno è in ascolto.
Configura la connettività ibrida
Se il gestore di chiavi esterno è in esecuzione on-premise, utilizza un soluzione di connettività ibrida per connettere il VPC alla rete on-premise. Dopo aver ottenuto configura la connettività, segui questi passaggi aggiuntivi:
Abilitare l'accesso privato Google
Il gestore di chiavi esterno deve verificare il token OIDC contenuto in ogni richiesta. Per verificare il token, deve per recuperare la chiave pubblica OAuth2 dal nome di dominio
www.googleapis.com
. Se gestore chiavi esterno viene eseguito on-premise e non ha accesso via Internet, segui le istruzioni per configurazione dell'accesso privato Google per gli host on-premise.Configurazione del firewall per l'intervallo IP
35.199.192.0/19
Le richieste provenienti da Cloud EKM provengono da questo intervallo. Configura il tuo un firewall di rete on-premise o altre apparecchiature simili per consentire il traffico TCP su la porta su cui il gestore di chiavi esterno è in ascolto.
Assicurati che il VPC abbia una route di ritorno all'intervallo IP
35.199.192.0/19
La rete on-premise deve avere una route per la destinazione
35.199.192.0/19
. Per informazioni su come soddisfare questo requisito, consulta strategie dei percorsi di ritorno per i target on-premise.
Strategie dei percorsi di ritorno per i target on-premise
Per i tunnel Cloud VPN che utilizzano il routing statico, crea manualmente un route nella rete on-premise la cui destinazione è
35.199.192.0/19
e il cui hop successivo è il tunnel Cloud VPN. Per i tunnel Cloud VPN che utilizzano il routing basato su criteri, configura il selettore di traffico locale di Cloud VPN e il selettore di traffico remoto del gateway VPN on-premise in modo da includere35.199.192.0/19
.Per i tunnel Cloud VPN che utilizzano il routing dinamico o per Cloud Interconnect, configura la modalità pubblicitaria personalizzata per
35.199.192.0/19
sulla sessione BGP del router Cloud che gestisce il tunnel o il collegamento VLAN.
Configura il gestore chiavi esterno
Segui le istruzioni del tuo provider EKM per configurare il tuo EKM.
Configura il tuo spazio di crittografia
Se utilizzi Cloud EKM nell'ambito di un accordo EKM gestito dai partner, hai completato questi passaggi nell'ambito del provisioning del partner e il processo di sviluppo.
Se il tuo provider EKM è compatibile con la gestione delle chiavi EKM di Cloud KMS, utilizza la seguente configurazione e di configurazione nell'EKM:
Crea uno spazio di crittografia per le risorse gestite da Cloud KMS EKM.
Concedi al tuo account di servizio Cloud KMS l'accesso allo spazio di crittografia e le chiavi create al suo interno.
Configura il criterio Key Access Justifications per definire quali giustificazioni dell'accesso deve essere consentito o negato.
La procedura esatta per ognuno di questi passaggi dipende dall'EKM. Per ulteriori informazioni consulta la documentazione del provider EKM.
Crea un endpoint di servizio Service Directory
Crea e configura un endpoint di servizio Service Directory nel tuo progetto VPC che punta all'indirizzo IP privato del gestore chiavi esterno. Se utilizzi un bilanciatore del carico in a più repliche EKM, utilizza l'indirizzo IP e la porta del bilanciatore del carico. Assicurati che il campo network dell'endpoint di servizio Service Directory sia compilato.
Autorizza Cloud EKM ad accedere al tuo VPC
Per ogni progetto chiave, devi autorizzare Cloud EKM ad accedere al tuo VPC per conto di quel progetto, anche se il progetto chiave sono uguali. Se autorizzi l'accesso, le chiavi del tuo progetto chiave utilizzare il VPC nel progetto VPC.
Assicurati che esista un account di servizio Cloud EKM per il progetto.
Interfaccia a riga di comando gcloud
gcloud beta services identity create \ --service=cloudkms.googleapis.com \ --project=KEY_PROJECT_ID
Concedi i diritti di accesso
servicedirectory.viewer
eservicedirectory.pscAuthorizedService
in progetto VPC suservice-KEY_PROJECT_NUMBER@gcp-sa-ekms.iam.gserviceaccount.com
Per assistenza su come ottenere l'ID e il numero del progetto, consulta Creazione e gestione dei progetti.Interfaccia a riga di comando gcloud
gcloud projects add-iam-policy-binding VPC_PROJECT_ID \ --member='serviceAccount:service-KEY_PROJECT_NUMBER@gcp-sa-ekms.iam.gserviceaccount.com' \ --role='roles/servicedirectory.viewer' gcloud projects add-iam-policy-binding VPC_PROJECT_ID \ --member='serviceAccount:service-KEY_PROJECT_NUMBER@gcp-sa-ekms.iam.gserviceaccount.com' \ --role='roles/servicedirectory.pscAuthorizedService'
Crea una connessione EKM
Per connettere il tuo gestore di chiavi esterno a Cloud EKM, crea una connessione EKM nel tuo progetto di chiavi.
Console
Nella console Google Cloud, vai alla pagina Infrastruttura KMS.
Fai clic su
Crea connessione.In Nome connessione, inserisci un nome per la connessione.
In Regione, seleziona una località per la connessione EKM. Eventuali chiavi Cloud KMS associate a questa connessione devono trovarsi nella stessa posizione della connessione.
Nel campo ID risorsa di servizio (self_link), inserisci il valore del parametro Servizio Service Directory creato nel Sezione Crea un endpoint di servizio di Service Directory. Il servizio Service Directory deve trovarsi nella stessa posizione connessione.
Nel campo Nome host, aggiungi il nome host del gestore di chiavi esterno.
In Certificati, fai clic su Aggiungi certificato per caricare uno o più Certificati server X.509 per il gestore di chiavi esterno. I certificati devono in formato DER.
In corrispondenza della modalità di gestione EKM, seleziona Manuale per utilizzare la connessione EKM per chiavi esterne gestite manualmente o seleziona Cloud KMS per utilizzare l'EKM connessione per chiavi esterne coordinate.
Se hai selezionato Cloud KMS per la modalità di gestione EKM, nella Nel campo Percorso spaziale della crittografia, inserisci il percorso dello spazio delle criptovalute fornito dal tuo EKM.
Facoltativo. Per impostare la connessione EKM come predefinita per questa richiesta progetto e località, seleziona la casella di controllo Imposta connessione come predefinita. Se al momento è impostata come connessione predefinita un'altra connessione EKM per questo progetto e la località, questa connessione EKM sostituisce quella esistente predefinito.
Fai clic su Crea.
gcloud
Per utilizzare Cloud KMS nella riga di comando, devi prima Installa o esegui l'upgrade alla versione più recente di Google Cloud CLI.
Per creare una connessione EKM per le chiavi esterne gestite manualmente, esegui il seguente comando:
gcloud beta kms ekm-connections create EKM_CONNECTION \ --location LOCATION \ --service-directory-service SERVICE_DIRECTORY_SERVICE \ --hostname HOSTNAME \ --server-certificates-files SERVER_CERTIFICATE_FILES \ --key-management-mode manual
Sostituisci quanto segue:
EKM_CONNECTION
: un nome per la connessione EKM.LOCATION
: il percorso di Cloud KMS in cui vuoi creare la connessione EKM. Eventuali chiavi Cloud KMS associate a questa connessione devono trovarsi nella stessa posizione della connessione.SERVICE_DIRECTORY_SERVICE
: l'ID risorsa del Servizio Service Directory per la tua connessione.HOSTNAME
: il nome host del gestore di chiavi esterno.SERVER_CERTIFICATE_FILES
: un elenco di file separati da virgole contenente certificati server X.509 per il gestore di chiavi esterno. I certificati devono essere in formato DER.
Per creare una connessione EKM per chiavi esterne coordinate, esegui il comando seguente comando:
gcloud beta kms ekm-connections create EKM_CONNECTION \ --location LOCATION \ --service-directory-service SERVICE_DIRECTORY_SERVICE \ --hostname HOSTNAME \ --server-certificates-files SERVER_CERTIFICATE_FILES \ --key-management-mode cloud-kms \ --crypto-space-path CRYPTO_SPACE_PATH
Sostituisci quanto segue:
EKM_CONNECTION
: un nome per la connessione EKM.LOCATION
: il percorso di Cloud KMS in cui vuoi creare la connessione EKM. Eventuali chiavi Cloud KMS associate a questa connessione devono trovarsi nella stessa posizione della connessione.SERVICE_DIRECTORY_SERVICE
: l'ID risorsa del Servizio Service Directory per la tua connessione.HOSTNAME
: il nome host del gestore di chiavi esterno.SERVER_CERTIFICATE_FILES
: un elenco di file separati da virgola contenenti certificati server X.509 per il gestore di chiavi esterno. I certificati devono essere in formato DER.CRYPTO_SPACE_PATH
: il percorso dello spazio crittografico fornito dal tuo provider EKM.
Per informazioni su tutti i flag e sui possibili valori, esegui il comando con
--help
flag.
API
Questi esempi utilizzano curl come client HTTP per dimostrare l'utilizzo dell'API. Per ulteriori informazioni sul controllo dell'accesso, vedi Accesso all'API Cloud KMS.
Per creare una connessione EKM per chiavi esterne coordinate, esegui il comando seguente comando:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ekmConnections" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --header "x-goog-user-project: PROJECT_ID" \ --data '{ "name": "EKM_CONNECTION", "serviceResolvers": [ { "serviceDirectoryService": "SERVICE_DIRECTORY_SERVICE", "hostname": "HOSTNAME", "serverCertificates": [ { SERVER_CERTIFICATES } ] } ] "keyManagementMode": "CLOUD_KMS", "cryptoSpacePath": "CRYPTO_SPACE_PATH" }'
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui vuoi creare Connessione EKM.LOCATION
: il Cloud KMS in cui vuoi creare Connessione EKM.EKM_CONNECTION
: il nome da utilizzare per la connessione EKM.SERVER_CERTIFICATES
: un elenco di massimo 10 oggettiCertificate
che che rappresentano i certificati server foglia.HOSTNAME
: il nome host del gestore di chiavi esterno.CRYPTO_SPACE_PATH
: il percorso dello spazio crittografico fornito dal tuo provider EKM.
Per creare una connessione EKM per chiavi esterne gestite manualmente, esegui il comando seguente comando:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ekmConnections" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --header "x-goog-user-project: PROJECT_ID" \ --data '{ "name": "EKM_CONNECTION", "serviceResolvers": [ { "serviceDirectoryService": "SERVICE_DIRECTORY_SERVICE", "hostname": "HOSTNAME", "serverCertificates": [ { SERVER_CERTIFICATES } ] } ] }'
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui vuoi creare Connessione EKM.LOCATION
: il Cloud KMS in cui vuoi creare Connessione EKM.EKM_CONNECTION
: il nome da utilizzare per la connessione EKM.SERVER_CERTIFICATES
: un elenco di massimo 10Certificate
oggetti che rappresentano i certificati server foglia.HOSTNAME
: il nome host del gestore di chiavi esterno.
Consulta la documentazione dell'API EkmConnection.create
per ulteriori informazioni.
Stato del certificato
Dopo aver caricato un certificato per la connessione EKM, puoi controllare lo stato complessivo del certificato della connessione EKM e lo stato di ciascun certificato dalla pagina dell'infrastruttura KMS.
Le connessioni EKM sono contrassegnate dallo stato generale nella colonna Stato certificato di ogni connessione. Se una connessione EKM ha uno stato diverso da Attivo, ti consigliamo di aggiornare i certificati nella connessione EKM.
Sia le connessioni EKM sia i singoli certificati possono avere il seguente stato:
- Attivo: il certificato è valido e la data di scadenza è prossima.
- Scade entro 30 giorni: il certificato è valido, ma scade nei prossimi 30 giorni.
- Scaduto: il certificato è scaduto e non è più valido. I nostri suggerimenti aggiornare eventuali certificati scaduti.
- Non ancora valido: il certificato non è attivo. Questo può accadere se la data di inizio del certificato è futura.
Se il certificato non è più valido, aggiorna la connessione EKM nel nella console Google Cloud.
Console
Nella console Google Cloud, vai alla Infrastruttura KMS.
Fai clic sul nome della connessione EKM tramite VPC con il certificato deve essere aggiornato.
Fai clic su Modifica connessione.
Fai clic su Aggiungi certificato per caricare uno o più certificati server X.509. per il gestore di chiavi esterno. I certificati devono essere in formato DER.
Rimuovi i certificati scaduti. Passa il mouse sopra il certificato scaduto e Seleziona l'icona Elimina a destra.
Fai clic su Aggiorna connessione per aggiornare l'EKM tramite connessione VPC.
Impostare una connessione EKM come predefinita
Puoi impostare una connessione EKM come predefinita per un determinato progetto e la località. Quando viene impostata una connessione EKM predefinita per un progetto e una località, Nuove chiavi Cloud EKM da VPC create nei keyring in quella località utilizzerà la connessione EKM indicata, a meno che non venga selezionata un'altra connessione EKM.
Per impostare una connessione EKM come predefinita per il progetto e la località corrispondenti, completa segui questi passaggi:
Console
Nella console Google Cloud, vai alla Infrastruttura KMS.
Fai clic sulla connessione EKM che vuoi impostare come predefinita.
Fai clic su Modifica connessione.
In Connessione predefinita, seleziona la casella di controllo Imposta la connessione come predefinita per LOCATION.
Fai clic su Aggiorna connessione.
Interfaccia a riga di comando gcloud
gcloud beta kms ekm-config update --location=LOCATION --default-ekm-connection=projects/PROJECT_ID/locations/LOCATION/ekmConnections/DEFAULT_EKM_CONNECTION
Sostituisci quanto segue:
LOCATION
: il Cloud KMS per cui vuoi impostare la connessione EKM predefinita.PROJECT_ID
: il nome del progetto da impostare la connessione EKM predefinita.DEFAULT_EKM_CONNECTION
: il nome della connessione EKM che vuoi impostare come predefinita per questa località. La posizione La connessione EKM deve corrispondere alla località specificata inLOCATION
.
API
Per impostare la connessione EKM predefinita per una località, utilizza il metodo EkmConfig.patch
:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ekmConfig" \
--request "PATCH" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{"defaultEkmConnection": "projects/PROJECT_ID/locations/LOCATION/ekmConnections/DEFAULT_EKM_CONNECTION"}'
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto da impostare una connessione EKM predefinita.LOCATION
: il Cloud KMS per cui vuoi impostare la connessione EKM predefinita.DEFAULT_EKM_CONNECTION
: il nome della connessione EKM da impostare come predefinita per questa località. La località della connessione EKM deve corrispondere a quella specificata inLOCATION
.
Se un'altra connessione EKM era stata impostata come predefinita per questa località, la connessione EKM selezionata la sostituisce come predefinita. È possibile usare una sola connessione EKM per un progetto e una località specifici.