Share via


Tutorial: Configuración de registros de auditoría mediante el servidor flexible de Azure Database for MySQL

SE APLICA A: Azure Database for MySQL: Servidor flexible

Puede usar el servidor flexible de Azure Database for MySQL para configurar los registros de auditoría. Los registros de auditoría se pueden usar para realizar un seguimiento de la actividad en el nivel de la base de datos, incluidos los eventos de conexión, administración, lenguaje de definición de datos (DDL) y lenguaje de manipulación de datos (DML). Estos tipos de registros se usan normalmente para fines de cumplimiento. Normalmente se usa la auditoría de base de datos para:

  • Reconocer todas las acciones que se suceden dentro de un esquema, tabla o fila determinados, o que afectan a contenido específico.
  • Impedir que los usuarios (u otros) puedan realizar acciones inapropiadas en función de su responsabilidad.
  • Investigar una actividad sospechosa.
  • Supervisar y recopilar datos sobre actividades específicas de la base de datos.

En este artículo se describe cómo usar registros de auditoría de MySQL, herramientas de Log Analytics o una plantilla de libro para visualizar la información de auditoría del servidor flexible de Azure Database for MySQL.

En este tutorial, aprenderá a:

  • Configurar la auditoría mediante Azure Portal o la CLI de Azure
  • Configuración de diagnósticos
  • Visualizar los registros de auditoría mediante Log Analytics
  • Visualizar los registros de auditoría mediante libros

Requisitos previos

Configuración de la auditoría con Azure Portal

  1. Inicie sesión en Azure Portal.

  2. Seleccione la instancia de servidor flexible.

  3. En el panel izquierdo, en Configuración, seleccione Parámetros del servidor.

    Screenshot showing the 'Server parameters' list.

  4. Para el parámetro audit_log_enabled, seleccione ACTIVADO.

    Screenshot showing the 'audit_log_enabled' parameter switched to 'ON'.

  5. En el parámetro audit_log_events, en la lista desplegable, seleccione los tipos de eventos que se van a registrar.

    Screenshot of the event options in the 'audit_log_events' dropdown list.

  6. En los parámetros audit_log_exclude_users y audit_log_include_users especifique todos los usuarios de MySQL que se van a incluir o excluir del registro. Para ello, proporcione sus nombres de usuario de MySQL.

    Screenshot showing the MySQL usernames to be included or excluded from logging.

  7. Seleccione Guardar.

    Screenshot of the 'Save' button for saving changes in the parameter values.

Configuración de la auditoría mediante la CLI de Azure

Como alternativa, puede habilitar y configurar la auditoría para el servidor flexible desde la CLI de Azure mediante el siguiente comando:

# Enable audit logs
az mysql flexible-server parameter set \
--name audit_log_enabled \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON

Configuración de diagnósticos

Los registros de auditorías se integran con la configuración de diagnóstico de Azure Monitor para permitirle canalizar sus registros a cualquiera de los tres receptores de datos.

  • Un área de trabajo de Log Analytics
  • Un centro de eventos
  • Una cuenta de almacenamiento

Nota

Debe crear los receptores de datos antes de realizar la configuración de diagnóstico. Puede acceder a los registros de auditoría de los receptores de datos que ha configurado. Los registros pueden tardar hasta 10 minutos en aparecer.

  1. En el panel de la izquierda, seleccione Configuración de diagnóstico en Supervisión.

  2. En el panel Configuración de diagnóstico, seleccione Agregar configuración de diagnóstico.

    Screenshot of the 'Add diagnostic setting' link on the 'Diagnostic settings' pane.

  3. En el cuadro Nombre, escriba un nombre para la configuración de diagnóstico.

    Screenshot of the 'Diagnostics settings' pane for selecting configuration options.

  4. Especifique los destinos (área de trabajo de Log Analytics, un centro de eventos o una cuenta de almacenamiento) a los que enviar los registros de auditoría; para ello, active sus casillas correspondientes.

    Nota

    En este tutorial, enviará los registros de auditorías a un área de trabajo de Log Analytics.

  5. En Registro, como tipo de registro, active la casilla MySqlAuditLogs.

  6. Una vez que haya configurado los receptores de datos a los que canalizar los registros de auditorías, seleccione Guardar.

