تكوين نُهج Apache Hive في HDInsight مع حزمة أمان المؤسسات

في هذه المقالة، ستتعلم كيفية تكوين نهج Apache Ranger ل Apache Hive. يمكنك إنشاء نهجي Ranger لتقييد الوصول إلى hivesampletable. يأتي hivesampletable مع مجموعات HDInsight. بعد تكوين النهج، يمكنك استخدام برنامج تشغيل Excel وOpen Database الاتصال ivity (ODBC) للاتصال بجداول Hive في HDInsight.

المتطلبات الأساسية

  • مجموعة HDInsight مع حزمة أمان المؤسسة (ESP). لمزيد من المعلومات، راجع تكوين مجموعات HDInsight باستخدام ESP.
  • محطة عمل مع تطبيقات Microsoft 365 للمؤسسة أو Office 2016 أو Office 2013 Professional Plus أو Excel 2013 Standalone أو Office 2010 Professional Plus.

الاتصال إلى واجهة مستخدم مسؤول Apache Ranger

للاتصال بواجهة مستخدم Ranger مسؤول (UI):

  1. من متصفح، انتقل إلى Ranger مسؤول UI في https://CLUSTERNAME.azurehdinsight.net/Ranger/ حيث CLUSTERNAME هو اسم نظام المجموعة الخاص بك.

    إشعار

    يستخدم Ranger بيانات اعتماد مختلفة عن نظام مجموعة Apache Hadoop. لمنع المتصفحات باستخدام بيانات اعتماد Hadoop المخزنة مؤقتا، استخدم نافذة متصفح InPrivate جديدة للاتصال بواجهة مستخدم Ranger مسؤول.

  2. سجل الدخول باستخدام اسم المستخدم وكلمة المرور لمجال مسؤول نظام المجموعة:

    لقطة شاشة تعرض الصفحة الرئيسية ل HDInsight ESP Ranger.

    حالياً، يعمل Ranger فقط مع Yarn وHive.

إنشاء مستخدمي المجال

للحصول على معلومات حول كيفية إنشاء hiveruser1 و hiveuser2، راجع إنشاء مجموعة HDInsight باستخدام ESP. يمكنك استخدام اثنين من حسابات المستخدمين في هذه المقالة.

إنشاء نُهج Ranger

في هذا القسم، يمكنك إنشاء نهجي Ranger للوصول إلى hivesampletable. يمكنك منح إذن تحديد على مجموعات مختلفة من الأعمدة. تم إنشاء كلا المستخدمين باستخدام إنشاء نظام مجموعة HDInsight باستخدام ESP. في القسم التالي، يمكنك اختبار النهجين في Excel.

لإنشاء نهج Ranger:

  1. افتح واجهة مستخدم مسؤول Ranger. راجع القسم السابق، الاتصال إلى واجهة مستخدم مسؤول Apache Ranger.

  2. ضمن Apache Hive، حدد CLUSTERNAME_Hive. ترى نهجين تم تكوينهما مسبقا.

  3. حدد إضافة سياسة جديدة ثم أدخل القيم التالية:

    الخاصية القيمة
    اسم السياسة read-hivesampletable-all
    قاعدة بيانات الخلية افتراضي
    طاولتنا hivesampletable
    عمود الخلية *
    تحديد مستخدم hiveuser1
    الأذونات حدد

    لقطة شاشة تعرض نهج HDInsight ESP Ranger Hive لتكوينها. .

    إشعار

    إذا لم يتم ملء مستخدم مجال في Select User، فانتظر بضع لحظات حتى تتم مزامنة Ranger مع معرف Microsoft Entra.

  4. حدد إضافة لحفظ السياسة.

  5. كرر الخطوتين الأخيرتين لإنشاء نهج آخر مع الخصائص التالية:

    الخاصية القيمة
    اسم السياسة read-hivesampletable-devicemake
    قاعدة بيانات الخلية افتراضي
    طاولتنا hivesampletable
    عمود الخلية clientid، devicemake
    تحديد مستخدم hiveuser2
    الأذونات حدد

إنشاء مصدر بيانات Apache Hive ODBC

