Tutorial: Configurar políticas do Apache HBase no HDInsight com o Enterprise Security Package
Saiba como configurar políticas do Apache Ranger para clusters Apache HBase do ESP (Enterprise Security Package). Os clusters ESP estão conectados a um domínio, permitindo que os usuários se autentiquem com credenciais de domínio. Neste tutorial, você cria duas políticas do Ranger para restringir o acesso a famílias de colunas diferentes em uma tabela do HBase.
Neste tutorial, você aprenderá a:
- Crie usuários de domínio.
- Crie políticas do Ranger.
- Crie tabelas em um cluster do HBase.
- Teste as políticas do Ranger.
Antes de começar
- Se você não tiver uma assinatura do Azure, crie uma conta gratuita.
- Entre no portal do Azure.
- Crie um cluster do HBase do HDInsight com o Enterprise Security Package.
Conectar-se à interface do usuário de Administração do Apache Ranger
Em um navegador, conecte-se à interface do usuário do administrador do Ranger usando o URL
https://<ClusterName>.azurehdinsight.net/Ranger/
. Lembre-se de alterar<ClusterName>
para o nome do seu cluster HBase.Observação
As credenciais do Ranger não são as mesmas que as credenciais de cluster do Hadoop. Para impedir que os navegadores usem credenciais do Hadoop em cache, use uma nova janela do navegador InPrivate para se conectar à interface de administração do Ranger Admin.
Entre usando suas credenciais de administrador do Microsoft Entra. As credenciais de administrador do Microsoft Entra não são iguais às credenciais de cluster do HDInsight ou às credenciais do SSH (Secure Shell) do nó do HDInsight do Linux.
Crie usuários de domínio
Para saber como criar os usuários de domínio sales_user1 e marketing_user1, confira Criar um cluster do HDInsight com o Enterprise Security Package. Em um cenário de produção, os usuários do domínio vêm do seu locatário do Active Directory.
Criar tabelas do HBase e importar dados de exemplo
Você pode usar o SSH para se conectar a clusters do HBase e, em seguida, usar o Shell do Apache HBase para criar tabelas do HBase, inserir dados e consultar dados. Para obter mais informações, confira Usar SSH com HDInsight.
Usar o shell HBase
No SSH, execute este comando HBase:
hbase shell
Crie uma tabela do HBase
Customers
com famílias de duas colunas:Name
eContact
.create 'Customers', 'Name', 'Contact' list
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'
Exiba o conteúdo da tabela:
scan 'Customers'
Criar políticas do Ranger
Crie uma política do Ranger para sales_user1 e marketing_user1.
Abra o interface do usuário administrador do Ranger. Em HBase, selecione <ClusterName>_hbase.
A tela Lista de Políticas mostra todas as políticas do Ranger criadas para este cluster. Uma política pré-configurada pode ser listada. Selecione Adicionar nova política.
Na tela
Create Policy
, insira os seguintes valores:Configuração Valor sugerido Nome da política sales_customers_name_contact Tabela do HBase Clientes Família de colunas do HBase Nome, Contato Coluna do HBase * Selecionar grupo Selecionar usuário sales_user1 Permissões Ler Os curingas a seguir podem ser incluídos no nome do tópico:
*
indica zero ou mais ocorrências de caracteres.?
indica um caractere único.
Observação
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.
Selecione Adicionar para salvar a política.
Selecione Adicionar nova política e, em seguida, insira os seguintes valores:
Configuração Valor sugerido Nome da política marketing_customers_contact Tabela do HBase Clientes Família de colunas do HBase Contato Coluna do HBase * Selecionar grupo Selecionar usuário marketing_user1 Permissões Ler Selecione Adicionar para salvar a política.
Testar as políticas do Ranger
Com base nas políticas do Ranger configuradas, sales_user1 pode exibir todos os dados das colunas nas famílias de colunas Name
e Contact
. O marketing_user1 pode exibir dados apenas na família de colunas Contact
.
Acessar dados como sales_user1
Abra uma nova conexão de SSH ao cluster. Use o seguinte comando para entrar no cluster:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Use o comando
kinit
para alterar para o contexto do usuário desejado:kinit sales_user1
Abra o shell do HBase e verifique a tabela
Customers
:hbase shell scan `Customers`
Observe que o usuário de vendas pode exibir todas as colunas da tabela
Customers
. O usuário pode ver as duas colunas na família de colunasName
e as cinco colunas na família de colunasContact
.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
Acessar dados como marketing_user1
Abra uma nova conexão de SSH ao cluster. Use o seguinte comando para entrar como marketing_user1:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Use o comando
kinit
para alterar para o contexto do nosso usuário desejado:kinit marketing_user1
Abra o shell do HBase e verifique a tabela
Customers
:hbase shell scan `Customers`
Observe que o usuário de marketing pode exibir somente as cinco colunas da 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 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
Exiba os eventos de auditoria de acesso da interface do usuário do Ranger.
Limpar os recursos
Se você não quiser continuar a usar este aplicativo, exclua o cluster do HBase criado:
- Entre no portal do Azure.
- Na caixa Pesquisar na parte superior, insira HDInsight.
- Em Serviços, selecione clusters do HDInsight.
- Na lista de clusters do HDInsight exibida, selecione … ao lado do cluster que você criou para este tutorial.
- Selecione Excluir>Sim.