Configurazione dettagliata delle autorizzazioni di Google Cloud e Cloud Storage

Questo documento descrive la configurazione dettagliata delle autorizzazioni di Google Cloud e Cloud Storage, tra cui:

  • Preparazione del bucket Cloud Storage di destinazione.
  • Prepara una chiave Cloud Key Management Service per proteggere i tuoi dati.
  • Fornire al team di Transfer Appliance i dati di configurazione del bucket Cloud Storage.

Prima di iniziare

Assicurati di aver ricevuto un'email dal team di Transfer Appliance intitolata Autorizzazioni e spazio di archiviazione per la preparazione di Google Transfer Appliance. Questa email contiene:

  • I nomi degli account di servizio richiesti per il trasferimento.

  • Un ID sessione necessario per configurare l'appliance.

  • Un modulo da compilare dopo aver configurato l'account.

Prepara il bucket Cloud Storage di destinazione

Per archiviare i dati in Cloud Storage, devi preparare un bucket. I bucket sono i container di base in cui vengono archiviati i dati in Cloud Storage.

Utilizziamo due account di servizio per spostare i dati da Transfer Appliance al bucket Cloud Storage di destinazione che prepari. Gli account di servizio sono account speciali utilizzati da un'applicazione, non da una persona, per svolgere attività. In questo caso, gli account di servizio consentono a Transfer Appliance di utilizzare le risorse Cloud Storage per tuo conto per copiare i dati dall'appliance al tuo bucket Cloud Storage. Concedi a questi account i ruoli necessari per copiare i dati dall'appliance al tuo bucket Cloud Storage.

Per preparare il bucket Cloud Storage di destinazione:

  1. In un'email intitolata Google Transfer Appliance Prepare Destination Bucket, il team di Transfer Appliance ti fornisce i seguenti account di servizio:

    • Un account di servizio per la sessione associato a questo trasferimento specifico. È simile al seguente esempio:

      ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

      In questo esempio, SESSION_ID è l'ID sessione per questo trasferimento specifico.

    • Un agente di servizio associato al servizio Transfer Service for On Premises Data, che utilizziamo per trasferire i dati dall'appliance al tuo bucket Cloud Storage. È simile al seguente esempio:

      project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com

      In questo esempio, TENANT_IDENTIFIER è un numero generato specifico per questo progetto specifico.

    Prendi nota degli account di servizio per i passaggi successivi.

    Gli account di servizio consentono a Transfer Appliance di manipolare le risorse Google Cloud per tuo conto, ovvero di copiare i dati dall'appliance a Cloud Storage. Concedi a questi account i ruoli necessari per copiare i dati dall'appliance al tuo bucket Cloud Storage.

  2. I bucket Cloud Storage sono collegati ai progetti Google Cloud. Il bucket selezionato deve trovarsi nello stesso progetto utilizzato per ordinare l'appliance.

    Se non hai un bucket Cloud Storage, creane uno:

    Google Cloud Console

    1. Apri la pagina Bucket Cloud Storage nella console Google Cloud.

      Apri la pagina Bucket Cloud Storage

    2. Fai clic su Crea bucket per aprire il modulo di creazione del bucket.

    3. Inserisci le informazioni sul bucket e fai clic su Continua per completare ogni passaggio:

    4. Fai clic su Fine.

    Riga di comando

    Utilizza il comando gcloud storage buckets create:

    gcloud storage buckets create gs://BUCKET_NAME --uniform-bucket-level-access --location=LOCATION --project=PROJECT_ID
    

    In questo esempio:

    Non impostare un criterio di conservazione nel bucket.

  3. Per concedere agli account di servizio Transfer Appliance l'autorizzazione per utilizzare il bucket Cloud Storage, procedi nel seguente modo:

    Google Cloud Console

    1. Nella console Google Cloud, vai alla pagina Bucket in Cloud Storage.

      Vai a Bucket

    2. Fai clic sul menu Extra del bucket () associato al bucket a cui stai concedendo un ruolo all'entità.

    3. Scegli Modifica autorizzazioni bucket.

    4. Fai clic sul pulsante + Aggiungi entità.

    5. Nel campo Nuove entità, inserisci le seguenti identità:

      • L'account di servizio per la sessione. È simile al seguente esempio:

        ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

        In questo esempio, SESSION_ID è l'ID sessione per questo trasferimento specifico.

      • L'agente di servizio Transfer Service for On Premises Data. È simile al seguente esempio:

        project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com

        In questo esempio, TENANT_IDENTIFIER è un numero generato specifico per questo progetto specifico.

    6. Dal menu a discesa Seleziona un ruolo, seleziona il ruolo Amministratore Storage.

      I ruoli selezionati vengono visualizzati nel riquadro con una breve descrizione delle autorizzazioni concesse.

    7. Fai clic su Salva.

    Riga di comando

    Utilizza il comando gcloud storage buckets add-iam-policy-binding:

    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
    --member=serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
    --role=roles/storage.admin
    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
    --member=serviceAccount:project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com \
    --role=roles/storage.admin
    

    In questo esempio:

    • BUCKET_NAME: il nome del bucket che stai creando.
    • SESSION_ID: l'ID sessione per questo particolar trasferimento.
    • TENANT_IDENTIFIER: un numero generato specifico per questo progetto specifico.

