Tous les produits
Search
Centre de documentation

Data Management:Console SQL pour les bases de données relationnelles

Dernière mise à jour :Aug 09, 2026

Data Management (DMS) vous permet de configurer des règles de sécurité pour les opérations dans le module Console SQL. Vous pouvez gérer des bases de données relationnelles et non relationnelles depuis la console SQL. Cette rubrique décrit les règles de sécurité applicables aux opérations dans la console SQL. L'exemple présenté ici concerne les règles de sécurité pour ApsaraDB RDS for MySQL.

Points de contrôle dans la console SQL

Point de contrôle

Description

Basic Configuration Item

Spécifiez des configurations de base, telles que le nombre maximal de lignes renvoyées par requête, la possibilité de modifier les ensembles de résultats et le calcul des données sensibles.

SQL Execution Quantity Criteria

Limitez le nombre d'instructions SQL soumises simultanément.

DQL SQL Criteria

Définissez des contraintes sur l'exécution des instructions du langage de requête de données (DQL).

Other SQL Criteria

Définissez des contraintes sur l'exécution de plusieurs types d'instructions SQL. Par exemple, autorisez l'exécution d'instructions SQL non identifiées et rejetez celle des instructions qui suppriment des tables entières.

SQL Permission Criteria

Définissez des contraintes sur l'exécution des instructions SQL en fonction des autorisations relatives aux bases de données, aux tables, aux colonnes sensibles et aux lignes.

SQL Execution Performance Criteria

Rejetez l'exécution des instructions DDL si la taille de l'espace de table concerné dépasse la limite supérieure, ou rejetez l'exécution des instructions DML si le nombre de lignes affectées dépasse la limite supérieure.

Exception Recognition Criteria of Database and Table Column Permissions

Spécifiez s'il faut poursuivre ou rejeter l'exécution d'instructions SQL (telles que DQL, DML, DDL ou DCL) en cas d'exceptions d'analyse.

SQL Execution Criteria in Logical Databases

Définissez des contraintes sur l'exécution de différents types d'instructions SQL.

Remarque

DMS fournit de nombreuses configurations et règles prédéfinies pour les points de contrôle. Modifiez les configurations, changez le statut des règles et personnalisez les règles de sécurité selon vos besoins métier. Pour plus d'informations, consultez la section Configurer les règles dans un ensemble de règles de la rubrique « Gérer les règles de sécurité ».

L'organigramme suivant illustre le fonctionnement des points de contrôle.

image

