View a markdown version of this page

Document-level Zugriffskontrollen - Amazon Bedrock

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Document-level Zugriffskontrollen

ACL-Awareness ist keine Autorisierung

Die Bedrock Managed Knowledge Base bietet ACL-aware Filterung, keine Sicherheitsgrenze. Bedrock Managed Knowledge Base authentifiziert keine Endbenutzer — Ihre Anwendung ist für die Authentifizierung von Benutzern und die Weitergabe des verifizierten Identitätskontextes verantwortlich. Da Bedrock Managed Knowledge Base die Authentizität des von Ihnen angegebenen Benutzerkontextes nicht überprüfen kann, filtert diese Funktion die Ergebnisse auf der Grundlage der von Ihnen angegebenen Identität, stellt jedoch keine echte Autorisierung dar. Sie dürfen sich nicht auf diese Funktion als alleinigen Zugriffskontrollmechanismus ohne vorherige Authentifizierung verlassen.

Amazon S3 S3-Datenquellen unterstützen optional die Zugriffskontrolle auf Dokumentebene. Im Gegensatz zu anderen Konnektoren verfügt Amazon S3 über kein systemeigenes Berechtigungssystem für das Crawlen. Daher definieren Sie ACLs über Konfigurationsdateien, die Sie verwalten. Eine Übersicht über die ACL-Awareness für alle Konnektoren finden Sie unter. Aktivierung des Bewusstseins für Zugriffskontrolllisten

Funktionsweise

Für eine ACL-enabled Amazon S3 S3-Datenquelle wendet Bedrock Managed Knowledge Base beim Filtern vor dem Abruf die vom Kunden bereitgestellten Zugriffskontrolllisten an und gibt nur Dokumente zurück, auf die der abfragende Benutzer zugreifen darf. Real-time Die ACL-Überprüfung wird für Amazon S3 nicht unterstützt, da die vom Kunden bereitgestellten ACL-Metadaten die Quelle der Wahrheit sind.

Aktivieren Sie ACL Awareness

Um ACL Awareness für eine Amazon S3 S3-Datenquelle aclEnabled zu aktivieren, setzen Sie true im auf connectorParameters und definieren Sie Zugriffsberechtigungen mit einer von zwei Methoden:

  • Globale ACL-Konfigurationsdatei — Eine einzige zentralisierte JSON-Datei, die Zugriffsberechtigungen auf Ordnerebene (Präfix) definiert. Ideal für Organisationen mit stabilen Berechtigungsstrukturen. Bei Änderungen an der Globaldatei muss das betroffene Präfix neu indexiert werden.

  • Document-level Metadatendateien — Jedes Dokument hat seine eigene Metadatendatei, die Informationen zur Zugriffskontrolle enthält. Dies ermöglicht schnellere Indexaktualisierungen, wenn sich die Berechtigungen ändern, da nur die betroffenen Dokumente neu indexiert werden müssen.

Wichtig

Bei ACL-enabled Amazon S3 S3-Datenquellen werden Dokumente ohne zugehörigen ACL-Eintrag nicht aufgenommen. Stellen Sie sicher, dass für jedes Dokument eine ACL vorhanden ist, die entweder über die globale ACL-Datei oder in der zugehörigen Metadatendatei definiert ist.

"connectorParameters": { "type": "S3", "version": "1", "aclEnabled": true, "connectionConfiguration": { "bucketName": "your-bucket-name", "bucketOwnerAccountId": "123456789012" }, "aclConfiguration": { "globalAccessControlListS3Uri": "s3://your-bucket-name/acl/global-acl.json" } }

Globale ACL-Dateistruktur

Die globale ACL-Datei ist ein JSON-Array, in dem jeder Eintrag einem Satz von Zugriffskontrolleinträgen ein key prefix zuordnet. Jeder keyPrefix ist der absolute Amazon S3 S3-URI eines Ordners (gilt für alle Dokumente darunter) oder eines einzelnen Dokuments.

[ { "keyPrefix": "s3://your-bucket-name/finance/", "aclEntries": [ { "Name": "user1@example.com", "Type": "USER", "Access": "ALLOW" } ] } ]

