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 a Google Cloud delle risorse a livello dello spazio dei nomi quando esegui la migrazione dei dati da Cloud Storage in 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 migliore isolamento dei dati, puoi associare un account IAM personalizzato (noto come account di servizio per spazio dei nomi) con ogni nello 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 risorse Google 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 gli account di servizio 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 l'obiettivo BigQuery.

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

Soluzione

I passaggi seguenti mostrano come controllare l'accesso alle risorse Google Cloud con gli account di servizio dello spazio dei nomi, impedendo l'accesso non autorizzato e 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 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 l'accesso 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 il token storage.buckets.list necessaria per elencare i bucket Cloud Storage nel progetto. Per ulteriori informazioni, consulta Bucket delle schede.
  2. Concedi all'account di servizio IAM l'autorizzazione per accedere di 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 ed elencare oggetti e cartelle gestite, insieme ai relativi metadati, in un ambiente isolato in fase di progettazione.

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

Crea la connessione Cloud Storage nei rispettivi spazi dei nomi

Crea una connessione 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 Amministratore di 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 quindi 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 della risorsa per le operazioni in fase di progettazione.

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 Amministratore di 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 Team A ha Autorizzazione storage.buckets.list.

    • Quando fai clic sul bucket, puoi visualizzarne il contenuto perché il Team A ha il ruolo Visualizzatore oggetti Storage.

    Convalida la connessione a Cloud Storage per il team A. Convalida che i bucket siano accessibili al team A.
    Figura 4 e 5: verifica che il Team A possa accedere ai del 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 limitate.
    Figura 6: verifica che il team A non possa accedere ai team B e C di archiviazione.

Passaggi successivi

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