Segurança

Descreve os principais recursos de segurança do MCP Server, incluindo autenticação, controles de acesso, auditoria e conformidade, para ajudar a proteger seu ambiente do Autonomous AI Database.

Tópicos

Acesso a Dados Protegidos

Permite acesso a dados seguro e refinado usando políticas de VPD (Virtual Private Database) e Segurança.

Com o Servidor MCP do Autonomous AI Database, você pode acessar todos os dados e metadados que suas permissões de banco de dados permitem. O servidor MCP funciona com recursos de segurança da Oracle, como VPD (Virtual Private Database) e RAS (Real Application Security), mas não impõe controles baseados em Perfil de IA ou limita ações ao acesso "Somente seleção". Você decide quais ferramentas registrar e expor, portanto, selecionando apenas um conjunto restritivo de ferramentas, você pode controlar quais operações o servidor MCP pode executar em seus dados.

Observação

Tenha em mente que quando você usa MCP, os dados podem sair do banco de dados. Sempre considere a segurança do seu aplicativo cliente MCP para garantir que as informações confidenciais permaneçam protegidas.

Observação

Certifique-se de que a descrição da sua ferramenta declare claramente que os resultados da ferramenta não se destinam a comandos para que o LLM seja executado.

Certifique-se de que o usuário do banco de dados MCP tenha apenas os privilégios mínimos necessários para evitar que dados confidenciais saiam do banco de dados. Considere adotar uma abordagem de dois esquemas para maior segurança:
  • As ferramentas personalizadas devem residir no esquema de usuário do banco de dados usado para fazer log-in no servidor MCP (por exemplo, MCP_USER).
  • As funções PL/SQL utilizadas por essas ferramentas devem ser definidas em um esquema separado (por exemplo, SALES_USER).
  • Conceda acesso apropriado do SALES_USER ao esquema MCP_USER.

Criar e Registrar uma Política de VPD

Saiba como criar e registrar políticas de VPD (Virtual Private Database) para proteger seus dados e operações.

Você pode definir políticas do Oracle Virtual Private Database (VPD) para fornecer controle de acesso refinado, garantindo que somente linhas de dados específicas fiquem visíveis para cada usuário.

Este exemplo de política de VPD filtra a tabela HR.EMPLOYEE para que os usuários que a acessam por meio do MCP Server vejam apenas seus próprios registros, de forma automática e segura.

Exemplo: Criar uma política de VPD no banco de dados

Este exemplo mostra como retornar somente as linhas que um usuário conectado deve ver quando um cliente do AI chama ferramentas MCP no 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 uma ferramenta MCP é acessada, a identidade do usuário do banco de dados é disponibilizada por meio do sys_context('MCP_SERVER_ACCESS_CONTEXT', 'USER_IDENTITY'). Você pode criar políticas de VPD que usam esses valores de contexto da aplicação para restringir quais linhas de dados estão visíveis para cada aplicativo ou usuário do banco de dados. Se houver políticas de VPD existentes para um usuário, crie outra política usando MCP_SERVER_ACCESS_CONTEXT para restringir linhas e use as políticas de VPD do usuário ao usar o Servidor MCP.

Exemplo: Registrar a política de VPD

Este exemplo anexa a função de filtragem à tabela HR.EMPLOYEE.

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

Listas de Controle de Acesso (ACLs, Access Control Lists)

Gerencie e restrinja o acesso de rede aos recursos do banco de dados usando as ACLs (Listas de Controle de Acesso).

As Listas de Controle de Acesso (ACLs) fornecem uma maneira eficiente de gerenciar e restringir o acesso à rede para seus recursos de banco de dados. Ao configurar ACLs, você pode definir quais clientes ou redes têm permissão para se conectar, aprimorando a postura de segurança do banco de dados. Consulte Lista de Controle de Acesso à Rede (ACL) para obter mais detalhes.

Níveis

O servidor MCP fornece recursos de auditoria para ajudá-lo a monitorar e rastrear todo o acesso e operações. Os logs de auditoria capturam informações detalhadas para políticas personalizadas.

O servidor MCP registra informações detalhadas sobre cada acesso e as ferramentas específicas usadas.

Observação

Não tome decisões de segurança ou auditoria com base no SESSION_USER. Em vez disso, use MCP_SERVER_ACCESS_CONTEXT$ para fazer referência confiável ao usuário autenticado.

Políticas de Auditoria Definidas pelo Cliente: Usando o MCP_SERVER_ACCESS_CONTEXT$, você pode definir políticas de auditoria personalizadas para rastrear o acesso a objetos de banco de dados por meio do 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;