Partager via


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

HDInsight a ajouté l’option d’identité managée (MI) pour authentifier les bases de données SQL au sein de 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 pour l’authentification de base de données SQL lors de la création d’un cluster HDInsight.

L’option d’identité managée 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

Le changement d’identité managée est disponible dans les régions publiques. Pour une utilisation dans d’autres régions (régions fédérales et chinoises), contactez le support technique pour obtenir de l’aide.

Important

  • Il est recommandé de ne pas mettre à jour l'identité gérée après la recréation du cluster, car cela peut perturber le fonctionnement du cluster.
  • Lorsque vous recréez une identité managée portant le même nom, vous devez recréer l’utilisateur contenu et réaffecter les rôles, car la nouvelle identité managée possède un ID d’objet et un ID client différents, même si le nom reste inchangé.

Étapes d’utilisation de l’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 l’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 d’identité managée d’origine étendu par 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 mi : contosoMSI
    • ID d’objet : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    • user_name pourrait être contosoMSI_aaaaaaaa
    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 sur le portail.