Aktivieren oder Deaktivieren der rollenbasierten Zugriffssteuerung in Azure KI-Suche
Azure KI-Suche verwendet standardmäßig die schlüsselbasierte Authentifizierung, unterstützt die Microsoft Entra ID-Authentifizierung und -Autorisierung jedoch vollständig für alle Vorgänge auf der Steuerungs- und Datenebene über die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC).
Bevor Sie Azure KI-Suche Rollen für den autorisierten Zugriff auf die Datenebene zuweisen können, müssen Sie die rollenbasierte Zugriffssteuerung für Ihren Suchdienst aktivieren. 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, die für den Suchdienstendpunkt ausgeführt werden (z. B. Indizierung oder Abfragen), oder auf alle anderen Vorgänge, die in den Suchdienst-REST-APIs oder in entsprechenden Azure SDK-Clientbibliotheken angegeben sind. Der Begriff Steuerungsebene bezieht sich auf die Verwaltung von Azure-Ressourcen, z. B. das Erstellen oder Konfigurieren eines Suchdiensts.
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.
Melden Sie sich am Azure-Portal an und öffnen Sie die Suchdienstseite.
Wählen Sie im linken Navigationsbereich Einstellungen und dann Schlüssel aus.
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. 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.
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.
Melden Sie sich beim Azure-Portal an, und öffnen Sie die Übersichtsseite des Suchdiensts.
Wählen Sie im linken Navigationsbereich Einstellungen und dann Schlüssel aus.
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.
Navigieren Sie im Azure-Portal zu Ihrem Suchdienst.
Wählen Sie im linken Navigationsbereich die Option Schlüssel aus.
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.
Auswirkungen der rollenbasierten Zugriffssteuerung
Die rollenbasierte Zugriffssteuerung kann die Latenz einiger Anforderungen erhöhen. Jede eindeutige Kombination aus Dienstressource (Index, Indexer, Skillsets 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.