Crea una connessione EKM

Questa pagina mostra come configurare Cloud External Key Manager (Cloud EKM) per connetterti al tuo provider di gestione delle chiavi esterne (EKM) tramite una rete Virtual Private Cloud (VPC).

Puoi utilizzare chiavi esterne su VPC nelle località Cloud KMS che supportano EKM su VPC. Per saperne di più, consulta la pagina delle località di Cloud KMS.

Se stai eseguendo la migrazione di chiavi EXTERNAL esistenti al livello di protezione EXTERNAL_VPC (anteprima), devi prima completare questi passaggi di configurazione.

Terminologia

  • Connessione EKM

    La risorsa Cloud KMS utilizzata per configurare una connessione al tuo gestore delle chiavi esterno. Nella console Cloud de Confiance , questa connessione è denominata connessione EKM tramite VPC.

  • Progetto VPC

    Il progetto che contiene la risorsa VPC utilizzata per connettersi al gestore di chiavi esterno.

  • Progetti chiave

    I progetti che contengono le risorse di connessione EKM e le chiavi Cloud EKM in Cloud KMS. Un progetto chiave può essere lo stesso di un progetto VPC, ma non è obbligatorio.

  • Crypto Space

    Un container per le tue risorse all'interno del tuo partner esterno per la gestione delle chiavi. Il tuo spazio di crittografia è identificato da un percorso univoco. Il formato del percorso Crypto Space varia in base al 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 le chiavi Cloud EKM per proteggere i tuoi dati.

Crea un nuovo progetto

  1. Nella console Cloud de Confiance , vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Crea un nuovo progetto Cloud de Confiance o selezionane uno esistente.

  3. Verifica che la fatturazione sia attivata per il tuo progetto Cloud de Confiance .

  4. Scopri di più sui prezzi di Cloud EKM.

Abilita Cloud KMS

  1. Abilita l'API Cloud Key Management Service per il progetto.

    Abilita l'API Cloud Key Management Service

  2. Prendi nota del account di servizio Cloud EKM del tuo progetto. Nell'esempio seguente, sostituisci PROJECT_NUMBER con il numero di progetto del tuo progettoCloud de Confiance . Queste informazioni sono visibili anche ogni volta che utilizzi la console Cloud de Confiance per creare una chiave Cloud EKM.

    service-PROJECT_NUMBER@gcp-sa-ekms.s3ns-system.iam.gserviceaccount.com
    

Assicurati che gcloud CLI sia aggiornata {: class="hide-from-toc"}

Se utilizzerai Google Cloud CLI, assicurati che sia aggiornata con il seguente comando:

gcloud

gcloud components update

Prepara una rete VPC

Quando configuri una rete VPC, hai due opzioni:

Per impostazione predefinita, i nuovi progetti contengono una rete VPC in modalità automatica precompilata con regole firewall. Se la rete VPC non verrà utilizzata per scopi di produzione, la rete VPC in modalità automatica predefinita è il modo più rapido per iniziare.

Se il gestore di chiavi esterno è in esecuzione on-premise e ti connetterai utilizzando la connettività ibrida, devi utilizzare una rete VPC in modalità personalizzata, perché fornisce il controllo sugli intervalli di indirizzi IP della subnet.

Segui questi passaggi per configurare il VPC:

  1. Abilita l'accesso privato Google

    Il gestore di chiavi esterno deve verificare il token OIDC contenuto in ogni richiesta. Per verificare il token, il gestore di chiavi esterno deve recuperare la chiave pubblica OAuth2 dal nome di dominio www.googleapis.com. Se il gestore delle chiavi esterno viene eseguito in Cloud de Confiance by S3NS e non ha accesso a internet (ad esempio una VM senza un IP esterno o bloccata da un firewall), segui le istruzioni per configurare l'accesso privato Google.

  2. Configurazione del firewall per l'intervallo IP 35.199.192.0/19

    Le richieste di Cloud EKM proverranno da questo intervallo. Crea regole firewall di autorizzazione in entrata e in uscita per TCP per la porta su cui è in ascolto il gestore di chiavi esterno.

