Todos os produtos
Search
Central de documentação

E-MapReduce:Configure Ranger access control for Hive

Última atualização: Jul 06, 2026

Este tópico explica como ativar o controle de acesso do Ranger para o Hive e fornece exemplos de configuração das permissões do Ranger Hive.

Pré-requisitos

Crie um cluster DataLake e selecione o serviço Ranger. Para mais informações, consulte Criar um cluster.

Observações de uso

Após a ativação do controle de acesso do Ranger para o Hive, o serviço HiveServer2 carrega o plugin Ranger Hive. O Ranger verifica as permissões apenas quando você envia jobs SQL pelo HiveServer2. O acesso ao Hive por outros métodos não aciona essa verificação.

  • Métodos de acesso compatíveis com a verificação de permissões

    • Acesso ao HiveServer2 com um cliente Beeline.

    • Conexão ao HiveServer2 por uma JDBC URL.

  • Métodos de acesso incompatíveis com a verificação de permissões

    • Conexão direta ao Metastore com um cliente Hive.

    • Conexão direta ao Metastore pela API Hive-Client.

Importante

O controle de acesso do Ranger aplica-se somente à camada de metadados e operações SQL do Hive. O Ranger não oferece suporte a controle de acesso na camada de armazenamento OSS ou OSS-HDFS. Não configure políticas de permissão da camada de armazenamento no Ranger, pois elas não entrarão em vigor.

Procedimento

  1. Acesse a página Cluster Service.

    1. Faça login no console EMR on ECS.

    2. Na barra de navegação superior, selecione uma região e um grupo de recursos conforme necessário.

    3. Na coluna Actions do cluster desejado, clique em Services.

  2. Ative o Hive no Ranger.

    1. Na página Services, localize o serviço Ranger-plugin e clique em seu Status.

    2. Na seção Service Overview, ative a chave enableHive.

    3. Na caixa de diálogo exibida, clique em OK.

  3. Reinicie o HiveServer.

    1. Na página Services, selecione more > Hive.

    2. Na seção Components, clique em Restart na coluna Actions do HiveServer.

    3. Na caixa de diálogo exibida, insira um Execution Reason e clique em OK.

    4. Na caixa de diálogo Confirm, clique em OK.

Configuração de permissões

Visão geral

Configure as permissões do Ranger na Ranger UI. Para obter instruções sobre como acessar a Ranger UI, consulte Visão geral do Ranger.

Para configurar as permissões do Hive no Ranger, clique em emr-hive em HADOOP SQL, conforme mostra a figura a seguir.hive power

Caso o serviço emr-hive não apareça na Ranger UI, execute as etapas abaixo:

  1. Faça login no console EMR on ECS.

  2. Na página de serviços do cluster, localize o serviço Ranger-plugin e clique em Status para abrir a página de configuração.

  3. Pesquise o parâmetro enableImpala e defina seu valor como true.

  4. Salve a configuração.

  5. Atualize a página da Ranger UI. O serviço emr-hive aparecerá em HADOOP SQL.

Ao abrir o serviço emr-hive, você verá uma lista com todas as políticas de permissão configuradas. Por padrão, o Ranger inclui várias políticas. Por exemplo, uma política padrão concede ao usuário hive (usuário de inicialização do serviço HiveServer) acesso total a todos os recursos de banco de dados, tabela, coluna, UDF e URL. Outra política padrão concede a todos os usuários a permissão de criação para bancos de dados e para recursos dentro do banco de dados default.

Adicionar uma política de permissão

Clique em Add New Policy no canto superior direito para adicionar uma política de permissão. Cada política exige um Policy Name exclusivo. Uma política básica consiste em três componentes principais: recursos, usuários e permissões. Os recursos são os ativos regidos pela política, como banco de dados, tabela, coluna ou URL. Os usuários são as contas às quais a política se aplica. As permissões definem os tipos de acesso concedidos.

  • Recursos da política

    No Ranger para Hive, os recursos da política incluem database, table, column, url e udf. Selecione um tipo de recurso para configurar suas permissões. Por padrão, o formulário da política exibe campos para database, table e column. Clique no nome de um recurso para alternar para outro tipo.

    Ao configurar uma política, insira o nome do recurso. Por exemplo, insira testdb para database, test para table, id para column ou oss://test-bucket/test/tmp para url. Também é possível inserir um asterisco (*) para corresponder a todos os recursos desse tipo, conforme ilustra a figura a seguir.*

  • Usuários da política

    Toda política deve ser aplicada a usuários específicos. Selecione os usuários na lista Select User, conforme mostra a figura a seguir.User

  • Permissões da política

    Clique em Add Permissions para exibir a seção add/edit permissions. Em seguida, selecione a permission desejada, conforme ilustra a figura a seguir.permission

