Sicherheit

Beschreibt die wichtigsten Sicherheitsfunktionen von MCP Server, einschließlich Authentifizierung, Zugriffskontrollen, Auditing und Compliance, um Ihre autonome KI-Datenbankumgebung zu schützen.

Themen

Gesicherter Datenzugriff

Ermöglicht feingranulierten, gesicherten Datenzugriff mit Virtual Private Database-(VPD-)Policys und Sicherheit.

Mit dem Autonomous AI Database MCP-Server können Sie auf alle Daten und Metadaten zugreifen, die Ihre Datenbankberechtigungen zulassen. Der MCP-Server arbeitet mit Oracle-Sicherheitsfunktionen wie Virtual Private Database (VPD) und Real Application Security (RAS) zusammen, erzwingt jedoch keine KI-Profil-basierten Kontrollen oder begrenzt Aktionen auf "Nur auswählen"-Zugriff. Sie entscheiden, welche Tools Sie registrieren und freigeben möchten. Wenn Sie also nur eine restriktive Gruppe von Tools auswählen, können Sie steuern, welche Vorgänge der MCP-Server mit Ihren Daten ausführen kann.

Hinweis

Wenn Sie MCP verwenden, können Daten die Datenbank verlassen. Achten Sie immer auf die Sicherheit Ihrer MCP-Clientanwendung, um sicherzustellen, dass vertrauliche Informationen geschützt bleiben.

Hinweis

Stellen Sie sicher, dass die Beschreibung Ihres Tools eindeutig angibt, dass die Ergebnisse aus dem Tool nicht als Befehle für die Ausführung durch das LLM gedacht sind.

Stellen Sie sicher, dass der MCP-Datenbankbenutzer nur über die minimal erforderlichen Berechtigungen verfügt, um zu verhindern, dass sensible Daten die Datenbank verlassen. Ziehen Sie einen Zwei-Schema-Ansatz für verbesserte Sicherheit in Betracht:
  • Benutzerdefinierte Tools müssen sich im Datenbankbenutzerschema befinden, das für die Anmeldung beim MCP-Server verwendet wird (Beispiel: MCP_USER).
  • Die von diesen Tools verwendeten PL/SQL-Funktionen müssen in einem separaten Schema definiert werden (z.B. SALES_USER).
  • Erteilen Sie dem Schema MCP_USER den entsprechenden Zugriff von SALES_USER.

VPD-Policys erstellen und registrieren

Erfahren Sie, wie Sie Virtual Private Database-(VPD-)Policys erstellen und registrieren, um Ihre Daten und Vorgänge zu schützen.

Sie können Oracle Virtual Private Database-(VPD-)Policys definieren, um eine feingranulierte Zugriffskontrolle bereitzustellen und sicherzustellen, dass nur bestimmte Datenzeilen für jeden Benutzer sichtbar sind.

In diesem VPD-Policy-Beispiel wird die Tabelle HR.EMPLOYEE gefiltert, sodass Benutzer, die über MCP Server darauf zugreifen, nur ihren eigenen Datensatz automatisch und sicher anzeigen können.

Beispiel: VPD-Policy in der Datenbank erstellen

In diesem Beispiel wird gezeigt, wie nur die Zeilen zurückgegeben werden, die ein angemeldeter Benutzer sehen muss, wenn ein AI-Client MCP-Tools für die autonome KI-Datenbank aufruft.

CREATE OR REPLACE FUNCTION limit_sal (v_schema IN VARCHAR2, v_objname IN VARCHAR2)
  RETURN VARCHAR2 authid current_user AS
BEGIN
     RETURN 'employee_id = SYS_CONTEXT(''MCP_SERVER_ACCESS_CONTEXT'', ''USER_IDENTITY'')';
END;

Wenn auf ein MCP-Tool zugegriffen wird, ist die Identität des Datenbankbenutzers über sys_context('MCP_SERVER_ACCESS_CONTEXT', 'USER_IDENTITY') verfügbar. Sie können VPD-Policys erstellen, die diese Anwendungskontextwerte verwenden, um einzuschränken, welche Datenzeilen für jeden Anwendungs- oder Datenbankbenutzer sichtbar sind. Wenn VPD-Policys für einen Benutzer vorhanden sind, erstellen Sie eine andere Policy mit MCP_SERVER_ACCESS_CONTEXT, um Zeilen einzuschränken, und verwenden Sie die VPD-Policys für den Benutzer, wenn Sie den MCP-Server verwenden.

Beispiel: VPD-Policy registrieren

In diesem Beispiel wird die Filterfunktion an die Tabelle HR.EMPLOYEE angehängt.

BEGIN
   DBMS_RLS.ADD_POLICY( 
        object_schema        => 'HR',
        object_name          => 'EMPLOYEE',
        policy_name          => 'POL',
        policy_function      => 'LIMIT_SAL');
END;
/

ACLs (Access Control-Listen)

Mit Access Control-Listen (ACLs) können Sie den Netzwerkzugriff auf Ihre Datenbankressourcen verwalten und einschränken.

Access Control-Listen (ACLs) bieten eine leistungsstarke Möglichkeit, den Netzwerkzugriff auf Ihre Datenbankressourcen zu verwalten und einzuschränken. Durch die Konfiguration von ACLs können Sie definieren, welche Clients oder Netzwerke eine Verbindung herstellen dürfen, wodurch der Sicherheitsstatus Ihrer Datenbank verbessert wird. Weitere Informationen finden Sie unter Network Access Control List (ACL).

Auditing

Der MCP-Server bietet Auditfunktionen, mit denen Sie alle Zugriffe und Vorgänge überwachen und verfolgen können. In Auditlogs werden detaillierte Informationen für benutzerdefinierte Policys erfasst.

Der MCP-Server zeichnet detaillierte Informationen über jeden Zugriff und die spezifischen verwendeten Tools auf.

Hinweis

Treffen Sie keine Sicherheits- oder Auditentscheidungen basierend auf SESSION_USER. Verwenden Sie stattdessen MCP_SERVER_ACCESS_CONTEXT$, um den authentifizierten Benutzer zuverlässig zu referenzieren.

Kundendefinierte Audit-Policys: Mit MCP_SERVER_ACCESS_CONTEXT$ können Sie benutzerdefinierte Audit-Policys definieren, um den Zugriff auf Datenbankobjekte über den MCP-Server zu verfolgen.
--Sample Policy to enable audit on a table when accessed using MCP server

create protected audit policy ADB_MCP_SERVER_ACCESS_AUDIT 
  actions SELECT on HR.EMPLOYEE
  when sys_context('MCP_SERVER_CONTEXT$', 'USERNAME') is not null;