Ruoli IAM per Cloud Storage

Ruoli predefiniti

La tabella seguente descrive i ruoli di Identity and Access Management (IAM) associate a Cloud Storage ed elenca le autorizzazioni contenuti in ciascun ruolo. Se non diversamente indicato, 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 a cartelle gestite, consulta l'articolo su come utilizzare IAM per le cartelle gestite.

Ruolo Descrizione Autorizzazioni
Creatore oggetti Storage (roles/storage.objectCreator) Consente agli utenti di creare oggetti, cartelle e cartelle gestite. Non concede l'autorizzazione per visualizzare, eliminare o sostituire gli oggetti. Non non concedere l'autorizzazione per ottenere gli elenchi di controllo dell'accesso (ACL) degli oggetti o Impostare gli 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.folders.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, le cartelle e le cartelle gestite in un bucket.

resourcemanager.projects.get2
resourcemanager.projects.list2
storage.folders.get
storage.folders.list
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, cartelle e cartelle gestite, nonché i relativi metadati. Non concede l'autorizzazione per ottenere o impostare ACL o criteri IAM. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.folders.*
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.restore
storage.objects.update
Amministratore oggetti Storage (roles/storage.objectAdmin) Concede il controllo completo su oggetti e cartelle, inclusi elenco, creazione, visualizzazione, ridenominazione ed eliminazione di oggetti e cartelle, nonché impostazione degli ACL degli oggetti. Concede anche l'accesso per creare, eliminare, recuperare ed elencare le cartelle gestite. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.folders.*
storage.managedFolders.create
storage.managedFolders.delete
storage.managedFolders.get
storage.managedFolders.list
storage.objects.*
storage.multipartUploads.*
Storage Folder Admin (roles/storage.folderAdmin) Concede il controllo completo su oggetti, cartelle e cartelle gestite, tra cui elenco, creazione, visualizzazione, eliminazione e gestione delle autorizzazioni IAM. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.folders.*
storage.managedFolders.*
storage.multipartUploads.*
storage.objects.*
Amministratore chiavi HMAC archiviazione (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.*
Storage Admin (roles/storage.admin) Concede il controllo completo su bucket, cartelle, cartelle gestite e oggetti, tra cui il recupero e l'impostazione degli ACL degli oggetti o dei criteri IAM. Fornisce anche delle operazioni a lunga esecuzione.

Se applicato a un singolo bucket, il controllo si applica solo ai il bucket specificato e le cartelle, gli oggetti e le risorse operazioni all'interno del bucket.

firebase.projects.get
orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.buckets.*
storage.bucketOperations.*
storage.folders.*
storage.managedFolders.*
storage.objects.*
storage.multipartUploads.*
Storage Insights Admin (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 di sola lettura alle configurazioni e ai report dell'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) 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 limiti dei criteri dell'organizzazione a cui è soggetto un progetto. Questa autorizzazione al momento è efficace solo se il ruolo è concesso a livello di progetto o superiore.

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

Ruoli di base

I ruoli di base sono ruoli esistenti 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 che concedi per un progetto, i ruoli di base si applicano a tutti i bucket e gli oggetti nel progetto.

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

  • Ogni ruolo di base ha un valore di praticità che ti consente di utilizzarlo come se fosse un gruppo. Se utilizzato in questo modo, qualsiasi entità con il ruolo di base è considerata parte del gruppo. Tutti i membri del gruppo ottengono accesso aggiuntivo alle risorse in base al valore di convenienza.

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

    • È possibile utilizzare valori di convenienza durante l'impostazione di ACL sugli oggetti.

  • I ruoli di base non forniscono intrinsecamente tutto l'accesso alle risorse Cloud Storage che è implicito nei loro nomi. Forniscono invece una parte dell'accesso previsto in modo intrinseco e il resto dell'accesso previsto tramite l'utilizzo di valori di praticità. Poiché i valori di convenienza possono essere aggiunti o rimossi manualmente come qualsiasi altro entità IAM, è possibile revocare l'accesso che le entità potrebbero altrimenti aspettarsi di avere.

    Per una discussione sull'accesso aggiuntivo che gli entità con ruoli di base tipicamente ottengono a causa dei valori di convenienza, consulta 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. visualizza bucket metadati durante l'elenco (esclusi gli ACL); ed elenca e recupera le chiavi HMAC del progetto. storage.buckets.list
storage.hmacKeys.get
storage.hmacKeys.list
Editor (roles/editor) Concede l'autorizzazione per creare, elencare ed eliminare bucket nel progetto. visualizza i metadati del bucket nell'elenco (ACL esclusi); e controllare HMAC chiave del progetto. storage.buckets.create
storage.buckets.delete
storage.buckets.list
storage.hmacKeys.*
Proprietario (roles/owner)

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

All'interno di Google Cloud più in generale, le entità con questo ruolo può eseguire attività amministrative come la modifica di entità ruoli 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 hanno spesso accesso aggiuntivo ai bucket e agli oggetti di un progetto a causa dei valori di convenienza. Quando viene creato un bucket, i valori di convenienza vengono concessi a determinati accessi a livello di bucket, ma in un secondo momento puoi modificare i criteri IAM del bucket e gli ACL degli oggetti per rimuovere o modificare l'accesso.

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

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

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

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

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

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

  • Le entità a cui è stato concesso l'abbonamento roles/editor ottengono il 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) predefinito per gli oggetti. Questo ACL predefinito viene spesso applicato ai nuovi oggetti nel bucket e spesso concede accesso aggiuntivo ai valori di convenienza.

Ruoli precedenti predefiniti

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

Ruolo Descrizione Autorizzazioni
Lettore 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 metadata, compresi gli ACL. storage.objects.get
storage.objects.update
storage.objects.setRetention
storage.objects.overrideUnlockedRetention
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 la creazione dell'elenco degli oggetti e delle cartelle gestite (esclusi i criteri IAM).

L'utilizzo di questo ruolo è visibile anche negli ACL del bucket. Consulta: Relazione IAM con gli ACL per ulteriori informazioni.

storage.buckets.get
storage.objects.list
storage.managedFolders.get
storage.managedFolders.list
storage.multipartUploads.list
Storage Legacy Bucket Writer (roles/storage.legacyBucketWriter) Concede l'autorizzazione per creare, sostituire, elencare ed eliminare oggetti e cartelle gestite; creare oggetti con una configurazione di conservazione; leggere i metadati degli oggetti e delle cartelle gestite durante l'elenco (esclusi i criteri IAM); e leggere i metadati del bucket, esclusi i criteri IAM.

L'utilizzo di questo ruolo è riportato anche nelle ACL del bucket. Per ulteriori informazioni, consulta la sezione Relazione tra IAM e 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 le cartelle gestite creare oggetti con una configurazione di conservazione; creare, eliminare ed elencare associazioni di tag; leggi i metadati degli oggetti nell'elenco (esclusi i criteri IAM); lettura metadati della cartella gestita durante l'elenco (inclusi i criteri IAM); lettura e modifica metadati del bucket (inclusi i criteri IAM); e gestire per le operazioni a lunga esecuzione.

L'utilizzo di questo ruolo è riportato anche nelle ACL del bucket. Consulta: Relazione IAM con gli ACL per ulteriori informazioni.

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.bucketOperations.*
storage.managedFolders.*
storage.objects.list
storage.objects.create
storage.objects.delete
storage.objects.restore
storage.objects.setRetention
storage.multipartUploads.*

Ruoli personalizzati

Puoi definire ruoli personalizzati che contengono pacchetti di autorizzazioni che da te specificato. A supporto di ciò, IAM offre ruoli personalizzati.

Passaggi successivi