Freigeben über


Herstellen einer Verbindung mit Azure Storage mithilfe einer verwalteten Identität (Azure KI-Suche)

In diesem Artikel wird erläutert, wie Sie eine Suchdienstverbindung mit einem Azure Storage-Konto mithilfe einer verwalteten Identität konfigurieren, statt Anmeldeinformationen in der Verbindungszeichenfolge anzugeben.

Sie können eine systemseitig zugewiesene verwaltete Identität oder eine benutzerseitig zugewiesene verwaltete Identität verwenden. Verwaltete Identitäten sind Microsoft Entra-Anmeldungen und erfordern Rollenzuweisungen für den Zugriff auf Azure Storage.

Voraussetzungen

Hinweis

Wenn der Speicher netzwerkgeschützt ist und sich in derselben Region wie Ihr Suchdienst befindet, müssen Sie eine systemseitig zugewiesene verwaltete Identität und eine der folgenden Netzwerkoptionen verwenden: Herstellen einer Verbindung als vertrauenswürdiger Dienst oder Herstellen einer Verbindung mit der Ressourceninstanzregel.

Erstellen einer Rollenzuweisung in Azure Storage

  1. Melden Sie sich beim Azure-Portal an, und suchen Sie Ihr Speicherkonto

  2. Wählen Sie Zugriffssteuerung (IAM) aus.

  3. Wählen Sie Hinzufügen und dann Rollenzuweisung aus.

  4. Wählen Sie in der Liste der Stellenfunktionsrollen die Rollen aus, die für Ihren Suchdienst erforderlich sind:

    Aufgabe Rollenzuweisung
    Blob-Indizierung mit einem Indexer Fügen Sie Leser von Speicher-Blobdaten hinzu
    ADLS Gen2-Indizierung mit einem Indexer Fügen Sie Leser von Speicher-Blobdaten hinzu
    Tabellenindizierung mithilfe eines Indexers Gewähren Sie Lese- und Datenzugriff
    Dateiindizierung mit einem Indexer Gewähren Sie Lese- und Datenzugriff
    Schreiben in einen Wissensspeicher Fügen Sie Mitwirkender an Speicher-Blobdaten für Objekt- und Dateiprojektionen sowie Lese- und Datenzugriff für Tabellenprojektionen hinzu.
    Schreiben in einen Anreicherungscache Fügen Sie Mitwirkender an Speicher-Blobdaten hinzu
    Debugsitzungsstatus speichern Fügen Sie Mitwirkender an Speicher-Blobdaten hinzu
  5. Wählen Sie Weiter aus.

  6. Wählen Sie verwaltete Identität und dann Mitglieder aus.

  7. Filtern Sie nach systemseitig zugewiesenen verwalteten Identitäten oder benutzerseitig zugewiesenen verwalteten Identitäten. Sie sollten die verwaltete Identität sehen, die Sie zuvor für Ihren Suchdienst erstellt haben. Wenn Sie keinen haben, lesen Sie Konfigurieren der Suche, um eine verwaltete Identität zu verwenden. Wenn Sie bereits eine Identität eingerichtet haben, aber diese nicht verfügbar ist, warten Sie ein paar Minuten.

  8. Wählen Sie die Identität aus, und speichern Sie die Rollenzuweisung.

Angeben einer verwalteten Identität in einer Verbindungszeichenfolge

Sobald Sie über eine Rollenzuweisung verfügen, können Sie eine Verbindung mit Azure Storage einrichten, die unter dieser Rolle ausgeführt wird.

Indexer verwenden ein Datenquellenobjekt für Verbindungen mit einer externen Datenquelle. In diesem Abschnitt wird erläutert, wie Sie eine systemseitig zugewiesene verwaltete Identität oder eine benutzerseitig zugewiesene verwaltete Identität in einer Verbindungszeichenfolge einer Datenquelle angeben. Weitere Beispiele für Verbindungszeichenfolgen finden Sie im Artikel zu verwalteten Identitäten.

Tipp