Jedes aclEntries Element enthält:

  • Name— Die E-Mail-Adresse eines Benutzers.

  • Type— Muss seinUSER.

  • Access— Entweder ALLOW oderDENY. Ablehnen, Überschreibungen zulassen.

Per-document Metadaten-Dateien

Als Alternative zur globalen ACL-Datei können Sie ACLs pro Dokument mithilfe von Metadatendateien definieren. Erstellen Sie für jedes Dokument eine Datei mit filename.metadata.json demselben Amazon S3-Pfad. Fügen Sie ein accessControlList Array mit demselben Eingabeformat wie die globale Datei hinzu.

{ "metadataAttributes": {}, "accessControlList": [ { "Name": "user1@example.com", "Type": "USER", "Access": "ALLOW" }, { "Name": "user2@example.com", "Type": "USER", "Access": "DENY" } ] }

Per-document Metadaten haben Vorrang vor der globalen ACL-Datei. Wenn ein Dokument sowohl einen passenden globalen Präfixeintrag als auch eine dokumentspezifische Metadatendatei hat, werden die Metadaten pro Dokument verwendet.

Anmerkung

Die ACL-Konfigurationsdatei muss in demselben Amazon S3 S3-Bucket wie Ihr Datenquelleninhalt gespeichert werden.

Überprüfen Ihrer Konfiguration

Da Amazon S3 S3-ACLs vom Kunden bereitgestellt werden, überprüfen Sie sie, bevor Sie eine Anfrage stellen:

  1. Bestätigen SieaclEnabled, dass true in der Datenquelle enthalten ist. connectorParameters

  2. Vergewissern Sie sich, dass jedes Dokument über eine ACL verfügt — entweder einen Eintrag in der globalen ACL-Datei oder eine .metadata.json Datei pro Dokument. Dokumente ohne ACL werden nicht aufgenommen.

  3. Überprüfen Sie die ACL-JSON: Jeder Eintrag hat Name (Benutzer-E-Mail), Type (USER) und Access (ALLOWoderDENY), und die ACL-Dateien befinden sich in demselben Bucket wie Ihr Inhalt.

  4. Vergewissern Sie sich, dass die E-Mail-Adresse eines Testbenutzers genau mit der E-Mail-Adresse Name in einem ALLOW Eintrag für ein Dokument übereinstimmt, das der Benutzer voraussichtlich abrufen wird.

Fehlerbehebung

Anmerkung

ACL-Fehlkonfigurationen führen nicht zu expliziten Fehlern beim Abrufen. Der Abruf schlägt fehl: Die betroffenen Dokumente werden stillschweigend ausgelassen, sodass eine Abfrage weniger oder gar keine Ergebnisse als einen Fehler zurückgibt. Verwenden Sie die oben genannten Überprüfungsprüfungen, um diese Probleme zu diagnostizieren.

ACL-enabled Symptome, Ursachen und Lösungen für Amazon S3
Symptom Wahrscheinliche Ursache Reparieren
Retrieve gibt 0 Ergebnisse für einen Benutzer zurück, der Zugriff haben sollte. Die E-Mail-Adresse des Benutzers stimmt mit keinem ACL-Eintrag überein (E-Mail-Konflikt). Stellen Sie sicher, dass die ACL genau Name mit der E-Mail-Adresse des Benutzers übereinstimmt.
Ein Dokument wird niemals an Dritte zurückgegeben. Das Dokument hat keinen ACL-Eintrag und wurde daher nicht aufgenommen. Fügen Sie über die globale ACL-Datei oder eine Datei pro Dokument eine ACL für das Dokument .metadata.json hinzu und synchronisieren Sie es anschließend erneut.
Eine ACL pro Dokument wird nicht wirksam. Die .metadata.json Datei ist falsch benannt oder befindet sich im falschen Pfad. Benennen Sie sie filename.metadata.json im gleichen S3-Pfad. Metadaten pro Dokument haben Vorrang vor der globalen Datei.
ACL-Änderungen werden nicht berücksichtigt. Globale Änderungen an der ACL-Datei erfordern eine Neuindizierung des betroffenen Präfixes. Synchronisieren Sie das betroffene Präfix erneut.