Configura la connettività ibrida

Se il gestore di chiavi esterno è in esecuzione on-premise, utilizza una soluzione di connettività ibrida per connettere il VPC alla tua rete on-premise. Una volta configurata la connettività, segui questi passaggi aggiuntivi:

  1. Abilita l'accesso privato Google

    Il gestore di chiavi esterno deve verificare il token OIDC contenuto in ogni richiesta. Per verificare il token, il gestore di chiavi esterno deve recuperare la chiave pubblica OAuth2 dal nome di dominio www.googleapis.com. Se il gestore delle chiavi esterno viene eseguito on-premise e non ha accesso a internet, segui le istruzioni per configurare l'accesso privato Google per gli host on-premise.

  2. Configurazione del firewall per l'intervallo IP 35.199.192.0/19

    Le richieste di Cloud EKM provengono da questo intervallo. Configura il firewall di rete on-premise o un'apparecchiatura simile per consentire il traffico TCP sulla porta su cui è in ascolto il gestore di chiavi esterno.

  3. Assicurati che il VPC abbia una route di ritorno all'intervallo IP 35.199.192.0/19

    La tua rete on-premise deve avere una route per la destinazione 35.199.192.0/19. Per informazioni su come soddisfare questo requisito, consulta Strategie per la route di ritorno per i target on-premise.

Strategie per la route di ritorno per i target on-premise

  • Per i tunnel Cloud VPN che utilizzano il routing statico, crea manualmente una route nella tua rete on-premise con 35.199.192.0/19 come destinazione e il tunnel Cloud VPN come hop successivo. Per i tunnel VPN Cloud che utilizzano 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 includere 35.199.192.0/19.

  • Per i tunnel Cloud VPN che utilizzano il routing dinamico o per Cloud Interconnect, configura la modalità di annuncio personalizzato per 35.199.192.0/19 nella sessione BGP del router Cloud che gestisce il tunnel o il collegamento VLAN.

Configura il gestore di chiavi esterno

Segui le istruzioni del tuo provider EKM per configurare l'EKM.

Configura il tuo spazio crittografico

Se utilizzi Cloud EKM nell'ambito di un accordo EKM gestito da un partner, questi passaggi sono stati completati per te nell'ambito del processo di provisioning del partner.

Se il tuo provider EKM è compatibile con la gestione delle chiavi EKM da Cloud KMS, devi eseguire i seguenti passaggi di configurazione nel tuo EKM:

  • Crea uno spazio di crittografia per le risorse gestite da Cloud KMS nel tuo EKM.

  • Concedi al account di servizio Cloud KMS l'accesso allo spazio di crittografia e alle chiavi create al suo interno.

  • Configura la policy Key Access Justifications per definire quali giustificazioni di accesso devono essere consentite o negate.

La procedura esatta per ciascuno di questi passaggi dipende dal tuo EKM. Per saperne di più, 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 e alla porta del tuo gestore di chiavi esterno. Se utilizzi un bilanciatore del carico davanti a più repliche EKM, utilizza l'indirizzo IP e la porta del bilanciatore del carico. Assicurati che il campo network dell'endpoint di servizio di Service Directory sia compilato.

Autorizza Cloud EKM ad accedere al tuo VPC

Per ogni progetto di chiave, devi autorizzare Cloud EKM ad accedere al tuo VPC per conto del progetto, anche se il progetto di chiave e il progetto VPC sono gli stessi. Autorizzando l'accesso, le chiavi nel progetto di chiavi possono utilizzare il VPC nel progetto VPC.

  1. Utilizza gcloud CLI per assicurarti che esista un account di servizio Cloud EKM per il progetto.

    gcloud beta services identity create \
        --service=cloudkms.googleapis.com \
        --project=KEY_PROJECT_ID
    
  2. Utilizza gcloud CLI per concedere servicedirectory.viewer e servicedirectory.pscAuthorizedService nel tuo progetto VPC a service-KEY_PROJECT_NUMBER@gcp-sa-ekms.s3ns-system.iam.gserviceaccount.com Per assistenza su come ottenere l'ID progetto e il numero del progetto, consulta Creazione e gestione dei progetti.

    gcloud projects add-iam-policy-binding VPC_PROJECT_ID \
        --member=serviceAccount:service-KEY_PROJECT_NUMBER@gcp-sa-ekms.s3ns-system.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.s3ns-system.iam.gserviceaccount.com \
        --role=roles/servicedirectory.pscAuthorizedService
    

