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
- Se não tiver uma subscrição do Azure, crie uma conta gratuita.
- Inicie sessão no portal do Azure.
- Crie um cluster HBase HDInsight com o Pacote de Segurança Empresarial.
Ligar à IU do Apache Ranger Admin
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.
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
A partir do SSH, execute o seguinte comando do HBase:
hbase shell
Crie uma tabela
Customers
HBase com duas famílias de 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'
Veja o conteúdo da tabela:
scan 'Customers'
Criar políticas do Ranger
Crie uma política Ranger para sales_user1 e marketing_user1.
Abra a IU do Ranger Admin. Em HBase, selecione <ClusterName>_hbase.
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.
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.
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.
Selecione Adicionar para salvar a política.
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 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
Abra uma nova ligação SSH ao cluster. Use o seguinte comando para entrar no cluster:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Use o
kinit
comando 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
Customers
tabela. O usuário pode ver as duas colunas na família deName
colunas e as cinco colunas naContact
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
Abra uma nova ligação SSH ao cluster. Use o seguinte comando para entrar como marketing_user1:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Use o
kinit
comando 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 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
Veja os eventos de acesso de auditoria da IU do Ranger.
Clean up resources (Limpar recursos)
Se você não vai continuar a usar este aplicativo, exclua o cluster HBase que você criou:
- Inicie sessão no portal do Azure.
- Na caixa Pesquisar na parte superior, digite HDInsight.
- Em Serviços, selecione Clusters HDInsight.
- Na lista de clusters HDInsight exibida, selecione o botão ... ao lado do cluster que você criou para este tutorial.
- Selecione Eliminar>Sim.