Configurazione dettagliata delle autorizzazioni di Google Cloud e Cloud Storage

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

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

Prima di iniziare

Assicurati di avere un'email del team di Transfer Appliance con oggetto Google Transfer Appliance PreparePermissions and Storage. Questa email contiene:

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

  • L'ID sessione necessario per configurare l'appliance.

  • Un modulo da compilare una volta configurato l'account.

Prepara il bucket Cloud Storage di destinazione

Per archiviare i tuoi dati in Cloud Storage, devi preparare un bucket. I bucket sono container di base che contengono i dati all'interno di 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 il lavoro. In questo caso, gli account di servizio consentono a Transfer Appliance di utilizzare per tuo conto le risorse Cloud Storage per copiare i dati dall'appliance al bucket Cloud Storage. Concederai a questi account i ruoli necessari per copiare i dati dall'appliance al bucket Cloud Storage.

Per preparare il bucket Cloud Storage di destinazione, segui questi passaggi:

  1. In un'email intitolata Prepara il bucket di destinazione di Google Transfer Appliance, il team di Transfer Appliance ti fornisce i seguenti account di servizio:

    • Un account di servizio della 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 collegato al servizio di trasferimento dati on-premise, che utilizziamo per trasferire i dati dall'appliance al 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 particolare progetto.

    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. Concederai a questi account i ruoli necessari per copiare i dati dall'appliance al 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:

    Console Google Cloud

    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 del bucket e fai clic su Continua per completare ciascun passaggio:

    4. Fai clic su Fine.

    Riga di comando

    Utilizza il comando gsutil mb:

    gsutil mb -b on -l LOCATION -p PROJECT_ID gs://BUCKET_NAME
    

    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, segui questi passaggi:

    Console Google Cloud

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

      Vai a Bucket

    2. Fai clic sul menu overflow 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 della sessione. È simile al seguente esempio:

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

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

      • Agente di servizio dati on-premise di Transfer Service for Data Service. È simile al seguente esempio:

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

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

    6. Nel menu a discesa Seleziona un ruolo, scegli 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 gsutil iam ch:

    gsutil iam ch \
    serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com:roles/storage.admin \
    serviceAccount:project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com:roles/storage.admin \
    gs://BUCKET_NAME
    

    In questo esempio:

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

Prepara la chiave Cloud KMS

Transfer Appliance protegge i tuoi dati sull'appliance criptando i dati prima di restituirci l'appliance. Una chiave pubblica di Cloud Key Management Service (Cloud KMS) viene utilizzata per criptare i dati in Transfer Appliance e una chiave privata viene utilizzata per decriptare i dati.

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

Per gestire le chiavi di crittografia sono disponibili le seguenti opzioni:

  • Chiavi di crittografia gestite da Google. Puoi richiedere la creazione e la gestione delle chiavi Cloud KMS per te. Se vuoi utilizzare questo metodo, hai terminato la configurazione del progetto Google Cloud e puoi continuare con i passaggi descritti nella sezione Ricevere l'appliance.

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

