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).

Se si configurano le ACL, l'endpoint del server MCP è accessibile solo dagli indirizzi IP specificati in tali regole. Le richieste provenienti da indirizzi al di fuori delle voci ACL definite sono negate. Questa restrizione si applica a tutte le connessioni al server MCP e applica il controllo dell'accesso a livello di rete prima che si verifichi l'autenticazione. Per informazioni sulla configurazione delle ACL per Autonomous AI Database, vedere Configurazione dell'accesso di rete con le regole di controllo dell'accesso (ACL).

Accesso all'endpoint privato

Se si configura l'accesso di rete utilizzando un endpoint privato, l'endpoint del server MCP può essere raggiunto solo dalla rete cloud virtuale (VCN) specificata durante la configurazione dell'endpoint privato. I client esterni alla VCN consentita non possono connettersi al server MCP.

Per i database configurati con un endpoint privato, l'URL del server MCP utilizza il formato del nome host privato:
https://{hostname_prefix}.adb.{region-identifier}.oraclecloudapps.com/adb/mcp/v1/databases/{database-ocid}

Per ulteriori informazioni sulla configurazione dell'accesso di rete mediante l'endpoint privato, vedere Configura opzioni avanzate dell'endpoint privato.

  • hostname_prefix: è il valore fornito durante l'impostazione dell'endpoint privato oppure il valore generato automaticamente dal sistema.

    Per ottenere hostname_prefix, andare alla pagina dei dettagli di Autonomous AI Database nella console OCI e individuare l'URL dell'endpoint privato nella sezione Rete. Per informazioni sull'individuazione dell'URL dell'endpoint privato, vedere Note sugli endpoint privati.

  • region-identifier: è l'area Oracle Cloud in cui viene distribuito il database.

  • database-ocid: è l'OCID dell'istanza di Autonomous AI Database.

Ad esempio, se l'URL dell'endpoint privato è:
testhostname01.adb.us-ashburn-1.oraclecloud.com

allora testhostname01 è il hostname_prefix.

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.