A página a seguir discute as permissões do Identity and Access Management (IAM) necessárias para executar ações na parte do Cloud Storage do console Google Cloud . As permissões do IAM são agrupadas para criar papéis, que você concede a usuários e grupos.
Permissões comuns necessárias para usar o Google Cloud console
Algumas permissões são necessárias para usar o console doGoogle Cloud :
Todas as ações que envolvem buckets precisam incluir as permissões
resourcemanager.projects.getestorage.buckets.listpara envolvidos no projeto.Com essas permissões, é possível acessar a página "Buckets", em que você cria, visualiza e atualiza buckets.
Todas as ações que incluem um projeto de faturamento na solicitação exigem a permissão
serviceusage.services.usepara o projeto especificado.Essa permissão garante que você tenha autorização para faturar o projeto especificado. Você inclui um projeto de faturamento, por exemplo, ao acessar um bucket com pagamentos do solicitante ativado.
Permissões obrigatórias para ações específicas
| Ação | Permissões de IAM obrigatórias (além das listadas acima) |
|---|---|
| criar um bucket | storage.buckets.createstorage.buckets.enableObjectRetention1 |
| Anexar uma tag a um bucket | storage.buckets.createTagBinding |
| Listar ou filtrar buckets | Nenhuma permissão extra |
| Listar tags anexadas diretamente a um bucket | storage.buckets.listTagBindings |
| Listar as tags herdadas e as anexadas diretamente a um bucket | storage.buckets.listEffectiveTags |
Visualize as seguintes informações do bucket:
|
storage.buckets.get |
Altere as seguintes configurações do bucket:
|
storage.buckets.getstorage.buckets.updatestorage.buckets.enableObjectRetention1 |
| Ativar o recurso Pagamentos do solicitante | storage.buckets.getstorage.buckets.update |
| Desativar o recurso Pagamentos do solicitante | storage.buckets.getstorage.buckets.updateresourcemanager.projects.createBillingAssignment3 |
| Alterar a configuração de prevenção de acesso público | storage.buckets.getstorage.buckets.setIamPolicystorage.buckets.update |
| Alterar permissões do bucket | storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
| Excluir um bucket vazio | storage.buckets.deletestorage.objects.list |
| Excluir um bucket não vazio | storage.buckets.deletestorage.objects.deletestorage.objects.list |
| Remover uma tag de um bucket | storage.buckets.deleteTagBinding |
| Criar uma pasta | storage.folders.create |
| Receber os metadados de uma pasta | storage.folders.get |
| Listar pastas | storage.folders.list |
| Renomear pastas | storage.folders.rename (para o bucket de origem)storage.folders.create (para o bucket de destino) |
| Excluir pastas | storage.folders.delete |
| Faça upload de um objeto ou de uma pasta de objetos | storage.objects.createstorage.objects.delete2storage.objects.setRetention4 |
| Ver os detalhes de um objeto5 | storage.objects.getstorage.objects.list |
| Visualizar o histórico de versões de um objeto | storage.objects.getstorage.objects.list |
| Fazer o download de um objeto5 ou de uma pasta de objetos | storage.objects.getstorage.objects.list |
| Listar objetos em um bucket, incluindo objetos não atuais e excluídos de maneira reversível | storage.objects.list |
| Determinar se um objeto é acessível publicamente5 | storage.buckets.getIamPolicystorage.objects.liststorage.objects.getIamPolicy7 |
| Renomear ou restaurar uma versão arquivada de um objeto | storage.objects.createstorage.objects.deletestorage.objects.getstorage.objects.liststorage.objects.getIamPolicy7storage.objects.setIamPolicy7 |
| Copiar um objeto | storage.objects.createstorage.objects.delete2storage.objects.getstorage.objects.liststorage.objects.getIamPolicy7,8storage.objects.setIamPolicy7,8 |
| Mover um objeto | storage.objects.createstorage.objects.delete2storage.objects.deletestorage.objects.getstorage.objects.liststorage.objects.getIamPolicy7,8storage.objects.setIamPolicy7,8 |
| Ver as permissões de acesso de um objeto5,6 | storage.objects.getstorage.objects.liststorage.objects.getIamPolicy |
| Editar as permissões de acesso de um objeto5,6 | storage.objects.getstorage.objects.liststorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
| Editar os metadados de um objeto5 | storage.objects.getstorage.objects.liststorage.objects.update |
| Adicionar, alterar ou remover uma configuração de retenção em um objeto5 | storage.objects.getstorage.objects.liststorage.objects.updatestorage.objects.setRetentionstorage.objects.overrideUnlockedRetention9 |
| Adicionar ou remover uma retenção em um objeto5 | storage.objects.getstorage.objects.liststorage.objects.update |
| Excluir um objeto5, uma versão arquivada de um objeto ou uma pasta de objetos | storage.objects.deletestorage.objects.list |
| Restaurar um objeto excluído | storage.objects.createstorage.objects.delete2storage.objects.liststorage.objects.restore |
| Restaurar objetos excluídos em massa | storage.objects.createstorage.objects.delete10storage.objects.restorestorage.buckets.restorestorage.objects.setIamPolicy7,11 |
| Ver o nome do agente de serviço de um projeto do Cloud Storage | resourcemanager.projects.get |
| Ver as chaves HMAC da conta de serviço de um projeto | resourcemanager.projects.getstorage.hmacKeys.list |
| Criar uma chave HMAC para uma conta de serviço | resourcemanager.projects.getstorage.hmacKeys.liststorage.hmacKeys.create |
| Desativar ou reativar uma chave HMAC de uma conta de serviço | resourcemanager.projects.getstorage.hmacKeys.liststorage.hmacKeys.update |
| Excluir uma chave HMAC de uma conta de serviço | resourcemanager.projects.getstorage.hmacKeys.liststorage.hmacKeys.delete |
| Crie, visualize ou exclua uma chave HMAC para a conta de usuário na qual você fez login | resourcemanager.projects.get |
| Configurar, atualizar ou desativar a configuração do Storage Intelligence em um projeto, uma pasta ou uma organização | storage.intelligenceConfigs.update |
| Ver a configuração do Storage Intelligence em um projeto, uma pasta ou uma organização | storage.intelligenceConfigs.get |
| Criar um cache usando o Anywhere Cache | storage.anywhereCaches.create |
| Listar um cache usando o Anywhere Cache | storage.anywhereCaches.list |
| Atualizar um cache usando o Anywhere Cache | storage.anywhereCaches.update |
| Pausar um cache usando o Anywhere Cache | storage.anywhereCaches.pause |
| Retomar um cache usando o Anywhere Cache | storage.anywhereCaches.resume |
| Acessar os metadados de um cache usando o Anywhere Cache | storage.anywhereCaches.get |
| Desativar um cache usando o Anywhere Cache | storage.anywhereCaches.disable |
1Essa permissão é obrigatória apenas quando você ativa um bucket para oferecer suporte a configurações de retenção de objetos.
2Essa permissão é obrigatória somente se já houver um objeto com o mesmo nome no bucket de destino.
3Essa permissão é obrigatória somente quando um projeto de faturamento não é incluído na solicitação. Consulte Requisitos de uso e acesso dos pagamentos do solicitante para mais informações.
4Essa permissão só é obrigatória ao adicionar uma configuração de retenção como parte do upload do objeto.
5Essa ação não requer storage.objects.list
quando realizada na página de detalhes do objeto relevante, e você não
acessa a página de detalhes da lista geral de objetos para o bucket.
6 Esta ação não se aplica a buckets com acesso uniforme no nível do intervalo ativado.
7 Essa permissão não se aplica a buckets com o acesso uniforme no nível do bucket ativado.
8Essa permissão é obrigatória somente quando são mantidas as permissões atualmente aplicadas ao objeto de origem.
9Essa permissão é necessária ao alterar uma configuração de retenção existente de modo que a configuração seja bloqueada, reduzida ou removida.
10Essa permissão só será obrigatória se um objeto com o mesmo nome já existir no bucket de destino e a opção Substituir objetos ativos for selecionada.
11 Essa permissão só é obrigatória quando você seleciona a opção Copiar controles de acesso à origem (ACLs).
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.