Ruoli IAM per Cloud Storage

Ruoli predefiniti

La tabella seguente descrive i ruoli di Identity and Access Management (IAM) associati a Cloud Storage ed elenca le autorizzazioni contenute in ogni ruolo. Se non diversamente specificato, questi ruoli possono essere applicati a interi progetti o a bucket specifici.

Per informazioni su come controllare l'accesso ai bucket e agli oggetti, consulta Utilizzare le autorizzazioni IAM.

Ruolo Descrizione Autorizzazioni
Creatore oggetti Storage (roles/storage.objectCreator) Consente agli utenti di creare oggetti. Non concede l'autorizzazione per visualizzare, eliminare o sostituire gli oggetti. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.objects.create
storage.multipartUploads.create
storage.multipartUploads.abort
storage.multipartUploads.listParts
Visualizzatore oggetti Storage (roles/storage.objectViewer) Concede l'accesso per visualizzare gli oggetti e i relativi metadati, esclusi gli ACL.

Consente anche di elencare gli oggetti in un bucket.

resourcemanager.projects.get2
resourcemanager.projects.list2
storage.objects.get
storage.objects.list
Utente oggetto Storage (roles/storage.objectUser) Concede l'accesso per creare, visualizzare, elencare, aggiornare ed eliminare oggetti e relativi metadati. Non concede l'autorizzazione per ottenere o impostare gli ACL. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.multipartUploads.*
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
storage.objects.update
Amministratore oggetti Storage (roles/storage.objectAdmin) Concede il controllo completo sugli oggetti, inclusi elenco, creazione, visualizzazione ed eliminazione di oggetti. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.objects.*
storage.multipartUploads.*
Archiviazione chiave HMAC di Storage (roles/storage.hmacKeyAdmin) Controllo completo sulle chiavi HMAC in un progetto. Questo ruolo può essere applicato solo a un progetto. orgpolicy.policy.get1
storage.hmacKeys.*
Amministratore archiviazione (roles/storage.admin) Concede il controllo completo dei bucket e degli oggetti.

Se applicato a un singolo bucket, il controllo si applica solo al bucket e agli oggetti specificati al suo interno.

firebase.projects.get
orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.buckets.*
storage.objects.*
storage.multipartUploads.*
Amministratore Storage Insights (roles/storageinsights.admin) Concede il controllo completo delle configurazioni e dei report sull'inventario di Storage Insights. cloudresourcemanager.projects.get
cloudresourcemanager.projects.list
storageinsights.reportConfigs.*
storageinsights.reportDetails.*
Visualizzatore Storage Insights (roles/storageinsights.viewer) Concede l'accesso in sola lettura ai report e alle configurazioni dell'inventario di Storage Insights. cloudresourcemanager.projects.get
cloudresourcemanager.projects.list
storageinsights.reportConfigs.list
storageinsights.reportConfigs.get
storageinsights.reportDetails.list
storageinsights.reportDetails.get
Servizio di raccolta dati Storage (roles/storage.insightsCollectorService) Concede l'accesso in lettura ai metadati degli oggetti nei report sull'inventario. resourcemanager.projects.get
resourcemanager.projects.list
storage.buckets.getObjectInsights
storage.buckets.get

1 L'autorizzazione orgpolicy.policy.get consente alle entità di conoscere i vincoli dei criteri dell'organizzazione a cui è soggetto un progetto. Al momento questa autorizzazione è valida solo se il ruolo viene concesso a livello di progetto o superiore.

2 Per saperne di più sulle autorizzazioni resourcemanager.projects.*, consulta Controllo dell'accesso per i progetti con IAM.

Ruoli di base

