Konfigurieren eines Suchdiensts für die Verbindung mit einer verwalteten Identität

Note

Azure KI-Suche ist über das Azure Portal, REST-APIs und Azure SDKs verfügbar. Es unterstützt auch Foundry IQ, die verwaltete Wissensschicht, die Unternehmensinhalte in wiederverwendbare, berechtigungsfähige Wissensbasen für Agenten im Microsoft Foundry-Portal transformiert.

Sie können Microsoft Entra ID Sicherheitsprinzipale und Rollenzuweisungen für ausgehende Verbindungen von Azure KI-Suche zu anderen Azure Ressourcen verwenden, die Daten, angewendete KI oder Vektorisierung während der Indizierung oder Abfragen bereitstellen.

Um Rollen für eine ausgehende Verbindung zu verwenden, konfigurieren Sie zuerst Ihren Suchdienst so, dass er entweder eine system zugewiesene oder vom Benutzer zugewiesene verwaltete Identität verwendet als Sicherheitsprinzipal für Ihren Suchdienst in einem Microsoft Entra Mandanten. Nachdem Sie über eine verwaltete Identität verfügen, können Sie Rollen für autorisierten Zugriff zuweisen. Verwaltete Identitäten und Rollenzuweisungen vermeiden die Notwendigkeit, geheime Schlüssel und Anmeldeinformationen in einem Verbindungszeichenfolge oder Code zu übergeben.

Voraussetzungen

  • Ein Azure KI-Suche-Dienst in einer beliebigen Region auf der Tarifstufe Basic oder höher.

  • Eine Azure-Ressource, die eingehende Anforderungen von einem Microsoft Entra Sicherheits-Prinzipal akzeptiert, der über eine gültige Rollenzuweisung verfügt.

  • Um eine verwaltete Identität zu erstellen, müssen Sie ein Besitzer oder Benutzerzugriffsadministrator sein. Zum Zuweisen von Rollen müssen Sie Besitzer, Benutzerzugriffsadmin, Admin für rollenbasierte Zugriffssteuerung oder ein Mitglied einer benutzerdefinierten Rolle mit Berechtigungen vom Typ „Microsoft.Authorization/roleAssignments/write“ sein.

Unterstützte Szenarien

Sie können verwaltete Identitäten für die folgenden Szenarien verwenden.

Szenario Vom System zugewiesen Zugewiesener Benutzer
Herstellen einer Verbindung mit Indizierungsdatenquellen1 Ja Ja
Verbinden Sie sich mit Einbettungs- und Chatabschlussmodellen in Azure OpenAI, Microsoft Foundry und Azure Functions über Skills/Vectorizer 2 Ja Ja
Verbindung mit Azure Key Vault für vom Kunden verwaltete Schlüssel herstellen Ja Ja
Herstellen einer Verbindung mit Debugsitzungen (in Azure Storage gehostet)1 Ja Nein
Herstellen einer Verbindung mit einem Anreicherungscache, gehostet in Azure Storage (Vorschau)1,3 Ja Ja 4
Mit einem Knowledge Store verbinden (gehostet in Azure Storage)1 Ja Ja

1 Für die Konnektivität zwischen Suche und Speicher legt die Netzwerksicherheit Einschränkungen fest, welche Art von verwalteter Identität Sie verwenden können. Es kann nur eine vom System verwaltete Identität für eine Verbindung mit derselben Region mit Azure Storage verwendet werden, und diese Verbindung muss über die trusted Service Exception oder Ressourceninstanzregel erfolgen. Details finden Sie unter "Zugriff auf ein netzwerkgeschütztes Speicherkonto" .

2 Verbindungen mit Azure OpenAI, Foundry und Azure Functions über Fähigkeiten/Vektorisierer umfassen: Custom skill, Custom vectorizer, Azure OpenAI embedding skill, Azure OpenAI vectorizer, AML skill und Microsoft Foundry Model Catalog Vectorizer.

3 KI-Suchdienst kann derzeit keine Verbindung mit Tabellen in einem Speicherkonto herstellen, das den freigegebenen Schlüsselzugriff deaktiviert hat.

4 Vom Benutzer zugewiesene verwaltete Identität für Anreicherungscacheverbindungen erfordert eine Vorschau-REST-API (2025-11-01-preview oder höher) oder ein Vorschau-SDK-Paket. Alle anderen vom Benutzer zugewiesenen verwalteten Identitätsszenarien in dieser Tabelle werden in REST-API Version 2026-04-01 und höher unterstützt.

Erstellen einer vom System verwalteten Identität

Eine systemseitig zugewiesene verwaltete Identität ist ein Microsoft Entra ID-Sicherheitsprinzipal, der automatisch erstellt und mit einer Azure-Ressource verknüpft wird, z. B. einem Dienst für Azure KI-Suche.

