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

Connettersi all'interfaccia utente di amministrazione di Apache Ranger

  1. 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.

  2. 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

  1. In SSH eseguire il comando HBase seguente:

    hbase shell
    
  2. Creare una tabella HBase Customers con famiglie a due colonne: Name e Contact.

    create 'Customers', 'Name', 'Contact'
    list
    
  3. 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'
    
  4. Visualizzare il contenuto della tabella:

    scan 'Customers'
    

    HDInsight Hadoop HBase shell output

Creazione dei criteri di Ranger

Creare un criterio di Ranger per sales_user1 e marketing_user1.

  1. Aprire l’interfaccia utente di amministrazione di Ranger. Fare clic su <ClusterName>_hbase in HBase.

    HDInsight Apache Ranger Admin UI

  2. 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).

    Apache Ranger HBase policies list

  3. 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.

    Apache Ranger policy create sales

    Nota

    Attendere alcuni istanti affinché Ranger si sincronizzi con Microsoft Entra ID se un utente di dominio non viene popolato automaticamente per Select User.

  4. Fare clic su Aggiungi per salvare il criterio.

  5. 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

    Apache Ranger policy create marketing

  6. 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

  1. Aprire una nuova connessione SSH al cluster. Eseguire questo comando per accedere al cluster:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. Usare il comando kinit per passare al contesto dell'utente desiderato.

    kinit sales_user1
    
  3. Aprire la shell HBase e analizzare la tabella Customers.

    hbase shell
    scan `Customers`
    
  4. Si noti che sales_user può visualizzare tutte le colonne della tabella Customers, incluse le due colonne della famiglia di colonne Name nonché le cinque colonne nella 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
     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

  1. Aprire una nuova connessione SSH al cluster. Eseguire questo comando per accedere come marketing_user1:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. Usare il comando kinit per passare al contesto dell'utente desiderato.

    kinit marketing_user1
    
  3. Aprire la shell HBase e analizzare la tabella Customers:

    hbase shell
    scan `Customers`
    
  4. 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
    
  5. Visualizzare gli eventi di accesso di controllo dall'interfaccia utente di Ranger.

    HDInsight Ranger UI Policy Audit

Pulire le risorse

Se non si intende continuare a usare questa applicazione, eliminare il cluster HBase creato con i passaggi seguenti:

  1. Accedi al portale di Azure.
  2. Nella casella Ricerca in alto digitare HDInsight.
  3. Selezionare Cluster HDInsight in Servizi.
  4. Nell'elenco di cluster HDInsight visualizzato, fare clic su ... accanto al cluster creato per questa esercitazione.
  5. Fare clic su Elimina. Fare clic su .

Passaggi successivi