Prepara la chiave Cloud KMS

Transfer Appliance protegge i dati sull'appliance criptandoli prima che tu ce la rispedisca. Per criptare i dati su Transfer Appliance viene utilizzata una chiave pubblica di Cloud Key Management Service (Cloud KMS) e una chiave privata viene utilizzata per decriptare i dati.

Utilizziamo l'account di servizio di sessione di Prepara il bucket Cloud Storage di destinazione per caricare i dati dall'appliance nel tuo bucket Cloud Storage.

Per gestire le chiavi di crittografia hai a disposizione le seguenti opzioni:

  • Chiavi di crittografia gestite da Google. Puoi richiedere che sia Google a creare e gestire le chiavi Cloud KMS per te. Se vuoi utilizzare questo metodo, hai completato la configurazione del progetto Google Cloud e puoi proseguire con i passaggi descritti in Ricevere l'appliance.

  • Crea e gestisci autonomamente le chiavi di crittografia. Devi creare e gestire le chiavi di crittografia utilizzate per il trasferimento seguendo le istruzioni riportate di seguito. Prepara una chiave di decrittografia asimmetrica Cloud KMS e aggiungi l'account di servizio della sessione alla chiave. Il account di servizio della sessione utilizza la chiave di decrittografia asimmetrica per decriptare e copiare i dati in Cloud Storage.