Exemplo 1: Permissões no nível de coluna

Um caso de uso comum do controle de acesso do Ranger é conceder a um usuário específico a permissão select em uma tabela. Isso garante que o usuário possa executar consultas select columns from table. A figura a seguir mostra um exemplo de configuração.exmple

Essa política concede ao usuário test a permissão select na column=id da table=test dentro do database=testdb. Assim, o usuário pode executar a consulta select id from testdb.test. Para permitir que um usuário selecione todas as colunas de testdb.test, defina o campo column como *.

Exemplo 2: Permissões no nível de tabela

No Ranger para Hive, a permissão create para tabelas pode ser configurada no nível da tabela. Por exemplo, se você conceder a permissão create para database=testdb, table=test e column=*, o usuário poderá criar apenas a tabela chamada test. A criação de outras tabelas não será permitida. Para permitir que um usuário crie qualquer tabela em um banco de dados, conceda a permissão create para database=testdb, table= e column=. A figura a seguir ilustra essa configuração.Setting

Exemplo 3: Permissões de URL

Ao executar uma instrução SQL do Hive que inclui uma cláusula LOCATION com o esquema oss, o Ranger verifica as permissões de leitura e gravação do usuário para essa URL. Por exemplo, a execução de create external table test(id int, name string) location 'oss://test-bucket/test' aciona uma verificação de permissão de leitura em oss://test-bucket/test.

Nesse cenário, configure uma política para a permissão de URL. Para alterar o tipo de recurso para url, consulte as instruções na seção "Adicionar uma política de permissão". A figura a seguir apresenta um exemplo de configuração.image

Se não for necessário controlar as permissões de URL, modifique a política all - url no Policy Name padrão e adicione public ao Select Group. Essa ação concede a todos os usuários permissões de leitura e gravação em todas as URLs. As etapas específicas estão ilustradas na figura abaixo.

Nota

No Ranger, public é um grupo especial que representa todos os usuários. Quando o Select Group de uma política é definido como public, as permissões dessa política se aplicam a todos os usuários.

public

Perguntas frequentes

Como configuro permissões do Ranger Hive para uma conta somente leitura?

Para conceder a uma conta somente leitura apenas a permissão select em recursos específicos do Hive, crie uma política do Ranger seguindo estas etapas:

  1. Na Ranger UI, clique em emr-hive em HADOOP SQL para abrir a lista de políticas do Hive.

  2. Clique em Add New Policy no canto superior direito.

  3. Configure os recursos da política:

    • database: Insira o nome do banco de dados desejado ou use * para corresponder a todos os bancos de dados.

    • table: Insira o nome da tabela desejada ou use * para corresponder a todas as tabelas.

    • column: Insira * para corresponder a todas as colunas ou especifique nomes de colunas individuais.

  4. No campo Select User, selecione a conta somente leitura.

  5. Clique em Add Permissions e selecione apenas a permissão select.

  6. Clique em Add para salvar a política.

Caso tenha dúvidas sobre qual conta especificar, selecione todos os usuários na lista suspensa Select User ou verifique os logs de auditoria do Ranger para identificar as contas que se conectaram anteriormente ao Hive.

O EMR 4.9.0 suporta o uso do Ranger para controlar permissões do Impala?

Não. O EMR 4.9.0 não oferece suporte ao uso do Ranger para controlar permissões do Impala. Para utilizar o Ranger no controle de acesso do Impala, atualize seu cluster para uma versão posterior do EMR compatível com esse recurso ou adote uma solução alternativa de gerenciamento de permissões.