I ruoli di base erano ruoli che esistevano prima di IAM. Questi ruoli hanno caratteristiche uniche:

  • I ruoli di base possono essere concessi solo per un intero progetto, non per singoli bucket all'interno del progetto. Come per gli altri ruoli concessi per un progetto, i ruoli di base si applicano a tutti i bucket e a tutti gli oggetti del progetto.

  • I ruoli di base contengono autorizzazioni aggiuntive per altri servizi Google Cloud che non sono trattati in questa sezione. Consulta i ruoli di base per una discussione generale sulle autorizzazioni concesse dai ruoli di base.

  • Ogni ruolo di base ha un valore di convenienza che ti consente di utilizzare il ruolo di base come se fosse un gruppo. Quando vengono utilizzate in questo modo, qualsiasi entità con il ruolo di base è considerata parte del gruppo. Tutti i membri del gruppo ricevono accesso aggiuntivo alle risorse in base all'accesso di cui dispone il valore per praticità.

    • I valori di convenienza possono essere utilizzati quando si assegnano i ruoli per i bucket.

    • I valori di convenienza possono essere utilizzati quando si impostano gli ACL sugli oggetti.

  • I ruoli di base non conferiscono intrinsecamente l'accesso completo alle risorse di Cloud Storage cui i relativi nomi implicano. Al contrario, forniscono una parte dell'accesso previsto intrinsecamente e il resto dell'accesso previsto attraverso l'uso di valori di convenienza. Poiché i valori di convenienza possono essere aggiunti o rimossi manualmente come qualsiasi altra entità IAM, è possibile revocare l'accesso che le entità potrebbero altrimenti avere.

    Per una discussione sull'accesso aggiuntivo che le entità con ruoli di base in genere guadagnano a causa dei valori di convenienza, consulta il comportamento modificabile.

Autorizzazioni intrinseche

La seguente tabella descrive le autorizzazioni di Cloud Storage sempre associate a ciascun ruolo di base.

Ruolo Descrizione Autorizzazioni di Cloud Storage
Visualizzatore (roles/viewer) Concede l'autorizzazione per elencare i bucket nel progetto; visualizzare i metadati dei bucket nell'elenco (esclusi gli ACL) ed elencare e ottenere le chiavi HMAC nel progetto. storage.buckets.list
storage.hmacKeys.get
storage.hmacKeys.list
Editor (roles/editor) Concede l'autorizzazione per creare, elencare ed eliminare bucket nel progetto; visualizzare i metadati dei bucket durante l'elenco (esclusi gli ACL) e controllare le chiavi HMAC nel progetto. storage.buckets.create
storage.buckets.delete
storage.buckets.list
storage.hmacKeys.*
Proprietario (roles/owner)

Concede l'autorizzazione per creare, elencare ed eliminare bucket nel progetto; visualizzare i metadati dei bucket durante l'elenco (esclusi gli ACL), creare, eliminare ed elencare associazioni di tag e controllare le chiavi HMAC nel progetto.

All'interno di Google Cloud, in genere, le entità con questo ruolo possono eseguire attività amministrative come la modifica dei ruoli di entità per il progetto o la modifica della fatturazione.

storage.buckets.create
storage.buckets.delete
storage.buckets.list
storage.buckets.createTagBinding
storage.buckets.deleteTagBinding
storage.buckets.listEffectiveTags
storage.buckets.listTagBindings
storage.hmacKeys.*

Comportamento modificabile

Le entità a cui sono stati concessi ruoli di base spesso hanno accesso aggiuntivo ai bucket e agli oggetti di un progetto grazie ai valori di convenienza. Quando viene creato un bucket, ai valori di convenienza viene concesso un determinato accesso a livello di bucket, ma in seguito puoi modificare i criteri IAM del bucket e gli ACL degli oggetti per rimuovere o modificare l'accesso.

Quando crei un bucket in cui è abilitato l'accesso uniforme a livello di bucket, il seguente accesso viene concesso tramite valori di praticità:

  • Le entità concesse a roles/viewer ottengono i ruoli roles/storage.legacyBucketReader e roles/storage.legacyObjectReader per il bucket.

  • Le entità concesse a roles/editor ottengono i ruoli roles/storage.legacyBucketOwner e roles/storage.legacyObjectOwner per il bucket.

  • Le entità concesse a roles/owner ottengono i ruoli roles/storage.legacyBucketOwner e roles/storage.legacyObjectOwner per il bucket.