Per preparare le chiavi Cloud KMS, segui questi passaggi:

  1. Se non hai un keyring Cloud Key Management Service, segui questa procedura per crearne uno:

    Google Cloud Console

    1. Vai alla pagina Chiavi crittografiche nella console Google Cloud.

      Vai alla pagina Chiavi crittografiche

    2. Fai clic su Crea keyring.

    3. Nel campo Nome della chiave automatizzata, inserisci il nome che preferisci per la chiave.

    4. Dal menu a discesa Posizione portachiavi, seleziona una località come "us-east1".

    5. Fai clic su Crea.

    Riga di comando

    gcloud kms keyrings create KEY_RING --location=LOCATION --project=PROJECT_ID
    

    In questo esempio:

    • LOCATION: la posizione di Cloud Key Management Service per il portachiavi. Ad esempio, global.
    • KEY_RING: il nome della chiave automatizzata.
    • PROJECT_ID: l'ID progetto Google Cloud di cui fa parte il bucket di archiviazione.
  2. Per creare una chiave di decriptazione asimmetrica:

    Google Cloud Console

    1. Vai alla pagina Chiavi crittografiche nella console Google Cloud.

      Vai alla pagina Chiavi crittografiche

    2. Fai clic sul nome del keyring per cui vuoi creare una chiave.

    3. Fai clic su Crea chiave.

    4. Nella sezione Che tipo di chiave vuoi creare?, scegli Chiave generata.

    5. Nel campo Nome chiave, inserisci il nome della chiave.

    6. Fai clic sull'elenco a discesa Livello di protezione e seleziona Software.

    7. Fai clic sul menu a discesa Scopi e seleziona Decrittografia asimmetrica.

    8. Fai clic sul menu a discesa Algoritmo e seleziona RSA a 4096 bit - Padding OAEP - Digest SHA256

    9. Fai clic su Crea.

    Riga di comando

    Esegui il seguente comando per creare una chiave di decriptazione asimmetrica:

    gcloud kms keys create KEY --keyring=KEY_RING \
    --location=LOCATION --purpose=asymmetric-encryption \
    --default-algorithm=rsa-decrypt-oaep-4096-sha256 \
    --project=PROJECT_ID
    

    In questo esempio:

    • KEY: il nome della chiave Cloud Key Management Service. Ad esempio, ta-key.
    • KEY_RING: il nome della chiave automatizzata.
    • LOCATION: la posizione di Cloud Key Management Service per il portachiavi. Ad esempio, global.
    • PROJECT_ID: l'ID progetto Google Cloud di cui fa parte il bucket di archiviazione.
  3. Aggiungi l'account di servizio della sessione come entità alla chiave asimmetrica ed eseguire quanto segue:

    Google Cloud Console

    1. Vai alla pagina Chiavi crittografiche nella console Google Cloud.

      Vai alla pagina Chiavi crittografiche

    2. Fai clic sul keyring contenente la chiave asimmetrica.

    3. Seleziona la casella di controllo per la chiave asimmetrica.

    4. Nel riquadro Informazioni, fai clic su Aggiungi entità.

      Viene visualizzato Aggiungi entità.

    5. Nel campo Nuove entità, inserisci l'account di servizio della sessione fornito dal team di trasferimento dell'appliance. È simile al seguente esempio:

      ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

      In questo esempio, SESSION_ID è l'ID sessione per questo trasferimento specifico.

    6. Nel campo Seleziona un ruolo, aggiungi il ruolo Cloud KMS CryptoKey Public Key Viewer.

    7. Fai clic su Aggiungi un altro ruolo.

    8. Nel campo Seleziona un ruolo, aggiungi il ruolo Decrittatore CryptoKey Cloud KMS.

    9. Fai clic su Salva.

    Riga di comando

    1. Esegui il seguente comando per concedere all'account di servizio della sessione il ruolo roles/cloudkms.cryptoKeyDecrypter:

      gcloud kms keys add-iam-policy-binding KEY \
      --keyring=KEY_RING --location=LOCATION \
      --member=serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
      --role=roles/cloudkms.cryptoKeyDecrypter
      

      In questo esempio:

      • KEY: il nome della chiave Cloud Key Management Service. Ad esempio, ta-key.
      • KEY_RING: il nome della chiave automatizzata.
      • LOCATION: la posizione di Cloud Key Management Service per il portachiavi. Ad esempio, global.
      • SESSION_ID: l'ID sessione per questo particolar trasferimento.
    2. Esegui il seguente comando per concedere all'account di servizio della sessione il ruolo roles/cloudkms.publicKeyViewer:

      gcloud kms keys add-iam-policy-binding KEY \
      --keyring=KEY_RING --location=LOCATION \
      --member=serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
      --role=roles/cloudkms.publicKeyViewer
      

      In questo esempio:

      • KEY: il nome della chiave Cloud Key Management Service. Ad esempio, ta-key.
      • KEY_RING: il nome della chiave automatizzata.
      • LOCATION: la posizione di Cloud Key Management Service per il portachiavi. Ad esempio, global.
      • SESSION_ID: l'ID sessione per questo particolar trasferimento.
  4. Per ottenere il percorso della chiave asimmetrica:

    Google Cloud Console

    1. Vai alla pagina Chiavi crittografiche nella console Google Cloud.

      Vai alla pagina Chiavi crittografiche

    2. Fai clic sul keyring contenente la chiave di decriptazione asimmetrica.

    3. Fai clic sul nome della chiave di decriptazione asimmetrica.

    4. Seleziona la versione della chiave che ti interessa e fai clic su Altro.

    5. Fai clic su Copia nome risorsa.

      Un esempio di formato della chiave è:

      projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER

      In questo esempio:

      • PROJECT_ID: l'ID progetto Google Cloud di cui fa parte il bucket di archiviazione.
      • LOCATION: la posizione di Cloud Key Management Service per il portachiavi.
      • KEY_RING: il nome della chiave automatizzata.
      • KEY: il nome della chiave Cloud Key Management Service.
      • VERSION_NUMBER: il numero di versione della chiave.

      Il team di Transfer Appliance richiede l'intero percorso della chiave, incluso il numero di versione, per poter applicare la chiave corretta ai dati.

    Riga di comando

    Esegui il comando seguente per elencare il percorso completo della chiave asimmetrica, incluso il numero di versione:

    gcloud kms keys versions list --keyring=KEY_RING \
    --key=KEY --location=LOCATION \
    --project=PROJECT_ID
    

    In questo esempio:

    • KEY_RING: il nome del tuo mazzo di chiavi.
    • KEY: il nome della chiave asimmetrica.
    • LOCATION: la posizione Google Cloud dell'anello di chiavi.
    • PROJECT_ID: l'ID progetto Google Cloud associato al tuo bucket di archiviazione.

    La seguente risposta di esempio è simile all'output restituito:

    NAME STATE
    projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER
    ENABLED
    

    In questo esempio:

    • PROJECT_ID: l'ID progetto Google Cloud di cui fa parte il bucket di archiviazione.
    • LOCATION: la posizione di Cloud Key Management Service per il portachiavi.
    • KEY_RING: il nome della chiave automatizzata.
    • KEY: il nome della chiave Cloud Key Management Service.
    • VERSION_NUMBER: il numero di versione della chiave.

    Il team di Transfer Appliance richiede la stringa sotto NAME che termina con /cryptoKeyVersions/VERSION_NUMBER, dove VERSION_NUMBER è il numero di versione della chiave.

