Ruoli IAM per Cloud Storage

Ruoli predefiniti

La seguente tabella descrive i ruoli 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 progetti, bucket o cartelle gestite.

Per scoprire come controllare l'accesso ai bucket, consulta Utilizzare le autorizzazioni IAM. Per scoprire come controllare l'accesso alle cartelle gestite, consulta Utilizzare IAM per le cartelle gestite.

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. Non concede l'autorizzazione per ottenere ACL degli oggetti o impostare ACL degli oggetti come parte di una richiesta di aggiornamento degli oggetti. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.objects.create
storage.managedFolders.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 e le cartelle gestite in un bucket.

resourcemanager.projects.get2
resourcemanager.projects.list2
storage.managedFolders.get
storage.managedFolders.list
storage.objects.get
storage.objects.list
Utente oggetti Storage (roles/storage.objectUser) Concede l'accesso per creare, visualizzare, elencare, aggiornare ed eliminare oggetti e cartelle gestite, insieme ai relativi metadati. Non concede l'autorizzazione per recuperare o impostare ACL o criteri IAM. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.managedFolders.create
storage.managedFolders.delete
storage.managedFolders.list
storage.managedFolders.get
storage.multipartUploads.*
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
storage.objects.list
storage.objects.restorestorage.objects.update
Amministratore oggetti Storage (roles/storage.objectAdmin) Concede il controllo completo sugli oggetti, compresi l'elenco, la creazione, la visualizzazione e l'eliminazione degli oggetti, nonché l'impostazione degli ACL degli oggetti. Concede inoltre l'accesso per creare, eliminare, recuperare ed elencare le cartelle gestite. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.managedFolders.create
storage.managedFolders.delete
storage.managedFolders.get
storage.managedFolders.list
storage.objects.*
storage.multipartUploads.*
Amministratore cartelle di archiviazione (roles/storage.folderAdmin) Concede il controllo completo su oggetti e cartelle gestite, compresi l'elenco, la creazione, la visualizzazione, l'eliminazione e la gestione delle autorizzazioni IAM. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.managedFolders.*
storage.multipartUploads.*
storage.objects.*
Amministratore chiavi HMAC 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 Storage (roles/storage.admin) Concede il controllo completo dei bucket, delle cartelle gestite e degli oggetti, incluso il recupero e l'impostazione degli ACL degli oggetti o dei criteri IAM.

Quando viene applicato a un singolo bucket, il controllo viene applicato solo al bucket specificato e alle cartelle e agli oggetti gestiti all'interno del bucket.

firebase.projects.get
orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.buckets.*
storage.managedFolders.*
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.*
Storage Insights Viewer (roles/storageinsights.viewer) Concede l'accesso in sola lettura alle configurazioni e ai report sull'inventario di Storage Insights. cloudresourcemanager.projects.get
cloudresourcemanager.projects.list
storageinsights.reportConfigs.list
storageinsights.reportConfigs.get
storageinsights.reportDetails.list
storageinsights.reportDetails.get
Storage Insights Collector Service (roles/storage.insightsCollectorService) (Servizio di raccolta Storage Insights) 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 è efficace solo se il ruolo viene concesso a livello di progetto o superiore.

2 Per ulteriori informazioni sulle autorizzazioni resourcemanager.projects.*, consulta Controllo dell'accesso per i progetti con IAM.

Ruoli di base

I ruoli di base sono 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 gli altri ruoli assegnati per un progetto, i ruoli di base si applicano a tutti i bucket e agli oggetti del progetto.

  • I ruoli di base contengono autorizzazioni aggiuntive per altri servizi Google Cloud non 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 utilizzarlo come se fosse un gruppo. Se utilizzata in questo modo, qualsiasi entità con il ruolo di base viene considerata far parte del gruppo. Tutti i membri del gruppo ottengono un accesso aggiuntivo alle risorse in base all'accesso del valore di convenienza.

    • È possibile utilizzare valori di convenienza quando si assegnano ruoli per i bucket.

    • Puoi utilizzare valori di comodità durante l'impostazione degli ACL sugli oggetti.

  • I ruoli di base non concedono intrinsecamente tutti gli accessi alle risorse Cloud Storage implicati dal loro nome. Forniscono invece intrinsecamente una parte dell'accesso previsto 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 sugli accessi aggiuntivi che le entità con ruoli di base ottengono solitamente a causa di valori di convenienza, consulta il comportamento modificabile.

