Condivisione e collaborazione

Questo documento fornisce scenari comuni di condivisione e collaborazione dei dati. Include informazioni su come configurare le policy IAM (Identity and Access Management) del progetto e del bucket per implementare gli scenari.

Archiviazione e manutenzione dei dati privati

In questo scenario, l'analista di marketing di un'azienda vuole utilizzare Cloud Storage per eseguire il backup dei dati riservati sulle previsioni di entrate e sulle proiezioni di vendita. I dati devono essere accessibili solo all'analista di marketing. Il reparto IT dell'azienda supervisiona e gestisce l'account Cloud Storage dell'azienda. Le sue responsabilità di gestione principali includono la creazione e la condivisione di bucket in modo che i vari reparti dell'azienda abbiano accesso a Cloud Storage.

Per soddisfare le esigenze di riservatezza e privacy dell'analista di marketing, le autorizzazioni di bucket e oggetti devono consentire al personale IT di gestire il bucket in cui sono archiviati i fogli di lavoro, ma anche garantire che il personale IT non possa visualizzare/scaricare i dati archiviati nel bucket. A questo scopo, crea un bucket denominato finance-marketing e concedi i seguenti ruoli per le risorse elencate alle entità specificate:

Ruolo Risorsa Entità Descrizione
Storage Legacy Bucket Owner Il bucket finance-marketing Personale IT Concedere al personale IT il ruolo Storage Legacy Bucket Owner per il bucket consente di eseguire attività comuni di gestione dei bucket, come l'eliminazione di oggetti e la modifica della policy IAM sul bucket. Consente inoltre al personale IT di elencare i contenuti del bucket finance-marketing, ma non di visualizzarli o scaricarli.
Storage Object User Il bucket finance-marketing Analista di marketing Concedere all'analista di marketing il ruolo Storage Object User per il bucket consente di caricare, visualizzare, aggiornare ed eliminare gli oggetti nel bucket.

Con questi ruoli, nessuno tranne l'analista di marketing può visualizzare o scaricare gli oggetti presenti nel bucket. Il personale IT può comunque elencare i contenuti del bucket finance-marketing e, se necessario, eliminare e sostituire i file archiviati nel bucket.

Implementare questo scenario

Le tue azioni

Per implementare lo scenario, devi eseguire le seguenti azioni:

  1. Crea un bucket denominato finance-marketing. Per istruzioni dettagliate, consulta Creare un bucket.

  2. Concedi a ogni membro del personale IT il ruolo Storage Legacy Bucket Owner per il bucket. Per istruzioni dettagliate, consulta Aggiungere un'entità a una policy a livello di bucket.

Azioni del personale IT

Per implementare lo scenario, il personale IT deve eseguire le seguenti azioni:

  1. Concedi all'analista di marketing il ruolo Storage Object User per il bucket. Per istruzioni dettagliate, consulta Aggiungere un'entità a una policy a livello di bucket.

Drop box del fornitore

In questo scenario, un'impresa di costruzioni collabora con diverse società di progettazione architettonica che forniscono i progetti di costruzione per vari progetti. L'impresa di costruzioni vuole configurare una drop box per le società fornitrici in modo che possano caricare i progetti architettonici in varie fasi del progetto. La drop box deve garantire la privacy dei clienti dell'impresa di costruzioni, il che significa che non può consentire ai fornitori di vedere il lavoro degli altri. A questo scopo, crea un bucket separato per ogni società di architettura e concedi i seguenti ruoli per le risorse elencate alle entità specificate:

Ruolo Risorsa Entità Descrizione
Proprietario Progetto complessivo Responsabile dell'impresa di costruzioni Concedere al responsabile dell'impresa di costruzioni il ruolo Proprietario a livello di progetto consente di creare bucket per ogni fornitore.
Storage Object Viewer Progetto complessivo Responsabile dell'impresa di costruzioni Il ruolo Storage Object Viewer consente al responsabile dell'impresa di costruzioni di scaricare gli oggetti caricati dai fornitori.
Storage Legacy Bucket Owner Ogni bucket del fornitore Responsabile dell'impresa di costruzioni Il ruolo Storage Legacy Bucket Owner consente al responsabile dell'impresa di costruzioni di elencare i contenuti di ogni bucket e di eliminare gli oggetti alla fine di ogni fase del progetto.
Storage Object Admin Ogni bucket del fornitore Il fornitore associato al bucket Concedere a ogni fornitore il ruolo Storage Object Admin per il proprio bucket consente di avere il controllo completo sugli oggetti nel bucket, inclusa la possibilità di caricare oggetti, elencare gli oggetti nel bucket e controllare chi ha accesso a ogni oggetto. Non consente di modificare o visualizzare i metadati, ad esempio i ruoli sul bucket nel suo complesso, né di elencare o visualizzare altri bucket nel progetto, preservando così la privacy tra i fornitori.

