Öğretici: Kurumsal Güvenlik Paketi ile HDInsight'ta Apache HBase ilkelerini yapılandırma
Kurumsal Güvenlik Paketi (ESP) Apache HBase kümeleri için Apache Ranger ilkelerini yapılandırmayı öğrenin. ESP kümeleri bir etki alanına bağlıdır ve kullanıcıların etki alanı kimlik bilgileriyle kimlik doğrulaması yapmasına olanak sağlar. Bu öğreticide, bir HBase tablosundaki farklı sütun ailelerine erişimi kısıtlamak için iki Ranger ilkesi oluşturacaksınız.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Etki alanı kullanıcıları oluşturun.
- Ranger ilkeleri oluşturma.
- HBase kümesinde tablolar oluşturun.
- Ranger ilkelerini test edin.
Başlamadan önce
- Azure aboneliğiniz yoksa ücretsiz hesap oluşturun.
- Azure Portal’ında oturum açın.
- Kurumsal Güvenlik Paketi ile bir HDInsight HBase kümesi oluşturun.
Apache Ranger Yönetici Arabirimine bağlanma
Tarayıcıdan, URL'sini
https://<ClusterName>.azurehdinsight.net/Ranger/
kullanarak Ranger Yönetici kullanıcı arabirimine (UI) bağlanın. HBase kümenizin adını değiştirmeyi<ClusterName>
unutmayın.Not
Ranger kimlik bilgileri Hadoop kümesi kimlik bilgileriyle aynı değildir. Tarayıcıların ön belleğe alınmış Hadoop kimlik bilgilerini kullanmasını önlemek için Ranger Yönetici Arabirimine yeni bir InPrivate tarayıcı penceresinden bağlanın.
Microsoft Entra yönetici kimlik bilgilerinizi kullanarak oturum açın. Microsoft Entra yönetici kimlik bilgileri HDInsight kümesi kimlik bilgileri veya Linux HDInsight düğümü Secure Shell (SSH) kimlik bilgileriyle aynı değildir.
Etki alanı kullanıcılarını oluşturma
sales_user1 oluşturmayı ve etki alanı kullanıcılarını marketing_user1 öğrenmek için bkz. Kurumsal Güvenlik Paketi ile HDInsight kümesi oluşturma. Bir üretim senaryosunda, etki alanı kullanıcıları Active Directory kiracınızdan gelir.
HBase tabloları oluşturma ve örnek verileri içeri aktarma
HBase kümelerine bağlanmak için SSH kullanabilir ve ardından Apache HBase Kabuğu kullanarak HBase tabloları oluşturabilir, veri ekleyebilir ve veri sorgulayabilirsiniz. Daha fazla bilgi için bkz. HDInsight ile SSH kullanma.
HBase kabuğunu kullanma
SSH'den aşağıdaki HBase komutu çalıştırın:
hbase shell
İki sütun ailesi içeren bir HBase tablosu
Customers
oluşturun:Name
veContact
.create 'Customers', 'Name', 'Contact' list
Bazı verileri ekleyin:
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'
Tablonun içeriğini görüntüleyin:
scan 'Customers'
Ranger ilkelerini oluşturma
sales_user1 ve marketing_user1 için bir Ranger ilkesi oluşturun.
Ranger Yönetici Arabirimini açın. HBase'in altında ClusterName>_hbase öğesini seçin<.
İlke listesi ekranı, bu küme için oluşturulan tüm Ranger ilkelerini gösterir. Önceden yapılandırılmış bir ilke listelenebilir. Yeni İlke Ekle'yi seçin.
Create Policy
Ekranda aşağıdaki değerleri girin:Ayar Önerilen değer İlke Adı sales_customers_name_contact HBase Tablosu Müşteriler HBase Column-family Ad, Kişi HBase Sütunu * Grup seçin Kullanıcı Seçin sales_user1 İzinler Okundu Konu adında şu joker karakterler bulunabilir:
*
karakterlerin sıfır veya daha fazla tekrarını gösterir.?
tek bir karakteri gösterir.
Not
Kullanıcı Seç için bir etki alanı kullanıcısı otomatik olarak doldurulmazsa Ranger'ın Microsoft Entra Id ile eşitlenmesi için birkaç dakika bekleyin.
İlkeyi kaydetmek için Ekle'yi seçin.
Yeni İlke Ekle'yi seçin ve aşağıdaki değerleri girin:
Ayar Önerilen değer İlke Adı marketing_customers_contact HBase Tablosu Müşteriler HBase Column-family İlgili kişi HBase Sütunu * Grup seçin Kullanıcı Seçin marketing_user1 İzinler Okundu İlkeyi kaydetmek için Ekle'yi seçin.
Ranger ilkelerini test etme
Yapılandırılan Ranger ilkelerine bağlı olarak, sales_user1 hem hem Contact
de sütun ailelerindeki sütunların Name
tüm verilerini görüntüleyebilir. marketing_user1 yalnızca sütun ailesindeki Contact
verileri görüntüleyebilir.
Verilere sales_user1 olarak erişme
Kümeye yeni bir SSH bağlantısı açın. Kümede oturum açmak için aşağıdaki komutu kullanın:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
kinit
komutunu kullanarak istenen kullanıcının bağlamını değiştirin:kinit sales_user1
HBase kabuğunu açın ve tablosunu
Customers
tarayın:hbase shell scan `Customers`
Satış kullanıcısının tablonun tüm sütunlarını görüntüleyebildiğine
Customers
dikkat edin. Kullanıcı sütun ailesindekiName
iki sütunu ve sütun ailesindekiContact
beş sütunu görebilir.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
Verilere marketing_user1 olarak erişme
Kümeye yeni bir SSH bağlantısı açın. marketing_user1 olarak oturum açmak için aşağıdaki komutu kullanın:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
kinit
İstenen kullanıcımızın bağlamını değiştirmek için komutunu kullanın:kinit marketing_user1
HBase kabuğunu açın ve tablosunu
Customers
tarayın:hbase shell scan `Customers`
Pazarlama kullanıcısının sütun ailesinin yalnızca beş sütununu görüntüleyebildiğine
Contact
dikkat edin.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
Ranger kullanıcı arabiriminden denetim erişimi olaylarını görüntüleyin.
Kaynakları temizleme
Bu uygulamayı kullanmaya devam etmeyecekseniz, oluşturduğunuz HBase kümesini silin:
- Azure Portal’ında oturum açın.
- Üstteki Arama kutusuna HDInsight yazın.
- Hizmetler'in altında HDInsight kümeleri'ne tıklayın.
- Görüntülenen HDInsight kümeleri listesinde, bu öğretici için oluşturduğunuz kümenin yanındaki ... öğesini seçin.
- Sil>Evet'i seçin.