Autorizzazioni intrinseche

La tabella seguente 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 durante l'elenco (esclusi gli ACL) e 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 del 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 le associazioni di tag e controllare le chiavi HMAC nel progetto.

Più in generale, all'interno di Google Cloud, le entità con questo ruolo possono eseguire attività amministrative come la modifica dei ruoli delle 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 per via di valori di convenienza. Quando viene creato un bucket, ai valori di convenienza viene concesso un determinato accesso a livello di bucket, ma successivamente puoi modificare i criteri IAM dei 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 convenienza:

  • Le entità a cui è stato concesso roles/viewer ottengono i ruoli roles/storage.legacyBucketReader e roles/storage.legacyObjectReader per il bucket.

  • Le entità a cui è stato concesso roles/editor ottengono i ruoli roles/storage.legacyBucketOwner e roles/storage.legacyObjectOwner per il bucket.

  • Le entità a cui è stato concesso 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 utilizzando valori di convenienza:

  • Le entità a cui è stato concesso roles/viewer ottengono il ruolo roles/storage.legacyBucketReader per il bucket.

  • Le entità a cui è stato concesso roles/editor ottengono il ruolo roles/storage.legacyBucketOwner per il bucket.

  • Le entità a cui è stato concesso roles/owner ottengono il ruolo roles/storage.legacyBucketOwner per il bucket.

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

Ruoli legacy predefiniti

La seguente tabella elenca i ruoli IAM equivalenti alle autorizzazioni ACL (Access Control List). Puoi concedere ruoli legacy solo per i singoli bucket, non per i 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 gli oggetti e i relativi metadati, compresi gli ACL. storage.objects.get
storage.objects.update
storage.objects.setRetention
storage.objects.overrideUnlockedRetention
storage.objects.setIamPolicy
storage.objects.getIamPolicy
Lettore bucket legacy Storage (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 a leggere i metadati degli oggetti durante l'elenco di oggetti e cartelle gestite (esclusi i criteri IAM).

L'utilizzo di questo ruolo si riflette anche negli ACL del bucket. Per saperne di più, consulta la relazione IAM con gli ACL.

storage.buckets.get
storage.objects.list
storage.managedFolders.get
storage.managedFolders.list
storage.multipartUploads.list
Writer bucket legacy di archiviazione (roles/storage.legacyBucketWriter) Concede l'autorizzazione per creare, sostituire, elencare ed eliminare oggetti e cartelle gestite, creare oggetti che hanno una configurazione di conservazione, leggere i metadati di oggetti e cartelle gestite durante l'elenco (esclusi i criteri IAM) e leggere i metadati del bucket, esclusi i criteri IAM.

L'utilizzo di questo ruolo si riflette anche negli ACL del bucket. Per saperne di più, consulta la relazione IAM con gli ACL.

storage.buckets.get
storage.objects.list
storage.objects.create
storage.objects.delete
storage.objects.restore
storage.objects.setRetention
storage.managedFolders.create
storage.managedFolders.delete
storage.managedFolders.get
storage.managedFolders.list
storage.multipartUploads.*
Proprietario bucket legacy Storage (roles/storage.legacyBucketOwner) Concede l'autorizzazione per creare, sostituire, elencare ed eliminare oggetti e cartelle gestite; creare oggetti con una configurazione di conservazione; creare, eliminare ed elencare associazioni di tag; leggere i metadati degli oggetti durante l'elenco (esclusi i criteri IAM); leggere i metadati delle cartelle gestite durante l'elenco (inclusi i criteri IAM) e leggere e modificare i metadati dei bucket (inclusi i criteri IAM).

L'utilizzo di questo ruolo si riflette anche negli ACL del bucket. Per saperne di più, consulta la relazione IAM con gli ACL.

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

Ruoli personalizzati

Potresti voler definire ruoli personalizzati che contengono pacchetti di autorizzazioni da te specificati. A questo scopo, IAM offre ruoli personalizzati.

Passaggi successivi