Configurer des stratégies Apache Hive dans HDInsight avec le Pack Sécurité Entreprise

Dans cet article, vous allez découvrir comment configurer des stratégies Apache Ranger pour Apache Hive. Vous créez deux stratégies Ranger pour restreindre l’accès à hivesampletable. hivesampletable est fourni avec des clusters HDInsight. Après avoir configuré les stratégies, vous utilisez Excel et le pilote ODBC (Open Database Connectivity) pour vous connecter aux tables Hive dans HDInsight.

Prérequis

  • Un cluster HDInsight avec le Pack Sécurité Entreprise (ESP). Pour plus d’informations, consultez Configurer des clusters HDInsight avec ESP.
  • Une station de travail avec Microsoft 365 Apps for enterprise, Office 2016, Office Professionnel Plus 2013, l'édition autonome d'Excel 2013 ou Office Professionnel Plus 2010.

Se connecter à l’interface utilisateur d’administration Apache Ranger

Pour vous connecter à l’interface utilisateur d’administration Ranger :

  1. À partir d’un navigateur, accédez à l’interface utilisateur d’administration Ranger à l’adresse https://CLUSTERNAME.azurehdinsight.net/Ranger/, où CLUSTERNAME est le nom de votre cluster.

    Remarque

    Ranger utilise des informations d’identification différentes de celles du cluster Apache Hadoop. Pour empêcher les navigateurs d’utiliser les informations d’identification Hadoop mises en cache, utilisez une nouvelle fenêtre de navigation InPrivate pour vous connecter à l’interface utilisateur d’administration Ranger.

  2. Connectez-vous avec le nom d’utilisateur et le mot de passe du domaine de l’administrateur du cluster :

    Screenshot that shows the HDInsight ESP Ranger home page.

    Actuellement, Ranger fonctionne uniquement avec Yarn et Hive.

Créer des utilisateurs du domaine

Pour plus d’informations sur la façon de créer hiveruser1 et hiveuser2, consultez Créer un cluster HDInsight avec ESP. Dans cet article, vous utilisez les deux comptes utilisateur.

Création de stratégies Ranger

Dans cette section, vous créez deux stratégies Ranger pour accéder à hivesampletable. Vous accordez une autorisation select sur différents ensembles de colonnes. Les deux utilisateurs ont été créés en suivant les instructions de l’article Créer un cluster HDInsight avec ESP. Dans la section suivante, vous testez les deux stratégies dans Excel.

Pour créer des stratégies Ranger :

  1. Ouvrez l’interface utilisateur de l’administrateur Ranger. Consultez la section précédente, Se connecter à l’interface utilisateur d’administration Apache Ranger.

  2. Sous Hive, sélectionnez CLUSTERNAME_Hive. Deux stratégies préconfigurées sont visibles.

  3. Sélectionnez Ajouter une nouvelle stratégie, puis entrez les valeurs suivantes :

    Propriété Valeur
    Nom de la stratégie read-hivesampletable-all
    Base de données Hive default
    table hivesampletable
    Colonne Hive *
    Sélectionner un utilisateur hiveuser1
    Autorisations select

    Screenshot that shows the HDInsight ESP Ranger Hive policies to configure. .

    Remarque

    Si un utilisateur de domaine n’est pas renseigné dans Sélectionner un utilisateur, attendez quelques instants que Ranger se synchronise avec Microsoft Entra ID.

  4. Sélectionnez Ajouter pour enregistrer la stratégie.

  5. Répétez les deux dernières étapes pour créer une autre stratégie avec les propriétés suivantes :

    Propriété Valeur
    Nom de la stratégie read-hivesampletable-devicemake
    Base de données Hive default
    table hivesampletable
    Colonne Hive clientid, devicemake
    Sélectionner un utilisateur hiveuser2
    Autorisations select

Créer une source de données ODBC Hive

Pour obtenir des instructions sur la façon de créer une source de données ODBC Hive, consultez Créer une source de données ODBC Hive.

Propriété Description
Nom de la source de données Donnez un nom à votre source de données.
Hôte Entrez CLUSTERNAME.azurehdinsight.net. Par exemple, utilisez myHDICluster.azurehdinsight.net.
Port Utilisez 443. (Ce port est passé de 563 à 443.)
Base de données Utilisez Default.
Hive Server Type Sélectionnez Hive Server 2.
Mechanism Sélectionnez Azure HDInsight Service.
HTTP Path Laissez cette valeur vide.
User Name Entrez hiveuser1@contoso158.onmicrosoft.com. Mettez à jour le nom de domaine s’il est différent.
Mot de passe Entrez le mot de passe pour hiveuser1.

Sélectionnez Tester avant d’enregistrer la source de données.

Importation de données dans Microsoft Excel à partir de HDInsight

Dans la dernière section, vous avez configuré deux stratégies : hiveuser1 a l’autorisation select sur toutes les colonnes et hiveuser2 a l’autorisation select sur deux colonnes. Dans cette section, vous représentez les deux utilisateurs pour importer des données dans Excel.

  1. Ouvrez un nouveau classeur ou un classeur existant dans Excel.

  2. Sous l’onglet Données, accédez à Obtenir des données>Depuis d’autres sources>Depuis ODBC afin d’ouvrir la fenêtre Depuis ODBC.

    Screenshot that shows the Open data connection wizard.

  3. Dans la liste déroulante, sélectionnez le nom de la source de données que vous avez créée dans la dernière section, puis sélectionnez OK.

  4. Lors de la première utilisation, une boîte de dialogue Pilote ODBC s’ouvre. Dans le menu gauche, sélectionnez Windows. Sélectionnez ensuite Se connecter pour ouvrir la fenêtre Navigateur.

  5. Attendez l'ouverture de la boîte de dialogue Sélection d'une base de données et d'une table . Cette opération peut prendre quelques secondes.

  6. Sélectionnez Hivesampletable>Suivant.

  7. Sélectionnez Terminer.

  8. Dans la boîte de dialogue Importation de données , vous pouvez modifier ou spécifier la requête. Pour ce faire, sélectionnez Propriétés. Cette opération peut prendre quelques secondes.

  9. Sélectionnez l’onglet Définition. Le texte de commande est le suivant :

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

    Conformément aux stratégies Ranger que vous avez définies, hiveuser1 a l’autorisation select sur toutes les colonnes. Cette requête fonctionne avec les informations d’identification pour hiveuser1, mais pas avec les informations d’identification pour hiveuser2.

  10. Sélectionnez OK pour fermer la boîte de dialogue Propriétés de connexion.

  11. Sélectionnez OK pour fermer la boîte de dialogue Importation de données.

  12. Entrez à nouveau le mot de passe pour hiveuser1, puis sélectionnez OK. Patientez quelques secondes pendant que les données sont importées dans Excel. Une fois l’opération terminée, 11 colonnes de données sont visibles.

Pour tester la deuxième stratégie (read-hivesampletable-devicemake) que vous avez créée dans la dernière section :

  1. Ajoutez une nouvelle feuille dans Excel.

  2. Suivez la procédure précédente pour importer les données. Le seul changement consiste à utiliser les informations d’identification hiveuser2 au lieu de hiveuser1. Cette action échoue, car hiveuser2 n’est autorisé à afficher que deux colonnes. Vous obtenez l’erreur suivante :

    [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. Suivez la même procédure pour importer les données. Cette fois, utilisez les informations d’identification pour hiveuser2 et modifiez également l’instruction select de :

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

    Par :

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

    Une fois l’opération terminée, deux colonnes de données importées sont visibles.

Étapes suivantes