Verwenden von verwalteten Identitäten für den Zugriff auf Azure SQL-Datenbank oder Azure Synapse Analytics aus einem Azure Stream Analytics Auftrag

Azure Stream Analytics unterstützt die Authentifizierung mithilfe verwalteter Identität für Ausgabesenken von Azure SQL-Datenbank und Azure Synapse Analytics. Verwaltete Identitäten beseitigen die Einschränkungen von benutzerbasierten Authentifizierungsmethoden, z. B. die Notwendigkeit, aufgrund von Kennwortänderungen oder Ablaufen von Benutzertoken erneut zu authentifizieren, die alle 90 Tage auftreten. Wenn Sie die Notwendigkeit einer manuellen Authentifizierung aufheben, können Ihre Stream Analytics-Bereitstellungen vollständig automatisiert werden.

Bei einer verwalteten Identität handelt es sich um eine in Microsoft Entra ID registrierte verwaltete Anwendung, die einen bestimmten Stream Analytics-Auftrag repräsentiert. Die verwaltete Anwendung wird zur Authentifizierung bei einer Zielressource verwendet. In diesem Artikel erfahren Sie, wie Sie verwaltete Identität für eine Azure SQL-Datenbank oder eine Azure Synapse Analytics Ausgabe eines Stream Analytics-Auftrags über das Azure-Portal aktivieren.

Overview

In diesem Artikel werden die Schritte erläutert, die erforderlich sind, um Ihren Stream Analytics-Auftrag mit Ihrem Azure SQL-Datenbank oder Azure Synapse Analytics SQL-Pool mithilfe des Authentifizierungsmodus für verwaltete Identitäten zu verbinden.

  • Sie erstellen zunächst eine vom System zugewiesene verwaltete Identität für Ihren Stream Analytics-Auftrag. Dies ist die Identität Ihres Arbeitsplatzes in Microsoft Entra ID.

  • Fügen Sie Ihrem SQL Server- oder Synapse-Arbeitsbereich einen Active Directory Administrator hinzu, der die Microsoft Entra ID -Authentifizierung (verwaltete Identität) für diese Ressource ermöglicht.

  • Erstellen Sie als Nächstes einen enthaltenen Benutzer, der die Identität des Stream Analytics-Auftrags in der Datenbank darstellt. Wenn der Stream Analytics-Auftrag mit Ihrer SQL DB- oder Synapse SQL DB-Ressource interagiert, ist dies die Identität, auf die er verweist, um zu überprüfen, welche Berechtigungen Ihr Stream Analytics-Auftrag hat.

  • Erteilen Sie Berechtigungen für Ihren Stream Analytics-Auftrag, um auf Ihre SQL-Datenbank oder Synapse SQL-Pools zuzugreifen.

  • Fügen Sie schließlich Ihre Azure SQL-Datenbank/Azure Synapse Analytics als Ausgabe im Stream Analytics-Auftrag hinzu.

Voraussetzungen

Für die Nutzung dieser Funktion benötigen Sie:

  • Ein Azure Stream Analytics Auftrag.

  • Eine Azure SQL-Datenbank Ressource.

Erstellen einer verwalteten Identität

Erstellen Sie zunächst eine verwaltete Identität für Ihren Azure Stream Analytics Auftrag.

  1. Öffnen Sie im portal Azure Ihren Azure Stream Analytics Auftrag.

  2. Wählen Sie im linken Navigationsmenü unter Konfigurieren die Option Verwaltete Identität aus. Aktivieren Sie dann das Kontrollkästchen neben Systemseitig zugewiesene verwaltete Identität verwenden, und wählen Sie Speichern aus.

    Auswählen der vom System zugewiesenen verwalteten Identität

    Microsoft Entra ID erstellt einen Dienstprinzipal für die Identität des Stream Analytics-Auftrags. Azure verwaltet den Lebenszyklus der neu erstellten Identität. Wenn Sie den Stream Analytics-Auftrag löschen, löscht Azure automatisch die zugeordnete Identität (d. a. den Dienstprinzipal).

  3. Sie können auch zu von Benutzern zugewiesenen verwalteten Identitäten wechseln.

  4. Wenn Sie die Konfiguration speichern, wird die Objekt-ID (OID) des Dienstprinzipal als Prinzipal-ID angezeigt, wie im folgenden Abschnitt beschrieben.

    Objekt-ID als Prinzipal-ID angezeigt

    Der Dienstprinzipal weist den gleichen Namen auf wie der Stream Analytics-Auftrag. Wenn beispielsweise der Name Ihres Auftrags "MyASAJob" lautet, lautet der Name des Dienstprinzipals auch "MyASAJob".

