Todos los productos
Search
Centro de documentos

Data Management:Consola SQL para bases de datos relacionales

Última actualización: Sep 03, 2026

Data Management (DMS) permite configurar reglas de seguridad para las operaciones en el módulo SQL Console. Es posible gestionar bases de datos relacionales y no relacionales en SQL Console. Este tema describe las reglas de seguridad para las operaciones en SQL Console. En este ejemplo, se utilizan las reglas de seguridad para ApsaraDB RDS for MySQL.

Puntos de control en SQL Console

Punto de control

Descripción

Basic Configuration Item

Permite especificar configuraciones básicas, como el número máximo de filas que se pueden devolver por consulta, si los conjuntos de resultados son modificables y si es posible calcular datos sensibles.

SQL Execution Quantity Criteria

Permite limitar la cantidad de sentencias SQL que se pueden enviar a la vez.

DQL SQL Criteria

Permite establecer restricciones en la ejecución de sentencias de lenguaje de consulta de datos (DQL).

Other SQL Criteria

Permite establecer restricciones en la ejecución de varios tipos de sentencias SQL. Por ejemplo, puede permitir la ejecución de sentencias SQL no identificadas y rechazar la ejecución de sentencias que eliminen tablas completas.

SQL Permission Criteria

Permite establecer restricciones en la ejecución de sentencias SQL según los permisos sobre bases de datos, tablas, columnas sensibles y filas.

SQL Execution Performance Criteria

Permite rechazar la ejecución de sentencias DDL si el tamaño del tablespace involucrado supera el límite superior, o rechazar la ejecución de sentencias DML si el número de filas afectadas excede dicho límite.

Exception Recognition Criteria of Database and Table Column Permissions

Permite especificar si se debe continuar o rechazar la ejecución de sentencias SQL, como DQL, DML, DDL o sentencias de lenguaje de control de datos (DCL), cuando ocurren excepciones de análisis sintáctico.

SQL Execution Criteria in Logical Databases

Permite establecer restricciones en la ejecución de diferentes tipos de sentencias SQL.

Nota

DMS proporciona una gran cantidad de configuraciones y reglas predefinidas para los puntos de control. Puede modificar las configuraciones, cambiar el estado de las reglas y personalizar las reglas de seguridad según sus requisitos empresariales. Para obtener más información, consulte la sección Configure rules in a rule set del tema "Gestionar reglas de seguridad".

El siguiente diagrama de flujo muestra cómo funcionan los puntos de control.

image