للحصول على إرشادات حول كيفية إنشاء مصدر بيانات Apache Hive ODBC، راجع إنشاء مصدر بيانات Apache Hive ODBC.

الخاصية ‏‏الوصف
اسم مصدر البيانات أدخل اسما لمصدر البيانات.
المضيف أدخل CLUSTERNAME.azurehdinsight.net. على سبيل المثال، استخدم myHDICluster.azurehdinsight.net.
المنفذ استخدام 443. (تم تغيير هذا المنفذ من 563 إلى 443.)
قاعدة البيانات استخدم الافتراضي.
نوع خادم الخلية حدد Hive Server 2.
آلِيَّة حدد Azure HDInsight Service.
مسار HTTP اتركه فارغا.
اسم المستخدم أدخل hiveuser1@contoso158.onmicrosoft.com. تحديث اسم المجال إذا كان مختلفاً.
كلمة المرور أدخل كلمة المرور ل hiveuser1.

حدد Test قبل حفظ مصدر البيانات.

استيراد البيانات إلى Excel من HDInsight

في القسم الأخير، قمت بتكوين نهجين: hiveuser1 لديه إذن التحديد على جميع الأعمدة، ولديه hiveuser2 إذن التحديد على عمودين. في هذا القسم، يمكنك انتحال صفة المستخدمين لاستيراد البيانات إلى Excel.

  1. افتح مصنفاً جديداً أو موجوداً في Excel.

  2. في علامة التبويب بيانات، انتقل إلى الحصول على بيانات>من مصادر>أخرى من ODBC لفتح نافذة من ODBC.

    لقطة شاشة تعرض معالج فتح اتصال البيانات.

  3. من القائمة المنسدلة، حدد اسم مصدر البيانات الذي أنشأته في القسم الأخير ثم حدد موافق.

  4. للاستخدام الأول، يتم فتح مربع حوار برنامج تشغيل ODBC. حدد Windows من القائمة اليسرى. ثم حدد Connect لفتح نافذة Navigator.

  5. Select Database and Table انتظر حتى يتم فتح مربع الحوار. قد تستغرق هذه الخطوة بضع ثوان.

  6. حدد hivesampletable>Next.

  7. حدد إنهاء.

  8. في مربع الحوار Import Data يمكنك تغيير الاستعلام أو تحديده. للقيام بذلك، حدد Properties. قد تستغرق هذه الخطوة بضع ثوان.

  9. حدد علامة التبويب Definition. نص الأمر هو:

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

    بواسطة نهج Ranger التي قمت بتعريفها، hiveuser1 يكون لديك إذن تحديد على جميع الأعمدة. يعمل هذا الاستعلام مع بيانات الاعتماد الخاصة ب hiveuser1، ولكن هذا الاستعلام لا يعمل مع بيانات الاعتماد الخاصة ب hiveuser2.

  10. حدد موافق لإغلاق مربع الحوار خصائص الاتصال.

  11. حدد OK لإغلاق مربع الحوار Import Data.

  12. أعد إدخال كلمة المرور ثم hiveuser1 حدد موافق. يستغرق الأمر بضع ثوان قبل استيراد البيانات إلى Excel. عند الانتهاء، سترى 11 عمودا من البيانات.

لاختبار النهج الثاني (read-hivesampletable-devicemake) الذي قمت بإنشائه في القسم الأخير:

  1. يمكنك إضافة ورقة جديدة في Excel.

  2. اتبع الإجراء الأخير لاستيراد البيانات. التغيير الوحيد الذي تقوم به هو استخدام بيانات الاعتماد بدلا hiveuser2 من hiveuser1. فشل هذا الإجراء لأن hiveuser2 لديه الإذن لرؤية عمودين فقط. ترى الخطأ التالي:

    [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. اتبع نفس الإجراء لاستيراد البيانات. هذه المرة، استخدم بيانات الاعتماد ل hiveuser2 وقم أيضا بتعديل عبارة التحديد من:

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

    إلى:

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

    عند الانتهاء، سترى عمودين من البيانات المستوردة.

الخطوات التالية