Fine-grained Zugriffskontrolle für Amazon Bedrock Gateway AgentCore
Amazon Bedrock AgentCore Gateway bietet detaillierte Zugriffskontrollfunktionen, mit denen Sie steuern können, welche Benutzer und Agenten auf bestimmte Tools und Ressourcen zugreifen können. Sie können die Zugriffskontrolle mithilfe von Gateway-Interceptoren für benutzerdefinierte Logik implementieren oder ressourcenbasierte Richtlinien für eine standardmäßige Zugriffskontrolle verwenden. AWS Informationen zu ressourcenbasierten Richtlinien finden Sie unter Resource-based Richtlinien für Amazon Bedrock. AgentCore
Verwendung von Interceptoren für die Zugriffskontrolle
Gateway-Interzeptoren bieten die flexibelste Möglichkeit, eine differenzierte Zugriffskontrolle zu implementieren. REQUEST-Interzeptoren werden ausgeführt, bevor das Gateway das Ziel anruft, sodass Sie:
-
Überprüfen Sie Benutzerberechtigungen auf der Grundlage von JWT-Ansprüchen oder benutzerdefinierter Logik
-
Steuern Sie den Zugriff auf bestimmte Tools oder MCP-Operationen
-
Implementieren Sie eine rollen- oder attributbasierte Zugriffskontrolle
-
Filtern oder ändern Sie Anfragen basierend auf dem Benutzerkontext
-
Geben Sie Autorisierungsfehler für nicht autorisierte Anfragen zurück
Ausführliche Informationen zur Implementierung und Konfiguration von Interzeptoren, einschließlich Beispielen für Autorisierungslogik, finden Sie unter Interzeptoren mit Gateway verwenden.
Stufen der Zugriffskontrolle
Fine-grained Die Zugriffskontrolle in Gateway kann auf mehreren Ebenen implementiert werden:
- Gateway-level Zugriff
-
Steuert, welche Benutzer oder Agenten über OAuth-Autorisierungsserver oder AWS IAM-Authentifizierung eine Verbindung zum Gateway herstellen und sich dort authentifizieren können.
- Tool-level Zugriff
-
Steuert den Zugriff auf bestimmte Tools innerhalb eines Gateways mithilfe von Interceptorlogik, um die Berechtigungen vor der Ausführung des Tools zu überprüfen.
- Operation-level Zugriff
-
Steuert den Zugriff auf bestimmte MCP-Operationen (wie
tools/listodertools/call) mithilfe von Interceptoren zur Überprüfung von Betriebsberechtigungen. - Parameter-level Zugriff
-
Steuert den Zugriff auf bestimmte Parameter oder Daten innerhalb von Vorgängen mithilfe von Interzeptoren zum Filtern oder Überprüfen von Anforderungsparametern.
Ansätze zur Implementierung
Sie können eine differenzierte Zugriffskontrolle implementieren, indem Sie:
- Validierung von JWT-Ansprüchen
-
Verwenden Sie Interceptoren, um JWT-Ansprüche wie Benutzerrollen, Abteilungen oder benutzerdefinierte Attribute zu untersuchen, um Autorisierungsentscheidungen zu treffen.
- IAM-Prinzipalabgleich
-
Implementieren Sie für IAM-authenticated Gateways die Zugriffskontrolle, indem Sie sie mit dem IAM-ARN des Anrufers abgleichen. Verwenden Sie den Musterabgleich
principal.idin den Cedar-Richtlinien, um den Zugriff auf der Grundlage von AWS Konten, Rollen oder Benutzern einzuschränken. - Externe Autorisierungsdienste
-
Konfigurieren Sie Interceptoren so, dass sie externe Autorisierungsdienste oder Datenbanken aufrufen, um Benutzerberechtigungen zu überprüfen.
- Kontext-Filterung anfordern
-
Verwenden Sie Interzeptoren, um Anfragen auf der Grundlage des Benutzerkontextes zu ändern, z. B. um benutzerspezifische Filter hinzuzufügen oder den Datenbereich einzuschränken.
Bewährte Methoden
-
Prinzip der geringsten Rechte — Gewähren Sie Benutzern nur den Mindestzugriff, der zur Ausführung ihrer Aufgaben erforderlich ist.
-
Strukturierte Ansprüche verwenden — Nutzen Sie JWT-Ansprüche, um Benutzerkontext- und Autorisierungsinformationen an Ihre Interceptoren weiterzugeben.
-
Implementieren Sie ausfallsichere Standardeinstellungen — Entwerfen Sie Interzeptoren so, dass sie standardmäßig den Zugriff verweigern, wenn die Autorisierung nicht bestimmt werden kann.
-
Autorisierungsentscheidungen protokollieren — Stellen Sie sicher, dass Ihre Interceptoren Zugriffsentscheidungen zu Prüfungszwecken protokollieren.