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 a livello di spazio dei nomi quando esegui la migrazione dei dati da Cloud Storage a BigQuery. Google Cloud

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

Per un migliore isolamento dei dati, puoi associare un account di servizio IAM personalizzato (noto come service account 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 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, vedi Controllo dell'accesso con i service account dello spazio dei nomi.

Scenario

In questo caso d'uso, il tuo 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 il sink 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: A, B e C, rispettivamente.

Soluzione

I seguenti passaggi mostrano come controllare l'accesso alle risorse Google Cloud 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 (vedi Configurare un service account 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 configurare il controllo dell'accesso con service account personalizzati simili.

Limitare l'accesso ai bucket Cloud Storage

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

  1. Concedi al account di servizio IAM l'autorizzazione storage.buckets.list, necessaria per elencare i bucket Cloud Storage nel progetto. Per saperne di più, consulta Elenco dei bucket.
  2. Concedi al account di servizio IAM l'autorizzazione ad accedere agli oggetti in bucket specifici.

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

    Assegna il ruolo nella pagina Dettagli bucket.
    Figura 2: nella pagina Bucket di Cloud Storage, aggiungi il team come entità e assegna il ruolo Utente oggetti Storage.

Crea la connessione Cloud Storage negli spazi dei nomi corrispondenti

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 lo spazio dei nomi 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 lo spazio dei nomi.
  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 progettazione.

Convalida 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 del team A dispone dell'autorizzazione storage.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 Cloud Storage per il team A. Convalida che i bucket siano accessibili al team A.
    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, in quanto hai isolato questa risorsa di progettazione per il team A utilizzando il relativo 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 dei team B e C.

Passaggi successivi

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