Sie können für jeden Suchdienst eine vom System zugewiesene verwaltete Identität besitzen. Es ist einzigartig für Ihren Suchdienst und ist für seine Lebensdauer an den Dienst gebunden.

Wenn Sie eine vom System zugewiesene verwaltete Identität aktivieren, erstellt Microsoft Entra ID einen Sicherheitsprinzipal für Ihren Suchdienst, der für die Authentifizierung bei anderen Azure Ressourcen verwendet wird. Sie können diese Identität dann in Rollenzuweisungen für autorisierten Zugriff auf Daten und Vorgänge verwenden.

  1. Wechseln Sie zum Suchdienst im Azure-Portal.

  2. Wählen Sie im linken Bereich Einstellungen> und dann Identität aus.

  3. Wählen Sie auf der Registerkarte "System zugewiesen" unter "Status" die Option "Ein" aus.

  4. Wählen Sie "Speichern" aus.

    Screenshot der Seite

    Nachdem Sie die Einstellungen gespeichert haben, wird die Seite aktualisiert, um einen Objektbezeichner anzuzeigen, der Ihrem Suchdienst zugewiesen ist.

    Screenshot eines Systemidentitätsobjektbezeichners.

Erstellen einer vom Benutzer zugewiesenen verwalteten Identität

Eine vom Benutzer zugewiesene verwaltete Identität ist eine Azure Ressource, die auf Abonnements, Ressourcengruppen oder Ressourcentypen ausgerichtet werden kann.

Sie können mehrere vom Benutzer zugewiesene verwaltete Identitäten erstellen, um die Granularität bei Rollenzuweisungen zu erhöhen. Sie können beispielsweise separate Identitäten für verschiedene Anwendungen und Szenarien verwenden. Als unabhängig erstellte und verwaltete Ressource ist sie nicht an den Dienst selbst gebunden.

Die Schritte zum Einrichten einer vom Benutzer zugewiesenen verwalteten Identität sind wie folgt:

  • Erstellen Sie in Ihrem Azure-Abonnement eine vom Benutzer zugewiesene verwaltete Identität.

  • Ordnen Sie in Ihrem Suchdienst die vom Benutzer zugewiesene verwaltete Identität Ihrem Suchdienst zu.

  • Erstellen Sie auf anderen Azure Diensten, mit der Sie eine Verbindung herstellen möchten, eine Rollenzuweisung für die Identität.

Das Zuordnen einer vom Benutzer zugewiesenen verwalteten Identität zu einem Azure KI-Suche-Dienst wird im Azure Portal, Search Management-REST-APIs und SDK-Paketen unterstützt, die das Feature bereitstellen.

  1. Melden Sie sich beim portal Azure an.

  2. Wählen Sie in der oberen linken Ecke Des Dashboards die Option "Ressource erstellen" aus.

  3. Verwenden Sie das Suchfeld, um die vom Benutzer zugewiesene verwaltete Identität zu finden, und wählen Sie dann "Erstellen" aus.

    Screenshot: Kachel mit der benutzerseitig zugewiesenen verwalteten Identität im Azure Marketplace.

  4. Wählen Sie das Abonnement, die Ressourcengruppe und die Region aus. Geben Sie der Identität einen beschreibenden Namen.

  5. Wählen Sie "Erstellen" aus, und warten Sie, bis die Bereitstellung der Ressource abgeschlossen ist.

    Es dauert mehrere Minuten, bis Sie die Identität verwenden können.

  6. Wählen Sie auf Ihrer Suchdienstseite Einstellungen>Identität aus.

  7. Wählen Sie auf der Registerkarte "Benutzer zugewiesen " die Option "Hinzufügen" aus.

  8. Wählen Sie das Abonnement und die vom Benutzer zugewiesene verwaltete Identität aus, die Sie zuvor erstellt haben.

Zuweisen einer Rolle

Nachdem Sie über eine verwaltete Identität verfügen, weisen Sie Rollen zu, die Suchdienstberechtigungen für die Azure Ressource bestimmen.

  • Leseberechtigungen sind für Indizierungsdatenverbindungen und für den Zugriff auf einen vom Kunden verwalteten Schlüssel in Azure Key Vault erforderlich.

  • Schreibberechtigungen sind für KI-Anreicherungsfeatures erforderlich, die Azure Storage zum Hosten von Debug-Sitzungsdaten, für das Anreicherungscaching und für die langfristige Inhaltspeicherung in einem Wissensspeicher verwenden.

