Configurar políticas do Apache Hive no HDInsight com o Enterprise Security PackageConfigure Apache Hive policies in HDInsight with Enterprise Security Package

Aprenda a configurar as políticas do Apache Ranger para o Apache Hive.Learn how to configure Apache Ranger policies for Apache Hive. Neste artigo, você criará duas políticas do Ranger para restringir o acesso a hivesampletable.In this article, you create two Ranger policies to restrict access to the hivesampletable. O hivesampletable fornecido com clusters HDInsight.The hivesampletable comes with HDInsight clusters. Depois de configurar as políticas, você usa o Excel e o driver ODBC para conectar-se a tabelas do Hive no HDInsight.After you have configured the policies, you use Excel and ODBC driver to connect to Hive tables in HDInsight.

Pré-requisitosPrerequisites

  • Um cluster HDInsight com Enterprise Security Package.A HDInsight cluster with Enterprise Security Package. Confira Configurar clusters do HDInsight com ESP.See Configure HDInsight clusters with ESP.
  • Uma estação de trabalho com Office 2016, Office 2013 Professional Plus, Office 365 Pro Plus, Excel 2013 Standalone ou Office 2010 Professional Plus.A workstation with Office 2016, Office 2013 Professional Plus, Office 365 Pro Plus, Excel 2013 Standalone, or Office 2010 Professional Plus.

Conectar-se à interface do usuário de Administração do Apache RangerConnect to Apache Ranger Admin UI

Para conectar-se à interface do usuário de Administrador do RangerTo connect to Ranger Admin UI

  1. Em um navegador, conecte-se à interface do usuário de Administrador do Ranger.From a browser, connect to Ranger Admin UI. A URL é https://<ClusterName>.azurehdinsight.net/Ranger/.The URL is https://<ClusterName>.azurehdinsight.net/Ranger/.

    Observação

    O Ranger usa credenciais diferentes das utilizadas pelo cluster Apache Hadoop.Ranger uses different credentials than Apache Hadoop cluster. Para evitar que os navegadores usem credenciais do Hadoop armazenadas em cache, use a nova janela de navegador InPrivate para se conectar à interface do usuário de Administração do Ranger.To prevent browsers using cached Hadoop credentials, use new InPrivate browser window to connect to the Ranger Admin UI.

  2. Faça logon usando o nome de usuário e a senha de domínio de administrador de cluster:Log in using the cluster administrator domain user name and password:

    Home page do HDInsight ESP Ranger

    Atualmente, o Ranger só funciona com o Hive e o Yarn.Currently, Ranger only works with Yarn and Hive.

Criar usuários de DomínioCreate Domain users

Confira Criar um cluster HDInsight com ESP, para obter informações sobre como criar hiveruser1 e hiveuser2.See Create a HDInsight cluster with ESP, for information on how to create hiveruser1 and hiveuser2. Você pode usar as contas de dois usuário neste artigo.You use the two user accounts in this article.

Criar políticas do RangerCreate Ranger policies

Nesta seção, você criará duas políticas do Ranger para acessar hivesampletable.In this section, you create two Ranger policies for accessing hivesampletable. Você pode dar permissão select em um conjunto diferente de colunas.You give select permission on different set of columns. Ambos os usuários foram criados em Criar um cluster HDInsight com ESP.Both users were created using Create a HDInsight cluster with ESP. Na próxima seção, você testará as duas políticas no Excel.In the next section, you will test the two policies in Excel.

Para criar políticas do RangerTo create Ranger policies

  1. Abrir a Interface de Usuário de Administração do Ranger.Open Ranger Admin UI. Confira Conectar-se à interface do usuário de Administração do Apache Ranger.See Connect to Apache Ranger Admin UI.

  2. Clique em <ClusterName >_hive, em Hive.Click <ClusterName>_hive, under Hive. Você deverá ver duas políticas de pré-configuração.You shall see two pre-configure policies.

  3. Clique em Adicionar Nova Política e insira os seguintes valores:Click Add New Policy, and then enter the following values:

    • Nome da política: read-hivesampletable-allPolicy name: read-hivesampletable-all

    • Hive de Banco de Dados: padrãoHive Database: default

    • tabela: hivesampletabletable: hivesampletable

    • Coluna de hive: *Hive column: *

    • Selecione o usuário: hiveuser1Select User: hiveuser1

    • Permissões: selecionarPermissions: select

      Configurar política do Hive do Ranger com ESP do HDInsight..

      Observação

      Se um usuário de domínio não estiver populado em Selecionar Usuário, aguarde alguns instantes para que o Ranger seja sincronizado com o AAD.If a domain user is not populated in Select User, wait a few moments for Ranger to sync with AAD.

  4. Clique em Adicionar para salvar a política.Click Add to save the policy.

  5. Repita as duas últimas etapas para criar outra política com as seguintes propriedades:Repeat the last two steps to create another policy with the following properties:

    • Nome da política: read-hivesampletable-devicemakePolicy name: read-hivesampletable-devicemake
    • Hive de Banco de Dados: padrãoHive Database: default
    • tabela: hivesampletabletable: hivesampletable
    • Coluna do hive: clientid, devicemakeHive column: clientid, devicemake
    • Selecione o usuário: hiveuser2Select User: hiveuser2
    • Permissões: selecionarPermissions: select

Criar uma fonte de dados ODBC do HiveCreate Hive ODBC data source

As instruções podem ser encontradas em Criar fonte de dados ODBC do Hive.The instructions can be found in Create Hive ODBC data source.

