Freigeben über


Authentifizieren externer Tabellen mit verwalteten Identitäten

Bei einer externen Tabelle handelt es sich um eine Schemaentität, die auf Daten verweist, die außerhalb der Azure Data Explorer-Datenbank gespeichert sind. Externe Tabellen können definiert werden, um auf Daten in Azure Storage oder SQL Server zu verweisen und verschiedene Authentifizierungsmethoden zu unterstützen.

In diesem Artikel erfahren Sie, wie Sie eine externe Tabelle erstellen, die sich mit einer verwalteten Identität authentifiziert.

Voraussetzungen

1 – Konfigurieren einer verwalteten Identität für die Verwendung mit externen Tabellen

Es gibt zwei Arten von verwalteten Identitäten:

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

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

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

  1. Führen Sie die Schritte aus, um Ihrem Cluster eine vom Benutzer zugewiesene Identität hinzuzufügen, und speichern Sie die Objekt-ID (Prinzipal-ID) für die spätere Verwendung.

  2. Führen Sie die .alter-merge-Richtlinie managed_identity Befehl aus. Mit diesem Befehl wird eine Richtlinie für verwaltete Identitäten im Cluster festgelegt, mit der die verwaltete Identität mit externen Tabellen verwendet werden kann. Ersetzen sie <objectId> durch die Objekt-ID (Prinzipal).

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

    Hinweis

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

2 – Erteilen der Berechtigungen für externe Ressourcen für verwaltete Identität

Die verwaltete Identität muss über Berechtigungen für die externe Ressource verfügen, um sich erfolgreich authentifizieren zu können.

Wählen Sie die Registerkarte für den relevanten Typ der externen Ressource aus, und weisen Sie die erforderlichen Berechtigungen zu.

In der folgenden Tabelle sind die erforderlichen Berechtigungen für externe Ressourcen aufgeführt. Um Daten aus der externen Ressource zu importieren oder abzufragen, erteilen Sie der verwalteten Identität Leseberechtigungen. Um Daten in die externe Ressource zu exportieren, erteilen Sie der verwalteten Identität Schreibberechtigungen.

Externer Datenspeicher Leseberechtigungen Schreib-berechtigungen Erteilen der Berechtigungen
Azure Blob Storage Leser von Speicherblobdaten Mitwirkender an Storage-Blobdaten Zuweisen einer Azure-Rolle
Data Lake Storage Gen2 Leser von Speicherblobdaten Mitwirkender an Storage-Blobdaten Zuweisen einer Azure-Rolle
Data Lake Storage Gen1 Leser Mitwirkender Zuweisen einer Azure-Rolle

3 – Erstellen einer externen Tabelle

Es gibt zwei Arten externer Tabellen, die die Authentifizierung mit verwalteten Identitäten unterstützen: externe Azure Storage-Tabellen und externe SQL Server-Tabellen.

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

Führen Sie die folgenden Schritte aus, um eine externe Azure Storage-Tabelle zu erstellen:

  1. Erstellen Sie eine Verbindungszeichenfolge basierend auf den Speicher-Verbindungszeichenfolge-Vorlagen. Diese Zeichenfolge gibt die Ressource an, auf die und ihre Authentifizierungsinformationen zugegriffen werden soll. Geben Sie die Methode für die verwaltete Identitätsauthentifizierung an.

  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 Speicher Verbinden ionString-Argument.

Beispiel

Der folgende Befehl erstellt MyExternalTable , der auf CSV-formatierte Daten in mycontainer mystorageaccount Azure Blob Storage verweist. Die Tabelle enthält zwei Spalten, eine für eine ganze Zahl x und eine für eine Zeichenfolge s. Die Verbindungszeichenfolge endet mit ;managed_identity=system, was angibt, dass eine vom System zugewiesene verwaltete Identität für die Authentifizierung 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;managed_identity=system' 
)

Hinweis

Um sich mit einer vom Benutzer zugewiesenen verwalteten Identität zu authentifizieren, ersetzen Sie system diese durch die ID des verwalteten Identitätsobjekts.