Configurar políticas do Apache Hive no HDInsight com o Enterprise Security Package

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

Pré-requisitos

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

Conectar-se à interface do usuário do Administrador do Apache Ranger

Para se conectar à interface do usuário do Administrador do Ranger:

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

    Observação

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

  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 Hive e o Yarn.

Crie usuários de domínio

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

Criar políticas do Ranger

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

Para criar as políticas do Ranger:

  1. Abra o interface do usuário administrador do Ranger. Confira a seção anterior, Conectar-se à interface do usuário do Administrador do Apache Ranger.

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

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

    Propriedade Valor
    Nome da política read-hivesampletable-all
    Banco de Dados do Hive padrão
    table hivesampletable
    Coluna Hive *
    Selecionar usuário hiveuser1
    Permissões select

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

    Observação

    Se um usuário de domínio não for preenchido em Selecionar Usuário, aguarde alguns instantes para que o Ranger sincronize com o Microsoft Entra ID.

  4. Selecione Adicionar para salvar a política.

  5. Repita as duas últimas etapas para criar outra política com as seguintes propriedades:

    Propriedade Valor
    Nome da política read-hivesampletable-devicemake
    Banco de Dados do Hive padrão
    table hivesampletable
    Coluna de Hive clientid, devicemake
    Selecionar usuário hiveuser2
    Permissões select

Criar uma fonte de dados ODBC do Hive

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

Propriedade Descrição
Nome da Fonte de Dados Forneça um nome para a sua fonte de dados.
Host Insira CLUSTERNAME.azurehdinsight.net. Por exemplo, use myHDICluster.azurehdinsight.net.
Porta Use 443. (Essa porta foi alterada de 563 para 443.)
Backup de banco de dados Use Padrão.
Tipo de servidor Hive Selecione Hive Server 2.
Mecanismo Selecione Serviço do Azure HDInsight.
Caminho HTTP Deixe em branco.
Nome do Usuário Digite hiveuser1@contoso158.onmicrosoft.com. Atualize o nome de domínio se ele for diferente.
Senha Insira a senha para hiveuser1.

Selecione Testar antes de salvar a fonte de dados.

Importar dados do HDInsight para o Excel

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

  1. Abra uma pasta de trabalho nova ou existente no Excel.

  2. Na guia Dados, acesse 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, escolha o nome da fonte de dados que você criou na última seção e escolha OK.

  4. No primeiro uso, uma caixa de diálogo do Driver ODBC se abrirá. Escolha Windows no menu à esquerda. Em seguida, selecione Conectar para abrir a janela Navegador.

  5. Aguarde até que a caixa de diálogo Selecionar Banco de Dados e Tabela seja aberta. Esta etapa pode demorar alguns segundos.

  6. Selecione hivesampletable>Avançar.

  7. Selecione Concluir.

  8. No diálogo Importar Dados , você pode alterar ou especificar a consulta. Para fazer isso, selecione Propriedades. Esta etapa pode demorar alguns segundos.

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

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

    De acordo com as políticas do Ranger definidas por você, hiveuser1 tem permissão de seleção em todas as colunas. Essa consulta funciona com as credenciais de hiveuser1, mas não funciona com as credenciais de hiveuser2.

  10. Selecione OK para fechar o diálogo Propriedades da Conexão.

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

  12. Insira novamente a senha de hiveuser1 e selecione OK. Leva 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 seção anterior:

  1. Adicione uma nova planilha no Excel.

  2. Siga o último procedimento para importar os dados. A única alteração que você faz é usar as credenciais de hiveuser2 em vez de hiveuser1. Essa ação falha porque hiveuser2 tem permissão para ver apenas duas colunas. Você obtém 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 de 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óximas etapas