Caso d'uso: controllo dell'accesso con account di servizio dello spazio dei nomi

Questa pagina descrive il caso d'uso in cui controlli l'accesso alle risorse Google Cloud a livello di spazio dei nomi quando esegui la migrazione dei dati da Cloud Storage a BigQuery.

Per controllare l'accesso alle risorse, Google Cloud gli spazi dei nomi in Cloud Data Fusion utilizzano per impostazione predefinita l'agente di servizio dell'API Cloud Data Fusion.

Per un isolamento dei dati migliore, puoi associare un account di servizio IAM personalizzato (noto come account di servizio per spazio dei nomi) a ogni spazio dei nomi. L'account di servizio IAM personalizzato, che può essere diverso per spazi dei nomi diversi, ti consente di controllare l'accesso alle risorseGoogle Cloud tra gli spazi dei nomi per le operazioni di progettazione della pipeline in Cloud Data Fusion, come l'anteprima della pipeline, Wrangler e la convalida della pipeline.

Per ulteriori informazioni, consulta Controllo dell'accesso con i service account dello spazio dei nomi.

Scenario

In questo caso d'uso, il reparto marketing esegue la migrazione dei dati da Cloud Storage a BigQuery utilizzando Cloud Data Fusion.

Pipeline di dati che mostra l'origine Cloud Storage, la trasformazione Wrangler e la destinazione BigQuery.

Il reparto marketing ha tre team: A, B e C. Il tuo obiettivo è stabilire un approccio strutturato per controllare l'accesso ai dati in Cloud Storage tramite gli spazi dei nomi Cloud Data Fusion corrispondenti a ciascun team, rispettivamente A, B e C.

Soluzione

I passaggi che seguono mostrano come controllare l'accesso alle Google Cloud risorse con gli account di servizio dello spazio dei nomi, impedendo l'accesso non autorizzato tra i datastore di team diversi.

Associa un account di servizio Identity and Access Management a ogni spazio dei nomi

Configura un account di servizio IAM nello spazio dei nomi per ogni team (consulta Configurare un account di servizio dello spazio dei nomi):

  1. Configura il controllo dell'accesso aggiungendo un account di servizio personalizzato per il team A, ad esempio team-a@pipeline-design-time-project.iam.gserviceaccount.com.

    Configura un account di servizio per il team A.
    Figura 1: aggiungi un account di servizio personalizzato per il team A.
  2. Ripeti i passaggi di configurazione per i team B e C per impostare il controllo accessi con account di servizio personalizzati simili.

Limita l'accesso ai bucket Cloud Storage

Limita l'accesso ai bucket Cloud Storage concedendo le autorizzazioni appropriate:

  1. Concedi all'account di servizio IAM l'autorizzazione storage.buckets.list obbligatoria per elencare i bucket Cloud Storage nel progetto. Per ulteriori informazioni, consulta Bucket delle schede.
  2. Concedi all'account di servizio IAM l'autorizzazione ad accedere agli oggetti in determinati bucket.

    Ad esempio, concedi il ruolo Visualizzatore oggetti archiviazione all'account di servizio IAM associato al spazio dei nomi team_A nel bucket team_a1. Questa autorizzazione consente al team A di visualizzare e elencare gli oggetti e le cartelle gestite, insieme ai relativi metadati, nel bucket in un ambiente di progettazione isolato.

    Concedi il ruolo nella pagina Dettagli bucket.
    Figura 2: nella pagina Bucket di Cloud Storage, aggiungi il team come principale e assegna il ruolo Utente oggetto archiviazione.

Crea la connessione Cloud Storage nei rispettivi spazi dei nomi

Crea la connessione a Cloud Storage nello spazio dei nomi di ogni team:

  1. Nella console Google Cloud, vai alla pagina Istanze di Cloud Data Fusion e apri un'istanza nell'interfaccia web di Cloud Data Fusion.

    Vai a Istanze

  2. Fai clic su Amministrazione sistema > Configurazione > Spazi dei nomi.

  3. Fai clic sullo spazio dei nomi che vuoi utilizzare, ad esempio quello del team A.

  4. Fai clic sulla scheda Connessioni e poi su Aggiungi connessione.

  5. Seleziona GCS e configura la connessione.

    Crea la connessione Cloud Storage in Cloud Data Fusion
    Figura 3: configura la connessione Cloud Storage per il nome del dominio.
  6. Crea una connessione Cloud Storage per ogni spazio dei nomi ripetendo i passaggi precedenti. Ogni team può quindi interagire con una copia isolata della risorsa per le operazioni di design time.

Verifica l'isolamento in fase di progettazione per ogni spazio dei nomi

Il team A può convalidare l'isolamento in fase di progettazione accedendo ai bucket Cloud Storage nei rispettivi spazi dei nomi:

  1. Nella console Google Cloud, vai alla pagina Istanze di Cloud Data Fusion e apri un'istanza nell'interfaccia web di Cloud Data Fusion.

    Vai a Istanze

  2. Fai clic su Amministrazione sistema > Configurazione > Spazi dei nomi.

  3. Seleziona uno spazio dei nomi, ad esempio lo spazio dei nomi del team A, team_A.

  4. Fai clic su Menu > Wrangler.

  5. Fai clic su GCS.

  6. Nell'elenco dei bucket, fai clic sul bucket team_a1.

    • Puoi visualizzare l'elenco dei bucket perché lo spazio dei nomi del team A dispone dell'autorizzazionestorage.buckets.list.

    • Quando fai clic sul bucket, puoi visualizzarne i contenuti perché lo spazio dei nomi del team A ha il ruolo Visualizzatore oggetti Storage.

    Convalida la connessione a Cloud Storage per il team A. Verifica che il team A possa accedere ai bucket.
    Figure 4 e 5: verifica che il team A possa accedere al bucket di archiviazione appropriato.
  7. Torna all'elenco dei bucket e fai clic sul bucket team_b1 o team_c1. L'accesso è limitato perché hai isolato questa risorsa di compilazione per il team A utilizzando il suo account di servizio dello spazio dei nomi.

    Verifica che il team A non possa accedere alle risorse con limitazioni.
    Figura 6: verifica che il team A non possa accedere ai bucket di archiviazione del team B e C.

Passaggi successivi

  • Scopri di più sulle funzionalità di sicurezza in Cloud Data Fusion.