Partager via


Utiliser une identité managée pour l’authentification des bases de données SQL dans Azure HDInsight

HDInsight a ajouté l’option Identité managée pour authentifier les bases de données SQL dans ses offres de cluster et fournir un mécanisme d’authentification plus sécurisé.

Cet article décrit le processus d’utilisation de l’option Identité managée (MSI) pour authentifier les bases de données SQL lors de la création d’un cluster HDInsight.

L’option Identité managée (MI) est disponible pour les bases de données suivantes :

Bases de données Base de données HoBo (Host on Behalf of) Base de données BYO (Bring Your Own)
Ambari
Hive
Oozie
Ranger (ESP)

Remarque

  • Actuellement, l’identité managée (MI) est disponible dans les régions publiques Azure uniquement.
  • L’option Identité managée n’est pas activée par défaut. Pour l’activer, envoyez un ticket de support avec les détails de votre abonnement et de votre région.

Important

  • Il est recommandé de ne pas mettre à jour l’identité managée après avoir recréé le cluster, car cela peut perturber l’opération du cluster.
  • Lorsque vous recréez une MSI portant le même nom, les utilisateurs doivent recréer l’utilisateur autonome et réattribuer les rôles, car la nouvelle MSI aura des ID d’objet et de client différents, même si le nom reste inchangé.

Étapes pour utiliser une identité managée lors de la création du cluster dans le portail Azure

  1. Pendant la création du cluster, accédez à la section Stockage et sélectionnez la base de données SQL pour Ambari/Hive/Oozie. Choisissez Identité managée comme méthode d’authentification.

    Capture d’écran montrant l’onglet de base.

  2. Sélectionnez l’identité managée pour vous authentifier auprès de la base de données SQL.

    Capture d’écran montrant l’onglet de stockage.

  3. Créez un utilisateur autonome avec l’identité managée dans la base de données SQL correspondante.

    Suivez ces étapes dans l’éditeur de requête des bases de données Azure SQL pour créer un utilisateur de base de données et lui accorder des autorisations en lecture-écriture. Effectuez ces étapes pour chaque base de données SQL que vous allez utiliser pour différents services tels que Ambari, Hive ou Oozie.

    Remarque

    Le nom d’utilisateur doit contenir le nom de la MSI d’origine auquel s’ajoute un suffixe défini par l’utilisateur. En guise de bonne pratique, le suffixe peut inclure une partie initiale de son ID d’objet. L’ID d’objet de l’identité managée peut être obtenu dans le portail, dans la page des identités managées.

    Par exemple :

    • Nom MSI : contosoMSI
    • ID d’objet : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    • user_name pourrait être contosoMSI-2ba6c
    CREATE USER {user_name} FROM EXTERNAL PROVIDER WITH OBJECT_ID={object id of cluster managed identity};   
    
    ALTER ROLE db_datareader ADD MEMBER {user_name};   
    ALTER ROLE db_ddladmin ADD MEMBER {user_name};   
    ALTER ROLE db_datawriter ADD MEMBER {user_name};   
    

    Remarque

    Si les rôles db_executor, db_view_def et db_view_state sont déjà définis dans votre base de données, il n’est pas nécessaire de passer à l’étape suivante.

    CREATE ROLE db_executor;   
    GRANT EXECUTE TO db_executor;   
    ALTER ROLE db_executor ADD MEMBER {user_name};   
    
    CREATE ROLE db_view_def;   
    GRANT VIEW DEFINITION TO db_view_def;   
    ALTER ROLE db_view_def ADD MEMBER {user_name};   
    CREATE ROLE db_view_db_state;  
    
    GRANT VIEW DATABASE STATE TO db_view_db_state;   
    
    ALTER ROLE db_view_def ADD MEMBER {user_name};  
    
  4. Après avoir entré les détails nécessaires, passez à la création du cluster dans le portail.