Implementare questo scenario

Le tue azioni

Per implementare lo scenario, devi eseguire le seguenti azioni:

  1. Concedi al responsabile dell'impresa di costruzioni il ruolo Proprietario sul progetto e il ruolo Storage Object Viewer sul progetto. Per istruzioni dettagliate, consulta Concedi un singolo ruolo.

Azioni del responsabile dell'impresa di costruzioni

Per implementare lo scenario, il responsabile dell'impresa di costruzioni deve eseguire le seguenti azioni:

  1. Crea un bucket separato per ogni fornitore. Per istruzioni dettagliate, consulta Creare un bucket.

    Poiché il responsabile dell'impresa di costruzioni ha il ruolo Proprietario, ottiene automaticamente il ruolo Storage Legacy Bucket Owner per ogni bucket che crea.

  2. Concedi a ogni fornitore il ruolo Storage Object Admin per il rispettivo bucket. Per istruzioni dettagliate, consulta Aggiungere un'entità a una policy a livello di bucket.

  3. Se un fornitore intende utilizzare la Google Cloud console, forniscigli un link al suo bucket, che ha il seguente formato:

    https://console.cloud.google.com/storage/browser/BUCKET_NAME

    dove BUCKET_NAME è il nome del bucket del fornitore.

Azioni del fornitore

Per implementare lo scenario, ogni fornitore deve eseguire le seguenti azioni:

  1. Carica gli oggetti nel bucket assegnato. Il modo più semplice per farlo è tramite la Google Cloud console. Altri metodi, come la Google Cloud CLI, richiedono una configurazione aggiuntiva prima dell'uso. Per istruzioni dettagliate, consulta Caricare un oggetto.

Download autenticati dal browser

In questo scenario, un cliente vuole rendere disponibili i file a persone specifiche tramite semplici download dal browser. Puoi farlo utilizzando l' autenticazione basata sui cookie di Cloud Storage. Per scaricare gli oggetti, gli utenti devono autenticarsi accedendo a un account valido, che include Google Workspace, Cloud Identity, Gmail e la federazione di identità della forza lavoro. I seguenti utenti autenticati possono scaricare l'oggetto:

Tutti gli altri utenti ricevono un errore 403 Forbidden (access denied).

