Esercitazione: Configurare i criteri apache HBase in HDInsight con Enterprise Security Package
Informazioni su come configurare i criteri di Apache Ranger per i cluster Apache HBase Enterprise Security Package (ESP). Gli ESP cluster sono connessi a un dominio che consente agli utenti di eseguire l'autenticazione con le credenziali di dominio. In questa esercitazione vengono creati due criteri Ranger per limitare l'accesso a diverse famiglie di colonne in una tabella HBase.
In questa esercitazione apprenderai a:
- Creare utenti di dominio.
- Creare criteri ranger.
- Creare tabelle in un cluster HBase.
- Testare i criteri di Ranger.
Operazioni preliminari
- Se non hai una sottoscrizione di Azure, crea un account gratuito.
- Accedere al portale di Azure.
- Creare un cluster HDInsight HBase con Enterprise Security Package.
Connettersi all'interfaccia utente di amministrazione di Apache Ranger
Da un browser connettersi all'interfaccia utente dell'amministratore ranger usando l'URL
https://<ClusterName>.azurehdinsight.net/Ranger/
. Ricordarsi di sostituire<ClusterName>
con il nome del cluster HBase.Nota
Le credenziali di Ranger non corrispondono alle credenziali del cluster Hadoop. Per evitare che i browser usino credenziali memorizzate nella cache di Hadoop, usare una nuova finestra del browser InPrivate per connettersi all'interfaccia utente di Ranger Admin.
Accedere usando le credenziali di amministratore di Microsoft Entra. Le credenziali di amministratore di Microsoft Entra non corrispondono alle credenziali del cluster HDInsight o alle credenziali SSH (Secure Shell) del nodo HDInsight linux.
Creare utenti del dominio
Per informazioni su come creare gli utenti di dominio sales_user1 e marketing_user1 , vedere Creare un cluster HDInsight con Enterprise Security Package. In uno scenario di produzione, gli utenti del dominio provengono dal tenant di Active Directory.
Creare tabelle HBase e importare dati di esempio
È possibile usare SSH per connettersi ai cluster HBase e usare la shell di Apache HBase per creare tabelle HBase, inserire dati ed eseguire query sui dati. Per altre informazioni, vedere l'articolo su come usare SSH con HDInsight.
Usare la shell HBase
In SSH eseguire il comando HBase seguente:
hbase shell
Creare una tabella
Customers
HBase con due famiglie di colonne:Name
eContact
.create 'Customers', 'Name', 'Contact' list
Inserire alcuni dati:
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'
Visualizzare il contenuto della tabella:
scan 'Customers'
Creazione dei criteri di Ranger
Creare un criterio di Ranger per sales_user1 e marketing_user1.
Aprire l’interfaccia utente di amministrazione di Ranger. In HBase selezionare <ClusterName>_hbase.
La schermata Elenco dei criteri mostra tutti i criteri ranger creati per questo cluster. È possibile elencare un criterio preconfigurato. Selezionare Aggiungi nuovo criterio.
Create Policy
Nella schermata immettere i valori seguenti:Impostazione Valore suggerito Nome criteri sales_customers_name_contact HBase Table (Tabella HBase) Clienti HBase Column-family (Famiglia di colonne HBase) Nome, contatto HBase Column (Colonna HBase) * Select Group (Seleziona gruppo) Seleziona utente sales_user1 Autorizzazioni Lettura I seguenti caratteri jolly possono essere inclusi nel nome dell'argomento:
*
indica zero o più occorrenze di caratteri.?
indica un singolo carattere.
Nota
Attendere alcuni istanti affinché Ranger si sincronizzi con Microsoft Entra ID se un utente di dominio non viene popolato automaticamente per Select User.
Selezionare Aggiungi per salvare il criterio.
Selezionare Aggiungi nuovo criterio e quindi immettere i valori seguenti:
Impostazione Valore suggerito Nome criteri marketing_customers_contact HBase Table (Tabella HBase) Clienti HBase Column-family (Famiglia di colonne HBase) Contatto HBase Column (Colonna HBase) * Select Group (Seleziona gruppo) Seleziona utente marketing_user1 Autorizzazioni Lettura Selezionare Aggiungi per salvare il criterio.
Testare i criteri di Ranger
In base ai criteri ranger configurati, sales_user1 può visualizzare tutti i dati per le colonne nelle famiglie di Name
colonne e Contact
. Il marketing_user1 può visualizzare i dati solo nella Contact
famiglia di colonne.
Accedere ai dati come sales_user1
Aprire una nuova connessione SSH al cluster. Eseguire questo comando per accedere al cluster:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Usare il
kinit
comando per passare al contesto dell'utente desiderato:kinit sales_user1
Aprire la shell HBase e analizzare la tabella
Customers
:hbase shell scan `Customers`
Si noti che l'utente di vendita può visualizzare tutte le colonne della
Customers
tabella. L'utente può visualizzare le due colonne nellaName
famiglia di colonne e le cinque colonne dellaContact
famiglia di colonne.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
Accedere ai dati come marketing_user1
Aprire una nuova connessione SSH al cluster. Eseguire questo comando per accedere come marketing_user1:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Usare il
kinit
comando per passare al contesto dell'utente desiderato:kinit marketing_user1
Aprire la shell HBase e analizzare la tabella
Customers
:hbase shell scan `Customers`
Si noti che marketing_user può solo visualizzare le cinque colonne della famiglia di colonne
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
Visualizzare gli eventi di accesso di controllo dall'interfaccia utente di Ranger.
Pulire le risorse
Se non si intende continuare a usare questa applicazione, eliminare il cluster HBase creato:
- Accedere al portale di Azure.
- Nella casella Cerca nella parte superiore immettere HDInsight.
- In Servizi selezionare Cluster HDInsight.
- Nell'elenco di cluster HDInsight visualizzato selezionare ... accanto al cluster creato per questa esercitazione.
- Selezionare Elimina>Sì.