Partilhar via


Privilégios e objetos protegíveis no metastore do Hive

Aplica-se a: Marque Sim Databricks SQL Marque Sim Databricks Runtime

Um privilégio é um direito concedido a um comitente para operar em um objeto protegível no metastore.

O modelo de privilégio e os objetos protegíveis diferem dependendo se você estiver usando um metastore do Unity Catalog ou o metastore herdado do Hive. Este artigo descreve o modelo de privilégio para o metastore herdado do Hive. Se você estiver usando o Unity Catalog, consulte Privilégios e objetos protegíveis no Unity Catalog.

Objetos protegíveis no metastore do Hive

Um objeto protegível é um objeto definido no metastore no qual privilégios podem ser concedidos a uma entidade de segurança.

Para gerenciar privilégios em qualquer objeto, você deve ser seu proprietário ou administrador.

Sintaxe

  securable_object
    { ANY FILE |
      CATALOG [ catalog_name ] |
      { SCHEMA | DATABASE } schema_name |
      FUNCTION function_name |
      [ TABLE ] table_name |
      VIEW view_name
      }

Parâmetros

  • ANY FILE

    Controla o acesso ao sistema de arquivos subjacente.

  • CATALOGcatalog_name

    Controla o acesso a todo o catálogo de dados.

  • { SCHEMA | DATABASE }schema_name

    Controla o acesso a um esquema.

  • FUNCTIONfunction_name

    Controla o acesso a uma função nomeada.

  • [ TABLE ]table_name

    Controla o acesso a uma tabela gerenciada ou externa.

  • VIEWview_name

    Controla o acesso a exibições SQL.

Modelo de herança

Os objetos protegíveis no metastore do Hive são hierárquicos e os privilégios são herdados para baixo. Isso significa que conceder ou negar um privilégio no CATALOG automaticamente concede ou nega o privilégio a todos os esquemas no catálogo. Da mesma forma, os privilégios concedidos em um objeto de esquema são herdados por todos os objetos nesse esquema. Esse padrão é verdadeiro para todos os objetos protegíveis.

Se você negar privilégios de usuário em uma tabela, o usuário não poderá ver a tabela tentando listar todas as tabelas no esquema. Se você negar privilégios de usuário em um esquema, o usuário não poderá ver que o esquema existe tentando listar todos os esquemas no catálogo.

Tipos de privilégios

A tabela a seguir mostra quais privilégios estão associados a quais objetos protegíveis.

Tipo de privilégio FUNÇÃO ANÓNIMA QUALQUER FICHEIRO CATÁLOGO ESQUEMA FUNÇÃO TABELA VER
CREATE Sim Sim
MODIFICAR Sim Sim Sim Sim
READ_METADATA Sim Sim Sim Sim
SELECIONAR Sim Sim Sim Sim Sim Sim Sim
UTILIZAÇÃO Sim Sim
  • ALL PRIVILEGES

    Usado para conceder ou revogar todos os privilégios aplicáveis ao protegível e seus objetos filhos sem especificá-los explicitamente. Isto expande-se para todos os privilégios disponíveis no momento em que as verificações de permissões são efetuadas.

  • CREATE

    Crie objetos dentro do catálogo ou esquema.

  • MODIFY

    COPIAR EM, ATUALIZAR EXCLUIR, INSERIR ou MESCLAR na tabela.

    Se o securable_object for o ou um esquema dentro dele, a hive_metastore concessão MODIFY será concedida MODIFY em todas as tabelas e exibições atuais e futuras dentro do objeto protegível.

  • READ_METADATA

    Descubra o objeto protegível em SHOW e interrogue o objeto em DESCRIBE

    Se o objeto protegível for o hive_metastore catálogo ou um esquema dentro dele, a concessão READ_METADATA será concedida READ_METADATA em todas as tabelas e exibições atuais e futuras dentro do objeto protegível.

  • READ FILES

    Consulte arquivos diretamente usando a credencial de armazenamento ou o local externo.

  • SELECT

    Consulte uma tabela ou vista, invoque uma função anónima ou definida pelo utilizador ou selecione ANY FILE. O usuário precisa SELECT na tabela, exibição ou função, bem como USAGE no esquema e catálogo do objeto.

    Se o objeto protegível for o hive_metastore ou um esquema dentro dele, a concessão SELECT será concedida SELECT em todas as tabelas e exibições atuais e futuras dentro do objeto protegível.

  • USAGE

    Obrigatório, mas não suficiente para fazer referência a quaisquer objetos em um catálogo ou esquema. O principal também precisa ter privilégios sobre os objetos protegíveis individuais.

  • WRITE FILES

    Copie diretamente em arquivos regidos pela credencial de armazenamento ou local externo.

Exemplos

-- Grant a privilege to the user alf@melmak.et
> GRANT SELECT ON TABLE t TO `alf@melmak.et`;

-- Revoke a privilege from the general public group.
> REVOKE USAGE ON SCHEMA some_schema FROM `alf@melmak.et`;