Configurar as políticas do Apache Hive no HDInsight com o Pacote de Segurança Enterprise

Neste artigo, você aprenderá a configurar políticas do Apache Ranger para o Apache Hive. Você cria duas políticas Ranger para restringir o hivesampletableacesso ao . O hivesampletable vem com clusters HDInsight. Depois de configurar as políticas, use o Excel e o driver ODBC (Open Database Connectivity) para se conectar a tabelas do Hive no HDInsight.

Pré-requisitos

  • Um cluster HDInsight com Enterprise Security Package (ESP). Para obter mais informações, consulte Configurar clusters HDInsight com ESP.
  • Uma estação de trabalho com aplicativos Microsoft 365 para empresas, Office 2016, Office 2013 Professional Plus, Excel 2013 Autônomo ou Office 2010 Professional Plus.

Conectar-se à interface do usuário de administração do Apache Ranger

Para se conectar à interface do usuário (UI) do Ranger Admin:

  1. Em um navegador, vá para a interface do usuário do Ranger Admin em https://CLUSTERNAME.azurehdinsight.net/Ranger/ onde CLUSTERNAME está o nome do cluster.

    Nota

    A Ranger usa credenciais diferentes do cluster Apache Hadoop. Para impedir que os navegadores usem credenciais Hadoop armazenadas em cache, use uma nova janela do navegador InPrivate para se conectar à interface do usuário do Ranger Admin.

  2. Entre usando o nome de usuário e a senha do domínio do administrador do cluster:

    Screenshot that shows the HDInsight ESP Ranger home page.

    Atualmente, o Ranger só funciona com o Yarn e o Hive.

Criar utilizadores de domínio

Para obter informações sobre como criar hiveruser1 e hiveuser2, consulte Criar um cluster HDInsight com ESP. Você usa as duas contas de usuário neste artigo.

Criar políticas do Ranger

Nesta seção, você cria duas políticas do Ranger para acessar o hivesampletable. Você dá permissão de seleção em diferentes conjuntos de colunas. Ambos os usuários foram criados usando Criar um cluster HDInsight com ESP. Na próxima seção, você testa as duas políticas no Excel.

Para criar políticas de Ranger:

  1. Abra a IU do Ranger Admin. Consulte a seção anterior, Conectar à interface do usuário de administração do Apache Ranger.

  2. Em Hive, selecione CLUSTERNAME_Hive. Você verá duas políticas pré-configuradas.

  3. Selecione Adicionar nova política e insira os seguintes valores:

    Property valor
    Nome da Política read-hivesampletable-all
    Banco de dados do Hive default
    tabela HiveSampleTable
    Coluna Hive *
    Selecionar Utilizador Hiveuser1
    Permissões selecione

    Screenshot that shows the HDInsight ESP Ranger Hive policies to configure. .

    Nota

    Se um usuário de domínio não estiver preenchido em Selecionar usuário, aguarde alguns momentos até que o Ranger sincronize com o ID do Microsoft Entra.

  4. Selecione Adicionar para salvar a política.

  5. Repita os dois últimos passos para criar outra política com as seguintes propriedades:

    Property valor
    Nome da Política read-hivesampletable-devicemake
    Banco de dados do Hive default
    tabela HiveSampleTable
    Coluna Colmeia clientid, devicemake
    Selecionar Utilizador Hiveuser2
    Permissões selecione

Criar uma fonte de dados ODBC do Hive

Para obter instruções sobre como criar uma fonte de dados ODBC do Hive, consulte Criar uma fonte de dados ODBC do Hive.

Property Description
Nome da Origem de Dados Dê um nome à sua fonte de dados.
Host Digite CLUSTERNAME.azurehdinsight.net. Por exemplo, use myHDICluster.azurehdinsight.net.
Porta Utilize 443. (Esta porta mudou de 563 para 443.)
Base de Dados Use Predefinição.
Tipo de Servidor do Hive Selecione Hive Server 2.
Mecanismo Selecione Serviço Azure HDInsight.
Caminho HTTP Deixe em branco.
Nome de Utilizador Introduzir hiveuser1@contoso158.onmicrosoft.com. Atualize o nome de domínio se for diferente.
Palavra-passe Introduza a palavra-passe para hiveuser1.

Selecione Testar antes de salvar a fonte de dados.

Importe dados para o Excel a partir do HDInsight

Na última seção, você configurou duas políticas: hiveuser1 tem a permissão selecionar em todas as colunas e hiveuser2 tem a permissão selecionar em duas colunas. Nesta secção, representa os dois utilizadores para importar dados para o Excel.

  1. Abra um livro novo ou existente no Excel.

  2. Na guia Dados, vá para Obter dados>de outras fontes>do ODBC para abrir a janela Do ODBC.

    Screenshot that shows the Open data connection wizard.

  3. Na lista suspensa, selecione o nome da fonte de dados que você criou na última seção e, em seguida, selecione OK.

  4. Para o primeiro uso, uma caixa de diálogo do driver ODBC é aberta. Selecione Windows no menu à esquerda. Em seguida, selecione Conectar para abrir a janela Navegador .

  5. Aguarde que a caixa de diálogo Selecionar Base de Dados e Tabela se abra. Este passo pode demorar alguns segundos.

  6. Selecione hivesampletable>Next.

  7. Selecione Concluir.

  8. Na caixa de diálogo Importar Dados, pode alterar ou especificar a consulta. Para fazer isso, selecione Propriedades. Este passo pode demorar alguns segundos.

  9. Selecione a guia Definição . O texto do comando é:

    SELECT * FROM "HIVE"."default"."hivesampletable"`
    

    Pelas políticas de Ranger que você definiu, hiveuser1 tem permissão de seleção em todas as colunas. Esta consulta funciona com as credenciais do hiveuser1, mas não funciona com as credenciais hiveuser2do .

  10. Selecione OK para fechar a caixa de diálogo Propriedades da conexão.

  11. Selecione OK para fechar a caixa de diálogo Importar dados .

  12. Reintroduza a palavra-passe para hiveuser1 e, em seguida, selecione OK. Demora alguns segundos até que os dados sejam importados para o Excel. Quando terminar, você verá 11 colunas de dados.

Para testar a segunda política (read-hivesampletable-devicemake) que você criou na última seção:

  1. Adicione uma nova folha no Excel.

  2. Siga o último procedimento para importar os dados. A única alteração feita é usar as credenciais para hiveuser2 em vez de hiveuser1. Esta ação falha porque hiveuser2 tem permissão para ver apenas duas colunas. Você vê o seguinte erro:

    [Microsoft][HiveODBC] (35) Error from Hive: error code: '40000' error message: 'Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [hiveuser2] does not have [SELECT] privilege on [default/hivesampletable/clientid,country ...]'.
    
  3. Siga o mesmo procedimento para importar dados. Desta vez, use as credenciais para hiveuser2 e também modifique a instrução select de:

    SELECT * FROM "HIVE"."default"."hivesampletable"
    

    Para:

    SELECT clientid, devicemake FROM "HIVE"."default"."hivesampletable"
    

    Quando terminar, você verá duas colunas de dados importados.

Próximos passos