Questa pagina illustra 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 in un bucket, gli elenchi di controllo dell'accesso (ACL) vengono disattivati e solo le autorizzazioni IAM (Identity and Access Management) a livello di bucket garantiscono l'accesso al bucket e agli oggetti che contiene. Viene revocato tutto l'accesso concesso dagli ACL degli oggetti e la possibilità di amministrare le autorizzazioni utilizzando gli ACL del bucket.
Panoramica
Cloud Storage offre due sistemi per concedere agli utenti l'autorizzazione per 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, è sufficiente che uno dei sistemi conceda l'autorizzazione. 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 ti consentono di concedere autorizzazioni su base per oggetto.
Per supportare un sistema di autorizzazioni uniforme, Cloud Storage ha accesso uniforme a livello di bucket. L'utilizzo di questa funzionalità su un bucket disattiva gli ACL per tutte le risorse Cloud Storage al suo interno. 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 in un bucket per 90 giorni consecutivi.
Dovresti 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 da parte degli ACL.
L'accesso uniforme a livello di bucket deve essere abilitato per utilizzare le seguenti funzionalità:
- Spazio dei nomi gerarchico
- Cartelle gestite
- Condizioni IAM impostate direttamente sul bucket
L'accesso uniforme a livello di bucket deve essere abilitato per concedere alle entità Workforce Identity Federation o Workload Identity Federation l'accesso alle risorse Cloud Storage.
Non devi utilizzare l'accesso uniforme a livello di bucket se vuoi utilizzare il sistema ACL per il tuo bucket.
Comportamento quando è attivata
Puoi attivare l'accesso uniforme a livello di bucket quando crei un nuovo bucket o quando attivi esplicitamente l'accesso uniforme a livello di bucket in un bucket esistente.
Una volta attivato, un bucket ha il seguente comportamento:
Le richieste di impostazione, lettura o modifica degli ACL di bucket e oggetti non vanno a buon fine con errori
400 Bad Request
.- Sono incluse le richieste all'API JSON che utilizzano metodi
BucketAccessControls
,DefaultObjectAccessControls
oObjectAccessControls
.
- Sono incluse le richieste all'API JSON che utilizzano metodi
Le richieste dell'API JSON per una proiezione completa dei metadati di bucket o oggetti includono un elenco ACL vuoto nella risposta.
La proprietà degli oggetti individuali 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 attivi l'accesso uniforme a livello di bucket durante la creazione di un nuovo bucket, questo riceve ruoli IAM aggiuntivi.
Questo comportamento mantiene le autorizzazioni che gli oggetti avrebbero ereditato dall'ACL predefinito per gli oggetti standard per un bucket.
Se attivi l'accesso uniforme a livello di bucket in un bucket esistente, devi applicare manualmente questi ruoli. Se in precedenza hai modificato l'ACL degli oggetti predefinito del bucket, probabilmente ti consigliamo di applicare un insieme diverso di ruoli IAM.
Comportamento in caso di ripristino
Per supportare la possibilità di disattivare l'accesso uniforme a livello di bucket e ripristinare l'utilizzo degli ACL, Cloud Storage salva gli ACL esistenti. Se disattivi l'accesso uniforme a livello di bucket:
Gli oggetti recuperano gli ACL salvati.
Tutti gli oggetti aggiunti al bucket dopo l'attivazione dell'accesso uniforme a livello di bucket ottengono gli ACL in base agli ACL di oggetto predefiniti utilizzati dal bucket.
Considerazioni per la migrazione di un bucket esistente
Quando attivi l'accesso uniforme a livello di bucket in un bucket esistente, devi assicurarti che le autorizzazioni degli utenti e dei servizi che in precedenza si basavano sugli ACL per l'accesso siano migrate a IAM. Questa sezione illustra alcuni passaggi da seguire per eseguire 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 specificamente sull'accesso agli oggetti all'interno del bucket e non sull'accesso al bucket.
Valutare se un'autorizzazione IAM a livello di bucket espone eccessivamente i dati
Prima di assegnare gli equivalenti IAM alle 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 un oggetto all'altro.
Se vuoi applicare l'accesso ad alcuni oggetti, ma non ad altri, devi raggrupparli 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 viene eseguito l'accesso agli oggetti nel bucket tramite gli ACL applicati. Per verificare questo aspetto, Cloud Monitoring dispone di una metrica che monitora l'utilizzo delle ACL. Se questa metrica indica che gli utenti o i servizi si basano su ACL per accedere ai tuoi oggetti, devi assegnare gli equivalenti IAM al bucket prima di attivare l'accesso uniforme a livello di bucket. Per una guida al controllo dell'utilizzo delle ACL in monitoraggio, consulta Verificare l'utilizzo delle ACL.
Utilizza questa metrica per determinare se l'attivazione dell'accesso uniforme a livello di bucket potrebbe interrompere il tuo flusso di lavoro:
Metrica | Descrizione |
---|---|
storage.googleapis.com/authz/acl_operations_count |
Il numero di operazioni ACL che verranno disattivate una volta attivato 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 è pari a zero, non sono stati richiesti ACL a livello di oggetto per accedere agli oggetti nelle ultime 6 settimane. I criteri 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 attivare l'accesso uniforme a livello di bucket.
Per ulteriori informazioni sulle metriche di monitoraggio, 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 degli oggetti predefinito associato. Agli oggetti aggiunti a questi bucket viene applicato questo ACL predefinito per gli oggetti, 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 degli oggetti predefinito. projectPrivate
concede l'autorizzazione READER
dell'oggetto ai visualizzatori del progetto associati al bucket e l'autorizzazione OWNER
dell'oggetto agli editor e ai proprietari del progetto associati al bucket.
Prima di attivare l'accesso uniforme a livello di bucket, controlla l'ACL dell'oggetto predefinito del tuo 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 gli equivalenti IAM agli ACL degli oggetti
Gli ACL degli oggetti possono concedere un accesso che al momento IAM non concede. Per assicurarti che gli utenti esistenti non perdano l'accesso agli oggetti quando attivi l'accesso uniforme a livello di bucket, utilizza la tabella seguente e assegna agli utenti interessati i ruoli IAM appropriati.
Autorizzazione ACL dell'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 e gli ACL oggetto di un bucket, le condizioni IAM possono essere utilizzate solo nei bucket con 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 in quel bucket.
Prima di poter disattivare l'accesso uniforme a livello di bucket in un bucket, devi prima rimuovere tutte le condizioni IAM dal criterio del bucket. Per informazioni su come visualizzare e rimuovere le condizioni dal criterio di un bucket, consulta Utilizzare le condizioni IAM nel 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 dell'organizzazione, della cartella o del progetto Google Cloud.
- Imposta le autorizzazioni IAM su bucket e progetti.