Freigeben über


Verwenden von verwalteten Identitäten zum Zugriff auf Azure Cosmos DB aus einem Azure Stream Analytics-Auftrag

Azure Stream Analytics unterstützt die Authentifizierung über verwaltete Identitäten für Azure Cosmos DB-Ausgaben. Verwaltete Identitäten beseitigen die Einschränkungen benutzerbasierter Authentifizierungsmethoden, wie etwa die Notwendigkeit einer erneuten Authentifizierung aufgrund von Kennwortänderungen oder Benutzertoken, die alle 90 Tage ablaufen. 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. Weitere Informationen zu verwalteten Identitäten für Azure Stream Analytics finden Sie unter Verwaltete Identitäten für Azure Stream Analytics.

Dieser Artikel veranschaulicht, wie Sie eine systemseitig zugewiesene verwaltete Identität für eine Azure Cosmos DB-Ausgabe eines Stream Analytics-Auftrags über das Azure-Portal aktivieren. Bevor Sie die systemseitig zugewiesene verwaltete Identität aktivieren können, müssen Sie zuerst über einen Stream Analytics-Auftrag und eine Azure Cosmos DB-Ressource verfügen.

Erstellen einer verwalteten Identität

Erstellen Sie zuerst eine verwaltete Identität für den Azure Stream Analytics-Auftrag. 

  1. Öffnen Sie im Azure-Portal den 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.

    Systemseitig zugewiesene verwaltete Identität

  3. Ein Dienstprinzipal für die Identität des Stream Analytics-Auftrags wird in Microsoft Entra ID erstellt. Der Lebenszyklus der neu erstellten Identität wird von Azure verwaltet. Wenn der Stream Analytics-Auftrag gelöscht wird, wird die zugeordnete Identität (also der Dienstprinzipal) von Azure automatisch ebenfalls gelöscht. 

    Wenn Sie die Konfiguration speichern, wird die Objekt-ID (OID) des Dienstprinzipals als Prinzipal-ID aufgeführt, wie hier gezeigt:

    Prinzipal-ID

    Der Dienstprinzipal weist den gleichen Namen auf wie der Stream Analytics-Auftrag. Wenn der Name des Auftrags z. B. MyASAJob lautet, erhält auch der Dienstprinzipal den Namen MyASAJob. 

Erteilen von Berechtigungen für den Stream Analytics-Auftrag zum Zugriff auf das Azure Cosmos DB-Konto

Damit der Stream Analytics-Auftrag über eine verwaltete Identität auf Ihre Azure Cosmos DB zugreifen kann, muss der von Ihnen erstellte Dienstprinzipal über bestimmte Berechtigungen für Ihr Azure Cosmos DB-Konto verfügen. In diesem Schritt können Sie der systemseitig zugewiesene verwaltete Identität Ihres Stream Analytics-Auftrag eine Rolle zuweisen. Azure Cosmos DB umfasst mehrere integrierte Rollen, die Sie der verwalteten Identität zuweisen können. Im Rahmen dieser Lösung verwenden Sie die folgende Rolle:

Integrierte Rolle
Integrierter Mitwirkender an Cosmos DB-Daten

Wichtig

Die auf der Azure Cosmos DB-Datenebene integrierte rollenbasierte Zugriffssteuerung (RBAC) wird nicht über das Azure-Portal verfügbar gemacht. Um die integrierte Rolle „Cosmos DB-Mitwirkender an Daten“ zuzuweisen, müssen Sie die Berechtigung über Azure Powershell erteilen. Weitere Informationen zur rollenbasierten Zugriffssteuerung mit Microsoft Entra ID für Ihr Azure Cosmos DB-Konto finden Sie in der Dokumentation: Konfigurieren der rollenbasierten Zugriffssteuerung mit Microsoft Entra ID für Ihr Azure Cosmos DB-Konto.

Der folgende Befehl kann verwendet werden, um Ihren ASA-Auftrag bei Azure Cosmos DB zu authentifizieren. Die $accountName und $resourceGroupName stehen für Ihr Azure Cosmos DB-Konto, und $principalId ist der Wert, den Sie im vorherigen Schritt auf der Registerkarte „Identität“ Ihres ASA-Auftrags erhalten haben. Sie benötigen Zugriff auf Ihr Azure Cosmos DB-Konto als „Mitwirkender“, damit dieser Befehl wie vorgesehen funktioniert.

New-AzCosmosDBSqlRoleAssignment -AccountName $accountName -ResourceGroupName $resourceGroupName -RoleDefinitionId '00000000-0000-0000-0000-000000000002' -Scope "/" -PrincipalId $principalId

Hinweis

Aufgrund der globalen Replikations- oder Cachinglatenz kann es zu einer Verzögerung kommen, wenn Berechtigungen widerrufen oder erteilt werden. Änderungen sollten innerhalb von 10 Minuten widergespiegelt werden. Auch wenn die Testverbindung zunächst erfolgreich ist, können Aufträge fehlerhaft sein, wenn sie gestartet werden, bevor die Berechtigungen vollständig verteilt wurden.

Wichtig

Wenn das CosmosDB-Konto nicht so konfiguriert ist, dass Verbindungen von Alle Netzwerkeakzeptiert werden, müssen Sie Verbindungen aus öffentlichen Azure-Rechenzentren akzeptierenauswählen.

Hinzufügen von Azure Cosmos DB als Ausgabe

Nachdem die verwaltete Identität konfiguriert wurde, können Sie dem Stream Analytics-Auftrag die Azure Cosmos DB-Ressource als Ausgabe hinzufügen. 

  1. Wechseln Sie zum Stream Analytics-Auftrag, und navigieren Sie unter Auftragstopologie zur Seite Ausgaben.

  2. Wählen Sie Hinzufügen > Azure Cosmos DB aus. Suchen Sie im Fenster mit den Ausgabeeigenschaften nach Ihrem Azure Cosmos DB-Konto, und wählen Sie im Dropdownmenü Authentifizierungsmodus die Option Verwaltete Identität: Systemseitig zugewiesen aus.

  3. Geben Sie die restlichen Eigenschaften an, und klicken Sie auf Speichern.

Nächste Schritte