Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie managed Identity Authentication für die Ausgabe in Azure Blob Storage verwenden, erhalten Stream Analytics-Aufträge direkten Zugriff auf ein Speicherkonto, ohne eine Verbindungszeichenfolge zu verwenden. Dieses Feature verbessert die Sicherheit und ermöglicht es Ihnen, Daten in ein Speicherkonto in einem virtuellen Netzwerk (VNET) in Azure zu schreiben.
In diesem Artikel erfahren Sie, wie Sie die verwaltete Identität für die Blob-Ausgaben eines Stream Analytics-Auftrags über das Azure Portal und über eine Azure Resource Manager Bereitstellung aktivieren.
Erstellen des Stream Analytics-Auftrags mithilfe des Azure-Portals
Erstellen Sie zunächst eine verwaltete Identität für Ihren Azure Stream Analytics Auftrag.
Öffnen Sie im Azure-Portal den Azure Stream Analytics-Auftrag.
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.
Azure erstellt einen Dienstprinzipal für die Identität des Stream Analytics-Jobs in Microsoft Entra ID. 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).
Wenn Sie die Konfiguration speichern, wird die Objekt-ID (OID) des Dienstprinzipals wie im folgenden Abschnitt dargestellt als Prinzipal-ID angezeigt:
Der Dienstprinzipal hat denselben Namen wie der Stream Analytics-Job. Wenn der Name des Auftrags z. B.
MyASAJoblautet, erhält auch der Dienstprinzipal den NamenMyASAJob.
Azure Resource Manager-Bereitstellung
Mithilfe von Azure Resource Manager können Sie die Bereitstellung Ihres Stream Analytics-Auftrags vollständig automatisieren. Sie können Resource Manager Vorlagen entweder mit Azure PowerShell oder dem Azure CLI bereitstellen. In den folgenden Beispielen wird die Azure CLI verwendet.
Erstellen Sie eine Microsoft. StreamAnalytics/streamingjobs Ressource mit einer verwalteten Identität, indem sie die folgende Eigenschaft in den Ressourcenabschnitt Ihrer Resource Manager-Vorlage einschließen:
"Identity": { "Type": "SystemAssigned", },Diese Eigenschaft weist Azure Resource Manager an, die Identität für Ihren Stream Analytics-Auftrag zu erstellen und zu verwalten. Im folgenden Beispiel einer Resource Manager-Vorlage wird ein Stream Analytics-Auftrag mit aktivierter verwalteter Identität und einem Blob-Ausgabeziel bereitgestellt, das die verwaltete Identität verwendet.
{ "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "resources": [ { "apiVersion": "2017-04-01-preview", "name": "MyStreamingJob", "location": "[resourceGroup().location]", "type": "Microsoft.StreamAnalytics/StreamingJobs", "identity": { "type": "systemAssigned" }, "properties": { "sku": { "name": "standard" }, "outputs":[ { "name":"output", "properties":{ "serialization": { "type": "JSON", "properties": { "encoding": "UTF8" } }, "datasource":{ "type":"Microsoft.Storage/Blob", "properties":{ "storageAccounts": [ { "accountName": "MyStorageAccount" } ], "container": "test", "pathPattern": "segment1/{date}/segment2/{time}", "dateFormat": "yyyy/MM/dd", "timeFormat": "HH", "authenticationMode": "Msi" } } } } ] } } ] }Sie können den vorherigen Auftrag in der Ressourcengruppe ExampleGroup bereitstellen, indem Sie den folgenden befehl Azure CLI verwenden:
az deployment group create --resource-group ExampleGroup -template-file StreamingJob.jsonNachdem Sie den Auftrag erstellt haben, verwenden Sie Azure Resource Manager, um die vollständige Definition des Auftrags abzurufen.
az resource show --ids /subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.StreamAnalytics/StreamingJobs/{RESOURCE_NAME}Der obige Befehl gibt eine Antwort wie das folgende Beispiel zurück:
{ "id": "/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.StreamAnalytics/streamingjobs/{RESOURCE_NAME}", "identity": { "principalId": "{PRINCIPAL_ID}", "tenantId": "{TENANT_ID}", "type": "SystemAssigned", "userAssignedIdentities": null }, "kind": null, "location": "West US", "managedBy": null, "name": "{RESOURCE_NAME}", "plan": null, "properties": { "compatibilityLevel": "1.0", "createdDate": "2019-07-12T03:11:30.39Z", "dataLocale": "en-US", "eventsLateArrivalMaxDelayInSeconds": 5, "jobId": "{JOB_ID}", "jobState": "Created", "jobStorageAccount": null, "jobType": "Cloud", "outputErrorPolicy": "Stop", "package": null, "provisioningState": "Succeeded", "sku": { "name": "Standard" } }, "resourceGroup": "{RESOURCE_GROUP}", "sku": null, "tags": null, "type": "Microsoft.StreamAnalytics/streamingjobs" }Notieren Sie sich die principalId aus der Definition des Auftrags, die die verwaltete Identität Ihres Auftrags innerhalb Microsoft Entra ID identifiziert und im nächsten Schritt verwendet wird, um dem Stream Analytics-Auftrag Zugriff auf das Speicherkonto zu gewähren.
Nachdem Sie den Auftrag erstellt haben, sehen Sie sich den Abschnitt "Gewähren Sie dem Stream Analytics-Auftrag Zugriff auf Ihr Speicherkonto" in diesem Artikel an.
Geben Sie dem Stream Analytics Job Zugriff auf Ihr Speicherkonto
Sie können Ihrem Stream Analytics-Auftrag zwei Zugriffsebenen gewähren:
- Zugriff auf Containerebene: Diese Zugriffsebene gewährt dem Auftrag Zugriff auf einen bestimmten vorhandenen Container.
- Zugriff auf Kontoebene: Diese Zugriffsebene gewährt dem Auftrag allgemeinen Zugriff auf das Speicherkonto, einschließlich der Möglichkeit, neue Container zu erstellen.
Wenn Sie nicht den Auftrag zum Erstellen von Containern benötigen, wählen Sie den Zugriff auf Containerebene aus, um dem Auftrag die Mindeststufe des erforderlichen Zugriffs zu gewähren. In den folgenden Abschnitten werden beide Optionen für das Azure Portal und die Befehlszeile erläutert.
Hinweis
Aufgrund der globalen Replikation oder Zwischenspeicherungslatenz kann das Widerrufen oder Erteilen von Berechtigungen einige Zeit in Anspruch nehmen. Änderungen sollten innerhalb von acht Minuten angezeigt werden.
Gewähren des Zugriffs über das Azure-Portal
Zugriff auf Containerebene
Wechseln Sie zum Konfigurationsbereich des Containers in Ihrem Speicherkonto.
Wählen Sie Zugriffssteuerung (IAM) aus.
Wählen Sie Hinzufügen>Rollenzuweisung hinzufügen aus, um die Seite Rollenzuweisung hinzufügen zu öffnen.
Weisen Sie die folgende Rolle zu. Ausführliche Informationen finden Sie unter Zuweisen von Azure-Rollen über das Azure-Portal.
Einstellung Wert Rolle Beitragender für Storage Blob Data Zugriff zuweisen Benutzer, Gruppe oder Dienstprinzipal Mitglieder <Name Ihres Stream Analytics-Auftrags>
Zugriff auf Kontoebene
Wechseln Sie zum Speicherkonto.
Wählen Sie Zugriffssteuerung (IAM) aus.
Wählen Sie Hinzufügen>Rollenzuweisung hinzufügen aus, um die Seite Rollenzuweisung hinzufügen zu öffnen.
Weisen Sie die folgende Rolle zu. Ausführliche Informationen finden Sie unter Zuweisen von Azure-Rollen über das Azure-Portal.
Einstellung Wert Rolle Mitwirkender an Storage-Blobdaten Zugriff zuweisen an Benutzer, Gruppe oder Dienstprinzipal Mitglieder <Name Ihres Stream Analytics-Auftrags>
Zugriff über das Befehlszeile gewähren
Zugriff auf Containerebene
Um Zugriff auf einen bestimmten Container zu erhalten, führen Sie den folgenden Befehl mit der Azure CLI aus:
az role assignment create --role "Storage Blob Data Contributor" --assignee <principal-id> --scope /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container-name>
Zugriff auf Kontoebene
Um Zugriff auf das gesamte Konto zu erhalten, führen Sie den folgenden Befehl mit der Azure CLI aus:
az role assignment create --role "Storage Blob Data Contributor" --assignee <principal-id> --scope /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>
Erstellen einer Blob-Eingabe oder -Ausgabe
Nachdem die verwaltete Identität konfiguriert wurde, können Sie dem Stream Analytics-Auftrag die Blobressource als Eingabe oder Ausgabe hinzufügen.
Wählen Sie im Fenster mit den Ausgabeeigenschaften der Azure Blob Storage-Ausgabesenke die Dropdownliste der Authentifizierungsmodi, und wählen Sie Verwaltete Identität aus. Informationen zu den anderen Ausgabeeigenschaften finden Sie unter Grundlegendes zu den Ausgaben von Azure Stream Analytics. Wählen Sie abschließend Speichern aus.
Aktivieren des Zugriffs auf virtuelle Netzwerke
Wenn Sie die Firewalls und virtuellen Netzwerke Ihres Speicherkontos konfigurieren können Sie optional den Netzwerkdatenverkehr von anderen vertrauenswürdigen Microsoft-Dienste zulassen. Wenn Stream Analytics mithilfe von verwalteter Identität authentifiziert wird, stellt sie den Nachweis bereit, dass die Anforderung von einem vertrauenswürdigen Dienst stammt. In den folgenden Anweisungen wird erläutert, wie Sie diese Ausnahme für den Zugriff auf virtuelle Netzwerke aktivieren.
- Wechseln Sie zum Bereich "Firewalls" und "Virtuelle Netzwerke " im Konfigurationsbereich des Speicherkontos.
- Stellen Sie sicher, dass die Option Vertrauenswürdigen Microsoft-Diensten den Zugriff auf dieses Speicherkonto erlauben aktiviert ist.
- Wenn Sie sie aktiviert haben, wählen Sie "Speichern" aus.
Entfernen der verwalteten Identität
Die verwaltete Identität, die Sie für einen Stream Analytics-Auftrag erstellen, wird nur gelöscht, 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, können Sie die Authentifizierungsmethode für die Ausgabe ändern. 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.
Einschränkungen
Die aktuellen Einschränkungen dieses Features umfassen:
Klassische Azure Storage-Konten.
Azure-Konten ohne Microsoft Entra ID.
Der Mehrinstanzenzugriff wird nicht unterstützt. Der für einen bestimmten Stream Analytics-Auftrag erstellte Dienstprinzipal muss sich in derselben Microsoft Entra Mandantenumgebung befinden, in der Sie den Auftrag erstellt haben, und Sie können ihn nicht mit einer Ressource verwenden, die in einem anderen Microsoft Entra Mandant existiert.