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.

Si configura ACL, solo se puede acceder al punto final del servidor MCP desde las direcciones IP especificadas en esas reglas. Las solicitudes que se originan desde direcciones fuera de las entradas de ACL definidas se rechazan. Esta restricción se aplica a todas las conexiones del servidor MCP y aplica el control de acceso de nivel de red antes de que se produzca la autenticación. Para obtener información sobre la configuración de las ACL para la base de datos de IA autónoma, consulte Configuring Network Access with Access Control Rules (ACL).

Acceso a punto final privado

Si configura el acceso a la red mediante un punto final privado, solo se puede acceder al punto final del servidor MCP desde la red virtual en la nube (VCN) especificada durante la configuración del punto final privado. Los clientes fuera de la VCN permitida no pueden conectarse al servidor MCP.

Para las bases de datos configuradas con un punto final privado, la URL del servidor MCP utiliza el formato de nombre de host privado:
https://{hostname_prefix}.adb.{region-identifier}.oraclecloudapps.com/adb/mcp/v1/databases/{database-ocid}

Para obtener más información sobre la configuración del acceso de red mediante el punto final privado, consulte Configuración de opciones avanzadas de punto final privado.

  • hostname_prefix: es el valor proporcionado durante la configuración del punto final privado o el valor generado automáticamente por el sistema.

    Para obtener hostname_prefix, vaya a la página de detalles de la base de datos de IA autónoma en la consola de OCI y localice la URL de punto final privado en la sección Red. Para obtener información sobre la localización de la URL de punto final privado, consulte Notas de puntos finales privados.

  • region-identifier: es la región de Oracle Cloud donde se despliega la base de datos.

  • database-ocid: es el OCID de su instancia de base de datos de IA autónoma.

Por ejemplo, si la URL de punto final privado es:
testhostname01.adb.us-ashburn-1.oraclecloud.com

testhostname01 es el hostname_prefix.

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.