Aracılığıyla paylaş


Kurumsal Güvenlik Paketi ile HDInsight içinde Apache Hive ilkelerini yapılandırma

Bu makalede Apache Hive için Apache Ranger ilkelerini yapılandırmayı öğreneceksiniz. hivesampletable erişimini kısıtlamak için iki Ranger ilkesi oluşturursunuz. hivesampletable HDInsight kümeleriyle birlikte gelir. İlkeleri yapılandırdıktan sonra, HDInsight'ta Hive tablolarına bağlanmak için Excel ve Açık Veritabanı Bağlantısı (ODBC) sürücüsünü kullanırsınız.

Önkoşullar

  • Kurumsal Güvenlik Paketi (ESP) içeren bir HDInsight kümesi. Daha fazla bilgi için bkz. ESP ile HDInsight kümelerini yapılandırma.
  • Kurumsal için Microsoft 365 uygulamaları, Office 2016, Office 2013 Professional Plus, Excel 2013 Tek Başına veya Office 2010 Professional Plus içeren bir iş istasyonu.

Apache Ranger Yönetici Kullanıcı Arabirimine bağlanma

Ranger Yöneticisi kullanıcı arabirimine (UI) bağlanmak için:

  1. Bir tarayıcıdan, kümenizin adının CLUSTERNAME olduğu https://CLUSTERNAME.azurehdinsight.net/Ranger/ adresindeki Ranger Yönetici kullanıcı arabirimine gidin.

    Uyarı

    Ranger, Apache Hadoop kümesinden farklı kimlik bilgileri kullanır. Önbelleğe alınmış Hadoop kimlik bilgilerini kullanarak tarayıcıları önlemek için Ranger Yönetici kullanıcı arabirimine bağlanmak için yeni bir InPrivate tarayıcı penceresi kullanın.

  2. Küme yöneticisi etki alanı kullanıcı adını ve parolasını kullanarak oturum açın:

    HDInsight ESP Ranger giriş sayfasını gösteren ekran görüntüsü.

    Ranger şu anda yalnızca Yarn ve Hive ile çalışmaktadır.

Etki alanı kullanıcılarını oluşturma

hiveruser1 ve hiveuser2 oluşturma hakkında bilgi için bkz: ESP ile HDInsight kümesi oluşturma. Bu makaledeki iki kullanıcı hesabını kullanırsınız.

Ranger ilkelerini oluşturma

Bu bölümde, hivesampletable erişimi için iki Ranger ilkesi oluşturacaksınız. Farklı sütun kümelerinde seçme izni verirsiniz. Her iki kullanıcı da ESP ile HDInsight kümesi oluştur kullanılarak oluşturulmuştur. Sonraki bölümde, iki ilkeyi Excel'de test edin.

Ranger ilkeleri oluşturmak için:

  1. Ranger Yönetici Kullanıcı Arabirimi'ni açın. Yukarıdaki Apache Ranger Yönetici Kullanıcı Arabirimine Bağlanma bölümüne bakın.

  2. Hive'ın altında CLUSTERNAME_Hive'ı seçin. Önceden yapılandırılmış iki ilke görürsünüz.

  3. Yeni İlke Ekle'yi seçin ve aşağıdaki değerleri girin:

    Mülkiyet Değer
    İlke Adı oku-arıörnektablosu-tümü
    Hive Veritabanı varsayılan
    tablo hivesampletable
    Hive Sütunu *
    Kullanıcı Seçin hiveuser1
    İzinler seç

    HDInsight ESP Ranger Hive ilkelerinin yapılandırılması için ekran görüntüsü.

    Uyarı

    Eğer bir etki alanı kullanıcısı Kullanıcı Seç bölümünde görünmüyorsa, Ranger'in Microsoft Entra Kimliği ile eşitlenmesi için birkaç dakika bekleyin.

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

  5. Aşağıdaki özelliklere sahip başka bir ilke oluşturmak için son iki adımı yineleyin:

    Mülkiyet Değer
    İlke Adı read-hivesampletable-cihazmarkası
    Hive Veritabanı varsayılan
    tablo hivesampletable
    Hive sütunu clientid, devicemake
    Kullanıcı Seçin hiveuser2
    İzinler seçmek

Hive ODBC veri kaynağı oluşturma

Hive ODBC veri kaynağı oluşturma yönergeleri için bkz. Hive ODBC veri kaynağı oluşturma.

