Accesso uniforme a livello di bucket

Configurazione

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à:

  • 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 errori400 Bad Request.

  • 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:

Passaggi successivi