Sie können eine Datenquellenverbindung mit Azure Storage im Azure-Portal erstellen und dabei entweder eine systemseitig oder benutzerseitig zugewiesene verwaltete Identität angeben. Anschließend können Sie die JSON-Definition anzeigen, um zu sehen, wie die Verbindungszeichenfolge formuliert ist.

Systemseitig zugewiesene verwaltete Identität

Sie müssen eine bereits konfigurierte systemseitig zugewiesene verwaltete Identität haben, und für diese muss eine Rollenzuweisung für Azure Storage vorliegen.

Bei Verbindungen, die mit einer systemseitig zugewiesenen verwalteten Identität hergestellt werden, besteht die einzige Änderung an der Datenquellendefinition im Format der Eigenschaft credentials.

Geben Sie eine Ressourcen-ID (ResourceId) an, der kein Kontoschlüssel und kein Kennwort zugewiesen ist. ResourceId muss die Abonnement-ID des Speicherkontos, die Ressourcengruppe des Speicherkontos und den Namen des Speicherkontos enthalten.

POST https://[service name].search.windows.net/datasources?api-version=2023-11-01

{
    "name" : "blob-datasource",
    "type" : "azureblob",
    "credentials" : { 
        "connectionString" : "ResourceId=/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.Storage/storageAccounts/MY-DEMO-STORAGE-ACCOUNT/;" 
    },
    "container" : { 
        "name" : "my-container", "query" : "<optional-virtual-directory-name>" 
    }
}   

Benutzerseitig zugewiesene verwaltete Identität

Sie müssen über eine bereits konfigurierte benutzerseitig zugewiesene verwaltete Identität verfügen, die Ihrem Suchdienst zugeordnet ist, und die Identität muss über eine Rollenzuweisung für Azure Storage verfügen.

Verbindungen, die über benutzerseitig zugewiesene verwaltete Identitäten hergestellt werden, verwenden dieselben Anmeldeinformationen wie eine systemseitig zugewiesene verwaltete Identität sowie eine zusätzliche Identitätseigenschaft, die die Sammlung der benutzerseitig zugewiesenen verwalteten Identitäten enthält. Beim Erstellen der Datenquelle sollte nur eine benutzerseitig zugewiesene verwaltete Identität bereitgestellt werden. Legen Sie userAssignedIdentity auf die benutzerseitig zugewiesene verwaltete Identität fest.

Geben Sie eine Ressourcen-ID (ResourceId) an, der kein Kontoschlüssel und kein Kennwort zugewiesen ist. ResourceId muss die Abonnement-ID des Speicherkontos, die Ressourcengruppe des Speicherkontos und den Namen des Speicherkontos enthalten.

Geben Sie mithilfe der im folgenden Beispiel gezeigten Syntax eine Identität (identity) an:

POST https://[service name].search.windows.net/datasources?api-version=2023-11-01

{
    "name" : "blob-datasource",
    "type" : "azureblob",
    "credentials" : { 
        "connectionString" : "ResourceId=/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.Storage/storageAccounts/MY-DEMO-STORAGE-ACCOUNT/;" 
    },
    "container" : { 
        "name" : "my-container", "query" : "<optional-virtual-directory-name>" 
    },
    "identity" : { 
        "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
        "userAssignedIdentity" : "/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MY-DEMO-USER-MANAGED-IDENTITY" 
    }
}   

Verbindungsinformationen und -berechtigungen für den Remotedienst werden während der Indexerausführung zur Laufzeit überprüft. Wenn der Indexer erfolgreich ausgeführt wird, sind die Verbindungssyntax und die Rollenzuweisungen gültig. Weitere Informationen finden Sie unter Ausführen oder Zurücksetzen von Indexern, Qualifikationen oder Dokumenten.

Zugreifen auf im Netzwerk gesicherte Daten in Speicherkonten

Azure-Speicherkonten können mithilfe von Firewalls und virtuellen Netzwerken weiter geschützt werden. Wenn Sie Inhalte aus einem Speicherkonto indizieren möchten, das durch eine Firewall oder ein virtuelles Netzwerk geschützt ist, finden Sie weitere Informationen unter Herstellen von Indexerverbindungen mit Azure Storage als vertrauenswürdigem Dienst.

Weitere Informationen