Sécurité

Décrit les principales fonctionnalités de sécurité du serveur MCP, notamment l'authentification, les contrôles d'accès, l'audit et la conformité, afin de vous aider à protéger votre environnement de base de données Autonomous AI.

Sujets

Accès sécurisé aux données

Permet un accès aux données sécurisé et affiné à l'aide des stratégies et de la sécurité Virtual Private Database (VPD).

Avec le serveur Autonomous AI Database MCP, vous pouvez accéder à toutes les données et métadonnées autorisées par vos droits d'accès à la base de données. Le serveur MCP fonctionne avec les fonctionnalités de sécurité Oracle telles que Virtual Private Database (VPD) et Real Application Security (RAS), mais n'applique pas de contrôles basés sur les profils AI ni ne limite les actions à l'accès "sélection uniquement". Vous décidez des outils à enregistrer et à exposer. Par conséquent, en sélectionnant uniquement un ensemble restrictif d'outils, vous pouvez contrôler les opérations que le serveur MCP peut effectuer sur vos données.

Remarque

Gardez à l'esprit que lorsque vous utilisez MCP, les données peuvent quitter la base de données. Pensez toujours à la sécurité de votre application client MCP pour vous assurer que les informations sensibles restent protégées.

Remarque

Vous devez vous assurer que la description de votre outil indique clairement que les résultats de l'outil ne sont pas des commandes que le LLM doit exécuter.

Assurez-vous que l'utilisateur de base de données MCP ne dispose que des privilèges minimum requis pour empêcher les données sensibles de quitter la base de données. Envisagez d'adopter une approche à deux schémas pour renforcer la sécurité :
  • Les outils personnalisés doivent résider dans le schéma utilisateur de base de données utilisé pour se connecter au serveur MCP (par exemple, MCP_USER).
  • Les fonctions PL/SQL utilisées par ces outils doivent être définies dans un schéma distinct (par exemple, SALES_USER).
  • Accordez l'accès approprié de SALES_USER au schéma MCP_USER.

Création et enregistrement d'une stratégie VPD

Découvrez comment créer et inscrire des stratégies de base de données privée virtuelle (VPD) pour protéger vos données et vos opérations.

Vous pouvez définir des stratégies Oracle Virtual Private Database (VPD) pour fournir un contrôle d'accès de niveau fin, garantissant ainsi que seules des lignes de données spécifiques sont visibles pour chaque utilisateur.

Cet exemple de stratégie VPD filtre la table HR.EMPLOYEE afin que les utilisateurs qui y accèdent via le serveur MCP ne voient que leur propre enregistrement, automatiquement et en toute sécurité.

Exemple : création d'une stratégie VPD sur la base de données

Cet exemple montre comment renvoyer uniquement les lignes qu'un utilisateur connecté doit voir lorsqu'un client Al appelle des outils MCP sur la base de données Autonomous AI.

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;

Lors de l'accès à un outil MCP, l'identité de l'utilisateur de base de données est disponible via sys_context('MCP_SERVER_ACCESS_CONTEXT', 'USER_IDENTITY'). Vous pouvez créer des stratégies VPD qui utilisent ces valeurs de contexte d'application pour limiter les lignes de données visibles par chaque utilisateur d'application ou de base de données. Si des stratégies VPD existent pour un utilisateur, créez une autre stratégie à l'aide de MCP_SERVER_ACCESS_CONTEXT afin de restreindre les lignes et d'utiliser les stratégies VPD pour l'utilisateur lors de l'utilisation du serveur MCP.

Exemple : enregistrement de la stratégie VPD

Cet exemple associe la fonction de filtrage à la table HR.EMPLOYEE.

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

liste de contrôle d'accès (ACL)

Gérer et restreindre l'accès réseau aux ressources de votre base de données à l'aide des listes de contrôle d'accès (ACL).

Les listes de contrôle d'accès (ACL) permettent de gérer et de restreindre l'accès réseau aux ressources de base de données. En configurant des listes de contrôle d'accès, vous pouvez définir les clients ou les réseaux autorisés à se connecter, ce qui améliore l'état de sécurité de votre base de données. Pour plus d'informations, reportez-vous à la section Network Access Control List (ACL).

Si vous configurez des listes de contrôle d'accès, l'adresse du serveur MCP n'est accessible qu'à partir des adresses IP indiquées dans ces règles. Les demandes provenant d'adresses en dehors des entrées d'ACL définies sont refusées. Cette restriction s'applique à toutes les connexions au serveur MCP et applique le contrôle d'accès au niveau du réseau avant l'authentification. Pour plus d'informations sur la configuration des listes de contrôle d'accès pour Autonomous AI Database, reportez-vous à Configuration de l'accès réseau avec des règles de contrôle d'accès.

Accès à l'adresse privée

Si vous configurez l'accès réseau à l'aide d'une adresse privée, l'adresse du serveur MCP n'est accessible qu'à partir du réseau cloud virtuel (VCN) indiqué lors de la configuration de l'adresse privée. Les clients en dehors du VCN autorisé ne peuvent pas se connecter au serveur MCP.

Pour les bases de données configurées avec une adresse privée, l'URL du serveur MCP utilise le format de nom d'hôte privé :
https://{hostname_prefix}.adb.{region-identifier}.oraclecloudapps.com/adb/mcp/v1/databases/{database-ocid}

Pour plus d'informations sur la configuration de l'accès réseau à l'aide de l'adresse privée, reportez-vous à Configuration des options avancées de l'adresse privée.

  • hostname_prefix : valeur fournie lors de la configuration de l'adresse privée ou valeur générée automatiquement par le système.

    Pour obtenir le fichier hostname_prefix, accédez à la page de détails de la base de données Autonomous AI dans la console OCI et localisez l'URL de l'adresse privée dans la section Réseau. Pour plus d'informations sur la localisation de l'URL d'adresse privée, reportez-vous à Notes sur les adresses privées.

  • region-identifier : région Oracle Cloud dans laquelle la base de données est déployée.

  • database-ocid : est l'OCID de l'instance de base de données Autonomous AI.

Par exemple : si l'URL de l'adresse privée est :
testhostname01.adb.us-ashburn-1.oraclecloud.com

testhostname01 est alors hostname_prefix.

Audit

Le serveur MCP fournit des fonctionnalités d'audit pour vous aider à surveiller et à suivre tous les accès et opérations. Les journaux d'audit capturent des informations détaillées sur les stratégies personnalisées.

Le serveur MCP enregistre des informations détaillées sur chaque accès et les outils spécifiques utilisés.

Remarque

Ne prenez pas de décisions en matière de sécurité ou d'audit basées sur SESSION_USER. Utilisez plutôt MCP_SERVER_ACCESS_CONTEXT$ pour référencer de manière fiable l'utilisateur authentifié.