PropriedadeProperty DESCRIÇÃODescription
Nome da fonte de dadosData Source Name Forneça um nome para a sua fonte de dadosGive a name to your data source
HostHost Digite <HDInsightClusterName>.azurehdinsight.net.Enter <HDInsightClusterName>.azurehdinsight.net. Por exemplo, meu_Cluster_HDI.azurehdinsight.netFor example, myHDICluster.azurehdinsight.net
PortPort Use 443.Use 443. (Essa porta foi alterada de 563 para 443.)(This port has been changed from 563 to 443.)
Banco de dadosDatabase Use Padrão.Use Default.
Tipo de servidor HiveHive Server Type Selecione Servidor Hive 2Select Hive Server 2
MecanismoMechanism Selecione Serviço do Azure HDInsightSelect Azure HDInsight Service
Caminho HTTPHTTP Path Deixe em branco.Leave it blank.
Nome do UsuárioUser Name Digite hiveuser1@contoso158.onmicrosoft.com.Enter hiveuser1@contoso158.onmicrosoft.com. Atualize o nome de domínio se ele for diferente.Update the domain name if it is different.
SenhaPassword Digite a senha para hiveuser1.Enter the password for hiveuser1.

Clique em Testar antes de salvar a fonte de dados.Make sure to click Test before saving the data source.

Importar dados do HDInsight para o ExcelImport data into Excel from HDInsight

Na última seção, você configurou duas políticas.In the last section, you have configured two policies. hiveuser1 tem a permissão select em todas as colunas e hiveuser2 tem a permissão select em duas colunas.hiveuser1 has the select permission on all the columns, and hiveuser2 has the select permission on two columns. Nesta seção, você representa os dois usuários para importar dados para o Excel.In this section, you impersonate the two users to import data into Excel.

  1. Abra uma pasta de trabalho nova ou existente no Excel.Open a new or existing workbook in Excel.

  2. Na guia Dados, clique em De Outras Fontes de Dados e clique em Do Assistente de Conexão de Dados para iniciar o Assistente de Conexão de Dados.From the Data tab, click From Other Data Sources, and then click From Data Connection Wizard to launch the Data Connection Wizard.

    ![Assistente de conexão de dados][img-hdi-simbahiveodbc.excel.dataconnection]![Open data connection wizard][img-hdi-simbahiveodbc.excel.dataconnection]

  3. Selecione ODBC DSN como a fonte de dados e clique em Avançar.Select ODBC DSN as the data source, and then click Next.

  4. Em Fontes de dados ODBC, selecione o nome da fonte de dados criada na etapa anterior e clique em Avançar.From ODBC data sources, select the data source name that you created in the previous step, and then click Next.

  5. Digite novamente a senha para o cluster no assistente e clique em OK.Reenter the password for the cluster in the wizard, and then click OK. Aguarde até que a caixa de diálogo Selecionar Banco de Dados e Tabela seja aberta.Wait for the Select Database and Table dialog to open. Isso pode levar alguns segundos.This can take a few seconds.

  6. Selecione hivesampletable e clique em Avançar.Select hivesampletable, and then click Next.

  7. Clique em Concluir.Click Finish.

  8. No diálogo Importar Dados , você pode alterar ou especificar a consulta.In the Import Data dialog, you can change or specify the query. Para fazer isso, clique em Propriedades.To do so, click Properties. Isso pode levar alguns segundos.This can take a few seconds.

  9. Clique na guia Definição. O texto do comando é:Click the Definition tab. The command text is:

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

    De acordo com as políticas do Ranger definidas por você, hiveuser1 tem permissão select em todas as colunas.By the Ranger policies you defined, hiveuser1 has select permission on all the columns. Então, essa consulta funciona com as credenciais de hiveuser1, mas não funciona com as credenciais de hiveuser2.So this query works with hiveuser1's credentials, but this query does not work with hiveuser2's credentials.

    ![Propriedades de conexão][img-hdi-simbahiveodbc-excel-connectionproperties]![Connection Properties][img-hdi-simbahiveodbc-excel-connectionproperties]

  10. Clique em OK para fechar o diálogo Propriedades da Conexão.Click OK to close the Connection Properties dialog.

  11. Clique em OK para fechar a caixa de diálogo Importar Dados.Click OK to close the Import Data dialog.

  12. Digite novamente a senha para hiveuser1 e clique em OK.Reenter the password for hiveuser1, and then click OK. Leva alguns segundos para que os dados sejam importados para o Excel.It takes a few seconds before data gets imported to Excel. Quando estiver pronto, você deverá ver 11 colunas de dados.When it is done, you shall see 11 columns of data.

Para testar a segunda política (read-hivesampletable-devicemake) que você criou na seção anteriorTo test the second policy (read-hivesampletable-devicemake), you created in the last section

  1. Adicione uma nova planilha no Excel.Add a new sheet in Excel.

  2. Siga o último procedimento para importar os dados.Follow the last procedure to import the data. A única alteração que você fará é usar as credenciais de hiveuser2 em vez de hiveuser1.The only change you make is to use hiveuser2's credentials instead of hiveuser1's. Isso falhará porque hiveuser2 só tem permissão para ver duas colunas.This fails because hiveuser2 only has permission to see two columns. Você deverá receber o seguinte erro:You shall get the following error:

     [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.Follow the same procedure to import data. Desta vez, use as credenciais de hiveuser2 e também modifique a instrução select from:This time, use hiveuser2's credentials, and also modify the select statement from:

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

    para:to:

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

    Quando estiver pronto, você deverá ver duas colunas de dados importados.When it is done, you shall see two columns of data imported.

Próximas etapasNext steps