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 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 al bucket e agli oggetti che contiene. Revocare tutti gli accessi concessi 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 dell'utente ad accedere ai tuoi bucket e 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. IAM viene utilizzato in tuttoCloud de Confiance e consente di concedere una serie di autorizzazioni a livello di bucket e di progetto. Gli ACL vengono utilizzati solo da Cloud Storage e hanno opzioni di autorizzazione limitate, ma consentono di concedere autorizzazioni per singolo oggetto.

Per supportare un sistema di autorizzazioni uniforme, Cloud Storage dispone di un accesso uniforme a livello di bucket. L'utilizzo di questa funzionalità su un bucket disattiva 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.

Quando 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 il modo in cui concedi l'accesso alle tue risorse Cloud Storage.

  • L'accesso uniforme a livello di bucket impedisce l'esposizione involontaria dei dati dalle 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à della federazione delle identità per la forza lavoro o della federazione delle identità per i workload l'accesso alle risorse Cloud Storage.

Non devi utilizzare l'accesso uniforme a livello di bucket se vuoi utilizzare il sistema di ACL per il tuo bucket.

Comportamento quando è attiva

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 su un bucket esistente.

Una volta abilitato, un bucket ha il seguente comportamento:

  • Le richieste di impostazione, lettura o modifica degli ACL di bucket e oggetti non vanno a buon fine e generano errori 400 Bad Request.

  • 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, ai bucket vengono assegnati ruoli IAM specializzati. Se attivi l'accesso uniforme a livello di bucket durante la creazione di un nuovo bucket, quest'ultimo riceve ruoli IAM aggiuntivi.

    • Questo comportamento mantiene le autorizzazioni che gli oggetti avrebbero ereditato dall'ACL predefinita degli oggetti standard per un bucket.

    • Se abiliti l'accesso uniforme a livello di bucket su un bucket esistente, devi applicare questi ruoli manualmente. Se in precedenza hai modificato l'ACL predefinito degli oggetti del bucket, probabilmente vorrai 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 tornare a utilizzare gli ACL, Cloud Storage salva gli ACL esistenti. Se disattivi l'accesso uniforme a livello di bucket:

  • Gli oggetti riacquistano 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 degli oggetti predefiniti utilizzati dal bucket.

Requisiti per la disattivazione dell'accesso uniforme a livello di bucket

Per disattivare l'accesso uniforme a livello di bucket, deve essere soddisfatta la seguente condizione:

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 per eseguire la migrazione di un bucket all'accesso uniforme a livello di bucket. Tieni presente che, poiché le ACL e IAM sono sincronizzati per le autorizzazioni dei bucket, le tue considerazioni si concentrano specificamente 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 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 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.

Controlla l'utilizzo degli ACL degli oggetti

Quando esegui la migrazione all'accesso uniforme a livello di bucket, devi verificare se l'accesso agli oggetti nel bucket avviene tramite le ACL applicate. Per verificarlo, Cloud Monitoring dispone di una metrica che monitora l'utilizzo delle ACL. Se questa metrica indica che gli utenti o i servizi si basano sugli ACL per accedere ai tuoi oggetti, devi assegnare gli equivalenti IAM al bucket prima di abilitare l'accesso uniforme a livello di bucket. Per una guida su come controllare l'utilizzo delle ACL in Monitoring, consulta Controlla l'utilizzo delle 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 disattivate una volta abilitato l'accesso uniforme a livello di bucket, suddiviso per tipo di operazione ACL e bucket.

Un'importante operazione ACL da esaminare è OBJECT_ACCESS_REQUIRED_OBJECT_ACL:

  • Se questo numero è zero, non sono stati richiesti ACL a livello di oggetto per accedere agli oggetti negli ultimi 24 mesi. Le policy IAM coprono le autorizzazioni necessarie a livello di bucket o di progetto.

  • Se questo numero è maggiore di zero, negli ultimi 24 mesi sono state effettuate richieste di accesso agli oggetti che richiedevano autorizzazioni ACL per gli oggetti. Prima di attivare l'accesso uniforme a livello di bucket, devi assegnare policy IAM equivalenti.

Per saperne di più sulle metriche di Monitoring, consulta Metriche, serie temporali e risorse.

Controlla l'ACL predefinito degli oggetti del bucket

Ai bucket senza accesso uniforme a livello di bucket è associato un ACL predefinito per gli oggetti. Ai nuovi oggetti aggiunti a questi bucket viene applicata questa ACL predefinita, a meno che non venga fornita esplicitamente un'ACL al momento dell'aggiunta dell'oggetto al bucket.

Ad esempio, i bucket utilizzano comunemente l'ACL predefinita projectPrivate come ACL predefinita degli oggetti. projectPrivate concede l'autorizzazione READER per l'oggetto ai visualizzatori del progetto associati al bucket e concede l'autorizzazione OWNER per l'oggetto agli editor e ai proprietari del progetto associati al bucket.

Prima di abilitare l'accesso uniforme a livello di bucket, controlla l'ACL predefinito degli oggetti del tuo bucket. Valuta se concedere le autorizzazioni associate all'ACL predefinita dell'oggetto dopo aver attivato l'accesso uniforme a livello di bucket. In questo caso, assegna gli equivalenti IAM al bucket.

Assegna equivalenti IAM alle ACL degli oggetti

Le ACL degli oggetti possono concedere l'accesso che IAM attualmente 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 oggetto Ruolo IAM equivalente
READER Storage Legacy Object Reader (roles/storage.legacyObjectReader)
OWNER Storage Legacy Object Owner (roles/storage.legacyObjectOwner)

Considerazioni sull'utilizzo delle condizioni IAM

Per evitare conflitti tra le policy IAM di un bucket e le ACL degli oggetti, le condizioni IAM possono essere utilizzate solo sui bucket con accesso uniforme a livello di bucket abilitato. Ciò significa che:

Passaggi successivi