Puoi controllare chi ha accesso ai tuoi bucket Cloud Storage e oggetti e il livello di accesso.
Scegli tra accesso uniforme e granulare
Quando crei un bucket, devi decidere se applicare le autorizzazioni utilizzando l'accesso uniforme o granulare.
Uniforme (consigliato): l'accesso uniforme a livello di bucket consente di utilizzare solo Identity and Access Management (IAM) per gestire le autorizzazioni. IAM applica le autorizzazioni a tutti gli oggetti contenuti nel bucket o a gruppi di oggetti con prefissi di nomi comuni. IAM ti consente anche di utilizzare funzionalità non disponibili quando utilizzi le ACL, come cartelle gestite, condizioni IAM, condivisione con limitazione del dominio e federazione delle identità per la forza lavoro.
Granulare: l'opzione granulare consente di utilizzare IAM ed elenchi di controllo dell'accesso (ACL) insieme per gestire le autorizzazioni. Gli ACL sono un sistema di controllo dell'accesso legacy per Cloud Storage progettato per l'interoperabilità con Amazon S3. Le ACL consentono inoltre di specificare l'accesso in base ai singoli oggetti.
Poiché l'accesso granulare richiede il coordinamento tra due diversi sistemi di controllo dell'accesso, aumenta la probabilità di esposizione involontaria dei dati e il controllo di chi ha accesso alle risorse è più complicato. In particolare, se hai oggetti che contengono dati sensibili, come informazioni che consentono l'identificazione personale, ti consigliamo di archiviare questi dati in un bucket con accesso uniforme a livello di bucket abilitato.
Utilizzo delle autorizzazioni IAM con gli ACL
Cloud Storage offre due sistemi per concedere agli utenti l'accesso ai bucket e agli oggetti: IAM ed elenchi di controllo dell'accesso (ACL). Questi sistemi agiscono in parallelo: affinché un utente possa accedere a una risorsa Cloud Storage, è sufficiente che uno dei sistemi conceda l'autorizzazione all'utente. Ad esempio, se la policy IAM del bucket consente solo ad alcuni utenti di leggere i dati degli oggetti nel bucket, ma uno degli oggetti nel bucket ha un'ACL che lo rende leggibile pubblicamente, l'oggetto specifico viene esposto al pubblico.
Nella maggior parte dei casi, IAM è il metodo consigliato per controllare l'accesso alle risorse. IAM controlla le autorizzazioni in tutto Google Cloud e consente di concedere autorizzazioni a livello di bucket e di progetto. Per ridurre i rischi di esposizione involontaria, devi utilizzare IAM per tutte le autorizzazioni che si applicano a più oggetti in un bucket. Per utilizzare esclusivamente IAM, attiva l'accesso uniforme a livello di bucket per non consentire gli ACL per tutte le risorse Cloud Storage.
Gli ACL controllano le autorizzazioni solo per le risorse Cloud Storage e hanno opzioni di autorizzazione limitate, ma consentono di concedere autorizzazioni per singoli oggetti. Molto probabilmente vorrai utilizzare gli ACL per i seguenti casi d'uso:
- Personalizza l'accesso ai singoli oggetti all'interno di un bucket.
- Eseguire la migrazione dei dati da Amazon S3.
Ulteriori opzioni di controllo dell'accesso dell'accesso
Oltre a IAM e alle ACL, sono disponibili i seguenti strumenti per aiutarti a controllare l'accesso alle tue risorse:
URL firmati (autenticazione della stringa di query)
Utilizza gli URL firmati per concedere l'accesso in lettura o scrittura a un oggetto per un periodo di tempo limitato tramite un URL generato da te. Chiunque con cui condividi l'URL può accedere all'oggetto per il periodo di tempo specificato, indipendentemente dal fatto che abbia o meno un account utente.
Puoi utilizzare gli URL firmati in aggiunta a IAM e ACL. Ad esempio, puoi utilizzare IAM per concedere l'accesso a un bucket solo ad alcune persone, quindi creare un URL firmato che consenta ad altri di accedere a una risorsa specifica all'interno del bucket.
Scopri come creare URL firmati:
Documenti dei criteri firmati
Utilizza i documenti di policy firmati per specificare cosa può essere caricato in un bucket. I documenti delle policy consentono un maggiore controllo su dimensioni, tipo di contenuti e altre caratteristiche di caricamento rispetto agli URL firmati e possono essere utilizzati dai proprietari di siti web per consentire ai visitatori di caricare file su Cloud Storage.
Puoi utilizzare i documenti di policy firmati in aggiunta a IAM e ACL. Ad esempio, puoi utilizzare IAM per consentire alle persone della tua organizzazione di caricare qualsiasi oggetto, quindi creare un documento di policy firmato che consenta ai visitatori del sito web di caricare solo oggetti che soddisfano criteri specifici.
Prevenzione dell'accesso pubblico
Utilizza la prevenzione dell'accesso pubblico per limitare l'accesso pubblico ai bucket e agli oggetti. Quando attivi la prevenzione dell'accesso pubblico, agli utenti che ottengono l'accesso tramite allUsers e allAuthenticatedUsers non è consentito accedere ai dati.
Filtro IP del bucket
Utilizza il filtro IP del bucket per limitare l'accesso al bucket in base all'indirizzo IP di origine della richiesta. Il filtro IP dei bucket aggiunge un livello di sicurezza impedendo alle reti non autorizzate di accedere al bucket e ai relativi dati. Puoi configurare un elenco di intervalli di indirizzi IP consentiti, inclusi indirizzi IP pubblici, intervalli di indirizzi IP pubblici e indirizzi IP all'interno del tuo Virtual Private Cloud. Tutte le richieste provenienti da un indirizzo IP non presente nell'elenco vengono bloccate. Di conseguenza, solo gli utenti autorizzati possono accedere al tuo bucket.
Best practice per IAM e ACL
Le policy IAM e gli ACL richiedono una gestione attiva per essere efficaci. Prima di rendere un bucket, un oggetto o una cartella gestita accessibile ad altri utenti, assicurati di sapere con chi vuoi condividere la risorsa e quali ruoli vuoi assegnare a ciascuna di queste persone. Nel tempo, le modifiche alla gestione dei progetti, ai pattern di utilizzo e alla proprietà dell'organizzazione potrebbero richiedere la modifica delle impostazioni IAM o ACL su bucket e progetti, soprattutto se gestisci Cloud Storage in un'organizzazione di grandi dimensioni o per un gruppo numeroso di utenti. Quando valuti e pianifichi le impostazioni di controllo dell'accesso, tieni presente le seguenti best practice:
Utilizza il principio del privilegio minimo quando concedi l'accesso ai tuoi bucket, oggetti o cartelle gestite.
Il principio del privilegio minimo è una linea guida di sicurezza per concedere l'accesso alle tue risorse. Quando concedi l'accesso in base al principio del privilegio minimo, concedi l'autorizzazione minima necessaria a un utente per svolgere l'attività assegnata. Ad esempio, se vuoi condividere file con qualcuno, devi concedergli il ruolo IAM Storage Object Viewer o l'autorizzazione ACL
READER, non il ruolo IAM Storage Admin o l'autorizzazione ACLOWNER.Evita di concedere ruoli IAM con l'autorizzazione
setIamPolicyo di concedere l'autorizzazione ACLOWNERa persone che non conosci.La concessione dell'autorizzazione IAM
setIamPolicyo dell'autorizzazione ACLOWNERconsente a un utente di modificare le autorizzazioni e assumere il controllo dei dati. Devi utilizzare i ruoli con queste autorizzazioni solo se vuoi delegare il controllo amministrativo su oggetti, bucket e cartelle gestite.Prestare attenzione a come vengono concesse le autorizzazioni agli utenti anonimi.
I tipi di entità
allUserseallAuthenticatedUsersdevono essere utilizzati solo quando è accettabile che chiunque su internet legga e analizzi i tuoi dati. Sebbene questi ambiti siano utili per alcune applicazioni e scenari, in genere non è una buona idea concedere a tutti gli utenti determinate autorizzazioni, come le autorizzazioni IAMsetIamPolicy,update,createodeleteo l'autorizzazione ACLOWNER.Assicurati di delegare il controllo amministrativo dei tuoi bucket.
Assicurati che le tue risorse possano essere gestite da altri membri del team nel caso in cui un utente con accesso amministrativo lasci il gruppo.
Per evitare che le risorse diventino inaccessibili, puoi procedere in uno dei seguenti modi:
Concedi il ruolo IAM Storage Admin per il tuo progetto a un gruppo anziché a un singolo utente.
Concedi il ruolo IAM Storage Admin per il tuo progetto ad almeno due persone.
Concedi l'autorizzazione ACL
OWNERper il tuo bucket ad almeno due persone.
Tieni presente il comportamento interoperabile di Cloud Storage.
Quando utilizzi l'API XML per l'accesso interoperabile con altri servizi di archiviazione, come Amazon S3, l'identificatore della firma determina la sintassi ACL. Ad esempio, se lo strumento o la libreria che utilizzi invia una richiesta a Cloud Storage per recuperare gli ACL e la richiesta utilizza l'identificatore della firma di un altro provider di archiviazione, Cloud Storage restituisce un documento XML che utilizza la sintassi ACL del provider di archiviazione corrispondente. Se lo strumento o la libreria che utilizzi effettua una richiesta a Cloud Storage per applicare gli ACL e la richiesta utilizza l'identificatore della firma di un altro provider di archiviazione, Cloud Storage si aspetta di ricevere un documento XML che utilizza la sintassi ACL del provider di archiviazione corrispondente.
Per ulteriori informazioni sull'utilizzo dell'API XML per l'interoperabilità con Amazon S3, consulta Migrazione semplice da Amazon S3 a Cloud Storage.
Passaggi successivi
- Scopri come utilizzare le autorizzazioni IAM.
- Consulta le autorizzazioni e i ruoli IAM specifici per Cloud Storage.
- Visualizza esempi di scenari di condivisione e collaborazione che prevedono l'impostazione di ACL per bucket e oggetti.
- Scopri come rendere i tuoi dati accessibili a chiunque su internet.
- Scopri di più su quando utilizzare un URL firmato.