Per preparare le chiavi Cloud KMS, segui questi passaggi:

  1. Se non hai un keyring di Cloud Key Management Service, procedi nel seguente modo per crearne uno:

    Console Google Cloud

    1. Vai alla pagina Chiavi di crittografia nella console Google Cloud.

      Vai alla pagina Chiavi di crittografia

    2. Fai clic su Crea keyring.

    3. Nel campo Nome del keyring, inserisci il nome desiderato per il keyring.

    4. Dal menu a discesa Posizione keyring, seleziona una posizione 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 località di Cloud Key Management Service per il keyring. Ad esempio, global.
    • KEY_RING: il nome del keyring.
    • PROJECT_ID: l'ID del progetto Google Cloud in cui si trova il bucket di archiviazione.
  2. Crea una chiave di decriptazione asimmetrica procedendo nel seguente modo:

    Console Google Cloud

    1. Vai alla pagina Chiavi di crittografia nella console Google Cloud.

      Vai alla pagina Chiavi di crittografia

    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 sul menu a discesa Livello di protezione e seleziona Software.

    7. Fai clic sul menu a discesa Finalità e seleziona Decriptazione asimmetrica.

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

    9. Fai clic su Crea.

    Riga di comando

    Esegui questo 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 del keyring.
    • LOCATION: la località di Cloud Key Management Service per il keyring. Ad esempio, global.
    • PROJECT_ID: l'ID del progetto Google Cloud in cui si trova il bucket di archiviazione.
  3. Aggiungi l'account di servizio della sessione come entità alla chiave asimmetrica seguendo questi passaggi:

    Console Google Cloud

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

      Vai alla pagina Chiavi di crittografia

    2. Fai clic sul keyring che contiene 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 Transfer Appliance. È simile al seguente esempio:

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

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

    6. Nel campo Seleziona un ruolo, aggiungi il ruolo Visualizzatore chiave pubblica CryptoKey Cloud KMS.

    7. Fai clic su Aggiungi un altro ruolo.

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

    9. Fai clic su Salva.

    Riga di comando

    1. Esegui questo 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 del keyring.
      • LOCATION: la località di Cloud Key Management Service per il keyring. Ad esempio, global.
      • SESSION_ID: l'ID sessione per questo trasferimento specifico.
    2. Esegui questo 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 del keyring.
      • LOCATION: la località di Cloud Key Management Service per il keyring. Ad esempio, global.
      • SESSION_ID: l'ID sessione per questo trasferimento specifico.
  4. Per ottenere il percorso della chiave asimmetrica:

    Console Google Cloud

    1. Vai alla pagina Chiavi di crittografia nella console Google Cloud.

      Vai alla pagina Chiavi di crittografia

    2. Fai clic sul keyring che contiene la chiave di decriptazione asimmetrica.

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

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

    5. Fai clic su Copia nome risorsa.

      Un esempio del formato della chiave è:

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

      In questo esempio:

      • PROJECT_ID: l'ID del progetto Google Cloud in cui si trova il bucket di archiviazione.
      • LOCATION: la località di Cloud Key Management Service per il keyring.
      • KEY_RING: il nome del keyring.
      • 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, in modo da poter applicare la chiave corretta ai dati.

    Riga di comando

    Esegui questo comando 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 keyring.
    • KEY: il nome della chiave asimmetrica.
    • LOCATION: la località Google Cloud del keyring.
    • PROJECT_ID: l'ID progetto Google Cloud in cui si trova il 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 del progetto Google Cloud in cui si trova il bucket di archiviazione.
    • LOCATION: la località di Cloud Key Management Service per il keyring.
    • KEY_RING: il nome del keyring.
    • 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 in 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

Inviamo un'email intitolata Prepara le autorizzazioni e l'archiviazione di Google Transfer Appliance per raccogliere informazioni sul tuo bucket Cloud Storage. Utilizziamo le informazioni fornite per configurare il trasferimento da Transfer Appliance a Cloud Storage.

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

  • L'ID progetto Google Cloud.
  • Seleziona l'opzione che preferisci per Crittografia:
    • Chiave di crittografia gestita da Google, se hai scelto che sia Google a gestire la tua chiave di crittografia.
    • Chiave di crittografia gestita dal cliente, se hai scelto di gestire la tua chiave di crittografia. Seleziona la chiave di crittografia desiderata 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 dell'oggetto. Senza un prefisso di oggetto, gli oggetti vengono trasferiti in Cloud Storage con il percorso di 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 qualsiasi nome di percorso da cui è stato trasferito l'oggetto, escluso il percorso principale dell'origine. Questo può aiutarti a distinguere tra gli oggetti trasferiti da altri job di trasferimento.

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

Che cosa succede dopo?

Configura le porte di rete IP affinché Transfer Appliance funzioni sulla tua rete.