Visualizar los registros de auditoría mediante Log Analytics

  1. En el panel izquierdo de Log Analytics, en Supervisión, seleccione Registros.

  2. Cierre la ventana Consultas.

    Screenshot of the Log Analytics 'Queries' pane.

  3. En la ventana de consulta, puede escribir la consulta que se va a ejecutar. Por ejemplo, para buscar un resumen de los eventos auditados en un servidor determinado, hemos usado la consulta siguiente:

    AzureDiagnostics
        |where Category =='MySqlAuditLogs' 
        |project TimeGenerated, Resource, event_class_s, event_subclass_s, event_time_t, user_s ,ip_s , sql_text_s 
        |summarize count() by event_class_s,event_subclass_s 
        |order by event_class_s 
    

    Screenshot of an example Log Analytics query seeking to find a summary of audited events on a particular server.

Visualizar los registros de auditoría mediante libros

La plantilla de libro que usamos para la auditoría requiere que se cree la configuración de diagnóstico para enviar registros de plataforma.

  1. En Azure Monitor, en el panel izquierdo, seleccione Registro de actividad y, a continuación, seleccione Configuración de diagnóstico.

    Screenshot showing the 'Diagnostics settings' tab on the Azure Monitor 'Activity log' pane.

  2. En el panel Configuración de diagnóstico, puede agregar una nueva configuración o editar una existente. Cada configuración no puede tener más de uno de los tipos de destino.

    Screenshot of the Azure Monitor 'Diagnostic setting' pane for selecting log destinations.

    Nota:

    Puede acceder a los registros de consultas lentos en los receptores de datos que ya ha configurado (área de trabajo de Log Analytics, cuenta de almacenamiento o centro de eventos). Los registros pueden tardar hasta 10 minutos en aparecer.

  3. En Azure Portal, en el panel izquierdo, en Supervisión de la instancia de servidor flexible de Azure Database for MySQL, seleccione Libros.

  4. Seleccione el libro Auditoría.

    Screenshot showing all workbooks in the workbook gallery.

En el libro, puede observar las visualizaciones siguientes:

  • Acciones administrativas en el servicio
  • Resumen de auditoría
  • Resumen de eventos de conexión de auditoría
  • Eventos de conexión de auditoría
  • Resumen de acceso a tablas
  • Errores identificados

Screenshot of workbook template 'Administrative Actions on the service'.

Screenshot of workbook template 'Audit Connection Events'.

Nota:

  • También puede editar estas plantillas y personalizarlas según sus necesidades. Para más información, consulte la sección "Modo de edición" de Libros de Azure.
  • Para obtener una vista rápida, también puede hacer anclar los libros o la consulta de Log Analytics al panel. Para más información, consulte Creación de un panel en Azure Portal.

La vista Acciones administrativas en el servicio le proporciona detalles sobre la actividad realizada en el servicio. Ayuda a determinar la información de qué, quién y cuándo en las operaciones de escritura (PUT, POST, DELETE) que se realizan en los recursos de la suscripción.

Puede usar otras visualizaciones para ayudarle a comprender los detalles de la actividad de la base de datos. La seguridad de la base de datos tiene cuatro partes:

  • Seguridad del servidor: es la responsable de impedir que personal no autorizado acceda a la base de datos.
  • Conexión de base de datos: el administrador debe comprobar si el personal autorizado ha realizado alguna actualización de la base de datos.
  • Control de acceso a tablas: muestra las claves de acceso de los usuarios autorizados y qué tablas de la base de datos están autorizados a controlar cada uno de ellos.
  • Restricción de acceso a la base de datos: especialmente importante para aquellos que han cargado una base de datos en Internet y ayuda a evitar que orígenes externos obtengan acceso a la base de datos.

Pasos siguientes