Papéis de IAM do metastore do Dataproc

O metastore do Dataproc define vários papéis de gerenciamento de identidade e acesso (IAM, na sigla em inglês). Cada papel predefinido contém um conjunto de permissões do IAM que permitem que os principais executem determinadas ações. É possível usar uma política do IAM para conceder um ou mais papéis principais do IAM.

O gerenciamento de identidade e acesso (IAM, na sigla em inglês) também oferece a capacidade de criar papéis de IAM personalizados. Também é possível criar papéis de IAM personalizados e atribuir a eles uma ou mais permissões. Em seguida, é possível conceder o novo papel a seus principais. Use papéis personalizados para criar um modelo de controle de acesso que corresponda às suas necessidades, junto com os papéis predefinidos disponíveis.

Nesta página, nos concentramos nos papéis do IAM relevantes para o metastore do Dataproc.

Antes de começar

Papéis do metastore do Dataproc

Os papéis do metastore do Identity and Access Management (IAM) são um pacote de uma ou mais permissões. Você concede papéis aos principais para permitir que executem ações nos recursos do metastore do Dataproc no seu projeto. Por exemplo, o papel Usuário do metastore do Dataproc contém as permissões metastore.*.get e metastore.*.list, que permitem a um usuário acessar e listar o Dataproc Serviços do metastore, importações de metadados, backups e operações em um projeto.

Papéis básicos

A tabela a seguir lista os papéis básicos e as permissões associadas a cada um deles:

ID do papel Permissões
roles/owner metastore.*.create
metastore.*.update
metastore.*.delete
metastore.*.get
metastore.*.list
metastore.*.getIamPolicy
metastore.*.setIamPolicy
roles/editor metastore.*.create
metastore.*.update
metastore.*.delete
metastore.*.get
metastore.*.list
metastore.*.getIamPolicy
roles/viewer metastore.*.get
metastore.*.list
metastore.*.getIamPolicy

Observações:

  • "*" significa tipos de recursos, como "serviços", "importações", "backups", "locais" ou "operações". Algumas permissões não estão definidas em determinados tipos de recursos. Por exemplo, create, update e delete não são permissões válidas para "locais". Além disso, as únicas permissões associadas a "operations" são get, list, cancel e delete.
  • O papel owner permite o controle total dos recursos do metastore do Dataproc e da administração de política do IAM.
  • O papel editor permite o controle total dos recursos do metastore do Dataproc.
  • O papel viewer permite que um usuário receba e liste os recursos do metastore do Dataproc e os detalhes da política do IAM.

É possível atribuir papéis básicos no nível do projeto usando os papéis do Projeto do IAM. Veja um resumo das permissões associadas aos papéis do Projeto do IAM:

Papel do projeto Permissões
Proprietário do projeto Todas as permissões do Editor do projeto acrescidas das permissões para gerenciar o controle de acesso do projeto (get/set IamPolicy) e configurar o faturamento do projeto
Editor do projeto Todas as permissões do Visualizador do projeto acrescidas de todas as permissões do projeto para ações que modificam o estado (criar, excluir, atualizar, usar, cancelar)
Visualizador do projeto Todas as permissões do projeto para ações somente leitura que preservam o estado (get, lista)

Papéis predefinidos

A tabela a seguir lista os papéis predefinidos (ou selecionados) do metastore do Dataproc e as permissões associadas a cada papel:

ID do papel Permissões
roles/metastore.admin metastore.services.create
metastore.services.update
metastore.services.delete
metastore.services.get
metastore.services.list
metastore.services.getIamPolicy
metastore.services.setIamPolicy
metastore.services.export
metastore.services.restore
metastore.imports.create
metastore.imports.update
metastore.imports.delete
metastore.imports.get
metastore.imports.list
metastore.backups.create
metastore.backups.delete
metastore.backups.get
metastore.backups.list
metastore.backups.getIamPolicy
metastore.backups.setIamPolicy
metastore.locations.get
metastore.locations.list
metastore.operations.get
metastore.operations.list
metastore.operations.cancel
metastore.operations.delete
metastore.federations.create
metastore.federations.update
metastore.federations.delete
metastore.federations.get
metastore.federations.list
metastore.federations.getIamPolicy
metastore.federations.setIamPolicy
roles/metastore.editor metastore.services.create
metastore.services.update
metastore.services.delete
metastore.services.get
metastore.services.list
metastore.services.getIamPolicy
metastore.services.export
metastore.services.restore
metastore.imports.create
metastore.imports.update
metastore.imports.delete
metastore.imports.get
metastore.imports.list
metastore.backups.create
metastore.backups.delete
metastore.backups.get
metastore.backups.list
metastore.backups.getIamPolicy
metastore.locations.get
metastore.locations.list
metastore.operations.get
metastore.operations.list
metastore.operations.cancel
metastore.operations.delete
metastore.federations.create
metastore.federations.update
metastore.federations.delete
metastore.federations.get
metastore.federations.list
metastore.federations.getIamPolicy
roles/metastore.user metastore.services.get
metastore.services.list
metastore.services.getIamPolicy
metastore.imports.get
metastore.imports.list
metastore.backups.get
metastore.backups.list
metastore.backups.getIamPolicy
metastore.locations.get
metastore.locations.list
metastore.operations.get
metastore.operations.list
metastore.federations.get
metastore.federations.list
metastore.federations.getIamPolicy
roles/metastore.metadataOperator metastore.services.get
metastore.services.list
metastore.services.getIamPolicy
metastore.imports.create
metastore.imports.update
metastore.imports.delete
metastore.imports.get
metastore.imports.list
metastore.backups.create
metastore.backups.delete
metastore.backups.get
metastore.backups.list
metastore.backups.use
metastore.locations.get
metastore.locations.list
metastore.operations.get
metastore.operations.list
metastore.federations.get
metastore.federations.list
metastore.federations.getIamPolicy

Observações:

  • Algumas permissões não estão definidas em determinados tipos de recursos. Por exemplo, create, update e delete não são permissões válidas para "locais". Além disso, as únicas permissões associadas a "operations" são get, list, cancel e delete.
  • O papel metastore.admin concede acesso total a todos os recursos do metastore do Dataproc, incluindo a administração de políticas do IAM.
  • O papel metastore.editor concede acesso de leitura e gravação a todos os recursos do metastore do Dataproc.
  • O papel metastore.user concede acesso de leitura a todos os recursos do metastore do Dataproc.
  • Os papéis metastore.metadataOperator, metastore.metadataOwner e metastore.metadataEditor concedem acesso de leitura e modificação aos metadados de bancos de dados e tabelas nesses bancos de dados.
  • Os papéis metastore.metadataViewer e"metastore.metadataUser"concedem acesso de leitura aos metadados de bancos de dados e tabelas nesses bancos de dados.

Papéis predefinidos para recursos de metadados

A tabela a seguir lista os papéis predefinidos (ou selecionados) do metastore do Dataproc para recursos de metadados e detalhes associados a cada papel:

Papel predefinido Descrição Permissões Operações que um principal pode executar quando esse papel é atribuído a ele
Papel Proprietário de metadados (metastore.metadataOwner) Concede acesso total aos recursos de metadados e às políticas do IAM. metastore.services.get
metastore.services.list
metastore.services.getIamPolicy
metastore.services.use
metastore.databases.*
metastore.tables.*
Em um serviço:
  • Pode acessar bancos de dados
  • Pode listar bancos de dados
  • Pode criar bancos de dados
  • Pode excluir bancos de dados
  • Pode atualizar bancos de dados
  • Pode definir a política de controle de acesso do IAM nos bancos de dados
  • Conseguir a política de controle de acesso do IAM nos bancos de dados
  • Pode acessar tabelas
  • Pode listar tabelas
  • Pode criar tabelas
  • Pode excluir tabelas
  • Pode atualizar tabelas
  • Pode definir a política de controle de acesso do IAM nas tabelas
  • Pode acessar a política de controle de acesso do IAM nas tabelas
  • Pode acessar partições
  • Pode listar partições
  • Pode adicionar partições
  • Pode excluir partições
  • Pode atualizar partições
Em um banco de dados:
  • Pode acessar bancos de dados
  • Pode excluir bancos de dados
  • Pode atualizar bancos de dados
  • Pode definir a política de controle de acesso do IAM nos bancos de dados
  • Conseguir a política de controle de acesso do IAM nos bancos de dados
  • Pode acessar tabelas
  • Pode listar tabelas
  • Pode criar tabelas
  • Pode excluir tabelas
  • Pode atualizar tabelas
  • Pode definir a política de controle de acesso do IAM nas tabelas
  • Pode acessar a política de controle de acesso do IAM nas tabelas
  • Pode acessar partições
  • Pode listar partições
  • Pode adicionar partições
  • Pode excluir partições
  • Pode atualizar partições
