A tabela seguinte apresenta as autorizações da gestão de identidade e acesso (IAM) necessárias para executar cada método JSON do Cloud Storage num determinado recurso. As autorizações de IAM são agrupadas para criar funções. Concede funções a utilizadores e grupos.
Para métodos adicionais que se aplicam apenas a contentores com o acesso uniforme ao nível do contentor desativado, consulte a tabela de métodos de LCA.
| Recurso | Método | Autorizações de IAM necessárias1 | 
|---|---|---|
| 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 | listChannels | storage.buckets.get | 
| 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 | Nenhum | 
| 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 | 
| Channels | stop | Nenhum | 
| 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 | 
| 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 | 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 usar o parâmetro userProject ou o cabeçalho
x-goog-user-project no seu pedido, tem de ter a autorização
serviceusage.services.use para o ID do projeto que especificar, além das autorizações de IAM normais necessárias para fazer o pedido.
2 Esta autorização só é necessária se quiser incluir ACLs ou políticas de IAM como parte de uma projeção full. Se não tiver esta autorização e pedir uma projeção full, recebe apenas uma projeção parcial.
3 Esta autorização só é necessária quando o pedido inclui o parâmetro de consulta enableObjectRetention.
4 Esta autorização só é necessária se quiser incluir LCAs como parte da resposta.
5 Esta autorização é necessária se quiser incluir LCAs ou alterações à definição de prevenção de acesso público como parte do pedido.
6 Esta autorização não se aplica a contentores com o acesso uniforme ao nível do contentor ativado.
7 Esta autorização só é necessária se o pedido fizer com que um objeto com o mesmo nome seja substituído.
8 Esta autorização é necessária quando o corpo do pedido inclui a propriedade retention ou quando faz um pedido UPDATE para um objeto que tenha uma configuração de retenção existente.
9 Esta autorização só é necessária quando o pedido inclui o parâmetro de consulta overrideUnlockedRetention=true.
10 Esta autorização só é necessária quando o pedido inclui o parâmetro de consulta allowNonEmpty=true.
11 Esta autorização só é necessária quando o pedido inclui o parâmetro de consulta allowOverwrite=true e o pedido faz com que um objeto com o mesmo nome seja substituído.
12 Esta autorização só é necessária quando o pedido inclui o parâmetro de consulta copySourceAcl=true.
13 Esta autorização só é necessária se quiser incluir regras de filtragem de IP do contentor como parte do pedido Buckets: get. Se não tiver esta autorização, recebe apenas uma projeção parcial.
14 Esta autorização só é necessária se quiser criar, listar, eliminar e atualizar regras de filtragem de IP de contentores.
15 Para mover um objeto num contentor com o espaço de nomes hierárquico ativado, precisa das autorizações storage.objects.delete e storage.objects.get ou da autorização storage.objects.move se quiser movê-lo sem conceder acesso de leitura ou eliminação ao objeto.
16 Esta autorização só é necessária se quiser substituir um objeto.
17 Esta autorização só é necessária se quiser criar automaticamente as pastas superiores em falta.
18 Esta autorização só é necessária se quiser devolver caches criadas com a Anywhere Cache.
19 Esta autorização só é necessária se o pedido incluir a propriedade destination.contexts.custom não vazia para compor um objeto ou a propriedade contexts.custom não vazia para copiar, inserir ou reescrever um objeto.
20 Esta autorização só é necessária se quiser adicionar contextos a um objeto.
21 Esta autorização só é necessária se quiser atualizar os contextos de um objeto.
22 Esta autorização só é necessária se quiser eliminar contextos de um objeto.
Métodos relacionados com a LCA
A tabela seguinte lista as autorizações de IAM necessárias para executar métodos JSON que se aplicam especificamente à gestão de ACLs. Estes métodos aplicam-se apenas a contentores que tenham o acesso uniforme ao nível do contentor desativado.
| Recurso | Método | Autorizações de IAM necessárias1 | 
|---|---|---|
| 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 usar o parâmetro userProject ou o cabeçalho x-goog-user-project no seu pedido, tem de ter a autorização serviceusage.services.use para o ID do projeto que especificar, além das autorizações de IAM normais necessárias para fazer o pedido.
O que se segue?
- Para ver uma lista das funções e das autorizações que contêm, consulte o artigo Funções de IAM para o Cloud Storage. 
- Atribua funções do IAM ao nível do projeto e do contentor.