Share via


Verwenden einer verwalteten Identität zum Ausführen eines Fortlaufenden Exportauftrags

Ein Fortlaufender Exportauftrag exportiert Daten in eine externe Tabelle mit einer regelmäßig ausgeführten Abfrage.

Der Auftrag für den fortlaufenden Export sollte in den folgenden Szenarien mit einer verwalteten Identität konfiguriert werden:

  • Wenn die externe Tabelle die Identitätswechselauthentifizierung verwendet.
  • Wenn die Abfrage auf Tabellen in anderen Datenbanken verweist.
  • Wenn die Abfrage auf Tabellen mit aktivierter Sicherheitsrichtlinie auf Zeilenebene verweist.

Ein fortlaufender Exportauftrag, der mit einer verwalteten Identität konfiguriert ist, wird im Namen der verwalteten Identität ausgeführt.

In diesem Artikel erfahren Sie, wie Sie eine systemseitig oder benutzerseitig zugewiesene verwaltete Identität konfigurieren und mithilfe dieser Identität einen Auftrag für den fortlaufenden Export erstellen.

Voraussetzungen

Konfigurieren einer verwalteten Identität

Es gibt zwei Arten von verwalteten Identitäten:

  • Systemseitig zugewiesen: Eine systemseitig zugewiesene Identität wird mit Ihrem Cluster verbunden und entfernt, wenn der Cluster entfernt wird. Pro Cluster ist nur eine systemseitig zugewiesene Identität zulässig.

  • Benutzerseitig zugewiesen: Eine benutzerseitig zugewiesene verwaltete Identität ist eine eigenständige Azure-Ressource. Ihrem Cluster können mehrere benutzerseitig zugewiesene Identitäten zugewiesen werden.

Wählen Sie eine der folgenden Registerkarten aus, um Ihren bevorzugten verwalteten Identitätstyp einzurichten.

  1. Führen Sie die Schritte zum Hinzufügen einer benutzerseitig zugewiesenen Identität aus.

  2. Wählen Sie im Azure-Portal im linken Menü Ihrer verwalteten Identitätsressource die Option Eigenschaften aus. Kopieren und speichern Sie die Mandanten-ID und die Prinzipal-ID zur Verwendung in den folgenden Schritten.

    Screenshot: Azure-Portal Bereich mit verwalteten Identitäts-IDs

  3. Führen Sie den folgenden Befehl .alter-merge policy managed_identity aus, und ersetzen Sie dabei durch die Objekt-ID der verwalteten <objectId> Identität aus dem vorherigen Schritt. Mit diesem Befehl wird eine Richtlinie für verwaltete Identitäten für den Cluster festgelegt, die die Verwendung der verwalteten Identität mit fortlaufendem Export ermöglicht.

    .alter-merge cluster policy managed_identity ```[
        {
          "ObjectId": "<objectId>",
          "AllowedUsages": "AutomatedFlows"
        }
    ]```
    

    Hinweis

    Um die Richtlinie für eine bestimmte Datenbank festzulegen, verwenden Sie database <DatabaseName> anstelle von cluster.

  4. Führen Sie den folgenden Befehl aus, um der verwalteten Identität Database Viewer Berechtigungen für alle Datenbanken zu gewähren, die für den fortlaufenden Export verwendet werden, z. B. für die Datenbank, die die externe Tabelle enthält.

    .add database <DatabaseName> viewers ('aadapp=<objectId>;<tenantId>')
    

    Ersetzen Sie <DatabaseName> durch die relevante Datenbank, <objectId> durch die Prinzipal-ID der verwalteten Identität aus Schritt 2 und <tenantId> durch die Microsoft Entra ID Mandanten-ID aus Schritt 2.

Einrichten einer externen Tabelle

Externe Tabellen beziehen sich auf Daten in Azure Storage, z. B. Azure Blob Storage, Azure Data Lake Gen1 und Azure Data Lake Gen2 oder SQL Server.

Wählen Sie eine der folgenden Registerkarten aus, um eine Azure Storage- oder SQL Server externe Tabelle einzurichten.

  1. Erstellen Sie eine Verbindungszeichenfolge basierend auf den Speichervorlagen Verbindungszeichenfolge. Diese Zeichenfolge gibt die Ressource an, auf die zugegriffen werden soll, und deren Authentifizierungsinformationen. Für fortlaufende Exportflows wird die Identitätswechselauthentifizierung empfohlen.

  2. Führen Sie die externe Tabelle .create oder .alter aus , um die Tabelle zu erstellen. Verwenden Sie die Verbindungszeichenfolge aus dem vorherigen Schritt als argument storageConnectionString.

    Mit dem folgenden Befehl wird beispielsweise erstellt, dass auf CSV-formatierte Daten in mycontainer in Azure Blob Storage mystorageaccount verweistMyExternalTable. Die Tabelle enthält zwei Spalten, eine für eine ganze Zahl x und eine für eine Zeichenfolge s. Die Verbindungszeichenfolge endet mit ;impersonate, was angibt, dass die Identitätswechselauthentifizierung für den Zugriff auf den Datenspeicher verwendet wird.

    .create external table MyExternalTable (x:int, s:string) kind=storage dataformat=csv 
    ( 
        h@'https://mystorageaccount.blob.core.windows.net/mycontainer;impersonate' 
    )
    
  3. Erteilen Sie der verwalteten Identität Schreibberechtigungen für den relevanten externen Datenspeicher. Die verwaltete Identität benötigt Schreibberechtigungen, da der Fortlaufende Exportauftrag Daten im Namen der verwalteten Identität in den Datenspeicher exportiert.

    Externer Datenspeicher Erforderliche Berechtigungen Erteilen der Berechtigungen
    Azure Blob Storage Mitwirkender an Storage-Blobdaten Zuweisen einer Azure-Rolle
    Data Lake Storage Gen2 Mitwirkender an Storage-Blobdaten Zuweisen einer Azure-Rolle
    Data Lake Storage Gen1 Beitragender Zuweisen einer Azure-Rolle

Erstellen eines Auftrags für den fortlaufenden Export

Wählen Sie eine der folgenden Registerkarten aus, um einen Auftrag für den fortlaufenden Export zu erstellen, der im Namen einer benutzerseitig oder systemseitig zugewiesenen verwalteten Identität ausgeführt wird.

Führen Sie den Befehl .create-or-alter continuous-export aus, wobei die managedIdentity Eigenschaft auf die Objekt-ID der verwalteten Identität festgelegt ist.

Mit dem folgenden Befehl wird beispielsweise ein Fortlaufender Exportauftrag namens MyExport erstellt, um die Daten MyTable im Namen einer benutzerseitig zugewiesenen verwalteten Identität in zu MyExternalTable exportieren. <objectId> sollte eine Objekt-ID der verwalteten Identität sein.

.create-or-alter continuous-export MyExport over (MyTable) to table MyExternalTable with (managedIdentity=<objectId>, intervalBetweenRuns=5m) <| MyTable