Aktivieren oder Deaktivieren der rollenbasierten Zugriffssteuerung in Azure KI-Suche

Bevor Sie Rollen für autorisierten Zugriff auf Azure KI-Suche zuweisen können, aktivieren Sie die rollenbasierte Zugriffssteuerung für Ihren Suchdienst.

Der rollenbasierte Zugriff für Datenebenenvorgänge ist optional, wird jedoch als sicherere Option empfohlen. Die Alternative ist die Standardeinstellung, die schlüsselbasierte Authentifizierung.

Rollen für die Dienstverwaltung (Steuerungsebene) sind integriert und können nicht aktiviert oder deaktiviert werden.

Hinweis

Der Begriff Datenebene bezieht sich auf Vorgänge für den Suchdienstendpunkt, z. B. Indizierung oder Abfragen, oder auf andere angegebene Vorgänge in der REST-API für die Suche oder entsprechenden Azure SDK-Clientbibliotheken.

Voraussetzungen

  • Ein Suchdienst in einer beliebigen Region und mit einem beliebigen Tarif, einschließlich des Free-Tarifs

  • Besitzer, Benutzerzugriffsadministrator oder eine benutzerdefinierte Rolle mit Microsoft.Authorization/roleAssignments/Write-Berechtigungen.

Aktivieren des rollenbasierten Zugriffs für Datenebenenvorgänge

Konfigurieren Sie Ihren Dienst so, dass er einen Autorisierungsheader bei Datenanforderungen erkennt, der ein OAuth2-Token für den Zugriff enthält.

Wenn Sie Rollen für die Datenebene aktivieren, ist die Änderung sofort wirksam, aber warten Sie ein paar Sekunden, bevor Sie Rollen zuweisen.

Der Standardfehlermodus für nicht autorisierte Anforderungen ist http401WithBearerChallenge. Alternativ können Sie den Fehlermodus auf http403 festlegen.

  1. Melden Sie sich am Azure-Portal an und öffnen Sie die Suchdienstseite.

  2. Wählen Sie im linken Navigationsbereich Einstellungen und dann Schlüssel aus.

    Screenshot der Seite „Schlüssel“ mit Authentifizierungsoptionen.

  3. Wählen Sie Role-based control (Rollenbasierte Steuerung) oder Beides aus, wenn Sie derzeit Schlüssel verwenden und Zeit benötigen, um Clients auf die rollenbasierten Zugriffssteuerung umzustellen.

    Option Beschreibung
    API-Schlüssel (Standard). Erfordert API-Schlüssel im Anforderungsheader für die Autorisierung
    Rollenbasierte Zugriffssteuerung Erfordert die Mitgliedschaft in einer Rollenzuweisung, um die Aufgabe abzuschließen. Außerdem ist ein Autorisierungsheader in der Anforderung erforderlich.
    Beides Anforderungen sind entweder mithilfe eines API-Schlüssels oder einer rollenbasierten Zugriffssteuerung gültig, aber wenn Sie beide in derselben Anforderung bereitstellen, wird der API-Schlüssel verwendet.
  4. Wenn Sie als Administrator einen Nur-Rollen-Ansatz auswählen, weisen Sie Ihrem Benutzerkonto Datenebenenrollen zu, um den vollständigen Administratorzugriff über Vorgänge auf datenebenen Vorgängen im Azure-Portal wiederherzustellen. Rollen umfassen Suchdienstmitwirkender, Suchindexdatenmitwirkender und Suchindexdatenleser. Sie benötigen alle drei Rollen, wenn Sie einen gleichwertigen Zugriff wünschen.

    Manchmal kann es fünf bis zehn Minuten dauern, bis Rollenzuweisungen wirksam werden. Bis zu diesem Zeitpunkt wird die folgende Meldung auf den Portalseiten angezeigt, die für Datenebenenvorgänge verwendet werden.

    Screenshot der Portalmeldung, die angibt, dass nicht genügend Berechtigungen vorhanden sind.

Deaktivieren der rollenbasierten Zugriffssteuerung

Es ist möglich, die rollenbasierte Zugriffssteuerung für Vorgänge auf Datenebene zu deaktivieren und stattdessen eine schlüsselbasierte Authentifizierung zu verwenden. Ein möglicher Anwendungsfall hierfür wäre im Rahmen eines Testworkflows, um Berechtigungsprobleme auszuschließen.

Führen Sie die zuvor zum Aktivieren des rollenbasierten Zugriffs ausgeführten Schritte umgekehrt aus.

  1. Melden Sie sich beim Azure-Portal an, und öffnen Sie die Übersichtsseite des Suchdiensts.

  2. Wählen Sie im linken Navigationsbereich Einstellungen und dann Schlüssel aus.

  3. Wählen Sie API Keys (API-Schlüssel) aus.

Deaktivieren der API-Schlüssel-Authentifizierung

Der Schlüsselzugriff (auch „lokale Authentifizierung“ genannt) kann für Ihren Dienst deaktiviert werden, wenn Sie ausschließlich die integrierten Rollen und die Microsoft Entra-Authentifizierung verwenden. Das Deaktivieren von API-Schlüsseln führt dazu, dass der Suchdienst alle datenbezogenen Anforderungen ablehnt, die einen API-Schlüssel im Header übergeben.

Administrator-API-Schlüssel können deaktiviert, aber nicht gelöscht werden. Abfrage-API-Schlüssel können gelöscht werden.

Zum Deaktivieren von Sicherheitsfeatures sind die Berechtigungen der Rolle „Besitzer“ oder „Mitwirkender“ erforderlich.

  1. Navigieren Sie im Azure-Portal zu Ihrem Suchdienst.

  2. Wählen Sie im linken Navigationsbereich die Option Schlüssel aus.

  3. Wählen Sie Rollenbasierte Zugriffssteuerung aus.

Die Änderung ist sofort wirksam, warten Sie aber einige Sekunden vor dem Testen. Wenn Sie über die Berechtigung zum Zuweisen von Rollen als Mitglied der Rolle „Besitzer“, „Dienstadministrator“ oder „Co-Admin“ verfügen, können Sie Portalfeatures verwenden, um den rollenbasierten Zugriff zu testen.

Begrenzungen

  • Die rollenbasierte Zugriffssteuerung kann die Latenz einiger Anforderungen erhöhen. Jede eindeutige Kombination aus Dienstressource (Index, Indexer usw.) und Dienstprinzipal löst eine Autorisierungsprüfung aus. Diese Autorisierungsprüfungen können eine Latenz von bis zu 200 Millisekunden pro Anforderung erreichen.

  • In seltenen Fällen, in denen Anforderungen von einer großen Anzahl unterschiedlicher Dienstprinzipale stammen, die alle auf verschiedene Dienstressourcen (Indizes, Indexer usw.) abzielen, ist es möglich, dass die Autorisierungsprüfungen zu einer Drosselung führen. Eine Drosselung würde nur dann passieren, wenn innerhalb einer Sekunde Hunderte eindeutiger Kombinationen aus Suchdienstressource und Dienstprinzipal verwendet würden.


Nächste Schritte