Per utilizzare la funzionalità, concedi a un utente l'autorizzazione per accedere a un oggetto, quindi forniscigli un URL speciale all'oggetto. Quando l'utente fa clic sull'URL, Cloud Storage gli chiede di accedere al suo account (se non ha già eseguito l'accesso) e l'oggetto viene scaricato sul suo computer.

Implementare questo scenario

Puoi implementare l'autenticazione basata sui cookie in quattro passaggi generali:

  1. Crea un bucket. Per istruzioni dettagliate, consulta Creare un bucket.

    Se crei un bucket in un progetto di tua proprietà, ottieni automaticamente le autorizzazioni che ti consentono di caricare oggetti nel bucket e modificare chi ha accesso al bucket.

  2. Carica l'oggetto che vuoi condividere. Per istruzioni dettagliate, consulta Caricare un oggetto.

  3. Concedi agli utenti l'accesso all'oggetto. Un modo comune per farlo è modificare la policy IAM del bucket per concedere a utenti specifici il ruolo Storage Object Viewer, che si applica a tutti gli oggetti nel bucket. Per istruzioni dettagliate, consulta Aggiungere un'entità a una policy a livello di bucket.

  4. Fornisci agli utenti un URL speciale all'oggetto.

    I download autenticati dal browser accedono a Cloud Storage tramite un endpoint URL specifico. Utilizza il seguente URL:

    https://storage.cloud.google.com/BUCKET_NAME/OBJECT_NAME

    Dove:

    • BUCKET_NAME è il nome del bucket che contiene l'oggetto desiderato. Ad esempio, my-bucket.
    • OBJECT_NAME è il nome dell'oggetto desiderato. Ad esempio, pets/dog.png.

    Poiché solo gli utenti con le autorizzazioni di accesso appropriate possono visualizzarlo, non importa come rendi disponibile questo URL. Puoi inviarlo direttamente o pubblicarlo in una pagina web.

Utilizzare un gruppo per controllare l'accesso

In questo scenario, vuoi rendere disponibili gli oggetti a utenti specifici, ad esempio gli utenti invitati a provare un nuovo software. Inoltre, vuoi invitare molti utenti, ma non vuoi impostare le autorizzazioni per ogni utente singolarmente. Allo stesso tempo, non vuoi rendere gli oggetti leggibili pubblicamente e inviare ai clienti invitati i link per accedere agli oggetti, perché c'è il rischio che i link vengano inviati a utenti non invitati.

Un modo per gestire questo scenario è utilizzare Google Gruppi. Puoi creare un gruppo e aggiungere solo gli utenti invitati al gruppo. Poi, puoi concedere l'accesso agli oggetti all'intero gruppo:

Ruolo Risorsa Entità Descrizione
Storage Object Viewer Il tuo bucket Gruppo Google Concedere al gruppo Google il ruolo Storage Object Viewer per il bucket consente a qualsiasi cliente che fa parte del gruppo Google di visualizzare gli oggetti nel bucket. Nessun utente esterno al gruppo ha accesso agli oggetti.

Implementare questo scenario

  1. Crea un gruppo Google e aggiungici i clienti. Per istruzioni dettagliate , consulta Creare un gruppo.

  2. Crea un bucket. Per istruzioni dettagliate, consulta Creare un bucket.

  3. Carica gli oggetti nel bucket. Per istruzioni dettagliate, consulta Caricare un oggetto.

  4. Concedi al gruppo Google l'accesso agli oggetti.

    • Puoi utilizzare il ruolo IAM storage.objectViewer per concedere l'accesso in visualizzazione a tutti gli oggetti nel bucket. Per istruzioni dettagliate, consulta Aggiungere un'entità a una policy a livello di bucket.

    • Se vuoi concedere l'accesso solo ad alcuni oggetti nel bucket, imposta l'ACL Lettore su questi singoli oggetti. Per istruzioni dettagliate, consulta Impostare gli ACL.

  5. Condividi l'appropriato endpoint di richiesta con il gruppo, in modo che sappiano dove andare per accedere agli oggetti.

    Ad esempio, quando utilizzi la Google Cloud console, l'URL https://console.cloud.google.com/storage/browser/BUCKET_NAME ti porta all'elenco degli oggetti nel bucket BUCKET_NAME.

Utilizzare le cartelle gestite per controllare l'accesso

In questo scenario, hai più clienti, ognuno dei quali possiede un sito web univoco contenente immagini personalizzate. Vuoi che i clienti possano caricare immagini solo sul proprio sito web, ma non su altri siti web. Quando un cliente annulla il suo account, vuoi disattivare l'accesso pubblico alle immagini sul suo sito web, ma evitare di eliminare le immagini nel caso in cui il cliente voglia riattivare il suo account.

Un modo per gestire questo scenario è utilizzare le cartelle gestite. Puoi creare più cartelle gestite all'interno di un bucket e utilizzare IAM per controllare l'accesso alle singole cartelle gestite sia per i tuoi clienti sia per i loro utenti finali.

Implementare questo scenario

  1. Crea un bucket.

  2. Crea una cartella gestita nel bucket per ogni sito web del cliente.

  3. Per ogni cartella gestita, imposta una policy IAM che conceda a un cliente il ruolo Utente oggetti Storage (roles/storage.objectUser), in modo che il cliente possa caricare oggetti nella cartella gestita e rimuovere oggetti da la cartella gestita.

  4. Per tutte le cartelle gestite, imposta una policy IAM che conceda il ruolo Visualizzatore oggetti Storage (roles/storage.objectViewer) all' entità allUsers, in modo che gli oggetti immagine nelle cartelle gestite siano visibili al pubblico.

    In alternativa, puoi concedere un ruolo personalizzato che conceda a allUsers l'autorizzazione IAM storage.objects.get.

  5. Quando un cliente annulla il suo account, rimuovi la policy IAM che concede al cliente il ruolo Utente oggetti Storage (roles/storage.objectUser) per la cartella gestita associata. Per disattivare l'accesso pubblico agli oggetti all'interno di quella cartella gestita, rimuovi la policy IAM che concede il ruolo Visualizzatore oggetti Storage (roles/storage.objectViewer) a allUsers.