Auswählen eines Active Directory Administrators

Nachdem Sie eine verwaltete Identität erstellt haben, wählen Sie einen Active Directory Administrator aus.

  1. Wechseln Sie zu Ihrer Azure SQL-Datenbank oder Azure Synapse Analytics SQL-Pool-Ressource. Wählen Sie den SQL Server- oder Synapse-Arbeitsbereich aus, unter dem sich die Ressource befindet. Sie finden den Link zu diesen Ressourcen auf der Seite "Ressourcenübersicht" neben dem Servernamen oder dem Arbeitsbereichsnamen.

  2. Wählen Sie Active Directory Admin oder SQL Active Directory Admin unter Settings für SQL Server- und Synapse-Arbeitsbereich aus. Wählen Sie dann "Administrator festlegen" aus.

    Active Directory-Administratorseite

  3. Suchen Sie auf der Active Directory-Administratorseite nach einem Benutzer oder einer Gruppe, um ein Administrator für die SQL Server zu sein, und wählen Sie Select aus. Dieser Benutzer kann den enthaltenen Datenbankbenutzer im nächsten Abschnitt erstellen.

    Add Active Directory Admin

    Auf der Active Directory-Administratorseite werden alle Mitglieder und Gruppen Ihrer Active Directory angezeigt. Ausgegraute Benutzer oder Gruppen können nicht ausgewählt werden, da sie nicht als Microsoft Entra-Administratoren unterstützt werden. Lesen Sie die Liste der unterstützten Administratoren im Abschnitt Microsoft Entra Funktionen und Einschränkungen von Microsoft Entra-Authentifizierung für die Authentifizierung mit SQL-Datenbank oder Azure Synapse verwenden.

  4. Wählen Sie Speichern auf der Seite Active Directory Admin aus. Der Vorgang zum Ändern des Administrators dauert einige Minuten.

Erstellen eines eingeschränkten Datenbankbenutzers

Erstellen Sie als Nächstes einen enthaltenen Datenbankbenutzer in Ihrer Azure SQL oder Azure Synapse Datenbank, die der Microsoft Entra Identität zugeordnet ist. Der enthaltene Datenbankbenutzer verfügt nicht über eine Anmeldung für die primäre Datenbank, ist aber einer Identität im Verzeichnis zugeordnet, das der Datenbank zugeordnet ist. Die Microsoft Entra Identität kann ein einzelnes Benutzerkonto oder eine Gruppe sein. In diesem Fall möchten Sie einen enthaltenen Datenbankbenutzer für Ihren Stream Analytics-Auftrag erstellen.