Facteurs et actions

  • Un facteur est une variable prédéfinie fournie par DMS. Les facteurs permettent d'obtenir le contexte à valider par les règles de sécurité, comme les catégories d'instructions SQL et le nombre de lignes de données à affecter.

    • Tous les facteurs commencent par @fac., suivi du nom du facteur.

    • Chaque module de la page Détails d'un ensemble de règles de sécurité propose différents facteurs pour différents points de contrôle.

    Tableau 1. Facteurs fournis par le module Console SQL

    Facteur

    Description

    @fac.sql_count

    Nombre d'instructions SQL soumises simultanément.

    @fac.select_sql_count

    Nombre d'instructions DQL parmi les instructions SQL soumises simultanément.

    @fac.dml_sql_count

    Nombre d'instructions DML parmi les instructions SQL soumises simultanément.

    @fac.sql_type

    Catégorie d'une instruction SQL. Pour plus d'informations, consultez la section Instructions SQL pouvant être exécutées dans DMS de cette rubrique.

    @fac.sql_sub_type

    Sous-catégorie d'une instruction SQL. Pour plus d'informations, consultez la section Instructions SQL pouvant être exécutées dans DMS de cette rubrique.

    @fac.env_type

    Type d'environnement. La valeur correspond à un identifiant d'environnement, tel que DEV ou PRODUCT. Pour plus d'informations, consultez Type d'environnement de l'instance.

    @fac.fulltable_delete

    Indique si l'instruction SQL actuelle est une opération DELETE sur une table entière. Les valeurs valides sont :

    • true

    • false

    @fac.fulltable_update

    Spécifie si l'instruction SQL actuelle est une opération UPDATE sur une table entière. Valeurs valides :

    • true

    • false

    @fac.current_sql

    Instruction SQL actuelle.

    @fac.user_is_admin

    Indique si l'utilisateur actuel est un administrateur DMS. Valeurs valides :

    • true

    • false

    @fac.user_is_dba

    Indique si l'utilisateur actuel est un administrateur de base de données (DBA). Valeurs valides :

    • true

    • false

    @fac.user_is_inst_dba

    Indique si l'utilisateur actuel est un DBA de l'instance de base de données actuelle. Valeurs valides :

    • true

    • false

    @fac.user_is_sec_admin

    Indique si l'utilisateur actuel est un administrateur de sécurité. Valeurs valides :

    • true

    • false

    @fac.sql_affected_rows

    Nombre de lignes à affecter par l'instruction SQL actuelle.

    Remarque

    Une opération COUNT sera effectuée ; utilisez cette option avec prudence.

    @fac.sql_relate_table_store_size

    Taille totale estimée de la table à laquelle l'instruction SQL actuelle accède. Unité : Mo.

    Remarque

    Cette valeur est estimée sur la base des métadonnées obtenues par DMS. Il ne s'agit pas d'une valeur réelle.

  • Action : comportement adopté par le système lorsqu'une condition if est remplie. L'action exprime l'objectif principal d'une règle de sécurité, comme interdire la soumission de tickets, sélectionner un processus d'approbation, autoriser l'exécution ou refuser l'exécution.

    • Toutes les actions commencent par @act., suivi du nom de l'action.

    • Chaque module de la page Détails d'un ensemble de règles de sécurité propose différentes actions pour différents points de contrôle.

    Tableau 2. Actions fournies par le module Console SQL

    Action

    Description

    @act.reject_execute

    Rejette l'exécution de l'instruction SQL actuelle.

    @act.allow_execute

    Autorise l'exécution de l'instruction SQL actuelle.

    @act.reject_sql_type_execute

    Pour rejeter un type spécifique d'instruction SQL, spécifiez le sous-type SQL. Exemple : @act.reject_sql_type_execute 'UPDATE'.

    @act.allow_sql_type_execute

    Pour autoriser l'exécution d'un type spécifique d'instruction SQL, spécifiez le sous-type SQL exact. Exemple : @act.allow_sql_type_execute 'UPDATE'.

    @act.check_dml_sec_column_permission

    Vérifie si un utilisateur dispose d'autorisations sur les champs sensibles. Si l'utilisateur ne possède pas les autorisations requises, une instruction DML de modification des données n'est pas exécutée.

    @act.uncheck_dml_sec_column_permission

    Ne vérifie pas si un utilisateur dispose d'autorisations sur les champs sensibles.

    @act.check_sql_access_permission

    Vérifie si un utilisateur dispose d'autorisations spécifiques sur les bases de données, les tables ou les champs impliqués dans les instructions SQL à exécuter. Par exemple, vérifiez si un utilisateur est autorisé à interroger ou à modifier des données.

    @act.uncheck_sql_access_permission

    Ne vérifie pas si un utilisateur dispose d'autorisations spécifiques sur les bases de données, les tables ou les champs impliqués dans les instructions SQL à exécuter.

    @act.enable_sec_column_mask

    Masque les champs sensibles dans les ensembles de résultats de requête renvoyés pour les instructions SQL soumises par des utilisateurs ne disposant pas d'autorisations sur ces champs sensibles.

    @act.disable_sec_column_mask

    Ne masque pas les champs sensibles dans les ensembles de résultats de requête renvoyés pour les instructions SQL soumises par des utilisateurs ne disposant pas d'autorisations sur ces champs sensibles.

Instructions SQL pouvant être exécutées dans DMS

DML

  • INSERT

  • INSERT_SELECT

  • SELECT_INTO

  • MULTI_INSERT

  • REPLACE

  • REPLACE_INTO

  • UPDATE

  • DELETE

  • MERGE

  • REMOVE

  • MSCK_REPAIR

  • REFRESH_MATERIALIZED_VIEW

  • BEGIN

  • START_TRANSACTION

  • COMMIT

  • ROLLBACK

  • SAVEPOINT

  • RELEASE_SAVEPOINT

  • SET

  • ADD_EDGE

  • ADD_VERTEX

  • SET_PROPERTY

  • GDB_DROP

  • INSERT_MANY

  • INSERT_ONE

  • DELETE_MANY

  • DELETE_ONE

  • UPDATE_MANY

  • UPDATE_ONE

  • WLM_ADD_RULE

