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
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.
Wählen Sie die Option „Verwaltete Identität“ zum Authentifizieren der SQL-Datenbank aus.
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
unddb_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};
Fahren Sie nach der Eingabe der erforderlichen Details mit der Clustererstellung im Portal fort.