Crea una connessione EKM

Per connettere il gestore di chiavi esterno a Cloud EKM, crea una connessione EKM nel tuo progetto di chiavi.

Console

  1. Nella console Cloud de Confiance , vai alla pagina Infrastruttura KMS.

    Vai all'infrastruttura KMS

  2. Fai clic su Crea connessione.

  3. In Nome connessione, inserisci un nome per la connessione.

  4. In Regione, seleziona una località per la connessione EKM. Tutte le chiavi Cloud KMS associate a questa connessione devono trovarsi nella stessa località della connessione.

  5. Nel campo ID risorsa di servizio (self_link), inserisci il valore del servizio Service Directory creato nella sezione Crea un endpoint di servizio Service Directory. Il servizio di directory deve trovarsi nella stessa località della connessione.

  6. Nel campo Nome host, aggiungi il nome host del gestore delle chiavi esterno.

  7. In Certificati, fai clic su Aggiungi certificato per caricare uno o più certificati server X.509 per il gestore delle chiavi esterno. I certificati devono essere in formato DER.

  8. In Modalità di gestione EKM, seleziona Manuale per utilizzare la connessione EKM per le chiavi esterne gestite manualmente oppure seleziona Cloud KMS per utilizzare la connessione EKM per le chiavi esterne coordinate.

  9. Se hai selezionato Cloud KMS per Modalità di gestione EKM, nel campo Percorso Crypto Space, inserisci il percorso Crypto Space fornito dal tuo EKM.

  10. Facoltativo. Per impostare la connessione EKM come connessione predefinita per questo progetto e questa località, seleziona la casella di controllo Imposta la connessione come predefinita. Se un'altra connessione EKM è attualmente impostata come connessione predefinita per questo progetto e questa località, questa connessione EKM sostituisce quella predefinita esistente.

  11. Fai clic su Crea.

gcloud

Per utilizzare Cloud KMS dalla riga di comando, innanzitutto installa o esegui l'upgrade all'ultima versione di Google Cloud CLI.

Per creare una connessione EKM per le chiavi esterne gestite manualmente, esegui il comando seguente:

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: la località di Cloud KMS in cui vuoi creare la connessione EKM. Tutte le chiavi Cloud KMS associate a questa connessione devono trovarsi nella stessa località della connessione.
  • SERVICE_DIRECTORY_SERVICE: l'ID risorsa del servizio Service Directory per la connessione.
  • HOSTNAME: il nome host del gestore delle chiavi esterno.
  • SERVER_CERTIFICATE_FILES: un elenco separato da virgole di file contenenti certificati server X.509 per il gestore di chiavi esterno. I certificati devono essere in formato DER.

Per creare una connessione EKM per le chiavi esterne coordinate, 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 cloud-kms \
    --crypto-space-path CRYPTO_SPACE_PATH

Sostituisci quanto segue:

  • EKM_CONNECTION: un nome per la connessione EKM.
  • LOCATION: la località di Cloud KMS in cui vuoi creare la connessione EKM. Tutte le chiavi Cloud KMS associate a questa connessione devono trovarsi nella stessa località della connessione.
  • SERVICE_DIRECTORY_SERVICE: l'ID risorsa del servizio Service Directory per la connessione.
  • HOSTNAME: il nome host del gestore delle chiavi esterno.
  • SERVER_CERTIFICATE_FILES: un elenco separato da virgole di file 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 di crittografia fornito dal tuo provider EKM.

Per informazioni su tutti i flag e i valori possibili, esegui il comando con il flag --help.

API

Questi esempi utilizzano curl come client HTTP per dimostrare l'utilizzo dell'API. Per saperne di più sul controllo dell'accesso, consulta Accesso all'API Cloud KMS.

