La tabella seguente elenca le autorizzazioni Identity and Access Management (IAM) necessarie per eseguire ogni metodo JSON di Cloud Storage su una determinata risorsa. Le autorizzazioni IAM vengono raggruppate per formare ruoli. Concessi i ruoli a utenti e gruppi.
Per altri metodi che si applicano solo ai bucket con accesso uniforme a livello di bucket disattivato, consulta la tabella dei metodi ACL.
Risorsa | Metodo | Autorizzazioni IAM richieste1 |
---|---|---|
Buckets |
delete |
storage.buckets.delete |
Buckets |
get |
storage.buckets.get storage.buckets.getIamPolicy 2storage.buckets.getIpFilter 13 |
Buckets |
getIamPolicy |
storage.buckets.getIamPolicy |
Buckets |
insert |
storage.buckets.create storage.buckets.enableObjectRetention 3storage.buckets.setIpFilter 14 |
Buckets |
list |
storage.buckets.list storage.buckets.getIamPolicy 2storage.buckets.getIpFilter 13 |
Buckets |
listChannels |
storage.buckets.get |
Buckets |
lockRetentionPolicy |
storage.buckets.update |
Buckets |
patch |
storage.buckets.update storage.buckets.getIamPolicy 4storage.buckets.setIamPolicy 5storage.buckets.setIpFilter 14storage.buckets.getIpFilter 13 |
Buckets |
setIamPolicy |
storage.buckets.setIamPolicy |
Buckets |
testIamPermissions |
Nessuno |
Buckets |
update |
storage.buckets.update storage.buckets.getIamPolicy 4storage.buckets.setIamPolicy 5storage.buckets.setIpFilter 14storage.buckets.getIpFilter 13 |
Channels |
stop |
Nessuno |
Folders |
get |
storage.folders.get |
Folders |
insert |
storage.folders.create |
Folders |
list |
storage.folders.list |
Folders |
rename |
storage.folders.rename storage.folders.create |
Folders |
delete |
storage.folders.delete |
ManagedFolders |
delete |
storage.managedfolders.delete storage.managedfolders.setIamPolicy 10 |
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.restore storage.objects.create storage.objects.delete 11storage.objects.restore storage.objects.setIamPolicy 6,12 |
Objects |
compose |
storage.objects.get storage.objects.create storage.objects.delete 7storage.objects.getIamPolicy 2,6storage.objects.setRetention 8 |
Objects |
copy |
storage.objects.get storage.objects.create storage.objects.delete storage.objects.setRetention |
Objects |
delete |
storage.objects.delete |
Objects |
get |
storage.objects.get storage.objects.getIamPolicy 2,6 |
Objects |
insert |
storage.objects.create storage.objects.delete 7storage.objects.setRetention 8 |
Objects |
list |
storage.objects.list storage.objects.getIamPolicy 2,6 |
Objects |
patch |
storage.objects.update storage.objects.setRetention 8storage.objects.overrideUnlockedRetention 9storage.objects.getIamPolicy 4,6storage.objects.setIamPolicy 5,6 |
Objects |
restore |
storage.objects.create storage.objects.delete 7storage.objects.restore storage.objects.getIamPolicy 2,6storage.objects.setIamPolicy 6,12 |
Objects |
rewrite |
storage.objects.get storage.objects.create storage.objects.delete storage.objects.setRetention |
Objects |
update |
storage.objects.update storage.objects.setRetention 8storage.objects.overrideUnlockedRetention 9storage.objects.getIamPolicy 4,6storage.objects.setIamPolicy 5,6 |
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 criteri IAM in una proiezione full
. Se non disponi di questa autorizzazione e richiedi una proiezione full
, ricevi solo una proiezione parziale.
3 Questa autorizzazione è obbligatoria solo se la richiesta include il parametro di query enableObjectRetention
.
4 Questa autorizzazione è obbligatoria solo se vuoi includere gli ACL come parte della risposta.
5 Questa autorizzazione è obbligatoria se vuoi includere ACL o modifiche all'impostazione di prevenzione dell'accesso pubblico all'interno della richiesta.
6 Questa autorizzazione non si applica ai bucket con accesso uniforme a livello di bucket abilitato.
7 Questa autorizzazione è obbligatoria 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 se la richiesta include il parametro di query overrideUnlockedRetention=true
.
10 Questa autorizzazione è obbligatoria solo se la richiesta include il parametro di query allowNonEmpty=true
.
11 Questa autorizzazione è obbligatoria solo se 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 se la richiesta include il parametro di query copySourceAcl=true
.
13 Questa autorizzazione è necessaria solo se vuoi includere regole di filtro degli indirizzi IP dei bucket all'interno di una proiezione full
. Se non disponi di questa autorizzazione e richiedi una proiezione full
, ricevi solo una proiezione parziale. Se vuoi escludere le regole di filtro IP dei bucket nella risposta, puoi richiedere una proiezione noAcl
.
14 Questa autorizzazione è obbligatoria solo se vuoi creare, elencare, eliminare e aggiornare le regole di filtro IP dei bucket.
Metodi relativi all'ACL
La tabella seguente elenca le autorizzazioni IAM necessarie per eseguire metodi JSON che si applicano specificamente alla gestione delle ACL. Questi metodi si applicano solo ai bucket per i quali è disabilitato l'accesso uniforme a livello di bucket.
Risorsa | Metodo | Autorizzazioni IAM richieste1 |
---|---|---|
BucketAccessControls |
delete |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
BucketAccessControls |
get |
storage.buckets.get storage.buckets.getIamPolicy |
BucketAccessControls |
insert |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
BucketAccessControls |
list |
storage.buckets.get storage.buckets.getIamPolicy |
BucketAccessControls |
patch |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
BucketAccessControls |
update |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
delete |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
get |
storage.buckets.get storage.buckets.getIamPolicy |
DefaultObjectAccessControls |
insert |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
list |
storage.buckets.get storage.buckets.getIamPolicy |
DefaultObjectAccessControls |
patch |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
update |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
ObjectAccessControls |
delete |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
ObjectAccessControls |
get |
storage.objects.get storage.objects.getIamPolicy |
ObjectAccessControls |
insert |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
ObjectAccessControls |
list |
storage.objects.get storage.objects.getIamPolicy |
ObjectAccessControls |
patch |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
ObjectAccessControls |
update |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.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 bucket.