Factores y acciones

  • Un factor es una variable predefinida proporcionada por DMS. Los factores permiten obtener el contexto que deben validar las reglas de seguridad, como las categorías de sentencias SQL y el número de filas de datos que se verán afectadas.

    • Todos los factores comienzan con @fac., seguido del nombre del factor.

    • Cada módulo en la página Details de un conjunto de reglas de seguridad ofrece distintos factores para diferentes puntos de control.

    Tabla 1. Factores proporcionados por el módulo SQL Console

    Factor

    Descripción

    @fac.sql_count

    Número de sentencias SQL que se envían a la vez.

    @fac.select_sql_count

    Número de sentencias DQL entre las sentencias SQL que se envían a la vez.

    @fac.dml_sql_count

    Número de sentencias DML entre las sentencias SQL que se envían a la vez.

    @fac.sql_type

    Categoría de una sentencia SQL. Para obtener más información, consulte la sección SQL statements that can be executed in DMS de este tema.

    @fac.sql_sub_type

    Subcategoría de una sentencia SQL. Para obtener más información, consulte la sección SQL statements that can be executed in DMS de este tema.

    @fac.env_type

    Tipo de entorno. El valor es un identificador de entorno, como DEV o PRODUCT. Para obtener más información, consulte Instance environment type.

    @fac.fulltable_delete

    Indica si la sentencia SQL actual es una operación DELETE de tabla completa. Los valores válidos son:

    • true

    • false

    @fac.fulltable_update

    Especifica si la sentencia SQL actual es una operación UPDATE de tabla completa. Valores válidos:

    • true

    • false

    @fac.current_sql

    Sentencia SQL actual.

    @fac.user_is_admin

    Indica si el usuario actual es administrador de DMS. Valores válidos:

    • true

    • false

    @fac.user_is_dba

    Indica si el usuario actual es administrador de bases de datos (DBA). Valores válidos:

    • true

    • false

    @fac.user_is_inst_dba

    Indica si el usuario actual es DBA de la instancia de base de datos actual. Valores válidos:

    • true

    • false

    @fac.user_is_sec_admin

    Indica si el usuario actual es administrador de seguridad. Valores válidos:

    • true

    • false

    @fac.sql_affected_rows

    Número de filas que se verán afectadas por la sentencia SQL actual.

    Nota

    Se ejecutará una operación COUNT, por lo que debe usarse con precaución.

    @fac.sql_relate_table_store_size

    Tamaño total estimado de la tabla a la que accederá la sentencia SQL actual. Unidad: MB.

    Nota

    Este valor se estima con base en los metadatos obtenidos por DMS. No representa el valor real.

  • Acción: Comportamiento que ejecuta el sistema cuando se cumple una condición if. Esta acción expresa el propósito principal de una regla de seguridad, como prohibir el envío de tickets, seleccionar un proceso de aprobación, permitir la ejecución o denegar la ejecución.

    • Todas las acciones comienzan con @act., seguido del nombre de la acción.

    • Cada módulo en la página Details de un conjunto de reglas de seguridad ofrece distintas acciones para diferentes puntos de control.

    Tabla 2. Acciones proporcionadas por el módulo SQL Console

    Acción

    Descripción

    @act.reject_execute

    Rechaza la ejecución de la sentencia SQL actual.

    @act.allow_execute

    Permite la ejecución de la sentencia SQL actual.

    @act.reject_sql_type_execute

    Para rechazar un tipo específico de sentencia SQL, debe especificar el subtipo de SQL. Por ejemplo: @act.reject_sql_type_execute 'UPDATE'.

    @act.allow_sql_type_execute

    Para permitir la ejecución de un tipo específico de SQL, debe especificar el subtipo exacto de SQL. Por ejemplo: @act.allow_sql_type_execute 'UPDATE'.

    @act.check_dml_sec_column_permission

    Comprueba si un usuario tiene permisos sobre campos sensibles. Si el usuario carece de los permisos necesarios, no se ejecuta la sentencia DML para cambio de datos.

    @act.uncheck_dml_sec_column_permission

    No comprueba si un usuario tiene permisos sobre campos sensibles.

    @act.check_sql_access_permission

    Comprueba si un usuario cuenta con permisos específicos sobre las bases de datos, tablas o campos involucrados en las sentencias SQL que se ejecutarán. Por ejemplo, puede verificar si un usuario tiene permisos para consultar o modificar datos.

    @act.uncheck_sql_access_permission

    No comprueba si un usuario cuenta con permisos específicos sobre las bases de datos, tablas o campos involucrados en las sentencias SQL que se ejecutarán.

    @act.enable_sec_column_mask

    Enmascara los campos sensibles en los conjuntos de resultados de consulta devueltos para sentencias SQL enviadas por usuarios sin permisos sobre dichos campos.

    @act.disable_sec_column_mask

    No enmascara los campos sensibles en los conjuntos de resultados de consulta devueltos para sentencias SQL enviadas por usuarios sin permisos sobre dichos campos.

Sentencias SQL ejecutables en 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

Preguntas frecuentes

  • Q: Can I restrict the execution of SELECT * statements?

    A: Yes. This action requires an instance with security collaboration mode enabled.

    1. En la barra de navegación superior de la consola DMS, seleccione Security and Disaster Recovery > Security Rules.

    2. En la pestaña Rule Sets, seleccione el conjunto de reglas correspondiente a su tipo de motor de datos.

    3. Localice el conjunto de reglas deseado y haga clic en Edit en la columna Actions para ir a la página Details.

    4. En el panel de navegación izquierdo, seleccione SQL console. En Checkpoints, seleccione SQL execution count criteria.

    5. Haga clic en Add Rule e introduzca el siguiente script DSL.

      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: How do I configure rules to restrict large queries in the SQL console?

    A: This action requires an instance with security collaboration mode enabled.

    1. En la barra de navegación superior de la consola DMS, seleccione Security and Disaster Recovery > Security Rules.

    2. En la pestaña Rule Sets, seleccione el conjunto de reglas correspondiente a su tipo de motor de datos.

    3. Localice el conjunto de reglas deseado y haga clic en Edit en la columna Actions para ir a la página Details.

    4. En el panel de navegación izquierdo, seleccione SQL console. En el cuadro de búsqueda, introduzca "full table scan" y haga clic en el botón Search.

    5. Seleccione la regla deseada de la lista y haga clic en su botón Edit para configurarla.