Aracılığıyla paylaş


Öğ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

Apache Ranger Yönetici Arabirimine bağlanma

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

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

  1. SSH'den aşağıdaki HBase komutu çalıştırın:

    hbase shell
    
  2. İki sütun ailesi içeren bir HBase tablosu Customers oluşturun: Name ve Contact.

    create 'Customers', 'Name', 'Contact'
    list
    
  3. 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'
    
  4. Tablonun içeriğini görüntüleyin:

    scan 'Customers'
    

    HDInsight Hadoop HBase kabuk çıkışını gösteren ekran görüntüsü.

Ranger ilkelerini oluşturma

sales_user1 ve marketing_user1 için bir Ranger ilkesi oluşturun.

  1. Ranger Yönetici Arabirimini açın. HBase'in altında ClusterName>_hbase öğesini seçin<.

    HDInsight Apache Ranger Yönetici Kullanıcı Arabirimini gösteren ekran görüntüsü.

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

    Apache Ranger HBase ilkeleri listesini gösteren ekran görüntüsü.

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

    Apache Ranger satış oluşturma ilkesini gösteren ekran görüntüsü.

    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.

  4. İlkeyi kaydetmek için Ekle'yi seçin.

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

    Apache Ranger pazarlama oluşturma ilkesini gösteren ekran görüntüsü.

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

  1. 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
    
  2. kinit komutunu kullanarak istenen kullanıcının bağlamını değiştirin:

    kinit sales_user1
    
  3. HBase kabuğunu açın ve tablosunu Customerstarayın:

    hbase shell
    scan `Customers`
    
  4. Satış kullanıcısının tablonun tüm sütunlarını görüntüleyebildiğine Customers dikkat edin. Kullanıcı sütun ailesindeki Name iki sütunu ve sütun ailesindeki Contact 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

  1. 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
    
  2. kinit İstenen kullanıcımızın bağlamını değiştirmek için komutunu kullanın:

    kinit marketing_user1
    
  3. HBase kabuğunu açın ve tablosunu Customerstarayın:

    hbase shell
    scan `Customers`
    
  4. 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
    
  5. Ranger kullanıcı arabiriminden denetim erişimi olaylarını görüntüleyin.

    HDInsight Ranger Kullanıcı Arabirimi İlkesi Denetimi'ni gösteren ekran görüntüsü.

Kaynakları temizleme

Bu uygulamayı kullanmaya devam etmeyecekseniz, oluşturduğunuz HBase kümesini silin:

  1. Azure Portal’ında oturum açın.
  2. Üstteki Arama kutusuna HDInsight yazın.
  3. Hizmetler'in altında HDInsight kümeleri'ne tıklayın.
  4. Görüntülenen HDInsight kümeleri listesinde, bu öğretici için oluşturduğunuz kümenin yanındaki ... öğesini seçin.
  5. Sil>Evet'i seçin.

Sonraki adımlar