Sicurezza

Descrive le funzioni di sicurezza chiave di MCP Server, tra cui autenticazione, controlli dell'accesso, audit e conformità, per aiutarti a proteggere il tuo ambiente Autonomous AI Database.

Argomenti

Accesso protetto ai dati

Abilita l'accesso ai dati con filtro e protetto mediante criteri VPD (Virtual Private Database) e sicurezza.

Con Autonomous AI Database MCP Server, puoi accedere a tutti i dati e i metadati consentiti dalle autorizzazioni del database. Il server MCP funziona con le funzioni di sicurezza Oracle come Virtual Private Database (VPD) e Real Application Security (RAS), ma non applica i controlli basati sul profilo AI o limita le azioni all'accesso "Solo selezione". Decidi quali strumenti registrare ed esporre, quindi selezionando solo un set restrittivo di strumenti, puoi controllare quali operazioni il server MCP può eseguire sui tuoi dati.

Nota

Tenere presente che quando si utilizza MCP, i dati potrebbero uscire dal database. Considera sempre la sicurezza dell'applicazione client MCP per garantire che le informazioni sensibili rimangano protette.

Nota

Dovresti assicurarti che la descrizione del tuo strumento indichi chiaramente che i risultati dello strumento non sono intesi come comandi da eseguire per l'LLM.

Assicurarsi che l'utente del database MCP disponga solo dei privilegi minimi necessari per evitare che i dati riservati escano dal database. Prendere in considerazione l'adozione di un approccio a due regimi per una maggiore sicurezza:
  • Gli strumenti personalizzati devono risiedere nello schema utente del database utilizzato per eseguire il login al server MCP (ad esempio, MCP_USER).
  • Le funzioni PL/SQL utilizzate da questi strumenti devono essere definite in uno schema separato (ad esempio, SALES_USER).
  • Concedere l'accesso appropriato da SALES_USER allo schema MCP_USER.

Creare e registrare un criterio VPD

Scopri come creare e registrare criteri VPD (Virtual Private Database) per proteggere i tuoi dati e le tue operazioni.

È possibile definire criteri VPD (Oracle Virtual Private Database) per fornire un controllo dell'accesso con filtro, assicurando che solo righe specifiche di dati siano visibili a ciascun utente.

Questo esempio di criterio VPD filtra la tabella HR.EMPLOYEE in modo che gli utenti che vi accedono tramite il server MCP vedano solo il proprio record, in modo automatico e sicuro.

Esempio: creare un criterio VPD nel database

Questo esempio mostra come restituire solo le righe che un utente connesso deve vedere quando un client AI chiama gli strumenti MCP in Autonomous AI Database.

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;

Quando si accede a uno strumento MCP, l'identità dell'utente del database è disponibile tramite sys_context('MCP_SERVER_ACCESS_CONTEXT', 'USER_IDENTITY'). È possibile creare criteri VPD che utilizzano questi valori di contesto dell'applicazione per limitare le righe di dati visibili a ciascun utente dell'applicazione o del database. Se esistono criteri VPD per un utente, creare un altro criterio utilizzando MCP_SERVER_ACCESS_CONTEXT per limitare le righe e utilizzare i criteri VPD per l'utente quando si utilizza il server MCP.

Esempio: registrare il criterio VPD

In questo esempio la funzione di filtro viene collegata alla tabella HR.EMPLOYEE.

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

liste di controllo dell'accesso (ACL)

Gestire e limitare l'accesso di rete alle risorse del database utilizzando le liste di controllo dell'accesso (ACL, Access Control List).

Le liste di controllo dell'accesso (ACL, Access Control List) offrono un modo efficace per gestire e limitare l'accesso di rete alle risorse del database. Configurando le ACL, è possibile definire i client o le reti a cui è consentito connettersi, migliorando le impostazioni di sicurezza del database. Per ulteriori informazioni, vedere Network Access Control List (ACL).

Esegui audit

Il server MCP fornisce funzionalità di audit che consentono di monitorare e tenere traccia di tutti gli accessi e le operazioni. I log di audit acquisiscono informazioni dettagliate per i criteri personalizzati.

Il server MCP registra informazioni dettagliate su ciascun accesso e sugli strumenti specifici utilizzati.

Nota

Non prendere decisioni di sicurezza o di audit basate su SESSION_USER. In alternativa, utilizzare MCP_SERVER_ACCESS_CONTEXT$ per fare riferimento in modo affidabile all'utente autenticato.

Criteri di audit definiti dal cliente: utilizzando MCP_SERVER_ACCESS_CONTEXT$, è possibile definire criteri di audit personalizzati per tenere traccia dell'accesso agli oggetti di database tramite il server MCP.
--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;