Papéis predefinidos
Na tabela a seguir, descrevemos os papéis de gerenciamento de identidade e acesso (IAM) associados ao Cloud Storage e listamos as permissões contidas em cada papel. Salvo indicação em contrário, esses papéis podem ser aplicados a projetos, buckets ou pastas gerenciadas.
Para saber como controlar o acesso a buckets, consulte Usar permissões do IAM. Para saber como controlar o acesso a pastas gerenciadas, consulte Usar o IAM para pastas gerenciadas.
Papel | Descrição | Permissões |
---|---|---|
Criador de objetos do Storage
(roles/storage.objectCreator ) |
Permite que os usuários criem objetos, pastas e pastas gerenciadas. Não concede permissões para consultar, excluir ou substituir objetos. Não concede permissão para acessar listas de controle de acesso (ACLs) a objetos ou definir ACLs de objetos como parte de uma solicitação de atualização de objeto. | orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.objects.create storage.folders.create storage.managedFolders.create storage.multipartUploads.create storage.multipartUploads.abort storage.multipartUploads.listParts |
Leitor de objetos do Storage
(roles/storage.objectViewer ) |
Dá acesso para visualizar objetos e metadados, exceto ACLs. Também pode listar os objetos, as pastas e as pastas gerenciadas em um bucket. |
resourcemanager.projects.get 2resourcemanager.projects.list 2storage.folders.get storage.folders.list storage.managedFolders.get storage.managedFolders.list storage.objects.get storage.objects.list |
Usuário do objeto de armazenamento
(roles/storage.objectUser ) |
Concede acesso para criar, visualizar, listar, atualizar e excluir objetos, pastas e pastas gerenciadas, além dos respectivos metadados. Não concede permissão para receber ou definir ACLs ou políticas do IAM. | orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.folders.* storage.managedFolders.create storage.managedFolders.delete storage.managedFolders.list storage.managedFolders.get storage.multipartUploads.* storage.objects.create storage.objects.delete storage.objects.get storage.objects.list storage.objects.restore storage.objects.update |
Administrador de objetos do Storage
(roles/storage.objectAdmin ) |
Concede controle total sobre objetos e pastas, incluindo listar, criar, visualizar, renomear e excluir objetos e pastas, além de definir ACLs de objetos. Também concede acesso para criar, excluir, receber e listar pastas gerenciadas. | orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.folders.* storage.managedFolders.create storage.managedFolders.delete storage.managedFolders.get storage.managedFolders.list storage.objects.* storage.multipartUploads.* |
Administrador de pastas de armazenamento
(roles/storage.folderAdmin ) |
Concede controle total de objetos, pastas e pastas gerenciadas, incluindo listagem, criação, visualização, exclusão e gerenciamento de permissões do IAM. | orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.folders.* storage.managedFolders.* storage.multipartUploads.* storage.objects.* |
Administrador de chaves HMAC do armazenamento
(roles/storage.hmacKeyAdmin ) |
Controle total das chaves HMAC em um projeto. Esse papel pode ser aplicado somente a um projeto. | orgpolicy.policy.get 1storage.hmacKeys.* |
Administrador do Storage (roles/storage.admin ) |
Concede controle total de buckets, pastas e pastas gerenciadas e objetos, incluindo acesso e definição de ACLs de objetos ou políticas do IAM. Também concede
controle total de operações de longa duração. Quando aplicado a um bucket individual, o controle se aplica apenas ao bucket especificado e às pastas, objetos e operações de longa duração gerenciados nele. |
firebase.projects.get orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.buckets.* storage.bucketOperations.* storage.folders.* storage.managedFolders.* storage.objects.* storage.multipartUploads.* |
Administrador do Storage Insights (roles/storageinsights.admin ) |
Concede controle total de relatórios de inventário e configurações do Storage Insights. | cloudresourcemanager.projects.get cloudresourcemanager.projects.list storageinsights.reportConfigs.* storageinsights.reportDetails.* |
Leitor do Storage Insights (roles/storageinsights.viewer ) |
Concede acesso somente leitura a relatórios de inventário e configurações do Storage Insights. | cloudresourcemanager.projects.get cloudresourcemanager.projects.list storageinsights.reportConfigs.list storageinsights.reportConfigs.get storageinsights.reportDetails.list storageinsights.reportDetails.get |
Serviço de coletor do Storage Insights (roles/storage.insightsCollectorService ) |
Concede acesso de leitura a metadados de objetos em relatórios de inventário. | resourcemanager.projects.get resourcemanager.projects.list storage.buckets.getObjectInsights storage.buckets.get |
1 A permissão orgpolicy.policy.get
permite que os principais
saibam as restrições da política da organização a que um projeto está sujeito.
No momento, essa permissão só é eficaz se o papel for
concedido no nível do projeto ou acima.
2 Para mais informações sobre as
permissões resourcemanager.projects.*
, consulte
Controle de acesso para projetos com o IAM.
Papéis básicos
Papéis básicos são aqueles que existiam antes do IAM. Eles têm características únicas:
Esses papéis só podem ser concedidos para um projeto inteiro, não para buckets individuais dentro do projeto. Assim como outros papéis que você concede em um projeto, os papéis básicos se aplicam a todos os buckets e objetos do projeto.
Os papéis básicos contêm permissões extras para outros serviços do Google Cloud que não são abordados nesta seção. Consulte papéis básicos para ver uma discussão geral sobre as permissões que eles concedem.
Cada papel básico tem um valor de conveniência que permite usar o papel básico como se fosse um grupo. Quando usado dessa maneira, qualquer participante que tenha o papel básico é considerado parte do grupo. Todos no grupo recebem acesso adicional aos recursos com base no valor de conveniência.
Os valores de conveniência podem ser usados ao conceder papéis para buckets.
Os valores de conveniência podem ser usados ao definir ACLs em objetos.
Os papéis básicos não concedem intrinsecamente todo o acesso que os nomes sugerem aos recursos do Cloud Storage. Em vez disso, eles fornecem uma parte do acesso esperado intrinsecamente e o restante do acesso esperado usando valores de conveniência. Como os valores de conveniência podem ser adicionados ou removidos manualmente como qualquer outro participante do IAM, é possível revogar o acesso que os participantes esperavam ter.
Para conhecer o acesso adicional que os participantes de papéis básicos normalmente recebem devido a esse comportamento, consulte comportamento modificável.
Permissões intrínsecas
A tabela a seguir descreve as permissões do Cloud Storage que estão sempre associadas a cada papel básico.
Papel | Descrição | Permissões do Cloud Storage |
---|---|---|
Leitor (roles/viewer ) |
Concede permissão para listar buckets no projeto, visualizar metadados do buckets ao listar (excluindo ACLs) e listar e receber chaves HMAC no projeto. | storage.buckets.list storage.hmacKeys.get storage.hmacKeys.list |
Editor (roles/editor ) |
Concede permissão para criar, listar e excluir buckets no projeto, visualizar metadados do bucket ao listar (excluindo ACLs) e controlar chaves HMAC no projeto. | storage.buckets.create storage.buckets.delete storage.buckets.list storage.hmacKeys.* |
Proprietário (roles/owner ) |
Concede permissão para criar, listar e excluir buckets no projeto. ver metadados do bucket ao listar (excluindo ACLs); criar, excluir e listar vinculações de tags e controlar chaves HMAC no projeto. No Google Cloud, normalmente os participantes com este papel podem realizar tarefas administrativas, como alterar papéis de participantes do projeto ou alterar o faturamento. |
storage.buckets.create storage.buckets.delete storage.buckets.list storage.buckets.createTagBinding storage.buckets.deleteTagBinding storage.buckets.listEffectiveTags storage.buckets.listTagBindings storage.hmacKeys.* |
Comportamento modificável
Os principais que receberam papéis básicos geralmente têm acesso adicional aos buckets e objetos de um projeto devido aos valores de conveniência. Quando um bucket é criado, os valores de conveniência recebem acesso específico no nível do bucket, mas é possível editar posteriormente as políticas do IAM com relação ao bucket e as ACLs de objeto para remover ou alterar esse acesso.
Quando você cria um bucket com acesso uniforme no nível do bucket ativado, o seguinte acesso é concedido por meio de valores de conveniência:
Os principais que receberam
roles/viewer
recebem os papéisroles/storage.legacyBucketReader
eroles/storage.legacyObjectReader
para o bucket.Os principais que receberam
roles/editor
recebem os papéisroles/storage.legacyBucketOwner
eroles/storage.legacyObjectOwner
para o bucket.Os principais que receberam
roles/owner
recebem os papéisroles/storage.legacyBucketOwner
eroles/storage.legacyObjectOwner
para o bucket.
Quando você cria um bucket sem acesso uniforme no nível do bucket ativado, o seguinte acesso é concedido por meio de valores de conveniência:
Os principais que receberam
roles/viewer
recebem o papelroles/storage.legacyBucketReader
para o bucket.Os principais que receberam
roles/editor
recebem o papelroles/storage.legacyBucketOwner
para o bucket.Os principais que receberam
roles/owner
recebem o papelroles/storage.legacyBucketOwner
para o bucket.Além disso, o bucket tem uma lista de controle de acesso (ACL) de objeto padrão. Essa ACL padrão normalmente é aplicada a novos objetos no bucket e, geralmente, concede acesso adicional a valores de conveniência.
Papéis legados predefinidos
A tabela a seguir descreve os papéis de IAM que são equivalentes às permissões da Lista de Controle de Acesso (ACL). É possível conceder papéis legados somente para buckets específicos, não para projetos.
Papel | Descrição | Permissões |
---|---|---|
Leitor de objeto legado do Storage
(roles/storage.legacyObjectReader ) |
Concede permissão para ver objetos e os respectivos metadados, exceto ACLs. | storage.objects.get |
Proprietário de objeto legado do Storage
(roles/storage.legacyObjectOwner ) |
Concede permissão para ver e editar objetos e os respectivos metadados, incluindo ACLs. | storage.objects.get storage.objects.update storage.objects.setRetention storage.objects.overrideUnlockedRetention storage.objects.setIamPolicy storage.objects.getIamPolicy |
Leitor de bucket legado do Storage
(roles/storage.legacyBucketReader ) |
Concede permissão para listar o conteúdo de um bucket e ler os respectivos
metadados, exceto políticas do IAM. Também concede permissão
para ler metadados de objetos ao listar objetos e pastas gerenciadas (exceto
políticas do IAM).
O uso desse papel também se reflete nas ACLs do bucket. Consulte Relação de IAM com ACLs para mais informações. |
storage.buckets.get storage.objects.list storage.managedFolders.get storage.managedFolders.list storage.multipartUploads.list |
Gravador de bucket legado do Storage
(roles/storage.legacyBucketWriter ) |
Concede permissão para criar, substituir, listar e excluir objetos e pastas gerenciadas; criar objetos com uma configuração de retenção; ler metadados de objetos e pastas gerenciadas ao listar (exceto políticas do IAM); além de ler metadados do bucket, exceto as políticas do IAM.
O uso desse papel também se reflete nas ACLs do bucket. Consulte Relação de IAM com ACLs para mais informações. |
storage.buckets.get storage.objects.list storage.objects.create storage.objects.delete storage.objects.restore storage.objects.setRetention storage.managedFolders.create storage.managedFolders.delete storage.managedFolders.get storage.managedFolders.list storage.multipartUploads.* |
Proprietário de bucket legado do Storage
(roles/storage.legacyBucketOwner ) |
Concede permissão para criar, substituir, listar e excluir objetos e
pastas gerenciadas; criar objetos com uma configuração de retenção;
criar, excluir e listar vinculações de tags; ler metadados de objetos ao listar
(exceto políticas do IAM); ler metadados de pastas gerenciadas
ao listar (incluindo políticas do IAM); ler e editar
metadados de buckets (incluindo políticas do IAM); e gerenciar
operações de longa duração.
O uso desse papel também se reflete nas ACLs do intervalo. Consulte Relação de IAM com ACLs para mais informações. |
storage.buckets.get storage.buckets.createTagBinding storage.buckets.deleteTagBinding storage.buckets.listEffectiveTags storage.buckets.listTagBindings storage.buckets.update storage.buckets.enableObjectRetention storage.buckets.restore storage.buckets.setIamPolicy storage.buckets.getIamPolicy storage.bucketOperations.* storage.managedFolders.* storage.objects.list storage.objects.create storage.objects.delete storage.objects.restore storage.objects.setRetention storage.multipartUploads.* |
Papéis personalizados
É possível definir papéis que contêm os pacotes de permissões que você especificar. Para isso, o IAM oferece papéis personalizados.
A seguir
Use as permissões de IAM para controlar o acesso a buckets e objetos.
Saiba mais sobre cada permissão do IAM para o Cloud Storage.
Consulte as referências do IAM para o Cloud Storage disponíveis, como quais permissões do IAM permitem que os usuários realizem ações com várias ferramentas e APIs.
Para conhecer outros papéis do Google Cloud, consulte Noções básicas sobre papéis.