Partilhar via


Tutorial: Configurar políticas do Apache HBase no HDInsight com o pacote de segurança empresarial

Saiba como configurar políticas do Apache Ranger para clusters Apache HBase do Enterprise Security Package (ESP). Os clusters do ESP estão ligados a um domínio, permitindo que os utilizadores sejam autenticados com credenciais do domínio. Neste tutorial, você cria duas políticas do Ranger para restringir o acesso a diferentes famílias de colunas em uma tabela do HBase.

Neste tutorial, irá aprender a:

  • Crie usuários de domínio.
  • Crie políticas de Ranger.
  • Crie tabelas em um cluster HBase.
  • Políticas de teste Ranger.

Antes de começar

Ligar à IU do Apache Ranger Admin

  1. A partir de um navegador, conecte-se à interface do usuário (UI) do Ranger Admin usando o URL https://<ClusterName>.azurehdinsight.net/Ranger/. Lembre-se de alterar <ClusterName> para o nome do cluster HBase.

    Nota

    As credenciais do Ranger não são iguais às credenciais do cluster Hadoop. Para impedir que os browsers utilizem credenciais em cache do Hadoop, utilize uma nova janela do browser InPrivate para ligar à IU do Ranger Admin.

  2. Entre usando suas credenciais de administrador do Microsoft Entra. As credenciais de administrador do Microsoft Entra não são as mesmas que as credenciais de cluster HDInsight ou as credenciais SSH (Secure Shell) do nó HDInsight do Linux.

Criar utilizadores de domínio

Para saber como criar o sales_user1 e marketing_user1 usuários do domínio, consulte Criar um cluster HDInsight com o Pacote de Segurança Empresarial. Num cenário de produção, os utilizadores de domínio são provenientes do seu inquilino do Active Directory.

Criar tabelas do HBase e importar dados de exemplo

Você pode usar SSH para se conectar a clusters HBase e, em seguida, usar o Apache HBase Shell para criar tabelas HBase, inserir dados e consultar dados. Para obter mais informações, veja Use SSH with HDInsight (Utilizar SSH com o HDInsight).

Usar o shell do HBase

  1. A partir do SSH, execute o seguinte comando do HBase:

    hbase shell
    
  2. Crie uma tabela Customers HBase com duas famílias de colunas: Name e Contact.

    create 'Customers', 'Name', 'Contact'
    list
    
  3. Insira alguns dados:

    put 'Customers','1001','Name:First','Alice'
    put 'Customers','1001','Name:Last','Johnson'
    put 'Customers','1001','Contact:Phone','333-333-3333'
    put 'Customers','1001','Contact:Address','313 133rd Place'
    put 'Customers','1001','Contact:City','Redmond'
    put 'Customers','1001','Contact:State','WA'
    put 'Customers','1001','Contact:ZipCode','98052'
    put 'Customers','1002','Name:First','Robert'
    put 'Customers','1002','Name:Last','Stevens'
    put 'Customers','1002','Contact:Phone','777-777-7777'
    put 'Customers','1002','Contact:Address','717 177th Ave'
    put 'Customers','1002','Contact:City','Bellevue'
    put 'Customers','1002','Contact:State','WA'
    put 'Customers','1002','Contact:ZipCode','98008'
    
  4. Veja o conteúdo da tabela:

    scan 'Customers'
    

    Captura de tela que mostra a saída do shell do HDInsight Hadoop HBase.

Criar políticas do Ranger

Crie uma política Ranger para sales_user1 e marketing_user1.

  1. Abra a IU do Ranger Admin. Em HBase, selecione <ClusterName>_hbase.

    Captura de ecrã que mostra a IU de administração do HDInsight Apache Ranger.

  2. A tela Lista de políticas mostra todas as políticas da Ranger criadas para esse cluster. Uma política pré-configurada pode estar listada. Selecione Adicionar nova política.

    Captura de tela que mostra a lista de políticas do Apache Ranger HBase.

  3. Create Policy No ecrã, introduza os seguintes valores:

    Definição Valor sugerido
    Nome da Política sales_customers_name_contact
    Tabela HBase Clientes
    Família de colunas HBase Nome, Contacto
    Coluna HBase *
    Selecionar Grupo
    Selecionar Utilizador sales_user1
    Permissões Lida

    Os carateres universais seguintes podem ser incluídos no nome do tópico:

    • * indica zero ou mais ocorrências de caracteres.
    • ? indica um único caractere.

    Captura de tela que mostra a política do Apache Ranger Criar vendas.

    Nota

    Aguarde alguns instantes para que o Ranger sincronize com o Microsoft Entra ID se um usuário de domínio não for preenchido automaticamente para Selecionar Usuário.

  4. Selecione Adicionar para salvar a política.

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

    Definição Valor sugerido
    Nome da Política marketing_customers_contact
    Tabela HBase Clientes
    Família de colunas HBase Contacto
    Coluna HBase *
    Selecionar Grupo
    Selecionar Utilizador marketing_user1
    Permissões Lida

    Captura de tela que mostra a política Criar marketing do Apache Ranger.

  6. Selecione Adicionar para salvar a política.