Per creare una connessione EKM per le chiavi esterne coordinate, esegui il 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 la connessione EKM.
  • LOCATION: il Cloud KMS in cui vuoi creare la connessione EKM.
  • EKM_CONNECTION: il nome da utilizzare per la connessione EKM.
  • SERVER_CERTIFICATES: un elenco di massimo 10 oggetti Certificate che rappresentano i certificati del server foglia.
  • HOSTNAME: il nome host del gestore delle chiavi esterno.
  • CRYPTO_SPACE_PATH: il percorso dello spazio di crittografia fornito dal tuo provider EKM.

Per creare una connessione EKM per le chiavi esterne gestite manualmente, esegui il comando seguente:

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 la connessione EKM.
  • LOCATION: il Cloud KMS in cui vuoi creare la connessione EKM.
  • EKM_CONNECTION: il nome da utilizzare per la connessione EKM.
  • SERVER_CERTIFICATES: un elenco di massimo 10 oggetti Certificate che rappresentano i certificati del server foglia.
  • HOSTNAME: il nome host del gestore delle chiavi esterno.

Per saperne di più, consulta la documentazione dell'API EkmConnection.create.

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 ogni certificato dalla pagina dell'infrastruttura KMS.

Le connessioni EKM hanno uno stato complessivo nella colonna Stato del certificato di ogni connessione. Se una connessione EKM ha uno stato diverso da Attiva, ti consigliamo di aggiornare i certificati della connessione EKM.

Sia le connessioni EKM che i singoli certificati possono avere i seguenti stati:

  • Attivo: il certificato è valido e non è prossimo alla data di scadenza.
  • In scadenza entro 30 giorni: il certificato è valido, ma ha una data di scadenza nei prossimi 30 giorni.
  • Scaduto: il certificato è scaduto e non è più valido. Ti consigliamo di aggiornare i certificati scaduti.
  • Non ancora valido: il certificato non è attivo. Questo può accadere se la data di inizio del certificato è nel futuro.

Se il certificato non è più valido, aggiorna la connessione EKM nella consoleCloud de Confiance .

Console

  1. Nella console Cloud de Confiance , vai alla pagina Infrastruttura KMS.

    Vai all'infrastruttura KMS

  2. Fai clic sul nome della connessione EKM su VPC con il certificato che deve essere aggiornato.

  3. Fai clic su Modifica connessione.

  4. 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.

  5. Rimuovi i certificati scaduti. Passa il mouse sopra il certificato scaduto e seleziona l'icona Elimina a destra.

  6. Fai clic su Aggiorna connessione per aggiornare la connessione EKM tramite VPC.

Imposta una connessione EKM come predefinita

Puoi impostare una connessione EKM come connessione predefinita per un determinato progetto e una determinata località. Quando viene impostata una connessione EKM predefinita per un progetto e una località, le nuove chiavi Cloud EKM by VPC create nelle chiavi automatizzate in quella località utilizzano 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à, completa i seguenti passaggi:

Console

  1. Nella console Cloud de Confiance , vai alla pagina Infrastruttura KMS.

    Vai all'infrastruttura KMS

  2. Fai clic sulla connessione EKM che vuoi impostare come predefinita.

  3. Fai clic su Modifica connessione.

  4. In Connessione predefinita, seleziona la casella di controllo Imposta la connessione come predefinita per LOCATION.

  5. Fai clic su Aggiorna connessione.

gcloud

gcloud 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 per cui vuoi impostare la connessione EKM predefinita.
  • DEFAULT_EKM_CONNECTION: il nome della connessione EKM che vuoi impostare come predefinita per questa località. La località della connessione EKM deve corrispondere a quella indicata in LOCATION.

REST

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 per cui vuoi 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 che vuoi impostare come predefinita per questa località. La località della connessione EKM deve corrispondere a quella indicata in LOCATION.

Se un'altra connessione EKM era stata impostata come predefinita per questa località, la connessione EKM selezionata la sostituisce come predefinita. Solo una connessione EKM può essere predefinita per un determinato progetto e una determinata località.

Passaggi successivi