Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Note
Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel (SLA) bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.
Azure Storage ermöglicht rollenbasierten Zugriff auf Container im BLOB-Speicher, bei denen Rollen wie "Storage Blob Data Reader " oder "Storage Blob Data Contributor " bestimmen, ob jemand Zugriff auf Inhalte hat. Ab der Vorschauversion vom 2025-05-01 können Sie nun den RBAC-Berechtigungsbereich zusammen mit der Dokumentenerfassung in Azure AI Search einbeziehen und diese Berechtigungen verwenden, um den Zugriff auf Suchergebnisse zu steuern. Wenn Sie Rechte an den Inhalten haben, können Sie diese Inhalte in den Suchergebnissen sehen. Wenn Sie keine Rechte haben (oder genauer gesagt, eine Rollenzuweisung für den BLOB-Container), können Sie diese Ergebnisse nicht sehen, auch wenn Sie persönlich über eine Suchindexdatenleserzuweisungim Index verfügen.
Der RBAC-Bereich wird auf Containerebene festgelegt und über die Berechtigungsvererbung an alle Blobs (Dokumente) weitergeleitet. Der RBAC-Gültigkeitsbereich wird während der Indizierung als Berechtigungsmetadaten erfasst. Sie können die Push-APIs verwenden, um Inhalte und Berechtigungsmetadaten manuell hochzuladen und zu indizieren (siehe Indizierung von Berechtigungen mithilfe der Push-REST-API), oder Sie können einen Indexer verwenden, um die Datenerfassung zu automatisieren. Dieser Artikel konzentriert sich auf den Indexeransatz.
Zur Abfragezeit ist die Identität des Aufrufers über den x-ms-query-source-authorization Parameter im Anforderungsheader enthalten. Die Identität muss den Berechtigungsmetadaten für Dokumente entsprechen, wenn der Benutzer die Suchergebnisse sehen soll.
Der Indexer-Ansatz basiert auf dieser Grundlage:
Azure Storage-Blobs, die durch rollenbasierte Zugriffssteuerung (Azure RBAC) gesichert sind. Es gibt keine Unterstützung für die attributbasierte Zugriffssteuerung (Azure ABAC).
Ein Azure AI Search-Indexer für Blobs, der Daten und Metadaten abruft und verarbeitet, einschließlich Berechtigungsfiltern. Um Unterstützung für Berechtigungsfilter zu erhalten, verwenden Sie die neueste Vorschau-REST-API oder ein Vorabpaket eines Azure SDK, das diese Funktion unterstützt.
Ein Index in Azure AI Search , der die aufgenommenen Dokumente und die entsprechenden Berechtigungen enthält. Berechtigungsmetadaten werden als Felder im Index gespeichert.
Eine Abfrage, die Berechtigungsfilter verwendet. Um Abfragen zu erstellen, die die Berechtigungsfilter berücksichtigen, verwenden Sie die neueste Vorschau-REST-API oder ein Vorabpaket eines Azure SDK, das diese Funktion unterstützt.
Prerequisites
Microsoft Entra ID-Authentifizierung und Autorisierung. Die Dienste und Apps müssen sich im selben Mandanten befinden. Benutzende können sich in verschiedenen Mandanten befinden, solange es sich bei allen um Microsoft Entra ID-Mandanten handelt. Rollenzuweisungen werden für jede authentifizierte Verbindung verwendet.
Azure KI-Suche, jede Region, aber Sie müssen über eine abrechnungsfähige Stufe (Basic oder höher) für die Unterstützung verwalteter Identitäten verfügen. Der Suchdienst muss für den rollenbasierten Zugriff konfiguriert sein und muss über eine verwaltete Identität (entweder System oder Benutzer) verfügen.
Azure Storage, Standardleistung (Allzweck v2), auf Hot-, Cool- und Cold-Zugriffsebenen, mit RBAC-gesicherten Containern oder Blobs.
Sie sollten verstehen, wie Indexer funktionieren und wie man einen Index erstellt. In diesem Artikel werden die Konfigurationseinstellungen für die Datenquelle und den Indexer erläutert, jedoch keine Schritte zum Erstellen des Indexes beschrieben. Weitere Informationen zu Indizes für Berechtigungsfilter finden Sie unter Erstellen eines Index mit Berechtigungsfilterfeldern.
Diese Funktionalität wird derzeit im Azure-Portal nicht unterstützt. Dazu gehören Berechtigungsfilter, die über die Import-Assistenten erstellt wurden. Verwenden Sie einen programmatischen Ansatz, um Objekte für den Zugriff auf Dokumentebene zu erstellen oder zu ändern.
Konfigurieren des BLOB-Speichers
Überprüfen Sie, ob Ihr BLOB-Container rollenbasierten Zugriff verwendet.
Melden Sie sich beim Azure-Portal an, und suchen Sie Ihr Speicherkonto.
Erweitern Sie Container , und wählen Sie den Container mit den Blobs aus, die Sie indizieren möchten.
Wählen Sie Access Control (IAM) aus, um Rollenzuweisungen zu überprüfen. Benutzer und Gruppen mit Storage Blob Data Reader oder Storage Blob Data Contributor haben Zugriff auf Dokumente im Index, nachdem der Container indiziert wurde.
Authorization
Für die Indizierungsausführung muss Ihre Suchdienstidentität über die Berechtigung " Storage Blob Data Reader " verfügen. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit Azure Storage mithilfe einer verwalteten Identität.
Konfigurieren von Azure KI-Suche
Erinnern Sie sich daran, dass der Suchdienst Folgendes haben muss:
Authorization
Für die Indizierungsausführung muss der Client, der den API-Aufruf ausgibt, über die Berechtigung "Suchdienstmitwirkender" zum Erstellen von Objekten, die Berechtigung zum Ausführen des Datenimports und den Suchindexdatenleser verfügen, um einen Index abzufragen, siehe Herstellen einer Verbindung mit Azure AI Search mithilfe von Rollen.
Indizierung konfigurieren
Konfigurieren Sie in Azure AI Search einen Indexer, eine Datenquelle und einen Index, um Berechtigungsmetadaten aus Blobs abzurufen.
Die Datenquelle erstellen
Der Datenquellentyp muss sein
azureblob.Der Datenquellenanalysemodus muss die Standardeinstellung sein.
Die Datenquelle muss
indexerPermissionOptionsmitrbacScopeaufweisen.Konfigurieren Sie die
rbacScopefür im verwalteten Identitätsformat.Für Verbindungszeichenfolgen mit einer vom Benutzer zugewiesenen verwalteten Identität müssen Sie auch die
identityEigenschaft angeben.
JSON-Beispiel mit vom System verwalteter Identität und indexerPermissionOptions:
{
"name" : "my-blob-datasource",
"type": "azureblob",
"indexerPermissionOptions": ["rbacScope"],
"credentials": {
"connectionString": "ResourceId=/subscriptions/<your subscription ID>/resourceGroups/<your resource group name>/providers/Microsoft.Storage/storageAccounts/<your storage account name>/;"
},
"container": {
"name": "<your-container-name>",
"query": "<optional-query-used-for-selecting-specific-blobs>"
}
}
JSON-Schemabeispiel mit einer vom Benutzer verwalteten Identität in der Verbindungszeichenfolge:
{
"name" : "my-blob-datasource",
"type": "azureblob",
"indexerPermissionOptions": ["rbacScope"],
"credentials": {
"connectionString": "ResourceId=/subscriptions/<your subscription ID>/resourceGroups/<your resource group name>/providers/Microsoft.Storage/storageAccounts/<your storage account name>/;"
},
"container": {
"name": "<your-container-name>",
"query": "<optional-query-used-for-selecting-specific-blobs>"
},
"identity": {
"@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
"userAssignedIdentity": "/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-assigned-managed-identity-name}"
}
}
Erstellen von Berechtigungsfeldern im Index
Stellen Sie in Azure AI Search sicher, dass Ihr Index Felddefinitionen für die Berechtigungsmetadaten enthält. Berechtigungsmetadaten können indiziert werden, wenn indexerPermissionOptions sie in der Datenquellendefinition angegeben sind.
RBAC-Bereich für empfohlene Schemaattribute:
- RBAC-Bereichsfeld mit
rbacScopepermissionFilter-Wert. - Eigenschaft
permissionFilterOptionzum Aktivieren der Filterung zur Abfragezeit. - Verwenden von Zeichenfolgenfeldern für Berechtigungsmetadaten
- Setzen Sie
filterableauf "true" für alle Felder.
Beachten Sie, dass retrievable "false" lautet. Sie können es während der Entwicklung auf "true" setzen, um zu überprüfen, ob Berechtigungen vorhanden sind. Denken Sie jedoch daran, es vor der Bereitstellung in einer Produktionsumgebung wieder auf "false" zu setzen, damit die Identitäten der Sicherheitsprinzipale in den Ergebnissen nicht sichtbar sind.
JSON-Schemabeispiel:
{
...
"fields": [
...
{
"name": "RbacScope",
"type": "Edm.String",
"permissionFilter": "rbacScope",
"filterable": true,
"retrievable": false
}
],
"permissionFilterOption": "enabled"
}
Konfigurieren des Indexers
Feldzuordnungen in einem Indexer geben den Datenpfad zu Feldern in einem Index an. Ziel- und Zielfelder, die je nach Name oder Datentyp variieren, erfordern eine explizite Feldzuordnung. Die folgenden Metadatenfelder in Azure Blob Storage benötigen möglicherweise Feldzuordnungen, wenn Sie den Feldnamen variieren:
-
metadata_rbac_scope (
Edm.String) – Container-RBAC-Bereich.
Geben Sie fieldMappings im Indexer an, um die Berechtigungsmetadaten während der Indizierung an Zielfelder weiterzuleiten.
JSON-Schemabeispiel:
{
...
"fieldMappings": [
{ "sourceFieldName": "metadata_rbac_scope", "targetFieldName": "RbacScope" }
]
}
Ausführen des Indexers
Sobald Ihr Indexer, Ihre Datenquelle und Ihr Index konfiguriert sind, starten Sie den Indexer, um den Prozess in Gang zu setzen. Wenn es ein Problem mit der Konfiguration oder den Berechtigungen gibt, werden diese Probleme in diesem Schritt sichtbar.
Standardmäßig wird ein Indexer ausgeführt, sobald Sie ihn an einen Suchdienst senden. Wenn jedoch in der Indexerkonfiguration disabled auf WAHR gesetzt ist, wird der Indexer in einem deaktivierten Zustand gesendet, sodass Sie ihn manuell ausführen können.
Es wird empfohlen, den Indexer über das Azure-Portal auszuführen, damit Sie Status und Nachrichten überwachen können.
Wenn keine Fehler auftreten, wird der Index jetzt ausgefüllt, und Sie können mit Abfragen und Tests fortfahren.
Nachverfolgung des Löschens
Um blob-Löschung effektiv zu verwalten, stellen Sie sicher, dass Sie die Löschnachverfolgung aktiviert haben, bevor der Indexer zum ersten Mal ausgeführt wird. Mit diesem Feature kann das System gelöschte Blobs aus Ihrer Quelle erkennen und den entsprechenden Inhalt aus dem Index löschen.