Nesta tabela, descrevemos a lista de permissões de Gerenciamento de identidade e acesso (IAM) obrigatórias para executar cada método JSON do Cloud Storage em um recurso específico. As permissões do IAM são agrupadas para criar papéis. Você pode conceder papéis a usuários e grupos.
Para outros métodos que só se aplicam a buckets com acesso uniforme no nível do bucket desativado, consulte a tabela de métodos da ACL.
| Recurso | Método | Permissões de IAM obrigató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 você usar o parâmetro userProject ou o
cabeçalho x-goog-user-project na solicitação, será necessário ter
a permissão serviceusage.services.use para o ID do projeto especificado, além das
permissões normais de IAM necessárias para fazer a
solicitação.
2 Essa permissão será obrigatória somente se você quiser incluir políticas de
IAM ou ACLs como parte de uma projeção full. Se você não tiver
essa permissão e solicitar uma projeção full, receberá apenas uma projeção
parcial.
3 Essa permissão é obrigatória somente quando a solicitação inclui o parâmetro de consulta enableObjectRetention.
4 Essa permissão será obrigatória somente se você quiser incluir ACLs como parte da resposta.
5 Essa permissão será obrigatória se você quiser incluir ACLs ou alterações na configuração de prevenção de acesso público como parte da solicitação.
6 Essa permissão não se aplica a buckets com o acesso uniforme no nível do bucket ativado.
7 Essa permissão só será obrigatória se a solicitação fizer com que um objeto com o mesmo nome seja substituído.
8 Essa permissão é necessária quando o corpo da solicitação inclui a propriedade retention ou ao fazer uma solicitação UPDATE para um que tem uma configuração de retenção existente.
9 Essa permissão é obrigatória somente quando a solicitação inclui o parâmetro de consulta overrideUnlockedRetention=true.
10 Essa permissão é obrigatória somente quando a solicitação inclui o parâmetro de consulta allowNonEmpty=true.
11 Essa permissão é obrigatória somente quando a solicitação inclui o parâmetro de consulta allowOverwrite=true e faz com que um objeto com o
mesmo nome seja substituído.
12 Essa permissão é obrigatória somente quando a solicitação inclui o parâmetro de consulta copySourceAcl=true.
13 Essa permissão é obrigatória somente se você quiser incluir regras de filtragem de IP do bucket como parte da solicitação Buckets: get. Se você não tiver essa permissão, vai receber apenas uma projeção parcial.
14 Essa permissão só é necessária se você quiser criar, listar, excluir e atualizar regras de filtragem de IP do bucket.
15 Para mover um objeto em um bucket com o namespace hierárquico ativado, você precisa das permissões storage.objects.delete e storage.objects.get ou da permissão storage.objects.move se quiser mover sem conceder acesso de leitura ou exclusão ao objeto.
16 Essa permissão é obrigatória somente se você quiser substituir um objeto.
17 Essa permissão só é necessária se você quiser criar automaticamente as pastas mãe ausentes.
18 Essa permissão só é necessária se você quiser retornar caches criados com o Anywhere Cache.
19 Essa permissão é obrigatória somente se a solicitação incluir uma propriedade destination.contexts.custom não vazia para compor um objeto ou uma propriedade contexts.custom não vazia para copiar, inserir ou reescrever um objeto.
20 Essa permissão só é obrigatória se você quiser adicionar contextos a um objeto.
21 Essa permissão só é obrigatória se você quiser atualizar contextos de um objeto.
22 Essa permissão só é necessária se você quiser excluir contextos de um objeto.
Métodos relacionados à ACL
A tabela a seguir lista as permissões de IAM necessárias para executar métodos JSON que se aplicam especificamente ao gerenciamento de ACLs. Esses métodos se aplicam somente a buckets com o acesso uniforme no nível do bucket desativado.
| Recurso | Método | Permissões de IAM obrigató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 você usar o parâmetro userProject ou o
cabeçalho x-goog-user-project na solicitação, será necessário ter
a permissão serviceusage.services.use para o ID do projeto especificado,
além das permissões normais de IAM necessárias para fazer a
solicitação.
A seguir
- Veja uma lista de papéis e as permissões que eles contêm em Papéis do IAM para o Cloud Storage. 
- Atribua papéis do IAM no nível do projeto e do bucket.