Tutorial: Konfigurieren von Apache HBase-Richtlinien in HDInsight mit dem Enterprise-Sicherheitspaket
Hier erfahren Sie, wie Sie Apache Ranger-Richtlinien für Apache HBase-Cluster mit dem Enterprise-Sicherheitspaket (ESP) konfigurieren. Es werden Verbindungen von ESP-Clustern mit einer Domäne hergestellt, sodass Benutzer sich mit Anmeldeinformationen für die Domäne authentifizieren können. In diesem Tutorial erstellen Sie zwei Ranger-Richtlinien, um den Zugriff auf verschiedene Spaltenfamilien in einer HBase-Tabelle einzuschränken.
In diesem Tutorial lernen Sie Folgendes:
- Erstellen Sie Domänenbenutzer.
- Erstellen Sie Ranger-Richtlinien.
- Erstellen Sie Tabellen in einem HBase-Cluster.
- Testen Sie Ranger-Richtlinien.
Voraussetzungen
- Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen.
- Melden Sie sich beim Azure-Portal an.
- Erstellen Sie ein HDInsight-HBase-Cluster mit dem Enterprise-Sicherheitspaket.
Herstellen einer Verbindung mit der Apache Ranger-Administratoroberfläche
Stellen Sie in einem Browser mit der URL
https://<ClusterName>.azurehdinsight.net/Ranger/
eine Verbindung mit der Ranger-Administrator-Benutzeroberfläche (UI) her. Vergessen Sie nicht,<ClusterName>
in den Namen Ihres HBase-Clusters zu ändern.Hinweis
Die Ranger-Anmeldeinformationen sind nicht identisch mit Hadoop-Clusteranmeldeinformationen. Stellen Sie die Verbindung mit der Ranger-Administratoroberfläche in einem neuen InPrivate-Browserfenster her, um zu verhindern, dass der Browser zwischengespeicherte Hadoop-Anmeldeinformationen verwendet.
Melden Sie sich mit Ihren Microsoft Entra-Administratoranmeldeinformationen an. Die Microsoft Entra-Administratoranmeldeinformationen sind nicht identisch mit HDInsight-Clusteranmeldeinformationen oder Linux-HDInsight-Knoten-Secure Shell-Anmeldeinformationen.
Erstellen von Domänenbenutzern
Informationen zum Erstellen der Domänenbenutzer sales_user1 und marketing_user1 finden Sie unter Konfigurieren eines HDInsight-Clusters mit dem Enterprise-Sicherheitspaket. In einem Produktionsszenario stammen Domänenbenutzer aus Ihrem Active Directory-Mandanten.
Erstellen von HBase-Tabellen und Importieren von Beispieldaten
Sie können SSH verwenden, um eine Verbindung mit Apache HBase-Clustern herzustellen, und dann mithilfe von Apache HBase Shell HBase-Tabellen erstellen, Daten einfügen und Daten abfragen. Weitere Informationen finden Sie unter Verwenden von SSH mit Linux-basiertem Hadoop in HDInsight unter Linux, Unix oder OS X.
Verwenden der HBase-Shell
Führen Sie unter SSH den folgenden HBase-Befehl aus:
hbase shell
Erstellen Sie eine HBase-Tabelle namens
Customers
mit zwei Spaltenfamilien:Name
undContact
.create 'Customers', 'Name', 'Contact' list
Fügen Sie Daten ein:
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'
Zeigen Sie den Inhalt der Tabelle an:
scan 'Customers'
Erstellen von Ranger-Richtlinien
Erstellen Sie eine Ranger-Richtlinie für sales_user1 und marketing_user1.
Öffnen Sie die Ranger-Administratoroberfläche. Klicken Sie unter HBase auf <Clustername>_hbase.
In der Anzeige Liste der Richtlinien werden alle Ranger-Richtlinien angezeigt, die für diesen Cluster erstellt wurden. Möglicherweise wird eine vorkonfigurierte Richtlinie aufgelistet. Wählen Sie Neue Richtlinie hinzufügen aus.
Geben Sie auf dem
Create Policy
-Bildschirm die folgenden Werte ein:Einstellung Vorgeschlagener Wert Richtlinienname sales_customers_name_contact HBase-Tabelle Kunden HBase-Spaltenfamilie Name, Kontakt HBase-Spalte * Gruppe auswählen Benutzer auswählen sales_user1 Berechtigungen Lesen Die folgenden Platzhalter können im Themennamen enthalten sein:
*
weist auf null oder mehr Vorkommen von Zeichen hin.?
weist auf ein einzelnes Zeichen hin.
Hinweis
Warten Sie kurz, bis Ranger mit Microsoft Entra ID synchronisiert ist, wenn unter Benutzer auswählen nicht automatisch ein Domänenbenutzer eingetragen wird.
Wählen Sie Hinzufügen aus, um die Richtlinie zu speichern.
Wählen Sie Neue Richtlinie hinzufügen aus, und geben Sie die folgenden Werte ein:
Einstellung Vorgeschlagener Wert Richtlinienname marketing_customers_contact HBase-Tabelle Kunden HBase-Spaltenfamilie Kontakt HBase-Spalte * Gruppe auswählen Benutzer auswählen marketing_user1 Berechtigungen Lesen Sie Wählen Sie Hinzufügen aus, um die Richtlinie zu speichern.
Testen der Ranger-Richtlinien
Basierend auf den konfigurierten Ranger-Richtlinien kann sales_user1 alle Daten für die Spalten in den Spaltenfamilien Name
und Contact
anzeigen. Der Benutzer marketing_user1 kann nur Daten in der Spaltenfamilie Contact
anzeigen.
Zugreifen auf Daten als „sales_user1“
Stellen Sie eine neue SSH-Verbindung mit dem Cluster her. Verwenden Sie den folgenden Befehl, um sich bei dem Cluster anzumelden:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Verwenden Sie den
kinit
-Befehl, um zum Kontext des gewünschten Benutzers zu wechseln:kinit sales_user1
Öffnen Sie die HBase-Shell, und sehen Sie sich die Tabelle
Customers
an:hbase shell scan `Customers`
Beachten Sie, dass der Vertriebsbenutzer alle Spalten der Tabelle
Customers
anzeigen kann. Der Benutzer kann die beiden Spalten in der SpaltenfamilieName
und die fünf Spalten in der SpaltenfamilieContact
sehen.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
Zugreifen auf Daten als „marketing_user1“
Stellen Sie eine neue SSH-Verbindung mit dem Cluster her. Führen Sie den folgenden Befehl aus, um sich als marketing_user1 anzumelden:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Verwenden Sie den
kinit
-Befehl, um zum Kontext des gewünschten Benutzers zu wechseln:kinit marketing_user1
Öffnen Sie die HBase-Shell, und sehen Sie sich die Tabelle
Customers
an:hbase shell scan `Customers`
Beachten Sie, dass der Marketingbenutzer nur die fünf Spalten der Spaltenfamilie
Contact
anzeigen kann.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
Zeigen Sie die Überwachungszugriffsereignisse in der Ranger-Benutzeroberfläche an.
Bereinigen von Ressourcen
Wenn Sie diese Anwendung nicht mehr benötigen, löschen Sie das erstellte HBase-Cluster, das Sie erstellt haben:
- Melden Sie sich beim Azure-Portal an.
- Geben Sie oben im Feld Suchen den Suchbegriff HDInsight ein.
- Wählen Sie unter Dienste die Option HDInsight-Cluster aus.
- Klicken Sie in der daraufhin angezeigten Liste mit den HDInsight-Clustern neben dem Cluster, den Sie für dieses Tutorial erstellt haben, auf die Auslassungspunkte ( ... ).
- Wählen Sie Löschen>Ja.