Questa pagina descrive l'accesso uniforme a livello di bucket, che ti consente di controllare in modo uniforme l'accesso alle tue risorse Cloud Storage. Quando attivi l'accesso uniforme a livello di bucket su un bucket, gli elenchi di controllo dell'accesso (ACL) vengono disattivati e solo le autorizzazioni Identity and Access Management (IAM) a livello di bucket concedono l'accesso a quel bucket e agli oggetti che contiene. Revoca tutto l'accesso concesso dagli ACL degli oggetti e la possibilità di amministrare le autorizzazioni utilizzando gli ACL dei bucket.
Panoramica
Cloud Storage offre due sistemi per concedere agli utenti l'autorizzazione ad accedere ai bucket e agli oggetti: IAM e elenchi di controllo dell'accesso (ACL). Questi sistemi agiscono in parallelo: affinché un utente possa accedere a una risorsa Cloud Storage, solo uno dei sistemi deve concedere l'autorizzazione all'utente. IAM viene utilizzato in tutto Google Cloud e consente di concedere una serie di autorizzazioni a livello di bucket e progetto. Gli ACL vengono utilizzati solo da Cloud Storage e hanno opzioni di autorizzazione limitate, ma consentono di concedere autorizzazioni in base a ogni oggetto.
Per supportare un sistema di gestione delle autorizzazioni uniforme, Cloud Storage ha l'accesso uniforme a livello di bucket. L'utilizzo di questa funzionalità su un bucket disabilita gli ACL per tutte le risorse Cloud Storage nel bucket; l'accesso alle risorse Cloud Storage viene quindi concesso esclusivamente tramite IAM. L'accesso uniforme a livello di bucket non può essere disattivato dopo essere stato attivo su un bucket per 90 giorni consecutivi.
Devi utilizzare l'accesso uniforme a livello di bucket?
In genere, è consigliabile utilizzare l'accesso uniforme a livello di bucket:
L'accesso uniforme a livello di bucket unifica e semplifica la modalità di concessione dell'accesso alle tue risorse Cloud Storage.
L'accesso uniforme a livello di bucket impedisce l'esposizione involontaria dei dati dagli ACL.
Per utilizzare le seguenti funzionalità, è necessario abilitare l'accesso uniforme a livello di bucket:
- Spazio dei nomi gerarchico
- Cartelle gestite
- Condizioni IAM impostate direttamente sul bucket
Per concedere alle entità federazione delle identità per la forza lavoro o federazione delle identità dei carichi di lavoro l'accesso alle risorse Cloud Storage, è necessario abilitare l'accesso uniforme a livello di bucket.
Non devi utilizzare l'accesso uniforme a livello di bucket se vuoi utilizzare il sistema ACL per il tuo bucket.
Comportamento quando è attivata
Puoi abilitare l'accesso uniforme a livello di bucket quando crei un nuovo bucket o quando lo abiliti esplicitamente su un bucket esistente.
Una volta abilitato, un bucket ha il seguente comportamento:
Le richieste per impostare, leggere o modificare le ACL di bucket e oggetti non vanno a buon fine e restituiscono errori
400 Bad Request
.- Sono incluse le richieste API JSON che utilizzano i metodi
BucketAccessControls
,DefaultObjectAccessControls
oObjectAccessControls
.
- Sono incluse le richieste API JSON che utilizzano i metodi
Le richieste API JSON per una proiezione completa dei metadati di bucket o oggetti includono un elenco ACL vuoto come parte della risposta.
La proprietà degli oggetti individuale non esiste più; l'accesso concesso da questa proprietà viene revocato e le richieste di metadati di bucket e oggetti non contengono più un campo
owner
.Al momento della creazione, i bucket ricevono ruoli IAM specializzati. Se abiliti l'accesso uniforme a livello di bucket durante la creazione di un nuovo bucket, a quest'ultimo vengono assegnati ruoli IAM aggiuntivi.
Questo comportamento mantiene le autorizzazioni che gli oggetti avrebbero ereditato dall'ACL oggetto predefinita standard per un bucket.
Se attivi l'accesso uniforme a livello di bucket su un bucket esistente, devi applicare manualmente questi ruoli. Se in precedenza hai modificato l'ACL oggetto predefinito del bucket, probabilmente vorrai applicare un insieme diverso di ruoli IAM.
Comportamento in caso di ripristino
Per supportare la possibilità di disabilitare l'accesso uniforme a livello di bucket e ripristinare l'utilizzo degli ACL, Cloud Storage salva gli ACL esistenti. Se disabiliti l'accesso uniforme a livello di bucket:
Gli oggetti riacquistano gli ACL salvati.
Gli oggetti aggiunti al bucket dopo l'attivazione dell'accesso uniforme a livello di bucket acquisiscono ACL in base agli ACL di oggetto predefiniti utilizzati dal bucket.
Requisiti per disattivare l'accesso uniforme a livello di bucket
Per disabilitare l'accesso uniforme a livello di bucket, devono essere soddisfatte le seguenti condizioni:
La funzionalità è stata attivata per meno di 90 giorni consecutivi.
Hai rimosso tutte le condizioni IAM dal criterio IAM del bucket.
Il bucket non è soggetto al vincolo del criterio dell'organizzazione Richiedi accesso uniforme a livello di bucket.
Hai eliminato tutte le cartelle gestite dal bucket.
Considerazioni sulla migrazione di un bucket esistente
Quando abiliti l'accesso uniforme a livello di bucket su un bucket esistente, devi assicurarti che gli utenti e i servizi che in precedenza si basavano sugli ACL per l'accesso abbiano eseguito la migrazione delle autorizzazioni a IAM. Questa sezione descrive alcuni passaggi da seguire durante la migrazione di un bucket all'accesso uniforme a livello di bucket. Tieni presente che, poiché gli ACL e IAM sono sincronizzati per le autorizzazioni del bucket, le tue considerazioni si concentrano in modo specifico sull'accesso agli oggetti all'interno del bucket e non sull'accesso al bucket.
Valuta se un'autorizzazione IAM a livello di bucket espone eccessivamente i dati
Prima di assegnare equivalenti IAM alle tue ACL, tieni presente quanto segue:
- Un'autorizzazione IAM applicata a livello di bucket si applica a tutti gli oggetti nel bucket, mentre le ACL degli oggetti possono variare da oggetto a oggetto.
Se vuoi applicare l'accesso ad alcuni oggetti ma non ad altri, devi raggruppare gli oggetti in bucket separati. Ogni raggruppamento deve contenere gli oggetti che hanno le stesse autorizzazioni.
Controllare l'utilizzo degli ACL degli oggetti
Quando esegui la migrazione all'accesso uniforme a livello di bucket, devi verificare se gli oggetti nel bucket vengono accessibili tramite gli ACL applicati. Per verificarlo, Cloud Monitoring dispone di una metrica che monitora l'utilizzo degli ACL. Se questa metrica indica che utenti o servizi si basano sugli ACL per accedere ai tuoi oggetti, devi assegnare equivalenti IAM al bucket prima di abilitare l'accesso uniforme a livello di bucket. Per una guida al controllo dell'utilizzo di ACL in Monitoring, vedi Controllare l'utilizzo di ACL.
Utilizza questa metrica per determinare se l'attivazione dell'accesso uniforme a livello di bucket interromperebbe il tuo flusso di lavoro:
Metrica | Descrizione |
---|---|
storage.googleapis.com/authz/acl_operations_count |
Il numero di operazioni ACL che verranno disabilitate una volta abilitato l'accesso uniforme a livello di bucket, suddiviso per tipo di operazione ACL e bucket. |
Un'operazione ACL importante da esaminare è OBJECT_ACCESS_REQUIRED_OBJECT_ACL
:
Se questo numero è zero, non sono stati necessari ACL a livello di oggetto per accedere agli oggetti nelle ultime 6 settimane. Le policy IAM coprono le autorizzazioni necessarie a livello di bucket o progetto.
Se questo numero è maggiore di zero, nelle ultime 6 settimane sono state effettuate richieste di accesso agli oggetti che richiedevano autorizzazioni ACL degli oggetti. Devi assegnare criteri IAM equivalenti prima di abilitare l'accesso uniforme a livello di bucket.
Per ulteriori informazioni sulle metriche di Monitoring, consulta Metriche, serie temporali e risorse.
Controlla l'ACL oggetto predefinito del bucket
I bucket senza accesso uniforme a livello di bucket hanno un ACL oggetto predefinito associato. Ai nuovi oggetti aggiunti a questi bucket viene applicato questo ACL oggetto predefinito, a meno che non venga fornito esplicitamente un ACL al momento dell'aggiunta dell'oggetto al bucket.
Ad esempio, i bucket utilizzano comunemente l'ACL predefinito projectPrivate
come ACL oggetto predefinito. projectPrivate
concede all'oggetto READER
l'autorizzazione per
i visualizzatori del progetto associati al bucket e concede all'oggetto
l'autorizzazione OWNER
per gli editor e i proprietari del progetto associati al bucket.
Prima di attivare l'accesso uniforme a livello di bucket, controlla l'ACL oggetto predefinito del bucket. Valuta se vuoi concedere le autorizzazioni associate all'ACL dell'oggetto predefinito dopo aver attivato l'accesso uniforme a livello di bucket. In questo caso, assegna gli equivalenti IAM al bucket.
Assegnare equivalenti IAM agli ACL degli oggetti
Gli ACL degli oggetti possono concedere un accesso che IAM attualmente non concede. Per assicurarti che gli utenti esistenti non perdano l'accesso agli oggetti quando abiliti l'accesso uniforme a livello di bucket, utilizza la seguente tabella e assegna agli utenti interessati i ruoli IAM appropriati.
Autorizzazione ACL oggetto | Ruolo IAM equivalente |
---|---|
READER |
Lettore oggetti legacy Storage (roles/storage.legacyObjectReader ) |
OWNER |
Proprietario oggetti legacy Storage (roles/storage.legacyObjectOwner ) |
Considerazioni sull'utilizzo delle condizioni IAM
Per evitare conflitti tra i criteri IAM di un bucket e gli ACL degli oggetti, le condizioni IAM possono essere utilizzate solo sui bucket con l'accesso uniforme a livello di bucket abilitato. Ciò significa che:
Per impostare le condizioni IAM su un bucket, devi prima abilitare l'accesso uniforme a livello di bucket su quel bucket.
Prima di poter disabilitare l'accesso uniforme a livello di bucket su un bucket, devi prima rimuovere tutte le condizioni IAM dalla policy del bucket. Per informazioni su come visualizzare e rimuovere le condizioni dai criteri di un bucket, consulta Utilizzo delle condizioni IAM sul bucket.
Passaggi successivi
- Scopri come utilizzare l'accesso uniforme a livello di bucket.
- Scopri di più sul vincolo di applicazione dell'accesso uniforme a livello di bucket, che puoi impostare all'interno della tua organizzazione, cartella o progetto Google Cloud .
- Imposta le autorizzazioni IAM per bucket e progetti.