Testar as políticas do Ranger

Com base nas políticas de Ranger configuradas, sales_user1 pode visualizar todos os dados das colunas nas Name famílias e Contact coluna. O marketing_user1 pode exibir dados somente na família de Contact colunas.

Acessar dados como sales_user1

  1. Abra uma nova ligação SSH ao cluster. Use o seguinte comando para entrar no cluster:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. Use o kinit comando para alterar para o contexto do usuário desejado:

    kinit sales_user1
    
  3. Abra o shell do HBase e verifique a tabela Customers:

    hbase shell
    scan `Customers`
    
  4. Observe que o usuário de vendas pode exibir todas as colunas da Customers tabela. O usuário pode ver as duas colunas na família de Name colunas e as cinco colunas na Contact família de colunas.

    ROW                                COLUMN+CELL
     1001                              column=Contact:Address, timestamp=1548894873820, value=313 133rd Place
     1001                              column=Contact:City, timestamp=1548895061523, value=Redmond
     1001                              column=Contact:Phone, timestamp=1548894871759, value=333-333-3333
     1001                              column=Contact:State, timestamp=1548895061613, value=WA
     1001                              column=Contact:ZipCode, timestamp=1548895063111, value=98052
     1001                              column=Name:First, timestamp=1548894871561, value=Alice
     1001                              column=Name:Last, timestamp=1548894871707, value=Johnson
     1002                              column=Contact:Address, timestamp=1548894899174, value=717 177th Ave
     1002                              column=Contact:City, timestamp=1548895103129, value=Bellevue
     1002                              column=Contact:Phone, timestamp=1548894897524, value=777-777-7777
     1002                              column=Contact:State, timestamp=1548895103231, value=WA
     1002                              column=Contact:ZipCode, timestamp=1548895104804, value=98008
     1002                              column=Name:First, timestamp=1548894897419, value=Robert
     1002                              column=Name:Last, timestamp=1548894897487, value=Stevens
    2 row(s) in 0.1000 seconds
    

Aceda aos dados à medida marketing_user1

  1. Abra uma nova ligação SSH ao cluster. Use o seguinte comando para entrar como marketing_user1:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. Use o kinit comando para alterar para o contexto do nosso usuário desejado:

    kinit marketing_user1
    
  3. Abra o shell do HBase e verifique a tabela Customers:

    hbase shell
    scan `Customers`
    
  4. Observe que o usuário de marketing só pode visualizar as cinco colunas da Contact família de colunas.

    ROW                                COLUMN+CELL
     1001                              column=Contact:Address, timestamp=1548894873820, value=313 133rd Place
     1001                              column=Contact:City, timestamp=1548895061523, value=Redmond
     1001                              column=Contact:Phone, timestamp=1548894871759, value=333-333-3333
     1001                              column=Contact:State, timestamp=1548895061613, value=WA
     1001                              column=Contact:ZipCode, timestamp=1548895063111, value=98052
     1002                              column=Contact:Address, timestamp=1548894899174, value=717 177th Ave
     1002                              column=Contact:City, timestamp=1548895103129, value=Bellevue
     1002                              column=Contact:Phone, timestamp=1548894897524, value=777-777-7777
     1002                              column=Contact:State, timestamp=1548895103231, value=WA
     1002                              column=Contact:ZipCode, timestamp=1548895104804, value=98008
    2 row(s) in 0.0730 seconds
    
  5. Veja os eventos de acesso de auditoria da IU do Ranger.

    Captura de ecrã que mostra a Auditoria de Política de IU do HDInsight Ranger.

Clean up resources (Limpar recursos)

Se você não vai continuar a usar este aplicativo, exclua o cluster HBase que você criou:

  1. Inicie sessão no portal do Azure.
  2. Na caixa Pesquisar na parte superior, digite HDInsight.
  3. Em Serviços, selecione Clusters HDInsight.
  4. Na lista de clusters HDInsight exibida, selecione o botão ... ao lado do cluster que você criou para este tutorial.
  5. Selecione Eliminar>Sim.

Próximos passos