Weitere Informationen finden Sie unter Universelle Authentifizierung bei SQL-Datenbank und Azure Synapse Analytics (SSMS-Unterstützung für MFA).

  1. Stellen Sie mithilfe von SQL Server Management Studio eine Verbindung mit Ihrer Azure SQL oder Azure Synapse Datenbank her. Der Benutzername ist ein Microsoft Entra Benutzer mit der Berechtigung ALTER ANY USER. Der Administrator, den Sie für die SQL Server festgelegt haben, ist ein Beispiel. Verwenden Sie Microsoft Entra ID – Universal mit MFAauthentifizierung.

    Verbinden mit SQL Server

    Der Servername <SQL Server name>.database.windows.net kann in verschiedenen Regionen unterschiedlich sein. Beispielsweise sollte die Region China <SQL Server name>.database.chinacloudapi.cn verwenden.

    Sie können eine bestimmte Azure SQL oder Azure Synapse Datenbank angeben, indem Sie zu Options > Verbindungseigenschaften > Verbindung mit Datenbank verbinden wechseln.

    SQL Server Verbindungseigenschaften

  2. Wenn Sie zum ersten Mal eine Verbindung herstellen, tritt möglicherweise das folgende Fenster auf:

    Neues Firewallregelfenster

    1. Wenn ja, wechseln Sie im Azure-Portal zu Ihrer SQL Server- oder Synapse-Arbeitsbereichsressource. Öffnen Sie im Abschnitt "Sicherheit " die Seite "Firewalls" und "Virtuelle Netzwerke " oder "Firewalls ".
    2. Fügen Sie eine neue Regel mit einem beliebigen Regelnamen hinzu.
    3. Verwenden Sie die Quell-IP-Adresse aus dem Fenster "Neue Firewallregel" für die Start-IP.
    4. Verwenden Sie die Ziel-IP-Adresse aus dem Fenster "Neue Firewallregel" für End-IP.
    5. Wählen Sie Speichern aus, und versuchen Sie erneut, eine Verbindung von SQL Server Management Studio herzustellen.
  3. Nachdem Sie eine Verbindung hergestellt haben, erstellen Sie den enthaltenen Datenbankbenutzer. Mit dem folgenden SQL-Befehl wird ein enthaltener Datenbankbenutzer erstellt, der denselben Namen wie Ihr Stream Analytics-Auftrag hat. Achten Sie darauf, die Klammern um den ASA_JOB_NAME einzuschließen. Verwenden Sie die folgende T-SQL-Syntax, und führen Sie die Abfrage aus.

    CREATE USER [ASA_JOB_NAME] FROM EXTERNAL PROVIDER;
    

    Um zu überprüfen, ob Sie den enthaltenen Datenbankbenutzer ordnungsgemäß hinzugefügt haben, führen Sie den folgenden Befehl in SSMS unter der betreffenden Datenbank aus, und überprüfen Sie, ob sich Ihr ASA_JOB_NAME unter der Spalte "Name" befindet.

    SELECT * FROM <SQL_DB_NAME>.sys.database_principals
    WHERE type_desc = 'EXTERNAL_USER'
    
  4. Damit Microsoft Microsoft Entra ID überprüfen können, ob der Stream Analytics-Auftrag Zugriff auf die SQL-Datenbank hat, müssen Sie Microsoft Entra Berechtigung für die Kommunikation mit der Datenbank erteilen. Wechseln Sie dazu erneut zur Seite Firewalls und virtuelles Netzwerk oder Firewalls im Azure-Portal, und aktivieren Sie Azure-Dienste und -Ressourcen den Zugriff auf diesen Server erlauben oder Arbeitsbereich.

    Firewall und virtuelles Netzwerk

Stream-Analytics-Jobberechtigungen erteilen

Nachdem Sie einen enthaltenen Datenbankbenutzer erstellt und im Portal Zugriff auf Azure-Dienste gewährt haben, wie im vorherigen Abschnitt beschrieben, verfügt Ihr Stream Analytics-Job über die Berechtigung, sich über verwaltete Identität mit Ihrer Azure SQL-Datenbankressource zu VERBINDEN. Gewähren Sie die SELECT- und INSERT-Berechtigungen für den Stream Analytics-Job, da der Job diese Berechtigungen später im Stream Analytics-Workflow benötigt. Mit der Berechtigung SELECT kann der Auftrag seine Verbindung mit der Tabelle in der Azure SQL-Datenbank testen. Die Berechtigung INSERT ermöglicht das Testen von End-to-End-Stream Analytics-Abfragen, sobald Sie eine Eingabe und die Azure SQL Datenbankausgabe konfigurieren.

