La tabella seguente elenca le autorizzazioni di Identity and Access Management (IAM) necessarie per eseguire ogni metodo JSON di Cloud Storage su una determinata risorsa. Le autorizzazioni IAM sono raggruppate per creare ruoli. Concedi i ruoli a utenti e gruppi.
Per altri metodi che si applicano solo ai bucket con l'accesso uniforme a livello di bucket disattivato, consulta la tabella dei metodi ACL.
| Risorsa | Metodo | Autorizzazioni IAM obbligatorie1 |
|---|---|---|
AnywhereCache |
create |
storage.anywhereCaches.create |
AnywhereCache |
disable |
storage.anywhereCaches.disable |
AnywhereCache |
get |
storage.anywhereCaches.get |
AnywhereCache |
list |
storage.anywhereCaches.list |
AnywhereCache |
pause |
storage.anywhereCaches.pause |
AnywhereCache |
resume |
storage.anywhereCaches.resume |
AnywhereCache |
update |
storage.anywhereCaches.update |
Buckets |
delete |
storage.buckets.delete |
Buckets |
get |
storage.buckets.getstorage.buckets.getIamPolicy2storage.buckets.getIpFilter13storage.anywhereCaches.get18 |
Buckets |
getIamPolicy |
storage.buckets.getIamPolicy |
Buckets |
insert |
storage.buckets.createstorage.buckets.enableObjectRetention3storage.buckets.setIpFilter14 |
Buckets |
list |
storage.buckets.liststorage.buckets.getIamPolicy2storage.buckets.getIpFilter13storage.anywhereCaches.list |
Buckets |
lockRetentionPolicy |
storage.buckets.update |
Buckets |
patch |
storage.buckets.updatestorage.buckets.getIamPolicy4storage.buckets.setIamPolicy5storage.buckets.setIpFilter14storage.buckets.getIpFilter13 |
Buckets |
relocate |
storage.buckets.relocate |
Buckets |
setIamPolicy |
storage.buckets.setIamPolicy |
Buckets |
testIamPermissions |
Nessuno |
Buckets |
update |
storage.buckets.updatestorage.buckets.getIamPolicy4storage.buckets.setIamPolicy5storage.buckets.setIpFilter14storage.buckets.getIpFilter13storage.anywhereCaches.update |
DatasetConfigs |
delete |
storageinsights.datasetConfigs.delete |
DatasetConfigs |
get |
storageinsights.datasetConfigs.get |
DatasetConfigs |
insert |
storageinsights.datasetConfigs.create |
DatasetConfigs |
list |
storageinsights.datasetConfigs.list |
DatasetConfigs |
linkDataset |
storageinsights.datasetConfigs.linkDataset |
DatasetConfigs |
unlinkDataset |
storageinsights.datasetConfigs.unlinkDataset |
DatasetConfigs |
patch |
storageinsights.datasetConfigs.update |
FeatureConfigs |
create |
storage.featureConfigs.create |
FeatureConfigs |
delete |
storage.featureConfigs.delete |
FeatureConfigs |
get |
storage.featureConfigs.get |
FeatureConfigs |
list |
storage.featureConfigs.list |
FeatureConfigs |
update |
storage.featureConfigs.update |
Folders |
get |
storage.folders.get |
Folders |
insert |
storage.folders.create |
Folders |
list |
storage.folders.list |
Folders |
rename |
storage.folders.renamestorage.folders.create |
Folders |
delete |
storage.folders.delete |
IntelligenceConfig |
getIntelligenceConfig |
storage.intelligenceConfigs.get |
IntelligenceConfig |
updateIntelligenceConfig |
storage.intelligenceConfigs.update |
IntelligenceFindings |
get |
storage.buckets.viewIntelligenceDetails |
IntelligenceFindings |
list |
storage.buckets.viewIntelligenceDetails |
IntelligenceFindings |
summarize |
storage.buckets.viewIntelligenceDetails |
IntelligenceFindings.revisions |
get |
storage.buckets.viewIntelligenceDetails |
IntelligenceFindings.revisions |
list |
storage.buckets.viewIntelligenceDetails |
Jobs |
create |
storagebatchoperations.jobs.create |
Jobs |
get |
storagebatchoperations.jobs.getstoragebatchoperations.operations.get |
Jobs |
list |
storagebatchoperations.jobs.liststoragebatchoperations.operations.list |
Jobs |
cancel |
storagebatchoperations.jobs.cancelstoragebatchoperations.operations.cancel |
Jobs |
delete |
storagebatchoperations.jobs.delete |
ManagedFolders |
delete |
storage.managedfolders.deletestorage.managedfolders.setIamPolicy10 |
ManagedFolders |
get |
storage.managedfolders.get |
ManagedFolders |
getIamPolicy |
storage.managedfolders.getIamPolicy |
ManagedFolders |
insert |
storage.managedfolders.create |
ManagedFolders |
list |
storage.managedfolders.list |
ManagedFolders |
update |
storage.managedfolders.update |
ManagedFolders |
setIamPolicy |
storage.managedfolders.setIamPolicy |
Notifications |
delete |
storage.buckets.update |
Notifications |
get |
storage.buckets.get |
Notifications |
insert |
storage.buckets.update |
Notifications |
list |
storage.buckets.get |
Objects |
bulkRestore |
storage.buckets.restorestorage.objects.createstorage.objects.delete11storage.objects.restorestorage.objects.setIamPolicy6,12 |
Objects |
compose |
storage.objects.getstorage.objects.createstorage.objects.delete7storage.objects.getIamPolicy2,6storage.objects.setRetention8storage.objects.createContext19 |
Objects |
copy |
storage.objects.getstorage.objects.createstorage.objects.deletestorage.objects.setRetentionstorage.objects.createContext19 |
Objects |
delete |
storage.objects.delete |
Objects |
get |
storage.objects.getstorage.objects.getIamPolicy2,6 |
Objects |
insert |
storage.objects.createstorage.objects.delete7storage.objects.setRetention8storage.objects.createContext19 |
Objects |
list |
storage.objects.liststorage.objects.getIamPolicy2,6 |
Objects |
move |
storage.objects.move15storage.objects.delete15storage.objects.get15storage.objects.createstorage.objects.delete16storage.folders.create17 |
Objects |
patch |
storage.objects.updatestorage.objects.setRetention8storage.objects.overrideUnlockedRetention9storage.objects.getIamPolicy4,6storage.objects.setIamPolicy5,6storage.objects.createContext20storage.objects.updateContext21storage.objects.deleteContext22 |
Objects |
restore |
storage.objects.createstorage.objects.delete7storage.objects.restorestorage.objects.getIamPolicy2,6storage.objects.setIamPolicy6,12 |
Objects |
rewrite |
storage.objects.getstorage.objects.createstorage.objects.deletestorage.objects.setRetentionstorage.objects.createContext19 |
Objects |
update |
storage.objects.updatestorage.objects.setRetention8storage.objects.overrideUnlockedRetention9storage.objects.getIamPolicy4,6storage.objects.setIamPolicy5,6storage.objects.createContext20storage.objects.updateContext21storage.objects.deleteContext22 |
Objects |
viewFullContext |
storage.objects.viewFullContext |
Objects |
watchAll |
storage.buckets.update |
Projects.hmacKeys |
create |
storage.hmacKeys.create |
Projects.hmacKeys |
delete |
storage.hmacKeys.delete |
Projects.hmacKeys |
get |
storage.hmacKeys.get |
Projects.hmacKeys |
list |
storage.hmacKeys.list |
Projects.hmacKeys |
update |
storage.hmacKeys.update |
Projects.serviceAccount |
get |
resourceManager.projects.get |
ReportConfigs |
delete |
storageinsights.reportConfigs.delete |
ReportConfigs |
get |
storageinsights.reportConfigs.get |
ReportConfigs |
list |
storageinsights.reportConfigs.list |
ReportConfigs |
insert |
storageinsights.reportConfigs.create |
ReportConfigs |
update |
storageinsights.reportConfigs.update |
ReportDetails |
get |
storageinsights.reportDetails.get |
ReportDetails |
list |
storageinsights.reportDetails.list |
1 Se utilizzi il parametro userProject o l'intestazione x-goog-user-project nella richiesta, devi disporre dell'autorizzazione serviceusage.services.use per l'ID progetto specificato, oltre alle normali autorizzazioni IAM necessarie per effettuare la richiesta.
2 Questa autorizzazione è necessaria solo se vuoi includere ACL o policy IAM come parte di una proiezione full. Se non hai questa autorizzazione e richiedi una proiezione full, ricevi solo una proiezione parziale.
3 Questa autorizzazione è richiesta solo quando la richiesta include il parametro di query enableObjectRetention.
4 Questa autorizzazione è obbligatoria solo se vuoi includere gli ACL nella risposta.
5 Questa autorizzazione è obbligatoria se vuoi includere ACL o modifiche all'impostazione di prevenzione dell'accesso pubblico nella richiesta.
6 Questa autorizzazione non si applica ai bucket con l'accesso uniforme a livello di bucket abilitato.
7 Questa autorizzazione è richiesta solo se la richiesta comporta la sovrascrittura di un oggetto con lo stesso nome.
8 Questa autorizzazione è obbligatoria quando il corpo della richiesta include la proprietà retention o quando viene effettuata una richiesta UPDATE per un oggetto con una configurazione di conservazione esistente.
9 Questa autorizzazione è obbligatoria solo quando la richiesta include il parametro di query overrideUnlockedRetention=true.
10 Questa autorizzazione è richiesta solo quando la richiesta include il parametro di query allowNonEmpty=true.
11 Questa autorizzazione è obbligatoria solo quando la richiesta include il parametro di query allowOverwrite=true e causa la sovrascrittura di un oggetto con lo stesso nome.
12 Questa autorizzazione è obbligatoria solo quando la richiesta include il parametro di query copySourceAcl=true.
13 Questa autorizzazione è necessaria solo se vuoi includere le regole di filtro IP del bucket nella richiesta Buckets: get. Se non disponi di questa autorizzazione, riceverai solo una proiezione parziale.
14 Questa autorizzazione è richiesta solo se vuoi creare, elencare, eliminare e aggiornare le regole di filtro IP dei bucket.
15 Per spostare un oggetto all'interno di un bucket con lo spazio dei nomi gerarchico abilitato, devi disporre delle autorizzazioni storage.objects.delete e storage.objects.get o dell'autorizzazione storage.objects.move se vuoi spostarlo senza concedere l'accesso in lettura o eliminazione all'oggetto.
16 Questa autorizzazione è necessaria solo se vuoi sostituire un oggetto.
17 Questa autorizzazione è necessaria solo se vuoi creare automaticamente le cartelle principali mancanti.
18 Questa autorizzazione è obbligatoria solo se vuoi restituire le cache create con Rapid Cache.
19 Questa autorizzazione è obbligatoria solo se la richiesta include una proprietà destination.contexts.custom non vuota per comporre un oggetto o una proprietà contexts.custom non vuota per copiare, inserire o riscrivere un oggetto.
20 Questa autorizzazione è obbligatoria solo se vuoi aggiungere contesti a un oggetto.
21 Questa autorizzazione è obbligatoria solo se vuoi aggiornare i contesti di un oggetto.
22 Questa autorizzazione è obbligatoria solo se vuoi eliminare i contesti di un oggetto.
Metodi relativi alle ACL
La tabella seguente elenca le autorizzazioni IAM necessarie per eseguire i metodi JSON che si applicano specificamente alla gestione delle ACL. Questi metodi si applicano solo ai bucket per i quali l'accesso uniforme a livello di bucket è disattivato.
| Risorsa | Metodo | Autorizzazioni IAM obbligatorie1 |
|---|---|---|
BucketAccessControls |
delete |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
BucketAccessControls |
get |
storage.buckets.getstorage.buckets.getIamPolicy |
BucketAccessControls |
insert |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
BucketAccessControls |
list |
storage.buckets.getstorage.buckets.getIamPolicy |
BucketAccessControls |
patch |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
BucketAccessControls |
update |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
delete |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
get |
storage.buckets.getstorage.buckets.getIamPolicy |
DefaultObjectAccessControls |
insert |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
list |
storage.buckets.getstorage.buckets.getIamPolicy |
DefaultObjectAccessControls |
patch |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
update |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
ObjectAccessControls |
delete |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
ObjectAccessControls |
get |
storage.objects.getstorage.objects.getIamPolicy |
ObjectAccessControls |
insert |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
ObjectAccessControls |
list |
storage.objects.getstorage.objects.getIamPolicy |
ObjectAccessControls |
patch |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
ObjectAccessControls |
update |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
1 Se utilizzi il parametro userProject o l'intestazione x-goog-user-project nella richiesta, devi disporre dell'autorizzazione serviceusage.services.use per l'ID progetto specificato, oltre alle normali autorizzazioni IAM necessarie per effettuare la richiesta.
Passaggi successivi
Per un elenco dei ruoli e delle autorizzazioni che contengono, consulta Ruoli IAM per Cloud Storage.
Assegna i ruoli IAM a livello di progetto e di bucket.