Freigeben über


Verwenden der verwalteten Identität für die SQL-Datenbankauthentifizierung in Azure HDInsight

HDInsight hat die Option Managed Identity (MI) für die Authentifizierung von SQL-Datenbanken in ihren Clusterangeboten hinzugefügt und einen sichereren Authentifizierungsmechanismus bereitgestellt.

In diesem Artikel wird der Prozess der Verwendung der Option "Managed Identity" für die SQL-Datenbankauthentifizierung beim Erstellen eines HDInsight-Clusters beschrieben.

Die Option für verwaltete Identität ist für die folgenden Datenbanken verfügbar:

Datenbanken HoBo DB (Host on Behalf of) BYO DB (Bring Your Own)
Ambari
Hive
Oozie
Ranger (ESP)

Hinweis

Verwaltete Identitätsänderung ist in öffentlichen Regionen verfügbar. Für die Nutzung in anderen Regionen (Bundes- und China-Regionen) wenden Sie sich bitte an den Support, um Unterstützung zu erhalten.

Wichtig

  • Es wird empfohlen, die verwaltete Identität nach der Clustererholung nicht zu aktualisieren, da sie den Clusterbetrieb stören kann.
  • Wenn Sie eine verwaltete Identität mit demselben Namen neu erstellen, müssen Sie den enthaltenen Benutzer neu erstellen und Rollen neu zuweisen, da die neue verwaltete Identität unterschiedliche Objekt-ID und Client-ID aufweist, auch wenn der Name unverändert bleibt.

Schritte zur Verwendung der verwalteten Identität während der Clustererstellung im Azure-Portal

  1. Navigieren Sie während der Clustererstellung zum Abschnitt „Speicher“, und wählen Sie die SQL-Datenbank für Ambari/Hive/Oozie aus. Wählen Sie verwaltete Identität als Authentifizierungsmethode aus.

    Screenshot der Registerkarte „Grundlagen“.

  2. Wählen Sie die verwaltete Identität aus, um sich bei der SQL-Datenbank zu authentifizieren.

    Screenshot, der die Registerkarte „Speicherkonto“ zeigt.

  3. Erstellen Sie einen enthaltenen Benutzer mit der verwalteten Identität in der entsprechenden SQL-Datenbank.

    Führen Sie die folgenden Schritte im Abfrage-Editor der Azure SQL-Datenbank aus, um einen Datenbankbenutzer zu erstellen und ihm Lese-/Schreibberechtigungen zu erteilen. Führen Sie diese Schritte für jede SQL-Datenbank aus, die Sie für verschiedene Dienste wie Ambari, Hive oder Oozie verwenden möchten.

    Hinweis

    Der Benutzername muss den ursprünglichen verwalteten Identitätsnamen enthalten, der durch ein benutzerdefiniertes Suffix erweitert wurde. Als bewährte Methode kann das Suffix einen anfänglichen Teil seiner Objekt-ID enthalten. Die Objekt-ID der verwalteten Identität kann über das Portal auf der Portalseite der verwalteten Identität abgerufen werden.

    Beispiel:

    • MI-Name: contosoMSI
    • Objekt-ID: aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    • Der user_name könnte contosoMSI_aaaaaaaa lauten
    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};   
    

    Hinweis

    Wenn die Rollen db_executor, db_view_def und db_view_state bereits in Ihrer Datenbank definiert sind, müssen Sie nicht mit dem nachfolgenden Schritt fortfahren.

    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. Fahren Sie nach der Eingabe der erforderlichen Details mit der Clustererstellung im Portal fort.