Tutoriel : Configurer des stratégies Apache HBase dans HDInsight avec le Pack Sécurité Entreprise

Découvrez comment configurer des stratégies Apache Ranger pour des clusters Apache HBase avec le Pack Sécurité Entreprise (ESP). Les clusters ESP sont connectés à un domaine permettant aux utilisateurs de s’authentifier avec les informations d’identification du domaine. Dans ce tutoriel, vous créez deux stratégies Ranger pour restreindre l’accès à différentes familles de colonnes dans une table HBase.

Dans ce tutoriel, vous allez apprendre à :

  • Créer des utilisateurs du domaine.
  • Créer des stratégies Ranger.
  • Créer des tables dans un cluster HBase.
  • Tester des stratégies Ranger.

Avant de commencer

Connexion à l’interface utilisateur Apache Ranger

  1. À partir d’un navigateur, connectez-vous à l’interface utilisateur d’administration de Ranger en utilisant l’URL https://<ClusterName>.azurehdinsight.net/Ranger/. N’oubliez pas de remplacer <ClusterName> par le nom de votre cluster HBase.

    Remarque

    Les informations d’identification de Ranger ne sont pas les mêmes que celles du cluster 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 administrateur de Ranger.

  2. Connectez-vous avec vos informations d’identification d’administrateur Microsoft Entra. Les informations d’identification d’administrateur Microsoft Entra ne sont pas les mêmes que les informations d’identification du cluster HDInsight ou que les informations d’identification Secure Shell (SSH) du nœud HDInsight Linux.

Créer des utilisateurs du domaine

Pour savoir comment créer les utilisateurs du domaine sales_user1 et marketing_user1, consultez Créer un cluster HDInsight avec le Pack Sécurité Entreprise. Dans un scénario de production, les utilisateurs du domaine proviennent de votre locataire Active Directory.

Créer des tables HBase et importer des données d’exemple

Vous pouvez utiliser SSH pour vous connecter à des clusters HBase, puis utiliser Apache HBase Shell pour créer des tables HBase, et insérer et interroger des données. Pour en savoir plus, voir Utilisation de SSH avec Hadoop Linux sur HDInsight depuis Linux, Unix ou OS X.

Utilisation de l’interpréteur de commandes HBase

  1. À partir de SSH, exécutez la commande HBase suivante :

    hbase shell
    
  2. Créez une table HBase Customers avec deux familles de colonnes : Name et Contact.

    create 'Customers', 'Name', 'Contact'
    list
    
  3. Insérez des données :

    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. Affichez le contenu de la table :

    scan 'Customers'
    

    Screenshot that shows the HDInsight Hadoop HBase shell output.

Création de stratégies Ranger

Créez une stratégie Ranger pour sales_user1 et marketing_user1.

  1. Ouvrez l’interface utilisateur de l’administrateur Ranger. Sous HBase, sélectionnez <Nom_cluster>_hbase.

    Screenshot that shows the HDInsight Apache Ranger Admin UI.

  2. L’écran Liste des stratégies affiche toutes les stratégies Ranger créées pour ce cluster. Il est possible qu’une stratégie préconfigurée figure dans la liste. Sélectionnez Ajouter une nouvelle stratégie.

    Screenshot that shows the Apache Ranger HBase policies list.

  3. Dans l’écran Create Policy (Créer une stratégie), entrez les valeurs suivantes :

    Paramètre Valeur suggérée
    Nom de la stratégie sales_customers_name_contact
    HBase Table (Table HBase) Clients
    HBase Column-family (Famille de colonnes HBase) Name, Contact
    HBase Column (Colonne HBase) *
    Select Group (Sélectionner un groupe)
    Sélectionner un utilisateur sales_user1
    Autorisations Lire

    Les caractères génériques suivants peuvent être inclus dans le nom de la rubrique :

    • * indique zéro, une ou plusieurs occurrences des caractères.
    • ? indique n’importe quel caractère individuel.

    Screenshot that shows the Apache Ranger policy Create sales.

    Remarque

    Attendez quelques instants que Ranger se synchronise avec Microsoft Entra ID si un utilisateur de domaine n’est pas renseigné automatiquement pour Sélectionnez un utilisateur.

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

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

    Paramètre Valeur suggérée
    Nom de la stratégie marketing_customers_contact
    HBase Table (Table HBase) Clients
    HBase Column-family (Famille de colonnes HBase) Contact
    HBase Column (Colonne HBase) *
    Select Group (Sélectionner un groupe)
    Sélectionner un utilisateur marketing_user1
    Autorisations Lire

    Screenshot that shows the Apache Ranger policy Create marketing.

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

Tester les stratégies Ranger

En fonction des stratégies Ranger configurées, sales_user1 peut voir toutes les données des colonnes des familles de colonnes Name et Contact. marketing_user1 peut voir les données seulement de la famille de colonnes Contact.

Accéder aux données en tant qu’utilisateur sales_user1

  1. Ouvrez une connexion SSH avec le cluster. Utilisez la commande suivante pour vous connecter au cluster :

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. Utilisez la commande kinit pour passer au contexte de l’utilisateur souhaité :

    kinit sales_user1
    
  3. Ouvrez l’interpréteur de commandes HBase et analysez la table Customers.

    hbase shell
    scan `Customers`
    
  4. Notez que l’utilisateur sales_user1 peut voir toutes les colonnes de la table Customers. L’utilisateur peut voir les deux colonnes de la famille de colonnes Name et les cinq colonnes de la famille de colonnes Contact.

    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
    

Accéder aux données en tant qu’utilisateur marketing_user1

  1. Ouvrez une connexion SSH avec le cluster. Utilisez la commande suivante pour vous connecter en tant que marketing_user1 :

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. Utilisez la commande kinit pour passer au contexte de notre utilisateur souhaité :

    kinit marketing_user1
    
  3. Ouvrez l’interpréteur de commandes HBase et analysez la table Customers.

    hbase shell
    scan `Customers`
    
  4. Notez que l’utilisateur marketing peut uniquement voir les cinq colonnes de la famille de colonnes Contact.

    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. Consultez les événements d’accès de l’audit à partir de l’interface utilisateur de Ranger.

    Screenshot that shows the HDInsight Ranger UI Policy Audit.

Nettoyer les ressources

Si vous ne comptez pas continuer à utiliser cette application, supprimez le cluster HBase que vous avez créé :

  1. Connectez-vous au portail Azure.
  2. Dans la zone Rechercher située en haut, tapez HDInsight.
  3. Sous Services, sélectionnez Clusters HDInsight.
  4. Dans la liste des clusters HDInsight qui s’affiche, sélectionnez les points de suspension ... à côté du cluster que vous avez créé pour ce tutoriel.
  5. Sélectionnez Supprimer>Oui.

Étapes suivantes