La función SQL Correct es el punto de entrada para ejecutar cambios en SQL y requiere un alto nivel de seguridad. Cuando usted envía un ticket para su aprobación, una serie de reglas de seguridad verifica la solicitud. Solo las sentencias SQL que superan esta verificación se pueden ejecutar.
Requisitos previos
Usted debe tener el rol de Administrator, DBA o Security Administrator.
Contexto
Las reglas de seguridad en Data Management (DMS) ofrecen capacidades flexibles de lenguaje específico de dominio (DSL). Esto le permite personalizar los niveles de riesgo según sus necesidades y utilizar distintos flujos de trabajo de aprobación para cambios con diferentes niveles de riesgo. Por ejemplo, puede restringir estrictamente la ejecución de SQL o permitir de forma flexible todas las sentencias SQL.
Puntos de control del módulo SQL Correct
Punto de control | Descripción | Ejemplo |
Basic Configuration Item | Esta sección contiene cinco reglas predeterminadas:
| - |
SQL execution rules | Restringe las sentencias SQL que se pueden ejecutar en la ventana de SQL. Solo se pueden ejecutar las sentencias SQL permitidas. Nota Si hay dos reglas en conflicto habilitadas, se aplica la regla más estricta. Por ejemplo, si las siguientes dos reglas están habilitadas simultáneamente, el sistema aplica la segunda regla.
| Para permitir que solo las sentencias DML modifiquen la base de datos de producción en línea, agregue la siguiente regla de ejecución de SQL: Suposiciones Significado: Si el entorno de la base de datos no es un entorno de producción y la sentencia SQL es de tipo |
Risk Identification Rules | Identifica el nivel de riesgo de los tickets enviados. Puede personalizar los niveles de riesgo según condiciones como el entorno de la base de datos, el número de filas afectadas y el tipo de SQL. Nota Distintas reglas de seguridad marcan una tarea de cambio con diferentes niveles de riesgo. El nivel de riesgo final es el más alto entre todos los niveles marcados. Por ejemplo, una tarea de cambio de SQL que tiene 5 riesgos bajos, 3 riesgos medios y 1 riesgo alto se clasifica como de riesgo alto. | Para definir los entornos sin conexión como de bajo riesgo, agregue la siguiente regla de identificación de riesgos: Significado: Si el entorno de la base de datos no es un entorno de producción, el nivel de riesgo es bajo. |
Risk Approval Rules | Configure o personalice reglas de aprobación para diferentes niveles de riesgo. Si un cambio en la base de datos no coincide con ningún nivel de riesgo en el punto de control Risk Identification Rules, se utiliza el flujo de trabajo de aprobación especificado por la Default approval template for data changes en la sección Basic Configuration Item. | De forma predeterminada, un entorno de pruebas se considera de bajo riesgo y no requiere aprobación. |
Batch data import rules | Reglas de validación que se aplican a los tickets de Data Import. | Permite la importación por lotes de sentencias de inserción. |
Cambiar la plantilla de aprobación predeterminada
Inicie sesión en DMS 5.0.
-
Coloque el puntero sobre el icono
en la esquina superior izquierda y seleccione .NotaSi utiliza la consola de DMS en modo normal, seleccione en la barra de navegación superior.
En la pestaña Security Rules, busque el conjunto de reglas deseado y haga clic en Edit en la columna Actions.
En la barra de navegación izquierda de la página Details, haga clic en SQL Correct.
En la sección Checkpoints, haga clic en Basic Configuration Item.
En la fila Data change default approval Template, haga clic en Edit en la columna Actions.
En el cuadro de diálogo Change Configuration Item, haga clic en Switch Approval Template.
-
En el cuadro de diálogo Switch Approval Template, busque la plantilla deseada y haga clic en Select en la columna Actions.
NotaSi los tickets no requieren aprobación, puede hacer clic en Reset to Approval-Free para omitir el paso de aprobación.
Haga clic en Submit.
Factores y acciones del módulo SQL Correct
Factores
Los factores son variables integradas del sistema. Puede utilizarlos para obtener información de contexto para la verificación de reglas de seguridad, como el tipo de SQL y el número de filas afectadas.
Todos los factores comienzan con
@fac.seguido del nombre del factor.Cada punto de control en cada módulo proporciona diferentes factores.
Tabla 1. Lista de factores
Factor | Descripción |
@fac.env_type | El tipo de entorno. El valor es el identificador del entorno, como |
@fac.sql_type | El tipo de script SQL, como |
@fac.detail_type | El tipo de cambio de datos:
|
@fac.is_logic | Indica si la base de datos es una base de datos lógica. |
@fac.extra_info | Otra información de cambio. Este factor no está en uso. |
@fac.is_ignore_affect_rows | Indica si se debe omitir la verificación. |
@fac.insert_rows | El número de filas afectadas para una operación de inserción. |
@fac.update_delete_rows | El número de filas afectadas. |
@fac.max_alter_table_size | El tamaño máximo de espacio de tabla de la tabla modificada. |
@fac.is_has_security_column | Indica si el script SQL contiene columnas sensibles. |
@fac.security_column_list | Una lista de columnas sensibles que contiene el script SQL. |
@fac.risk_level | El nivel de riesgo detectado. Los valores válidos son cadenas en inglés en minúsculas, ordenadas de menor a mayor:
|
@fac.risk_reason | La razón por la cual se detectó este nivel de riesgo. |
@fac.table_name_list | Una lista de nombres de tablas involucradas en el cambio de SQL. Ejemplo: Significado: Si el cambio de SQL involucra la tabla tb_order o tb1_order, el nivel de riesgo es alto. |
Acciones
Una acción es un comportamiento que el sistema realiza cuando se cumple la condición if. Algunos ejemplos incluyen prohibir el envío de tickets, seleccionar un flujo de trabajo, permitir la ejecución y rechazar la ejecución.
Todas las acciones comienzan con
@act.seguido del nombre de la acción.Cada punto de control en cada módulo proporciona diferentes acciones.
Tabla 2. Lista de acciones
Acción | Descripción |
@act.allow_submit | Permite que el ticket se envíe para su ejecución. |
@act.allow_execute_direct | Permite la ejecución directa en la consola de SQL. |
@act.forbid_execute | Prohíbe la ejecución. |
@act.mark_risk | Marca un riesgo. El primer parámetro especifica el nivel de riesgo y solo admite los siguientes cuatro valores en inglés en minúsculas (de menor a mayor): |
@act.do_not_approve | Especifica el ID de una plantilla de aprobación. Para obtener más información, consulte Set approval workflows. |
@act.choose_approve_template | |
@act.choose_approve_template_with_reason |