DDL

  • CREATE

  • CREATE_SCHEMA

  • CREATE_INDEX

  • CREATE_VIEW

  • CREATE_SEQUENCE

  • CREATE_TABLE

  • CREATE_TABLEGROUP

  • CREATE_PACKAGE

  • CREATE_SELECT

  • TRUNCATE

  • DROP

  • DROP_SCHEMA

  • DROP_INDEX

  • DROP_VIEW

  • DROP_TABLE

  • DROP_TABLEGROUP

  • DROP_SEQUENCE

  • RENAME

  • ALTER_TABLE_DROP_COLUMN

  • ALTER_TABLE_CHARACTER_COLLATE

  • ALTER_TABLE_AUTOINCREMENT

  • ALTER

  • ALTER_SCHEMA

  • ALTER_INDEX

  • ALTER_VIEW

  • ALTER_TABLE

  • ALTER_TABLEGROUP

  • ALTER_SEQUENCE

  • CREATE_FUNCTION

  • ALTER_FUNCTION

  • DROP_FUNCTION

  • CREATE_PROCEDURE

  • ALTER_PROCEDURE

  • DROP_PROCEDURE

  • MONGO_CREATE_INDEX

  • MONGO_DROP_INDEX

  • CREATE_DATABASE

  • ALTER_DATABASE

  • DROP_DATABASE

  • CREATE_USER

  • ALTER_USER

  • DROP_USER

  • CREATE_ROLE

  • DROP_ROLE

  • EXEC

  • CALL_PROCEDURE

  • CREATE_TRIGGER

  • ALTER_TRIGGER

  • DROP_TRIGGER

  • CREATE_EVENT

  • ALTER_EVENT

  • DROP_EVENT

  • ROLLBACK_DDL

  • CANCEL_DDL

  • VACUUM

  • SUBMIT_JOB

  • CANCEL_JOB

  • BUILD_TABLE

  • IF

DQL

  • SELECT

  • DESC

  • EXPLAIN

  • SHOW_INDEX

  • SHOW

  • CHECK_TABLE

  • SHOW_DDL

  • LIST

  • GDB_QUERY

  • CHECKSUM

  • SELECT_PG_TERMINATION_BACKEND

  • WLM_LIST_RULE

DCL

  • GRANT

  • DECLARE

  • SET

  • ANALYZE

  • FLUSH

  • OPTIMIZE

  • KILL

  • RECOVER_DDL

  • REMOVE_DDL

  • SELECT_PG_TERMINATION_BACKEND

FAQ

  • Q : Puis-je restreindre l'exécution des instructions SELECT * ?

    R : Oui. Cette action nécessite une instance avec le mode de collaboration de sécurité activé.

    1. Dans la barre de navigation supérieure de la console DMS, choisissez Security and Disaster Recovery > Security Rules.

    2. Dans l'onglet Rule Sets, sélectionnez l'ensemble de règles correspondant à votre type de moteur de données.

    3. Localisez l'ensemble de règles cible et cliquez sur Edit dans la colonne Actions pour accéder à la page Details.

    4. Dans le volet de navigation de gauche, sélectionnez SQL console. Sous Checkpoints, sélectionnez SQL execution count criteria.

    5. Cliquez sur Add Rule et saisissez le script DSL suivant.

      if 
        @fac.sql_sub_type in ['SELECT'] 
        AND @fun.is_contain_str(@fac.current_sql,'*') 
      then 
        @act.reject_execute 'The SQL statement contains *. Please use an alternative method.' 
      end
  • Q : Comment configurer des règles pour restreindre les requêtes volumineuses dans la console SQL ?

    R : Cette action nécessite une instance avec le mode de collaboration de sécurité activé.

    1. Dans la barre de navigation supérieure de la console DMS, choisissez Security and Disaster Recovery > Security Rules.

    2. Dans l'onglet Rule Sets, sélectionnez l'ensemble de règles correspondant à votre type de moteur de données.

    3. Localisez l'ensemble de règles cible et cliquez sur Edit dans la colonne Actions pour accéder à la page Details.

    4. Dans le volet de navigation de gauche, sélectionnez SQL console. Dans la zone de recherche, saisissez « full table scan » et cliquez sur le bouton Search.

    5. Sélectionnez la règle cible dans la liste et cliquez sur son bouton Edit pour la configurer.