Sécurité

Décrit les principales fonctions de sécurité de MCP Server, notamment l'authentification, les contrôles d'accès, la vérification et la conformité, pour vous aider à protéger votre environnement de base de données d'IA autonome.

Rubriques

Accès sécurisé aux données

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

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

Note

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

Note

Vous devez vous assurer que la description de l'outil indique clairement que les résultats de l'outil ne sont pas destinés à être exécutés par le LLM.

Assurez-vous que l'utilisateur de base de données MCP dispose uniquement des privilèges minimum requis pour empêcher les données sensibles de quitter la base de données. Envisager d'adopter une approche à deux schémas pour une sécurité renforcée :
  • Les outils personnalisés doivent résider dans le schéma d'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éer et enregistrer une politique de BDVP

Voyez comment créer et enregistrer des politiques 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 détaillé, garantissant que seules des lignes de données spécifiques sont visibles par chaque utilisateur.

Cet exemple de politique de BDVP filtre la table HR.EMPLOYEE afin que les utilisateurs qui y accèdent au moyen du serveur MCP ne voient que leur propre enregistrement, de manière automatique et sécurisée.

Exemple : Créer une stratégie VPD dans la base de données

Cet exemple montre comment retourner uniquement les rangées qu'un utilisateur connecté doit voir lorsqu'un client d'IA appelle des outils MCP sur une base de données d'IA autonome.

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;

Lorsqu'un outil MCP est accessible, l'identité de l'utilisateur de base de données est disponible au moyen de sys_context('MCP_SERVER_ACCESS_CONTEXT', 'USER_IDENTITY'). Vous pouvez créer des stratégies de BDVP qui utilisent ces valeurs de contexte d'application pour limiter les enregistrements de données visibles par chaque utilisateur d'application ou de base de données. S'il existe des politiques de BDVP pour un utilisateur, créez une autre politique à l'aide de MCP_SERVER_ACCESS_CONTEXT pour restreindre les rangées et utilisez les politiques de BDVP pour l'utilisateur lors de l'utilisation du serveur MCP.

Exemple : Enregistrer 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;
/

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

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

Les listes de contrôle d'accès (LCA) fournissent un moyen puissant de gérer et de restreindre l'accès réseau à vos ressources de base de données. En configurant des listes de contrôle d'accès, vous pouvez définir quels clients ou réseaux sont autorisés à se connecter, améliorant ainsi la sécurité de votre base de données. Pour plus de détails, voir Liste de contrôle d'accès au réseau (LCA).

Si vous configurez des listes de contrôle d'accès, le point d'extrémité du serveur MCP n'est accessible qu'à partir des adresses IP spécifiées dans ces règles. Les demandes provenant d'adresses en dehors des entrées de liste de contrôle d'accès 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, voir Configuration de l'accès au réseau à l'aide de règles de contrôle d'accès.

Accès à un point d'extrémité privé

Si vous configurez l'accès au réseau à l'aide d'un point d'extrémité privé, le point d'extrémité du serveur MCP n'est accessible qu'à partir du réseau en nuage virtuel (VCN) spécifié lors de la configuration du point d'extrémité privé. Les clients en dehors du VCN autorisé ne peuvent pas se connecter au serveur MCP.

Pour les bases de données configurées avec un point d'extrémité privé, 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 au réseau à l'aide d'un point d'extrémité privé, voir Configurer les options avancées de point d'extrémité privé.

  • hostname_prefix : Il s'agit de la valeur que vous avez fournie lors de la configuration du point d'extrémité privé ou de la valeur générée automatiquement par le système.

    Pour obtenir hostname_prefix, naviguez jusqu'à la page des détails de la base de données du service d'intelligence artificielle autonome dans la console OCI et localisez l'URL du point d'extrémité privé dans la section Réseau. Pour plus d'informations sur la localisation de l'URL du point d'extrémité privé, voir Notes sur les points d'extrémité privés.

  • region-identifier : Région Oracle Cloud où la base de données est déployée.

  • database-ocid : OCID de votre instance de base de données du service d'intelligence artificielle autonome.

Par exemple : Si l'URL du point d'extrémité privé est :
testhostname01.adb.us-ashburn-1.oraclecloud.com

alors testhostname01 est 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 de vérification saisissent des informations détaillées sur les politiques personnalisées.

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

Note

Ne prenez pas de décisions 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é.