Sie können diesen Berechtigungen für den Stream Analytics-Auftrag erteilen, indem Sie SQL Server Management Studio verwenden. Weitere Informationen finden Sie in der GRANT (Transact-SQL)-Referenz.

Verwenden Sie die folgende T-SQL-Syntax, um nur einer bestimmten Tabelle oder einem bestimmten Objekt in der Datenbank die Berechtigung zu erteilen, und führen Sie die Abfrage aus.

GRANT CONNECT TO ASA_JOB_NAME;
GRANT SELECT, INSERT ON OBJECT::TABLE_NAME TO ASA_JOB_NAME;

Alternativ können Sie in SQL Server Management Studio mit der rechten Maustaste auf Ihre Azure SQL- oder Azure Synapse-Datenbank klicken und Eigenschaften > Berechtigungen auswählen. Im Menü "Berechtigungen" können Sie den zuvor hinzugefügten Stream Analytics-Auftrag sehen und Berechtigungen manuell erteilen oder verweigern, je nach Bedarf.

Um alle Berechtigungen anzuzeigen, die Sie Ihrem ASA_JOB_NAME Benutzer hinzugefügt haben, führen Sie den folgenden Befehl in SSMS unter der betreffenden DB aus:

SELECT dbprin.name, dbprin.type_desc, dbperm.permission_name, dbperm.state_desc, dbperm.class_desc, object_name(dbperm.major_id)
FROM sys.database_principals dbprin
LEFT JOIN sys.database_permissions dbperm
ON dbperm.grantee_principal_id = dbprin.principal_id
WHERE dbprin.name = '<ASA_JOB_NAME>'

Erstellen einer Azure SQL-Datenbank- oder Azure Synapse ausgabe

Note

Wenn Sie SQL Managed Instance (MI) als Referenzeingabe verwenden, müssen Sie einen öffentlichen Endpunkt in Ihrem SQL Managed Instance konfigurieren. Sie müssen den vollqualifizierten Domänennamen mit dem Port beim Konfigurieren der Datenbankeigenschaft angeben. Beispiel: sampleserver.public.database.windows.net,3342.

Nachdem Sie Ihre verwaltete Identität konfiguriert haben, können Sie Ihrem Stream Analytics-Auftrag eine Azure SQL-Datenbank oder Azure Synapse Ausgabe hinzufügen.

Stellen Sie sicher, dass Sie eine Tabelle in Ihrer SQL-Datenbank mit dem entsprechenden Ausgabeschema erstellen. Sie müssen den Namen dieser Tabelle angeben, wenn Sie die SQL-Datenbankausgabe zum Stream Analytics-Auftrag hinzufügen. Stellen Sie außerdem sicher, dass der Auftrag über SELECT- und INSERT-Berechtigungen verfügt, um die Verbindung zu testen und Stream Analytics-Abfragen auszuführen. Wenn Sie dies noch nicht getan haben, lesen Sie den Abschnitt "Berechtigungen für Stream Analytics-Aufträge erteilen".

  1. Kehr zu deinem Stream Analytics-Auftrag zurück und gehe zur Seite Ausgaben unter Auftragstopologie.

  2. Wählen Sie "SQL-Datenbank hinzufügen" >aus. Wählen Sie im Ausgabeeigenschaftenfenster der Ausgabesenke der SQL-Datenbank die Option "Verwaltete Identität" aus der Dropdownliste "Authentifizierungsmodus" aus.

  3. Füllen Sie die restlichen Eigenschaften aus. Weitere Informationen zum Erstellen einer SQL-Datenbankausgabe finden Sie unter Erstellen einer SQL-Datenbankausgabe mit Stream Analytics. Wählen Sie abschließend Speichern aus.

  4. Nachdem Sie " Speichern" ausgewählt haben, wird automatisch ein Verbindungstest mit Ihrer Ressource ausgelöst. Nachdem dieser Test erfolgreich abgeschlossen wurde, haben Sie Ihren Stream Analytics-Auftrag so konfiguriert, dass eine Verbindung mit Ihrer Azure SQL-Datenbank- oder Synapse SQL-Datenbank mithilfe des Modus für die verwaltete Identitätsauthentifizierung hergestellt wird.

