Tous les produits
Search
Centre de documentation

Data Management:Contrôle d'accès au niveau des lignes

Dernière mise à jour :Aug 09, 2026

Data Management (DMS) propose un contrôle d'accès au niveau des lignes pour toutes les bases de données non-NoSQL connectées. Cette fonctionnalité détermine les lignes de données auxquelles les utilisateurs peuvent accéder. Par exemple, un responsable commercial peut être limité à la consultation des données uniquement pour sa région assignée.

Prérequis

L'instance doit être en mode de contrôle Collaboration sécurisée. Pour plus d'informations, consultez la rubrique Afficher le mode de contrôle.

Contexte

La sécurisation des données repose principalement sur deux approches : la protection verticale et la protection horizontale des données.

  • Protection verticale des données : elle est mise en œuvre via la protection des données au niveau des champs.

    En classifiant les champs selon leur niveau de sensibilité, vous pouvez appliquer un masquage total ou partiel aux données sensibles. Pour plus d'informations, consultez la rubrique Gérer les données sensibles.

    Par exemple, un employé chargé de l'analyse statistique ne peut pas consulter les adresses e-mail des clients dans une table de commandes.

    纵向数据保护

  • Protection horizontale des données : elle est mise en œuvre via le contrôle d'accès au niveau des lignes.

    Les lignes sont filtrées en fonction d'une ou plusieurs valeurs spécifiques (valeurs de contrôle), ce qui permet de contrôler l'accès aux données au niveau des lignes.

    Par exemple, un employé d'une entreprise multisite ne peut consulter les données de commandes que pour le magasin qui lui est assigné, et non pour l'ensemble des sites.

    hegnxaign

Limites

  • Cette fonctionnalité est disponible uniquement pour les bases de données relationnelles, telles que MySQL et PolarDB.

  • Cette fonctionnalité est disponible uniquement pour les instances en mode de contrôle Collaboration sécurisée.

  • Cette fonctionnalité prend en charge uniquement les bases de données physiques et ne prend pas encore en charge les bases de données logiques.

  • Pour les utilisateurs ne disposant pas des autorisations sur toutes les lignes, les restrictions suivantes s'appliquent aux conditions de filtre lors de la consultation, de la modification ou de la suppression de données dans une table avec contrôle d'accès au niveau des lignes :

    • Vous devez spécifier des valeurs de filtre pour le champ de contrôle, et ces valeurs doivent figurer dans la liste des valeurs de contrôle.

    • Les conditions de filtre sont restreintes. Par exemple :

      • La clause WHERE prend uniquement en charge les opérateurs = et in.

      • Les opérations logiques telles que OR, XOR et NOT ne sont pas prises en charge.

Concepts clés

  • Table de contrôle, champ de contrôle et valeur de contrôle

    • Table de contrôle : table sur laquelle vous souhaitez configurer le contrôle d'accès au niveau des lignes.

    • Champ de contrôle : champ d'une table de contrôle utilisé pour appliquer le contrôle d'accès au niveau des lignes.

    • Valeur de contrôle : valeur du champ de contrôle.

  • Autorisations au niveau des lignes : autorisations qui contrôlent l'accès aux données au niveau des lignes en fonction des valeurs du champ de contrôle.

    • Autorisations de ligne à valeur unique : contrôle de l'accès basé sur une ou plusieurs valeurs de contrôle spécifiques.

    • Autorisations sur toutes les lignes : octroi de l'accès à toutes les lignes de la table de contrôle.

  • Groupe de contrôle : les champs de contrôle partageant le même ensemble de valeurs de contrôle peuvent être ajoutés à un groupe de contrôle.

    Par exemple, si la Table A et la Table B nécessitent un contrôle d'accès au niveau des lignes basé sur les mêmes valeurs de contrôle, vous pouvez utiliser un seul groupe de contrôle pour gérer les deux tables.

Configurer le contrôle d'accès au niveau des lignes

