Condividi tramite


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

Connettersi all'interfaccia utente di amministrazione di Apache Ranger

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

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

  1. In SSH eseguire il comando HBase seguente:

    hbase shell
    
  2. Creare una tabella Customers HBase con due famiglie di 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'
    

    Screenshot che mostra l'output della shell HdInsight Hadoop HBase.

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. In HBase selezionare <ClusterName>_hbase.

    Screenshot che mostra l'interfaccia utente di amministrazione di Apache Ranger di HDInsight.

  2. La schermata Elenco dei criteri mostra tutti i criteri ranger creati per questo cluster. È possibile elencare un criterio preconfigurato. Selezionare Aggiungi nuovo criterio.

    Screenshot che mostra l'elenco dei criteri di Apache Ranger HBase.

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

    Screenshot che mostra il criterio Apache Ranger Crea vendite.

    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. Selezionare Aggiungi per salvare il criterio.

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

    Screenshot che mostra il criterio Apache Ranger Creare marketing.

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

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

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. Usare il kinit comando 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 l'utente di vendita può visualizzare tutte le colonne della Customers tabella. L'utente può visualizzare le due colonne nella Name famiglia di colonne e le cinque colonne della Contact 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

  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 kinit comando 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.

    Screenshot che mostra il controllo dei criteri dell'interfaccia utente di HDInsight Ranger.

Pulire le risorse

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

  1. Accedere al portale di Azure.
  2. Nella casella Cerca nella parte superiore immettere HDInsight.
  3. In Servizi selezionare Cluster HDInsight.
  4. Nell'elenco di cluster HDInsight visualizzato selezionare ... accanto al cluster creato per questa esercitazione.
  5. Selezionare Elimina>.

Passaggi successivi