Accesso uniforme a livello di bucket

Configurazione

Questa pagina illustra l'accesso uniforme a livello di bucket, che consente di controllare in modo uniforme 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 ed elenchi di controllo dell'accesso (ACL). Questi sistemi agiscono in parallelo, per accedere a una risorsa di Cloud Storage, solo uno dei sistemi deve concedere all'utente 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 opzioni di autorizzazione limitate, ma ti permettono di concedere autorizzazioni su per singolo oggetto.

Per supportare un sistema di autorizzazioni uniforme, Cloud Storage ha dell'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. Accesso uniforme a livello di bucket non può essere disabilitato dopo essere stato attivo in un bucket per 90 giorni consecutivi.

Devi utilizzare un accesso uniforme a livello di bucket?

In genere, è consigliabile utilizzare 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 l'opzione è 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 abilitato, un bucket ha il seguente comportamento:

  • Le richieste di impostazione, lettura o modifica degli ACL di bucket e oggetti hanno esito negativo con 400 Bad Request errore.

  • Le richieste dell'API JSON per una proiezione completa dei metadati di bucket o oggetti includono un elenco ACL vuoto nella risposta.

  • La proprietà dell'oggetto individuale non esiste più. l'accesso concesso da tale proprietà viene revocata e le richieste per bucket e oggetto I metadati 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 abiliti l'accesso uniforme a livello di bucket su un bucket esistente, devi applicare questi ruoli manualmente; se in precedenza hai modificato predefinito per gli oggetti, è probabile che tu voglia applicare i ruoli IAM.

Comportamento se 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 recuperano gli ACL salvati.

  • guadagno di qualsiasi oggetto aggiunto al bucket dopo l'abilitazione dell'accesso uniforme a livello di bucket ACL in base agli ACL degli oggetti predefiniti utilizzati 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 su ACL per l'accesso di autorizzazioni migrate in IAM. Questa sezione illustra alcuni passaggi da seguire quando si esegue la migrazione di un bucket all'accesso uniforme a livello di bucket. Tieni presente che, ACL e IAM sono sincronizzati per le autorizzazioni dei bucket, delle considerazioni si concentrano in particolare sull'accesso agli oggetti all'interno del tuo bucket non all'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 gli ACL degli oggetti possono variare da oggetto a .

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 verificarlo, Cloud Monitoring include una metrica che tiene traccia dell'utilizzo dell'ACL. Se questa metrica indica che gli utenti o i servizi si basano su ACL per accedere agli oggetti, assegnare gli equivalente IAM al bucket prima abilitando 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'abilitazione dell'accesso uniforme a livello di bucket danneggerebbe il tuo flusso di lavoro personalizzato:

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 è necessario alcun 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, sono state effettuate richieste di accesso agli oggetti nelle ultime 6 settimane che richiedevano le autorizzazioni ACL degli oggetti. Dovresti e assegnare criteri IAM equivalenti prima abilitando l'accesso uniforme a livello di bucket.

Per ulteriori informazioni sulle metriche di monitoraggio, 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 dell'oggetto predefinito associato con loro. 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 di solito usano l'ACL predefinito projectPrivate come predefinito dell'oggetto. 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 di un bucket e l'oggetto gli ACL e le condizioni IAM possono essere utilizzati solo sui bucket con e l'accesso uniforme a livello di bucket. Ciò significa che:

Passaggi successivi