Quando crei un bucket in cui non è abilitato l'accesso uniforme a livello di bucket, viene concesso il seguente accesso tramite valori di praticità:

  • Le entità concesse a roles/viewer ottengono il ruolo roles/storage.legacyBucketReader per il bucket.

  • Le entità concesse a roles/editor ottengono il ruolo roles/storage.legacyBucketOwner per il bucket.

  • Le entità concesse a roles/owner ottengono il ruolo roles/storage.legacyBucketOwner per il bucket.

  • Inoltre, il bucket ha un elenco di controllo dell'accesso (ACL) predefinito degli oggetti. Questo ACL predefinito viene spesso applicato a nuovi oggetti nel bucket e spesso concede un accesso aggiuntivo ai valori di convenienza.

Ruoli legacy predefiniti

La seguente tabella elenca i ruoli IAM equivalenti alle autorizzazioni Elenco di controllo dell'accesso (ACL). Puoi concedere ruoli legacy solo per singoli bucket, non per progetti.

Ruolo Descrizione Autorizzazioni
Lettore di oggetti legacy Storage (roles/storage.legacyObjectReader) Concede l'autorizzazione per visualizzare gli oggetti e i relativi metadati, esclusi gli ACL. storage.objects.get
Proprietario oggetti legacy Storage (roles/storage.legacyObjectOwner) Concede l'autorizzazione per visualizzare e modificare oggetti e relativi metadati, inclusi gli ACL. storage.objects.get
storage.objects.update
storage.objects.setIamPolicy
storage.objects.getIamPolicy
Lettore bucket Storage legacy (roles/storage.legacyBucketReader) Concede l'autorizzazione per elencare i contenuti di un bucket e leggere i metadati del bucket, esclusi i criteri IAM. Concede inoltre l'autorizzazione per leggere i metadati degli oggetti durante l'elenco degli oggetti (esclusi i criteri IAM).

L'uso di questo ruolo si riflette anche negli ACL del bucket. Per ulteriori informazioni, consulta la relazione IAM agli ACL.

storage.buckets.get
storage.objects.list
storage.multipartUploads.list
Writer bucket legacy Storage (roles/storage.legacyBucketWriter) Concede l'autorizzazione per creare, sostituire ed eliminare oggetti, elencare gli oggetti in un bucket, leggere i metadati degli oggetti durante l'elenco (esclusi i criteri IAM) e leggere i metadati dei bucket, esclusi i criteri IAM.

L'uso di questo ruolo si riflette anche negli ACL del bucket. Per ulteriori informazioni, consulta la relazione IAM agli ACL.

storage.buckets.get
storage.objects.list
storage.objects.create
storage.objects.delete
storage.multipartUploads.*
Proprietario bucket Storage precedente (roles/storage.legacyBucketOwner) Concede l'autorizzazione per creare, sostituire ed eliminare oggetti, elencare gli oggetti in un bucket, creare, eliminare ed elencare associazioni di tag, leggere i metadati degli oggetti durante l'elenco (esclusi i criteri IAM) e leggere e modificare i metadati dei bucket, inclusi i criteri IAM.

L'uso di questo ruolo si riflette anche negli ACL del bucket. Per ulteriori informazioni, consulta la relazione IAM agli ACL.

storage.buckets.get
storage.buckets.createTagBinding
storage.buckets.deleteTagBinding
storage.buckets.listEffectiveTags
storage.buckets.listTagBindings
storage.buckets.update
storage.buckets.setIamPolicy
storage.buckets.getIamPolicy
storage.objects.list
storage.objects.create
storage.objects.delete
storage.multipartUploads.*

Ruoli personalizzati

Puoi definire ruoli personalizzati che contengano pacchetti di autorizzazioni da te specificati. A questo scopo, IAM offre ruoli personalizzati.

Passaggi successivi