Freigeben über


Verwenden der Option „Verwaltete Identität“ für die SQL-Datenbankauthentifizierung in Azure HDInsight

HDInsight hat die Option „Verwaltete Identität“ 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 „Verwaltete Identität (MSI)“ für die SQL-Datenbankauthentifizierung beim Erstellen eines HDInsight-Clusters beschrieben.

Die Option „Verwaltete Identität“ (Managed Identity, MI) 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

  • Die verwaltete Identität (MI) ist derzeit nur in öffentlichen Regionen verfügbar.
  • Die MI-Option ist nicht standardmäßig aktiviert. Um sie zu aktivieren, senden Sie ein Supportticket mit Ihren Abonnement- und Regionsdetails.

Wichtig

  • Es wird empfohlen, die verwaltete Identität nach der Neuerstellung des Clusters nicht zu aktualisieren, da sie den Clustervorgang stören kann.
  • Wenn Sie eine MSI mit demselben Namen neu erstellen, müssen Benutzer die enthaltenen Benutzer neu erstellen und Rollen neu zuweisen, da die neue MSI verschiedene Objekt- und Client-IDs 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 die Option „Verwaltete Identität“ als Authentifizierungsmethode aus.

    Screenshot der Registerkarte „Grundlagen“.

  2. Wählen Sie die Option „Verwaltete Identität“ zum Authentifizieren der SQL-Datenbank aus.

    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 MSI-Namen 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.

    Zum Beispiel:

    • MSI-Name: contosoMSI
    • Objekt-ID: aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    • Der user_name könnte contosoMSI-2ba6c 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.