Mülkiyet Açıklama
Veri Kaynağı Adı Veri kaynağınıza bir ad verin.
Sunucu CLUSTERNAME.azurehdinsight.net girin. Örneğin , myHDICluster.azurehdinsight.net kullanın.
Liman 443 yazın. (Bu bağlantı noktası 563'ten 443'e değiştirildi.)
Veritabanı Varsayılan'a tıklayın.
Hive Sunucu Türü Hive Server 2'yi seçin.
Mekanizma Azure HDInsight Hizmeti'ne tıklayın.
HTTP Yolu Boş bırakın.
Kullanıcı Adı hiveuser1@contoso158.onmicrosoft.com girin. Etki alanı adı değişikse güncelleştirin.
Şifre Parolayı hiveuser1 için girin.

Veri kaynağını kaydetmeden önce Test et'i seçin.

HDInsight’tan Excel’e veri aktarma

Son bölümde iki ilke yapılandırmıştınız: hiveuser1 tüm sütunlarda seçme iznine sahip ve hiveuser2 iki sütunda seçme iznine sahip. Bu bölümde, verileri Excel'e aktarmak için iki kullanıcının kimliğine bürünebilirsiniz.

  1. Excel’de yeni veya mevcut bir çalışma kitabını açın.

  2. Veri sekmesine gidin, Veri Al>Diğer Kaynaklardan>ODBC'den seçeneğine tıklayarak ODBC'den penceresini açın.

    Veri bağlantısı açma sihirbazını gösteren ekran görüntüsü.

  3. Açılan listeden, son bölümde oluşturduğunuz veri kaynağı adını seçin ve ardından Tamam'ı seçin.

  4. İlk kullanım için bir ODBC sürücüsü iletişim kutusu açılır. Soldaki menüden Windows'a tıklayın. Ardından Bağlan'ı seçerek Gezgin penceresini açın.

  5. İletişim kutusunun Select Database and Table açılmasını bekleyin. Bu adım birkaç saniye sürebilir.

  6. hivesampletable>Next'i seçin.

  7. Bitirseçin.

  8. Verileri İçeri Aktar iletişim kutusunda sorguyu değiştirebilir veya belirtebilirsiniz. Bunu yapmak için Özellikler'i seçin. Bu adım birkaç saniye sürebilir.

  9. Tanım sekmesini seçin. Komut metni:

    SELECT * FROM "HIVE"."default"."hivesampletable"`
    

    Tanımladığınız Ranger ilkelerine göre, hiveuser1 tüm sütunlarda seçme iznine sahiptir. Bu sorgu için kimlik bilgileriyle hiveuser1çalışır, ancak bu sorgu için hiveuser2kimlik bilgileriyle çalışmaz.

  10. Tamam'ı seçerek Bağlantı Özellikleri iletişim kutusunu kapatın.

  11. Verileri İçeri Aktar iletişim kutusunu kapatmak için Tamam'ı seçin.

  12. için parolayı hiveuser1 yeniden girin ve tamam'ı seçin. Verilerin Excel'e aktarılması birkaç saniye sürer. tamamlandığında 11 veri sütunu görürsünüz.

Son bölümde oluşturduğunuz ikinci ilkeyi (read-hivesampletable-devicemake) test etmek için:

  1. Excel'de yeni bir sayfa ekleyin.

  2. Verileri içeri aktarmak için son yordamı izleyin. Yaptığınız tek değişiklik, hiveuser1 yerine hiveuser2 kimlik bilgilerini kullanmaktır. Yalnızca iki sütunu görme izni olduğundan hiveuser2 bu eylem başarısız olur. Aşağıdaki hatayı görürsünüz:

    [Microsoft][HiveODBC] (35) Error from Hive: error code: '40000' error message: 'Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [hiveuser2] does not have [SELECT] privilege on [default/hivesampletable/clientid,country ...]'.
    
  3. Verileri içeri aktarmak için aynı yordamı izleyin. Bu kez, hiveuser2 için kimlik bilgilerini kullanın ve şu SELECT ifadesini bu şekilde değiştirin:

    SELECT * FROM "HIVE"."default"."hivesampletable"
    

    Hedef:

    SELECT clientid, devicemake FROM "HIVE"."default"."hivesampletable"
    

    tamamlandığında, içeri aktarılan verilerin iki sütunlarını görürsünüz.

Sonraki adımlar