Zusätzliche Schritte für SQL-Referenzdaten

Wenn Sie SQL-Referenzdaten verwenden, müssen Sie das Speicherkonto Ihres Jobs für Azure Stream Analytics einrichten. Der Auftrag verwendet dieses Speicherkonto zum Speichern von Inhalten, die mit Ihrem Stream Analytics-Auftrag verbunden sind, z. B. SQL-Referenzdatenschnappschüsse.
Führen Sie die folgenden Schritte aus, um ein zugeordnetes Speicherkonto einzurichten:

  1. Wählen Sie auf der Seite "Stream Analytics-Auftrag " unter " Konfigurieren " im linken Menü " Speicherkontoeinstellungen" aus.

  2. Wählen Sie auf der Seite "Stream Analytics-Auftrag" unter "Konfigurieren" im linken Menü "Speicherkontoeinstellungen" aus.

  3. Wählen Sie auf der Seite " Speicherkontoeinstellungen " die Option "Speicherkonto hinzufügen" aus.

  4. Befolgen Sie die Anweisungen zum Konfigurieren Ihrer Speicherkontoeinstellungen.

    Screenshot der Seite

Von Bedeutung

  • Um sich mithilfe eines Verbindungszeichenfolge zu authentifizieren, müssen Sie die Firewalleinstellungen des Speicherkontos deaktivieren.
  • Um sich mit verwalteter Identität zu authentifizieren, müssen Sie Ihren Stream Analytics-Auftrag zur Zugriffssteuerungsliste des Speicherkontos für die Rolle „Mitwirkender von Speicher-BLOB-Daten“ und die Rolle „Mitwirkender von Speichertabellendaten“ hinzufügen. Wenn Sie Ihrem Job keinen Zugriff gewähren, kann der Job keine Vorgänge ausführen. Weitere Informationen zum Gewähren des Zugriffs finden Sie unter Verwenden Azure RBAC zum Zuweisen eines verwalteten Identitätszugriffs zu einer anderen Ressource.

Zusätzliche Schritte mit der vom Benutzer zugewiesenen verwalteten Identität

Wiederholen Sie die Schritte, wenn Sie die vom Benutzer zugewiesene verwaltete Identität ausgewählt haben, um ASA mit Synapse zu verbinden:

  1. Erstellen Sie einen eingeschränkten Datenbankbenutzer. Ersetzen Sie ASA_Job_Name durch benutzerzugeordneten verwalteten Identität. Siehe folgendes Beispiel.
    CREATE USER [User-Assigned Managed Identity] FROM EXTERNAL PROVIDER;
    
  2. Erteilen Sie Berechtigungen für die benutzerzugewiesene verwaltete Identität. Ersetzen Sie ASA_Job_Name durch Benutzerdefinierte verwaltete Identität.

Weitere Informationen finden Sie in den vorherigen Abschnitten.

Verwaltete Identität entfernen

Sie löschen die verwaltete Identität, die Sie für einen Stream Analytics-Auftrag erstellt haben, nur, wenn Sie den Auftrag löschen. Sie können die verwaltete Identität nicht löschen, ohne den Auftrag zu löschen. Wenn Sie die verwaltete Identität nicht mehr verwenden möchten, ändern Sie die Authentifizierungsmethode für die Ausgabe. Die verwaltete Identität ist weiterhin vorhanden, bis Sie den Auftrag löschen, und es wird verwendet, wenn Sie die verwaltete Identitätsauthentifizierung erneut verwenden möchten.

Nächste Schritte