Dela via


Använda hanterad identitet för SQL Database-autentisering i Azure HDInsight

HDInsight har lagt till alternativet Hanterad identitet för att autentisera SQL-databaser i dess klustererbjudanden och tillhandahålla en säkrare autentiseringsmekanism.

Den här artikeln beskriver processen med att använda alternativet Hanterad identitet (MSI) för SQL Database-autentisering när du skapar ett HDInsight-kluster.

Alternativet Hanterad identitet (MI) är tillgängligt för följande databaser:

Databaser Värd för (HoBo) DB Byo-databas (Bring Your Own)
Ambari
Hive
Oozie
Ranger (ESP)

Kommentar

  • Hanterad identitet (MI) är för närvarande endast tillgänglig i offentliga regioner.
  • MI-alternativet är inte aktiverat som standard. Om du vill aktivera den skickar du ett supportärende med din prenumerations- och regioninformation.

Viktigt!

  • Vi rekommenderar att du inte uppdaterar den hanterade identiteten efter klustrets återskapande eftersom den kan störa klusteråtgärden.
  • När du återskapar en MSI med samma namn måste användarna återskapa den inneslutna användaren och omtilldela roller, eftersom den nya MSI:n har olika objekt- och klient-ID:n även om namnet förblir oförändrat.

Steg för att använda hanterad identitet när klustret skapas i Azure Portal

  1. När klustret skapas går du till avsnittet Lagring och väljer SQL-databasen för Ambari/Hive/Oozie. Välj Hanterad identitet som autentiseringsmetod.

    Skärmbild som visar fliken Grundläggande.

  2. Välj den hanterade identiteten för att autentisera med SQL Database.

    Skärmbild som visar fliken Lagring.

  3. Skapa en innesluten användare med den hanterade identiteten i motsvarande SQL-databas.

    Följ de här stegen i Frågeredigeraren för Azure SQL Database för att skapa en databasanvändare och ge den läs- och skrivbehörighet. Utför de här stegen för varje SQL Database som du ska använda för olika tjänster som Ambari, Hive eller Oozie.

    Kommentar

    Användarnamnet måste innehålla det ursprungliga MSI-namnet som utökats med ett användardefinierat suffix. Som bästa praxis kan suffixet innehålla en första del av dess objekt-ID. Objekt-ID för hanterad identitet kan hämtas från portalen på sidan för den hanterade identitetsportalen.

    Till exempel:

    • MSI-namn: contosoMSI
    • Objekt-ID: aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    • user_name kan vara 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};   
    

    Kommentar

    Om rollerna db_executor, db_view_defoch db_view_state redan har definierats i databasen, behöver du inte fortsätta med det efterföljande steget.

    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. När du har angett nödvändig information fortsätter du med att skapa kluster på portalen.