Papéis do Cloud IAM para o Cloud Storage

Papéis predefinidos

A tabela a seguir descreve papéis do Cloud Identity and Access Management (Cloud IAM) que estão associados ao Cloud Storage e lista as permissões contidas em cada papel. Esses papéis podem ser aplicados a projetos inteiros ou buckets específicos, exceto se indicado de outra forma.

Papel Descrição Permissões
Criador de objetos do Storage (roles/storage.objectCreator) Permite que usuários criem objetos. Não concede permissões para ver, excluir ou substituir objetos. resourcemanager.projects.get
resourcemanager.projects.list
storage.objects.create
Leitor de objetos do Storage (roles/storage.objectViewer) Dá acesso para visualizar objetos e metadados, exceto ACLs.

Também pode listar os objetos em um bucket.

resourcemanager.projects.get
resourcemanager.projects.list
storage.objects.get
storage.objects.list
Administrador de objetos do Storage (roles/storage.objectAdmin) Concede controle total dos objetos, incluindo listagem, criação, visualização e exclusão. resourcemanager.projects.get
resourcemanager.projects.list
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. storage.hmacKeys.*
Administrador do Storage (roles/storage.admin) Concede controle total de buckets e objetos.

Quando aplicado a um bucket individual, o controle se aplica apenas ao bucket e aos objetos especificados nele.

firebase.projects.get
resourcemanager.projects.get
resourcemanager.projects.list
storage.buckets.*
storage.objects.*

Papéis primários

Papéis primários são aqueles que existiam antes do Cloud IAM. Esses papéis têm características únicas:

  • Os papéis primários só podem ser concedidos para um projeto inteiro, não para buckets específicos dentro do projeto. Assim como outros papéis que você concede para um projeto, os papéis primários se aplicam a todos os buckets e objetos no projeto.

  • Os papéis primários contêm permissões adicionais para outros serviços do Google Cloud que não são abordados nesta seção. Consulte papéis primários para uma discussão geral sobre as permissões que os papéis primários concedem.

  • Em alguns casos, os papéis primários podem ser usados como se fossem grupos, o que faz com que qualquer membro que tenha um papel primário tenha acesso adicional a certos recursos.

    • Um papel primário pode ser usado como se fosse um grupo ao conceder papéis para buckets.

    • Um papel primário pode ser usado como se fosse um grupo ao definir ACLs nos objetos.

    Para uma discussão sobre o acesso adicional que membros de papéis primários normalmente ganham 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 primário.

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, visualizar metadados do bucket ao listar (excluindo ACLs) e controlar chaves HMAC no projeto.

No Google Cloud, normalmente os membros com este papel podem realizar tarefas administrativas, como alterar papéis de membros do projeto ou alterar o faturamento.

storage.buckets.create
storage.buckets.delete
storage.buckets.list
storage.hmacKeys.*

Comportamento modificável

Os membros que receberam um papel primário geralmente recebem acesso adicional além das permissões intrínsecas associadas ao papel. Isso ocorre porque os próprios papéis primários podem receber acesso a buckets e objetos. A tabela a seguir descreve o acesso adicional do Cloud Storage normalmente associado a cada papel primário. É possível modificar ou remover esse acesso adicional concedido a papéis primários.

Papel Acesso adicional adquirido pelos membros que têm o papel
Leitor (roles/viewer)
Editor (roles/editor)
Proprietário (roles/owner)

Papéis legados predefinidos

Na tabela a seguir, listamos os papéis do Cloud 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.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 Cloud IAM. Também concede permissão para ler metadados de objetos ao listar objetos (exceto políticas do Cloud IAM).

O uso desse papel também se reflete nas ACLs do bucket. Consulte a relação do Cloud IAM com as ACLs para mais informações.

storage.buckets.get
storage.objects.list
Gravador de bucket legado do Storage (roles/storage.legacyBucketWriter) Concede permissão para criar, substituir e excluir objetos; listar objetos em um bucket; ler metadados de objeto ao listar (excluindo políticas do Cloud IAM); e ler metadados do bucket, excluindo as políticas do Cloud IAM.

O uso desse papel também se reflete nas ACLs do bucket. Consulte a relação do Cloud IAM com as ACLs para mais informações.

storage.buckets.get
storage.objects.list
storage.objects.create
storage.objects.delete
Proprietário de bucket legado do Storage (roles/storage.legacyBucketOwner) Concede permissão para criar, substituir e excluir objetos; listar objetos em um bucket; ler metadados de objeto ao listar (excluindo políticas do Cloud IAM); e ler metadados do bucket, incluindo as políticas do Cloud IAM.

O uso desse papel também se reflete nas ACLs do bucket. Consulte a relação do Cloud IAM com as ACLs para mais informações.

storage.buckets.get
storage.buckets.update
storage.buckets.setIamPolicy
storage.buckets.getIamPolicy
storage.objects.list
storage.objects.create
storage.objects.delete

Papéis personalizados

É possível definir papéis contendo os pacotes de permissões que você especificar. Para isso, o Cloud IAM oferece papéis personalizados.

A seguir