Questa pagina descrive l'accesso uniforme a livello di bucket, che consente di controllare in modo uniforme l'accesso alle risorse Cloud Storage. Quando abiliti l'accesso uniforme a livello di bucket su un bucket, gli elenchi di controllo dell'accesso (ACL) vengono disabilitati 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 ed elenchi di controllo dell'accesso (ACL). Questi sistemi agiscono in parallelo: affinché un utente possa accedere a una risorsa Cloud Storage, è necessario che solo uno dei sistemi conceda l'autorizzazione all'utente. IAM viene utilizzato ovunque 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 per ogni oggetto.
Per supportare un sistema di autorizzazioni uniforme, Cloud Storage ha un 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 disabilitato 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 risorse Cloud Storage.
L'accesso uniforme a livello di bucket impedisce l'esposizione involontaria dei dati dagli 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à della federazione delle identità della forza lavoro o della federazione delle identità del carico di lavoro 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 è abilitato
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 di impostazione, lettura o modifica degli ACL di bucket e oggetti non vanno a buon fine e restituiscono errori
400 Bad Request.- Sono incluse le richieste dell'API JSON che utilizzano i metodi
BucketAccessControls,DefaultObjectAccessControlsoObjectAccessControls.
- Sono incluse le richieste dell'API JSON che utilizzano i metodi
Le richieste dell'API JSON per una proiezione completa dei metadati di bucket o oggetti includono un elenco ACL vuoto come parte della risposta.
La proprietà dei singoli oggetti non esiste più; l'accesso concesso da tale 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, quel bucket riceve ruoli IAM aggiuntivi.
Questo comportamento mantiene le autorizzazioni che gli oggetti avrebbero ereditato dall'ACL degli oggetti predefinito standard per un bucket.
Se abiliti l'accesso uniforme a livello di bucket su un bucket esistente, devi applicare manualmente questi ruoli; se in precedenza hai modificato l'ACL degli oggetti predefinito del bucket, probabilmente vuoi applicare un insieme diverso di ruoli IAM.
Comportamento se viene ripristinato
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'abilitazione dell'accesso uniforme a livello di bucket acquisiscono gli ACL in base agli ACL degli oggetti predefiniti utilizzati dal bucket.
Requisiti per la disabilitazione dell'accesso uniforme a livello di bucket
Per disabilitare l'accesso uniforme a livello di bucket, devono essere soddisfatte le seguenti condizioni:
La funzionalità è stata abilitata per meno di 90 giorni consecutivi.
Hai rimosso tutte le condizioni IAM dalla policy IAM del bucket's.
Il bucket non è soggetto al vincolo della policy dell'organizzazione Richiedi accesso uniforme a livello di bucket.
Hai eliminato tutte le cartelle gestite dal bucket.
Considerazioni relative alla migrazione di un bucket esistente
Quando abiliti l'accesso uniforme a livello di bucket su un bucket esistente, devi assicurarti che le autorizzazioni di utenti e servizi che in precedenza si basavano sugli ACL per l'accesso siano migrate a IAM. Questa sezione descrive alcuni passaggi da eseguire 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 dei bucket, le tue considerazioni si concentrano in modo specifico sull'accesso agli oggetti all'interno del bucket e non sull'accesso al bucket.
Verifica se un'autorizzazione IAM a livello di bucket espone eccessivamente i dati
Prima di assegnare gli equivalenti IAM agli ACL, tieni presente quanto segue:
- Un'autorizzazione IAM applicata a livello di bucket si applica a tutti gli oggetti nel bucket, mentre gli 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 con le stesse autorizzazioni.
Controlla l'utilizzo degli ACL degli oggetti
Quando esegui la migrazione all'accesso uniforme a livello di bucket, devi verificare se gli oggetti nel bucket sono accessibili tramite gli ACL applicati. Per farlo, Cloud Monitoring ha una metrica che monitora l'utilizzo degli ACL. Se questa metrica indica che utenti o servizi si basano sugli ACL per accedere agli oggetti, devi assegnare gli equivalenti IAM al bucket prima di abilitare l'accesso uniforme a livello di bucket. Per una guida al controllo dell'utilizzo degli ACL in Monitoring, consulta Controllare l'utilizzo degli ACL.
Utilizza questa metrica per determinare se l'abilitazione dell'accesso uniforme a livello di bucket interromperebbe il flusso di lavoro:
Un'operazione ACL importante da esaminare è OBJECT_ACCESS_REQUIRED_OBJECT_ACL:
Se questo numero è zero, negli ultimi 24 mesi non sono stati necessari ACL a livello di oggetto per accedere agli oggetti. Le policy IAM coprono le autorizzazioni necessarie a livello di bucket o progetto.
Se questo numero è maggiore di zero, negli ultimi 24 mesi sono state effettuate richieste di accesso agli oggetti che richiedevano autorizzazioni ACL degli oggetti. Prima di abilitare l'accesso uniforme a livello di bucket, devi assegnare le policy IAM equivalenti.
Per ulteriori informazioni sulle metriche di Monitoring, consulta Metriche, serie temporali e risorse.
Controlla l'ACL degli oggetti predefinito del bucket
I bucket senza accesso uniforme a livello di bucket hanno un ACL degli oggetti predefinito associato. Ai nuovi oggetti aggiunti a questi bucket viene applicato questo ACL degli oggetti 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 degli oggetti predefinito. projectPrivate concede l'autorizzazione READER dell'oggetto a
i visualizzatori del progetto associati al bucket e l'autorizzazione dell'oggetto
OWNER agli editor e ai proprietari del progetto associati al bucket.
Prima di abilitare l'accesso uniforme a livello di bucket, controlla l'ACL degli oggetti predefinito che il bucket ha. Valuta se vuoi concedere le autorizzazioni associate all'ACL degli oggetti predefinito dopo aver abilitato l'accesso uniforme a livello di bucket. In caso affermativo, assegna equivalenti IAM al bucket.
Assegna gli equivalenti IAM agli ACL degli oggetti
Gli 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 abiliti 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 |
Lettore oggetti legacy Storage (roles/storage.legacyObjectReader) |
OWNER |
Proprietario oggetti legacy Storage (roles/storage.legacyObjectOwner) |
Considerazioni sull'utilizzo delle condizioni IAM
Per impostare le condizioni IAM su un bucket, devi prima abilitare l'accesso uniforme a livello di 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 dalla policy di un bucket, consulta Utilizzare le condizioni IAM sul bucket.
Passaggi successivi
- Scopri come utilizzare l'accesso uniforme a livello di bucket.
- Scopri di più sul vincolo Applica accesso uniforme a livello di bucket, che puoi impostare all'interno dell' Google Cloud organizzazione, della cartella o del progetto.
- Imposta le autorizzazioni IAM su bucket e progetti.