Crea una connessione EKM

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 al tuo 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 container per le 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

  1. Nella console Google Cloud, vai alla pagina Gestisci risorse.

    Vai alla pagina Gestisci risorse

  2. Crea un nuovo progetto Google Cloud o selezionane uno esistente.

    .
  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

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

Abilita Cloud KMS

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

    Abilita l'API Cloud Key Management Service

  2. 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. Questo le 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 per scopi di produzione, la rete predefinita in modalità automatica è 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.

Segui questi passaggi per configurare il tuo VPC:

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

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

    Le richieste da Cloud EKM proveranno da questo intervallo. Crea entrambi in entrata e in uscita consentono regole firewall per TCP per la porta su cui il gestore di 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:

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

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

    Le richieste da Cloud EKM proveranno 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.

  3. 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 35.199.192.0/19 destinazione. 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 una route in la tua rete on-premise la cui destinazione è 35.199.192.0/19 e la cui e l'hop successivo è il tunnel Cloud VPN. Per i tunnel Cloud VPN che utilizzano il routing basato su criteri, configura la rete selettore di traffico e il gateway VPN on-premise selettore remoto del traffico per includere 35.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 di Service Directory sia compilate.

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.

  1. 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
    
  2. Concedi i diritti di accesso servicedirectory.viewer e servicedirectory.pscAuthorizedService in progetto VPC su service-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 gestore di chiavi esterno a Cloud EKM, crea un Connessione EKM nel tuo progetto chiave.

Console

  1. Nella console Google Cloud, vai alla 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. Qualsiasi Le chiavi Cloud KMS associate a questa connessione devono essere nello stesso posizione come connessione.

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

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

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

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

  9. Se hai selezionato Cloud KMS per la modalità di gestione EKM, nella Nel campo Percorso spaziale delle criptovalute, inserisci il percorso dello spazio delle criptovalute fornito dal tuo EKM.

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

  11. 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 chiavi esterne gestite manualmente, 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 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. Qualsiasi chiave Cloud KMS associata connessione deve trovarsi nella stessa località 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. Qualsiasi chiave Cloud KMS associata connessione deve trovarsi nella stessa località 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.
  • 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

In questi esempi viene utilizzato curl come client HTTP per dimostrare l'uso 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 oggetti Certificate 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 10 Certificate 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 il lo stato complessivo del certificato della connessione EKM, nonché lo stato di ogni certificato dal Pagina dell'infrastruttura KMS.

Le connessioni EKM sono contrassegnate dallo stato generale nella colonna Stato certificato di ogni connessione. Se una connessione EKM è diverso da Attiva, consiglia di aggiornare i certificati sulla 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.
  • In scadenza entro 30 giorni: il certificato è valido, ma ha una scadenza 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. Ciò può accadere se la data di inizio del certificato è una data futura.

Se il certificato non è più valido, aggiorna la connessione EKM nel nella console Google Cloud.

Console

  1. Nella console Google Cloud, vai alla Infrastruttura KMS.

    Vai all'infrastruttura KMS

  2. Fai clic sul nome della connessione EKM tramite VPC con il certificato 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 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

  1. Nella console Google Cloud, vai alla 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 Imposta la connessione come predefinita. per LOCATION.

  5. 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 da impostare come predefinita per questa località. La posizione La connessione EKM deve corrispondere alla località specificata in LOCATION.

API

Per impostare la connessione EKM predefinita per una località, utilizza 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 dell'EKM connessione che vuoi impostare come predefinita per questa località. La località della connessione EKM deve corrispondere a quella specificata in LOCATION.

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.

Passaggi successivi