Seuls les administrateurs, les DBA ou les administrateurs de sécurité peuvent effectuer cette tâche. Pour plus d'informations sur les rôles utilisateur, consultez la rubrique Afficher votre rôle système.

  1. Connectez-vous à DMS 5.0.

  2. Placez le pointeur sur l'icône 2023-01-28_15-57-17.png dans le coin supérieur gauche et choisissez All Features > Security and disaster recovery (DBS) > Sensitive Data > Sensitive Data Assets.

    Remarque

    Si vous utilisez la console DMS en mode normal, choisissez Security and disaster recovery (DBS) > Sensitive Data > Sensitive Data Assets dans la barre de navigation supérieure.

  3. Dans le coin supérieur droit de la page, cliquez sur Global Sensitive Data pour ouvrir la page de liste des données sensibles.

  4. Cliquez sur l'onglet Row Control.

  5. Cliquez sur Create Control Group et nommez le groupe de contrôle.

  6. Ajoutez une configuration de ligne, puis cliquez sur Add.

    1. Cliquez sur Add Row Configuration.

    2. Recherchez et sélectionnez la base de données cible.

    3. Sélectionnez la table cible et le champ de contrôle.

    4. Facultatif : Cliquez sur Add Row Configuration pour ajouter plusieurs tables de contrôle utilisant les mêmes valeurs de contrôle.

    Après avoir configuré le contrôle d'accès au niveau des lignes, vous ne pouvez pas consulter les données de la table cible depuis la Console SQL tant que vous n'avez pas reçu les autorisations requises. Si vous effectuez une requête sans filtre de ligne requis, DMS intercepte la demande et renvoie une erreur. Par exemple :SELECT * FROM test RLS Access Denied: [test]: You do not have permission for all rows in this table. The WHERE clause must include a filter condition [1] on the control field: name TraceId: 0a032a1516728214824878812ed7f0 SELECT * FROM test WHERE name = 'Xiaohong'; RLS Access Denied: [test]: Access to a table with row-level access control is involved. You do not have permission to access the row: name = Xiaohong. The control value 'Xiaohong' does not exist. To access this value, contact an administrator, DBA, or security administrator to add the value and then apply for the corresponding row-level permissions before retrying. TraceId: 0a032a1d16728216329266611e4b0d

  7. Facultatif : Pour accorder des autorisations pour des valeurs de ligne spécifiques, vous devez d'abord définir ces valeurs.

    1. Dans la colonne Actions du groupe de contrôle cible, cliquez sur Details.

    2. Dans le panneau Control Value Details, cliquez sur Add Row Value.

    3. Dans la boîte de dialogue Import Row Value, choisissez d'ajouter ou de remplacer les valeurs de ligne existantes.

      • Yes : ajoute les nouvelles valeurs de ligne aux valeurs existantes.

      • No : remplace toutes les valeurs de ligne existantes par les nouvelles.

    4. Saisissez le contenu de la valeur de ligne.

      Remarque

      Vous pouvez ajouter plusieurs valeurs de contrôle à une seule valeur de ligne. Séparez les valeurs de contrôle par des virgules (,). Une fois votre demande approuvée, vous obtenez l'autorisation d'interroger toutes les valeurs de contrôle contenues dans cette valeur de ligne.

      Par exemple, si un employé est autorisé à consulter les données clients uniquement de Pékin et Shanghai, vous pouvez saisir Beijing, Shanghai comme contenu de la valeur de ligne. Après l'approbation de la demande d'autorisation de cet employé pour cette valeur de ligne, il peut consulter les données clients des régions Pékin et Shanghai.

Demander des autorisations au niveau des lignes

  1. Connectez-vous à DMS 5.0.

  2. Placez le pointeur sur l'icône 2023-01-28_15-57-17.png dans le coin supérieur gauche et choisissez All Features > Security and disaster recovery (DBS) > Permission Center > Permission Tickets.

    Remarque

    Si vous utilisez la console DMS en mode normal, choisissez Security and disaster recovery (DBS) > Permission Center > Permission Tickets dans la barre de navigation supérieure.

  3. Dans le coin supérieur droit de la page, cliquez sur Access apply > Row-Permission.

  4. Saisissez le nom de la base de données.

    Remarque

    Vous pouvez utiliser le signe pourcentage (%) pour les recherches floues.

  5. Sélectionnez la portée des autorisations au niveau des lignes.

    • Single : demandez des autorisations sur des valeurs de ligne individuelles.

      Remarque
      • Une valeur de ligne peut contenir plusieurs valeurs de contrôle. Si vous disposez d'autorisations pour une valeur de ligne, vous pouvez interroger, exporter ou modifier les données correspondant à toutes les valeurs de contrôle qu'elle contient.

      • Une valeur de contrôle peut correspondre à plusieurs lignes. Si vous disposez d'autorisations pour une valeur de contrôle, vous pouvez interroger, exporter ou modifier toutes les lignes de données correspondant à cette valeur.

    • All : accès à toutes les lignes de la table de contrôle.

  6. Cliquez sur Search.

  7. Sélectionnez les autorisations au niveau des lignes cibles et cliquez sur l'icône 添加.

    Remarque

    Un trait d'union (-) dans la colonne Valeur de ligne indique des autorisations sur toutes les lignes.

  8. Sélectionnez un Permission type, sélectionnez une validity period et saisissez un Reason pour la demande.

  9. Cliquez sur Submit.

    Une fois votre ticket approuvé, vous pouvez interroger, exporter ou modifier des données dans la Console SQL. Par exemple, l'exécution de SELECT * FROM order1 WHERE region = 'Beijing'; dans la Console SQL renvoie uniquement les deux enregistrements de la table order1 pour Zhangsan et Xiaoming, où la région est Pékin. Cela confirme que le contrôle d'accès au niveau des lignes fonctionne correctement.

    Remarque

    Pour libérer les autorisations au niveau des lignes :

    • Pour libérer vos propres autorisations : accédez à la section Afficher vos autorisations pour consulter et libérer vos autorisations. Pour plus d'informations, consultez la rubrique Afficher vos autorisations.

    • Pour qu'un administrateur libère des autorisations : sur la page O&M > Users, recherchez l'utilisateur cible et choisissez More > Permission Details dans la colonne Actions pour consulter et libérer les autorisations de l'utilisateur.