Configurazione dettagliata delle autorizzazioni di Google Cloud e Cloud Storage

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

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

Prima di iniziare

Assicurati di aver ricevuto un'email dal team di Transfer Appliance con oggetto Google Transfer Appliance Prepare Permissions and Storage. Questa email contiene:

  • I nomi dei service account necessari per il trasferimento.

  • Un ID sessione necessario per configurare l'appliance.

  • Un modulo che compilerai 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 service account per spostare i dati da Transfer Appliance al bucket Cloud Storage di destinazione che prepari. I service account 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 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 con oggetto Google Transfer Appliance Prepare Destination Bucket, il team di Transfer Appliance ti fornisce i seguenti service account:

    • Un service account per la sessione collegato a questo trasferimento specifico. Avrà un aspetto 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 service agent collegato al servizio Transfer Service for On Premises Data, che utilizziamo per trasferire i dati dall'appliance al tuo bucket Cloud Storage. Avrà un aspetto 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.

    Prendi nota dei service account per i passaggi successivi.

    Gli account di servizio consentono a Transfer Appliance di manipolare le risorseGoogle 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 Google Cloud progetti. Il bucket che selezioni 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 ai service account Transfer Appliance l'autorizzazione a utilizzare il tuo bucket Cloud Storage:

    Google Cloud Console

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

      Vai a Bucket

    2. Fai clic sul menu Overflow 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à:

      • Il account di servizio per la sessione. Avrà un aspetto 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. Avrà un aspetto 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.

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

    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 trasferimento specifico.
    • TENANT_IDENTIFIER: un numero generato specifico per questo progetto in particolare.

Prepara la chiave Cloud KMS

Transfer Appliance protegge i tuoi dati sull'appliance criptandoli prima che tu la rispedisca a Google. Una chiave pubblica di Cloud Key Management Service (Cloud KMS) viene utilizzata per criptare i dati su Transfer Appliance, mentre una chiave privata viene utilizzata per decriptarli.

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

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

  • Google-owned and Google-managed encryption keys. Puoi richiedere la creazione e la gestione delle chiavi Cloud KMS. Se vuoi utilizzare questo metodo, hai terminato la configurazione del tuo progetto Google Cloud e puoi continuare con i passaggi descritti in Ricevere l'appliance.

  • Crea e gestisci tu stesso le chiavi di crittografia. Crea e gestisci 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 di sessione utilizza la chiave di decrittografia asimmetrica per decriptare e copiare i dati in Cloud Storage.

Per preparare le chiavi Cloud KMS:

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

    Google Cloud Console

    1. Vai alla pagina Chiavi crittografiche nella consoleGoogle Cloud .

      Vai alla pagina Chiavi crittografiche

    2. Fai clic su Crea keyring.

    3. Nel campo Nome portachiavi, inserisci il nome che vuoi dare al portachiavi.

    4. Dal menu a discesa Posizione del 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 posizione di Cloud Key Management Service per l'anello di chiavi. Ad esempio, global.
    • KEY_RING: il nome delle chiavi automatizzate.
    • PROJECT_ID: l' Google Cloud ID progetto in cui si trova il bucket di archiviazione.
  2. Crea una chiave di decriptazione asimmetrica seguendo questi passaggi:

    Google Cloud Console

    1. Vai alla pagina Chiavi crittografiche nella consoleGoogle 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 sul menu a discesa Livello di protezione e seleziona Software.

    7. Fai clic sul menu a discesa Scopo 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 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 delle chiavi automatizzate.
    • LOCATION: la posizione di Cloud Key Management Service per l'anello di chiavi. Ad esempio, global.
    • PROJECT_ID: l' Google Cloud ID progetto in cui si trova il bucket di archiviazione.
  3. Aggiungi l'account di servizio della sessione come entità alla chiave asimmetrica procedendo nel seguente modo:

    Google Cloud Console

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

      Vai alla pagina Chiavi crittografiche

    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 il riquadro Aggiungi entità.

    5. Nel campo Nuove entità, inserisci il account di servizio di sessione fornito dal team di Transfer Appliance. Avrà un aspetto 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 Autore crittografia/decrittografia CryptoKey Cloud KMS.

    9. Fai clic su Salva.

    Riga di comando

    1. Esegui questo comando per concedere all'account di servizio di 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 delle chiavi automatizzate.
      • LOCATION: la posizione di Cloud Key Management Service per l'anello di chiavi. Ad esempio, global.
      • SESSION_ID: l'ID sessione per questo trasferimento specifico.
    2. Esegui questo comando per concedere all'account di servizio di 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 delle chiavi automatizzate.
      • LOCATION: la posizione di Cloud Key Management Service per l'anello di chiavi. Ad esempio, global.
      • SESSION_ID: l'ID sessione per questo trasferimento specifico.
  4. Ottieni il percorso della chiave asimmetrica procedendo nel seguente modo:

    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 preferisci 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' Google Cloud ID progetto in cui si trova il bucket di archiviazione.
      • LOCATION: la posizione di Cloud Key Management Service per l'anello di chiavi.
      • KEY_RING: il nome delle chiavi automatizzate.
      • 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 tuoi 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 Google Cloud posizione delle chiavi automatizzate.
    • 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' Google Cloud ID progetto in cui si trova il bucket di archiviazione.
    • LOCATION: la posizione di Cloud Key Management Service per l'anello di chiavi.
    • KEY_RING: il nome delle chiavi automatizzate.
    • 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.

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

Inviamo un'email con oggetto Google Transfer Appliance Prepare Permissions and Storage 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'Google Cloud ID progetto.
  • Seleziona l'opzione che preferisci per la crittografia:
    • Google-owned and Google-managed encryption key, se hai scelto che Google gestisca 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 Google Cloud nome del bucket di destinazione Cloud Storage utilizzato per questo trasferimento.
  • (Facoltativo) Un prefisso oggetto. Senza un prefisso dell'oggetto, gli oggetti vengono trasferiti a Cloud Storage con il percorso dell'origine, escluso il percorso principale, prima del nome 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
    Quindi, 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 di destinazione dell'oggetto in Cloud Storage, dopo il carattere / del nome del bucket di destinazione e prima di eventuali nomi di percorso da cui è stato trasferito l'oggetto, escluso il percorso radice dell'origine. In questo modo puoi distinguere gli oggetti trasferiti da altri job di trasferimento.

    La seguente tabella mostra diversi esempi di prefissi oggetto e i 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
    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 Transfer Appliance in modo che funzioni sulla tua rete.