Em uma tabela:
  • Pode acessar tabelas
  • Pode excluir tabelas
  • Pode atualizar tabelas
  • Pode definir a política de controle de acesso do IAM nas tabelas
  • Pode acessar a política de controle de acesso do IAM nas tabelas
  • Pode acessar partições
  • Pode listar partições
  • Pode adicionar partições
  • Pode excluir partições
  • Pode atualizar partições
Papel de editor de metadados (metastore.metadataEditor) Concede acesso a um principal para criar e modificar recursos de metadados. metastore.services.get
metastore.services.use
metastore.databases.create
metastore.databases.update
metastore.databases.delete
metastore.databases.get
metastore.databases.list
metastore.databases.getIamPolicy
metastore.tables.create
metastore.tables.update
metastore.tables.delete
metastore.tables.get
metastore.tables.list
metastore.tables.getIamPolicy
Em um serviço:
  • Pode acessar bancos de dados
  • Pode listar bancos de dados
  • Pode criar bancos de dados
  • Pode excluir bancos de dados
  • Pode atualizar bancos de dados
  • Conseguir a política de controle de acesso do IAM nos bancos de dados
  • Pode acessar tabelas
  • Pode listar tabelas
  • Pode criar tabelas
  • Pode excluir tabelas
  • Pode atualizar tabelas
  • Pode acessar a política de controle de acesso do IAM nas tabelas
  • Pode acessar partições
  • Pode listar partições
  • Pode adicionar partições
  • Pode excluir partições
  • Pode atualizar partições
Em um banco de dados:
  • Pode acessar bancos de dados
  • Pode excluir bancos de dados
  • Pode atualizar bancos de dados
  • Conseguir a política de controle de acesso do IAM nos bancos de dados
  • Pode acessar tabelas
  • Pode listar tabelas
  • Pode criar tabelas
  • Pode excluir tabelas
  • Pode atualizar tabelas
  • Pode acessar a política de controle de acesso do IAM nas tabelas
  • Pode acessar partições
  • Pode listar partições
  • Pode adicionar partições
  • Pode excluir partições
  • Pode atualizar partições
Em uma tabela:
  • Pode acessar tabelas
  • Pode excluir tabelas
  • Pode atualizar tabelas
  • Pode acessar a política de controle de acesso do IAM nas tabelas
  • Pode acessar partições
  • Pode listar partições
  • Pode adicionar partições
  • Pode excluir partições
  • Pode atualizar partições
Papel Visualizador de metadados (metastore.metadataViewer) Concede acesso a um principal para visualizar os recursos de metadados. metastore.services.get
metastore.services.use
metastore.databases.get
metastore.databases.list
metastore.databases.getIamPolicy
metastore.tables.get
metastore.tables.list
metastore.tables.getIamPolicy
Em um serviço:
  • Pode acessar bancos de dados
  • Pode listar bancos de dados
  • Conseguir a política de controle de acesso do IAM nos bancos de dados
  • Pode acessar tabelas
  • Pode listar tabelas
  • Pode acessar a política de controle de acesso do IAM nas tabelas
  • Pode acessar partições
  • Pode listar partições
Em um banco de dados:
  • Pode acessar bancos de dados
  • Conseguir a política de controle de acesso do IAM nos bancos de dados
  • Pode acessar tabelas
  • Pode listar tabelas
  • Pode acessar a política de controle de acesso do IAM nas tabelas
  • Pode acessar partições
  • Pode listar partições
Em uma tabela:
  • Pode acessar tabelas
  • Pode acessar a política de controle de acesso do IAM nas tabelas
  • Pode acessar partições
  • Pode listar partições
Papel de usuário de metadados (metastore.metadataUser) Concede acesso a um principal para usar um endpoint gRPC do serviço do metastore do Dataproc. Precisa ser concedido na política de nível de serviço ou acima. metastore.services.get
metastore.services.use
metastore.databases.get
metastore.databases.list
Em um serviço:
  • Pode acessar bancos de dados
  • Pode listar bancos de dados
  • Pode chamar métodos não relacionados a recursos de metadados específicos.
Papel de acessador da federação (metastore.federationAccessor) Concede acesso ao recurso de federação do metastore. Precisa ser concedido na política de nível de serviço ou acima. metastore.federations.use Concede acesso ao recurso de federação do metastore.
  • "*" representa métodos, como "quot;create"," "update," "delete," "get," ou "list."
  • As permissões de bancos de dados e tabelas são usadas com os serviços do metastore do Dataproc ativados para gRPC. Elas não têm efeito quando usadas com serviços que usam endpoints do Thrift.

A seguir