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 del dominio
- Creazione dei criteri di 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.
Accedi 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 di amministrazione di 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 sono le stesse usate 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 SSH del cluster HDInsight o al nodo Linux HDInsight.
Creare utenti del dominio
Vedere Creare un cluster HDInsight con Enterprise Security Package per informazioni su come creare gli utenti di dominio sales_user1 e marketing_user1. 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.
Per usare la shell HBase
In SSH eseguire il comando HBase seguente:
hbase shell
Creare una tabella HBase
Customers
con famiglie a due 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. Fare clic su <ClusterName>_hbase in HBase.
La schermata List of Policies (Elenco di criteri) mostrerà tutti i criteri Ranger creati per questo cluster. Potrebbe essere presente un criterio preconfigurato. Fare clic su Add New Policy (Aggiungi nuovi criteri).
Nella schermata Create Policy (Crea criterio) inserire i valori seguenti:
Impostazione Valore consigliato 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.
Fare clic su Aggiungi per salvare il criterio.
Fare clic su Aggiungi nuovo criterio, quindi immettere i valori seguenti:
Impostazione Valore consigliato 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 Fare clic su 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 in entrambe le famiglie di colonne Name
e Contact
. marketing_user1 può solo visualizzare i dati nella famiglia di colonne Contact
.
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 comando kinit 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 sales_user può visualizzare tutte le colonne della tabella
Customers
, incluse le due colonne della famiglia di colonneName
nonché le cinque colonne nella famiglia di colonneContact
.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 comando kinit 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 con i passaggi seguenti:
- Accedi al portale di Azure.
- Nella casella Ricerca in alto digitare HDInsight.
- Selezionare Cluster HDInsight in Servizi.
- Nell'elenco di cluster HDInsight visualizzato, fare clic su ... accanto al cluster creato per questa esercitazione.
- Fare clic su Elimina. Fare clic su Sì.