Fornisci al team di Transfer Appliance i dati di configurazione del bucket

Ti invieremo un'email intitolata Autorizzazioni e archiviazione per la preparazione di Google Transfer Appliance per raccogliere informazioni sul tuo bucket Cloud Storage. Utilizziamo le informazioni che fornisci per configurare il trasferimento da Transfer Appliance a Cloud Storage.

Nel modulo collegato all'email, inserisci le seguenti informazioni:

  • L'ID progetto Google Cloud.
  • Seleziona la tua scelta per la crittografia:
    • Chiave di crittografia gestita da Google, se hai scelto di lasciare che sia Google a gestire la chiave di crittografia.
    • Chiave di crittografia gestita dal cliente, se hai scelto di gestire la tua chiave di crittografia. Seleziona la chiave di crittografia che ti interessa dal menu a discesa Seleziona una chiave di crittografia gestita dal cliente.
  • Il nome del bucket di destinazione Google Cloud Storage utilizzato per questo trasferimento.
  • (Facoltativo) Un prefisso oggetto. Senza un prefisso dell'oggetto, gli oggetti vengono trasferiti in Cloud Storage con il percorso dell'origine, escluso il percorso principale, prima del nome del file nel file system. Ad esempio, se hai i seguenti file:
    • /source_root_path/file1.txt
    • /source_root_path/dirA/file2.txt
    • /source_root_path/dirA/dirB/file3.txt
    I nomi degli oggetti in Cloud Storage sono:
    • file1.txt
    • dirA/file2.txt
    • dirA/dirB/file3.txt
    Il prefisso dell'oggetto viene aggiunto al nome della destinazione dell'oggetto in Cloud Storage, dopo il carattere / del nome del bucket di destinazione e prima di eventuali nomi dei percorsi da cui è stato trasferito l'oggetto, senza includere il percorso di radice della fonte. In questo modo puoi distinguere gli oggetti trasferiti da altri job di trasferimento.

    La tabella seguente mostra diversi esempi di prefissi oggetto e dei relativi nomi risultanti in Cloud Storage, se il percorso dell'oggetto di origine è /source_root_path/sub_folder_name/object_name:
    Prefisso Nome dell'oggetto di destinazione
    Nessuno /destination_bucket/sub_folder_name/object_name
    prefix/ /destination_bucket/prefix/sub_folder_name/object_name

Passaggi successivi

Configura le porte di rete IP per far funzionare l'Transfer Appliance sulla tua rete.