Puoi utilizzare l'accesso uniforme a livello di bucket per unificare controllo dell'accesso per le tue risorse Cloud Storage in un unico sistema di autorizzazioni. Quando abiliti l'accesso uniforme a livello di bucket su un bucket, solo i ruoli IAM (Identity and Access Management) a livello di bucket concedono l'accesso al bucket e ai relativi oggetti e gli elenchi di controllo dell'accesso (ACL) dei singoli oggetti non vengono più applicati. L'attivazione dell'accesso uniforme a livello di bucket semplifica la concessione dell'accesso alle risorse Cloud Storage ed è necessaria per utilizzare alcune funzionalità, come le cartelle gestite.
Questa pagina mostra come abilitare, disabilitare e controllare lo stato dell'accesso uniforme a livello di bucket su un bucket in Cloud Storage.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per impostare e gestire l'accesso uniforme a livello di bucket su un bucket, chiedi all'amministratore di concederti il ruolo Storage Admin (roles/storage.admin) sul bucket. Questo ruolo predefinito contiene le autorizzazioni necessarie per impostare e gestire l'accesso uniforme a livello di bucket. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
storage.buckets.getstorage.buckets.list- Questa autorizzazione è necessaria solo se prevedi di utilizzare la consoleCloud de Confiance per eseguire le istruzioni riportate in questa pagina.
storage.buckets.update
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati.
Per informazioni sulla concessione di ruoli sui bucket, consulta Utilizza IAM con i bucket.
Controlla l'utilizzo delle ACL
Prima di attivare l'accesso uniforme a livello di bucket, utilizza Cloud Monitoring per assicurarti che il bucket non utilizzi ACL per i flussi di lavoro. Per saperne di più, consulta Controlla l'utilizzo delle ACL degli oggetti.
Avere gcloud CLI installato e inizializzato, che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API JSON di Monitoring:curl \ 'https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries?filter=metric.type%20%3D%20%22storage.googleapis.com%2Fauthz%2Facl_operations_count%22&interval.endTime=END_TIME&interval.startTime=START_TIME' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' \ --header 'Accept: application/json'
Dove:
PROJECT_IDè l'ID progetto o il numero per il quale vuoi visualizzare l'utilizzo dell'ACL. Ad esempio,my-project.END_TIMEè la fine dell'intervallo di tempo per il quale vuoi visualizzare l'utilizzo dell'ACL. Ad esempio,2019-11-02T15:01:23.045123456Z.START_TIMEè l'inizio dell'intervallo di tempo per il quale vuoi visualizzare l'utilizzo dell'ACL. Ad esempio,2016-10-02T15:01:23.045123456Z.
Se la richiesta restituisce un oggetto vuoto {}, non è stato registrato un utilizzo recente delle ACL per il tuo progetto.
Imposta l'accesso uniforme a livello di bucket
Console
- Nella console Cloud de Confiance , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket per cui vuoi attivare o disattivare l'accesso uniforme a livello di bucket.
Seleziona la scheda Autorizzazioni nella parte superiore della pagina.
Nel campo Controllo degli accessi, fai clic sul link Passa a.
Nel menu visualizzato, seleziona Uniforme o Dettagliato.
Fai clic su Salva.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni di Cloud Storage non riuscite nella console Cloud de Confiance , consulta Risoluzione dei problemi.
Riga di comando
Utilizza il comando gcloud storage buckets update:
gcloud storage buckets update gs://BUCKET_NAME --STATE
Dove:
BUCKET_NAMEè il nome del bucket pertinente. Ad esempio,my-bucket.STATEèuniform-bucket-level-accessper abilitare l'accesso uniforme a livello di bucket ono-uniform-bucket-level-accessper disabilitarlo.
Librerie client
C++
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
L'esempio seguente attiva l'accesso uniforme a livello di bucket su un bucket:
L'esempio seguente disattiva l'accesso uniforme a livello di bucket su un bucket:
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
L'esempio seguente attiva l'accesso uniforme a livello di bucket su un bucket:
L'esempio seguente disattiva l'accesso uniforme a livello di bucket su un bucket:
Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
L'esempio seguente attiva l'accesso uniforme a livello di bucket su un bucket:
L'esempio seguente disattiva l'accesso uniforme a livello di bucket su un bucket:
Java
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
L'esempio seguente attiva l'accesso uniforme a livello di bucket su un bucket:
L'esempio seguente disattiva l'accesso uniforme a livello di bucket su un bucket:
Node.js
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
L'esempio seguente attiva l'accesso uniforme a livello di bucket su un bucket:
L'esempio seguente disattiva l'accesso uniforme a livello di bucket su un bucket:
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
L'esempio seguente attiva l'accesso uniforme a livello di bucket su un bucket:
L'esempio seguente disattiva l'accesso uniforme a livello di bucket su un bucket:
Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
L'esempio seguente attiva l'accesso uniforme a livello di bucket su un bucket:
L'esempio seguente disattiva l'accesso uniforme a livello di bucket su un bucket:
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
L'esempio seguente attiva l'accesso uniforme a livello di bucket su un bucket:
L'esempio seguente disattiva l'accesso uniforme a livello di bucket su un bucket:
Rust
L'esempio seguente attiva l'accesso uniforme a livello di bucket su un bucket:
L'esempio seguente disattiva l'accesso uniforme a livello di bucket su un bucket:
API REST
API JSON
Avere gcloud CLI installato e inizializzato, che ti consente di generare un token di accesso per l'intestazione
Authorization.Crea un file JSON che contenga le seguenti informazioni:
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": STATE } } }
Dove STATE è
trueofalse.Utilizza
cURLper chiamare l'API JSON con una richiestaPATCHBucket:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Dove:
JSON_FILE_NAMEè il percorso del file che hai creato nel passaggio 2.BUCKET_NAMEè il nome del bucket pertinente. Ad esempio,my-bucket.
API XML
L'API XML non può essere utilizzata per l'accesso uniforme a livello di bucket. Utilizza invece uno degli altri strumenti di Cloud Storage, come gcloud CLI.
Visualizza lo stato dell'accesso uniforme a livello di bucket
Console
- Nella console Cloud de Confiance , vai alla pagina Bucket in Cloud Storage.
Fai clic sul nome del bucket di cui vuoi visualizzare lo stato.
Fai clic sulla scheda Configuration (Configurazione).
Lo stato dell'accesso uniforme a livello di bucket per il bucket si trova nel campo Controllo dell'accesso.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni di Cloud Storage non riuscite nella console Cloud de Confiance , consulta Risoluzione dei problemi.
Riga di comando
Utilizza il comando gcloud storage buckets describe con il flag --format:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(uniform_bucket_level_access)"
Dove BUCKET_NAME è il nome del bucket pertinente. Ad esempio, my-bucket.
In caso di esito positivo, la risposta è simile alla seguente:
uniform_bucket_level_access: true
Librerie client
C++
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
Java
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
Node.js
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
Rust
API REST
API JSON
Avere gcloud CLI installato e inizializzato, che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API JSON con una richiestaGETBucket che includa il valorefieldsdesiderato:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Dove
BUCKET_NAMEè il nome del bucket pertinente. Ad esempio,my-bucket.Se il bucket ha l'accesso uniforme a livello di bucket abilitato, la risposta è simile al seguente esempio:
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true, "lockedTime": "LOCK_DATE" } } }
API XML
L'API XML non può essere utilizzata per l'accesso uniforme a livello di bucket. Utilizza invece uno degli altri strumenti di Cloud Storage, come gcloud CLI.