Die folgenden Schritte veranschaulichen den Rollenzuweisungsworkflow. Dieses Beispiel ist für Azure OpenAI vorgesehen. Weitere Azure Ressourcen finden Sie unter Connect to Azure Storage, Connect to Azure Cosmos DB, or Connect to Azure SQL.

  1. Wechseln Sie im Azure-Portal zu Ihrer Azure OpenAI-Ressource.

  2. Wählen Sie im linken Menü die Zugriffssteuerung aus.

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

  4. Wählen Sie unter "Rollen der Stellenfunktion" die Option "Cognitive Services OpenAI User " und dann "Weiter" aus.

  5. Wählen Sie unter "Mitglieder" die Option "Verwaltete Identität" und dann "Mitglieder" aus.

  6. Filtern Sie nach Abonnement und Ressourcentyp (Suchdienste), und wählen Sie dann die verwaltete Identität Ihres Suchdiensts aus.

  7. Wählen Sie "Überprüfen+ Zuweisen" aus.

Beispiele für Verbindungszeichenfolgen

Erinnern Sie sich an die Szenariobeschreibung, dass Sie verwaltete Identitäten in Verbindungszeichenfolgen zu anderen Azure Ressourcen verwenden können. Dieser Abschnitt enthält Beispiele.

Vom System zugewiesene verwaltete Identitätsverbindungen verwenden allgemein verfügbare REST-API-Versionen. Vom Benutzer zugewiesene verwaltete Identitätsverbindungen verwenden REST-API Version 2026-04-01 oder höher, mit Ausnahme von Anreicherungscacheverbindungen, die weiterhin eine Vorschau-API-Version erfordern.

Tipp

Sie können die meisten dieser Objekte im Azure-Portal erstellen, entweder eine Systemidentität oder eine vom Benutzer zugewiesene verwaltete Identität angeben und dann die JSON-Definition anzeigen, um die Verbindungszeichenfolge abzurufen.

Blob-Datenquelle (vom System verwaltete Identität):

Eine Indexerdatenquelle enthält eine credentials Eigenschaft, die bestimmt, wie die Verbindung zur Datenquelle hergestellt wird. Das folgende Beispiel zeigt eine Verbindungszeichenfolge, die die einzigartige Ressourcen-ID eines Speicherkontos angibt.

Eine vom System verwaltete Identität wird angegeben, wenn ein Verbindungszeichenfolge die eindeutige Ressourcen-ID eines Microsoft Entra ID-fähigen Diensts oder einer Anwendung ist. Eine vom Benutzer zugewiesene verwaltete Identität wird über eine identity Eigenschaft angegeben.

"credentials": {
    "connectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
    }

Blob-Datenquelle (vom Benutzer verwaltete Identität):

Eine vom Benutzer zugewiesene verwaltete Identität wird über die identity Eigenschaft auf SearchIndexerDataSource mit REST-API Version 2026-04-01 oder höher unterstützt.

"credentials": {
    "connectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
    },
  . . .
"identity": {
    "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
    "userAssignedIdentity": "/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-assigned-managed-identity-name}"
  }

Wissensspeicher (vom System verwaltete Identität):

Eine Wissensspeicherdefinition enthält eine Verbindungszeichenfolge zum Azure Storage. Die Verbindungszeichenfolge ist die eindeutige Ressourcen-ID Ihres Speicherkontos. Beachten Sie, dass die Zeichenfolge keine Container oder Tabellen im Pfad enthält. Diese werden in der eingebetteten Projektionsdefinition definiert, nicht in der Verbindungszeichenfolge.

"knowledgeStore": {
  "storageConnectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
}

Wissensspeicher (vom Benutzer verwaltete Identität):

Eine vom Benutzer zugewiesene verwaltete Identität wird über die identity Eigenschaft auf SearchIndexerKnowledgeStore mit REST-API Version 2026-04-01 oder höher unterstützt.

"knowledgeStore": {
  "storageConnectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};",
  "identity": {
    "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
    "userAssignedIdentity": "/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-assigned-managed-identity-name}"
  }
}

Cache für Anreicherung (Vorschau):

Ein Indexer erstellt, verwendet und merkt sich den Container, der für die zwischengespeicherten Anreicherungen verwendet wird. Es ist nicht erforderlich, den Container in den Cache Verbindungszeichenfolge einzuschließen. Die Objekt-ID finden Sie auf der Seite Identity Ihres Suchdiensts im Azure-Portal.

"cache": {
  "enableReprocessing": true,
  "storageConnectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
}

Debugsitzung:

Eine Debugsitzung wird im Azure-Portal ausgeführt und nimmt beim Starten der Sitzung eine Verbindungszeichenfolge an. Sie können eine Zeichenfolge ähnlich dem folgenden Beispiel einfügen.

"ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/{container-name};",

Benutzerdefinierte Fähigkeiten:

Eine benutzerdefinierte Fähigkeit zielt auf den Endpunkt einer Azure-Funktion oder App ab, die benutzerdefinierten Code hosten.

  • uri ist der Endpunkt der Funktion oder App.

  • authResourceId weist den Suchdienst an, mithilfe einer verwalteten Identität eine Verbindung herzustellen, und übergibt die Anwendungs-ID der Zielfunktion oder App in der Eigenschaft.

{
  "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill",
  "description": "A custom skill that can identify positions of different phrases in the source text",
  "uri": "https://contoso.count-things.com",
  "authResourceId": "<Azure-AD-registered-application-ID>",
  "batchSize": 4,
  "context": "/document",
  "inputs": [ ... ],
  "outputs": [ ...]
}

Verbindungsbeispiele für Modelle

Für Verbindungen mit verwalteten Identitäten zeigt dieser Abschnitt Beispiele für Verbindungsinformationen, die von einem Suchdienst zum Herstellen einer Verbindung mit einem Modell in einer anderen Ressource verwendet werden. Eine Verbindung über eine vom System verwaltete Identität ist transparent; Die Identität und die Rollen sind vorhanden, und die Verbindung ist erfolgreich, wenn sie ordnungsgemäß konfiguriert sind. Im Gegensatz dazu erfordert eine vom Benutzer verwaltete Identität zusätzliche Verbindungseigenschaften.

Azure OpenAI embedding skill und Azure OpenAI vectorizer:

Azure OpenAI-Einbettungsskill und -Vektorisierung in AI Search zielen auf den Endpunkt eines Azure OpenAI ab, der ein Einbettungsmodell hostet. Der Endpunkt wird in der Definition der Azure OpenAI embedding skill und/oder der Azure OpenAI vectorizer definition angegeben.

Die vom System verwaltete Identität wird automatisch verwendet, wenn "apikey" und "authIdentity" leer sind, wie im folgenden Beispiel gezeigt. Die "authIdentity" Eigenschaft wird nur für vom Benutzer zugewiesene verwaltete Identität verwendet.

Beispiel für vom System verwaltete Identität:

{
  "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
  "description": "Connects a deployed embedding model.",
  "resourceUri": "https://url.openai.azure.com/",
  "deploymentId": "text-embedding-ada-002",
  "modelName": "text-embedding-ada-002",
  "inputs": [
    {
      "name": "text",
      "source": "/document/content"
    }
  ],
  "outputs": [
    {
      "name": "embedding"
    }
  ]
}

Hier ist ein Vektorizerbeispiel , das für eine vom System zugewiesene verwaltete Identität konfiguriert ist. Ein Vektorizer wird in einem Suchindex angegeben.

 "vectorizers": [
    {
      "name": "my_azure_open_ai_vectorizer",
      "kind": "azureOpenAI",
      "azureOpenAIParameters": {
        "resourceUri": "https://url.openai.azure.com",
        "deploymentId": "text-embedding-ada-002",
        "modelName": "text-embedding-ada-002"
      }
    }
  ]

Beispiel für eine vom Benutzer zugewiesene verwaltete Identität:

Eine vom Benutzer zugewiesene verwaltete Identität wird verwendet, wenn "apiKey" leer ist und "authIdentity" gültig ist.

{
  "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
  "description": "Connects a deployed embedding model.",
  "resourceUri": "https://url.openai.azure.com/",
  "deploymentId": "text-embedding-ada-002",
  "modelName": "text-embedding-ada-002",
  "inputs": [
    {
      "name": "text",
      "source": "/document/content"
    }
  ],
  "outputs": [
    {
      "name": "embedding"
    }
  ],
  "authIdentity": {
    "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
    "userAssignedIdentity": "/subscriptions/<subscription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-managed-identity-name>"
   }
}

Hier ist ein Vektorisiererbeispiel , das für eine vom Benutzer zugewiesene verwaltete Identität konfiguriert ist. Ein Vektorizer wird in einem Suchindex angegeben.

 "vectorizers": [
    {
      "name": "my_azure_open_ai_vectorizer",
      "kind": "azureOpenAI",
      "azureOpenAIParameters": {
        "resourceUri": "https://url.openai.azure.com",
        "deploymentId": "text-embedding-ada-002",
        "modelName": "text-embedding-ada-002"
        "authIdentity": {
            "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
            "userAssignedIdentity": "/subscriptions/<subscription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-managed-identity-name>"
          }
      }
    }
  ]

Überprüfen des Firewallzugriffs

Wenn sich Ihre Azure Ressource hinter einer Firewall befindet, stellen Sie sicher, dass eine eingehende Regel vorhanden ist, die Anforderungen von Ihrem Suchdienst und aus dem Azure-Portal zulässt.

Siehe auch