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.
  • Testar políticas Ranger.

Antes de começar

Conectar à IU do Administrador do Apache Ranger

  1. A partir de um navegador, conecte-se à interface do usuário (UI) do Ranger Admin usando o URL https://<ClusterName>.azurehdinsight.net/Ranger/. Certifique-se de alterar <ClusterName> para o nome do seu 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 os usuários de domínio sales_user1 e marketing_user1, 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 Interface de Utilizador 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:

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

    Os caracteres 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 ecrã que mostra a política do Apache Ranger

    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:

    Configuração Valor sugerido
    Nome da Política contacto_cliente_marketing
    Tabela HBase Clientes
    Família de colunas HBase Contacto
    Coluna do HBase *
    Selecionar Grupo
    Selecionar Utilizador marketing_user1
    Permissões Leia

    Captura de ecrã 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 famílias de colunas Name e Contact. 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 utilizador pode ver as duas colunas na família de colunas Name e as cinco colunas na família de colunas Contact.

    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
    

Aceder aos dados como 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. Visualizar os eventos de acesso de auditoria na interface do utilizador do Ranger.

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

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 HDInsight Clusters.
  4. Na lista de clusters HDInsight exibida, selecione a opção ... ao lado do cluster que criou para este tutorial.
  5. Selecione Eliminar>Sim.

Próximos passos