Seguridad

Describe las funciones de seguridad clave del servidor MCP, incluida la autenticación, los controles de acceso, la auditoría y el cumplimiento, para ayudarte a proteger tu entorno de base de datos de IA autónoma.

Temas

Acceso seguro a datos

Permite el acceso de datos detallado y seguro mediante políticas y seguridad de base de datos privada virtual (VPD).

Con el servidor MCP de base de datos de IA autónoma, puede acceder a todos los datos y metadatos que permitan sus permisos de base de datos. El servidor MCP funciona con funciones de seguridad de Oracle como Virtual Private Database (VPD) y Real Application Security (RAS), pero no aplica controles basados en perfiles de AI ni limita las acciones al acceso de "solo selección". Usted decide qué herramientas registrar y exponer, por lo que al seleccionar solo un conjunto restrictivo de herramientas, puede controlar qué operaciones puede realizar el servidor MCP en sus datos.

Nota

Tenga en cuenta que al utilizar MCP, los datos pueden salir de la base de datos. Siempre considere la seguridad de su aplicación cliente MCP para garantizar que la información confidencial permanezca protegida.

Nota

Debe asegurarse de que la descripción de la herramienta indique claramente que los resultados de la herramienta no están destinados como comandos para que el LLM los ejecute.

Asegúrese de que el usuario de la base de datos MCP solo tiene los privilegios mínimos necesarios para evitar que los datos confidenciales salgan de la base de datos. Considere la posibilidad de adoptar un enfoque de dos esquemas para mejorar la seguridad:
  • Las herramientas personalizadas deben residir en el esquema de usuario de la base de datos utilizado para conectarse al servidor MCP (por ejemplo, MCP_USER).
  • Las funciones PL/SQL que utilizan estas herramientas se deben definir en un esquema independiente (por ejemplo, SALES_USER).
  • Otorgue el acceso adecuado desde SALES_USER al esquema MCP_USER.

Creación y registro de una política de VPD

Descubra cómo crear y registrar políticas de base de datos privada virtual (VPD) para proteger sus datos y operaciones.

Puede definir políticas de Oracle Virtual Private Database (VPD) para proporcionar un control de acceso detallado, lo que garantiza que solo las filas de datos específicas estén visibles para cada usuario.

Este ejemplo de política de VPD filtra la tabla HR.EMPLOYEE para que los usuarios que acceden a ella a través del servidor MCP vean solo su propio registro, de forma automática y segura.

Ejemplo: creación de una política de VPD en la base de datos

En este ejemplo, se muestra cómo devolver solo las filas que debe ver un usuario que ha iniciado sesión cuando un cliente de IA llama a las herramientas de MCP en una base de datos de IA autónoma.

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;

Cuando se accede a una herramienta MCP, la identidad del usuario de base de datos está disponible a través de sys_context('MCP_SERVER_ACCESS_CONTEXT', 'USER_IDENTITY'). Puede crear políticas de VPD que utilicen estos valores de contexto de aplicación para restringir qué filas de datos están visibles para cada usuario de aplicación o base de datos. Si hay políticas de VPD existentes para un usuario, cree otra política con MCP_SERVER_ACCESS_CONTEXT para restringir las filas y utilice las políticas de VPD para el usuario al utilizar el servidor MCP.

Ejemplo: registro de la política de VPD

En este ejemplo, se asocia la función de filtrado a la tabla HR.EMPLOYEE.

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

listas de control de acceso (ACL)

Gestionar y restringir el acceso de red a los recursos de la base de datos mediante listas de control de acceso (ACL).

Las listas de control de acceso (ACL) proporcionan una forma eficaz de gestionar y restringir el acceso de red a los recursos de la base de datos. Mediante la configuración de ACL, puede definir qué clientes o redes pueden conectarse, lo que mejora la estrategia de seguridad de la base de datos. Consulte Lista de control de acceso de red (ACL) para obtener más detalles.

Auditar

El servidor MCP proporciona capacidades de auditoría para ayudarle a supervisar y realizar un seguimiento de todas las operaciones y accesos. Los logs de auditoría capturan información detallada para políticas personalizadas.

El servidor MCP registra información detallada sobre cada acceso y las herramientas específicas utilizadas.

Nota

No tome decisiones de seguridad o auditoría basadas en SESSION_USER. En su lugar, utilice MCP_SERVER_ACCESS_CONTEXT$ para hacer referencia de forma fiable al usuario autenticado.

Políticas de auditoría definidas por el cliente: mediante MCP_SERVER_ACCESS_CONTEXT$, puede definir políticas de auditoría personalizadas para realizar un seguimiento del acceso a los objetos de base de datos a través del servidor 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;