Introducción a la auditoría de SQL Managed Instance

Se aplica a:Azure SQL Managed Instance

La auditoría de SQL Managed InstanceL hace un seguimiento de los eventos de base de datos y los escribe en un registro de auditoría de la cuenta de Azure Storage. La auditoría también puede hacer lo siguiente:

  • Ayudar a mantener el cumplimiento de normativas, comprender la actividad de las bases de datos y conocer las discrepancias y anomalías que pueden indicar problemas en el negocio o infracciones de seguridad sospechosas.
  • Posibilitar y facilitar la observancia de estándares reguladores aunque no garantiza el cumplimiento. Para más información, visite el Centro de confianza de Microsoft Azure, donde encontrará la lista más reciente de certificaciones de cumplimiento de SQL Managed Instance.

Importante

La auditoría de Azure SQL Database, Azure Synapse y Azure SQL Managed Instance está optimizada para el rendimiento y la disponibilidad. Durante periodos de actividad muy elevada o alta carga en la red, Azure SQL Database, Azure Synapse y Azure SQL Managed Instance permiten que las operaciones continúen y es posible que no registren algunos eventos auditados.

Configuración de la auditoría de un servidor en Azure Storage

En la sección siguiente se describe la configuración de auditoría en su Instancia administrada.

  1. Vaya a Azure Portal.

  2. Cree un contenedor de Azure Storage donde se almacenan los registros de auditoría.

    1. Vaya a la cuenta de Azure Storage donde le gustaría almacenar los registros de auditoría.

      • Use una cuenta de almacenamiento de la misma región que la Instancia administrada para evitar lecturas y escrituras entre regiones.
      • Si la cuenta de almacenamiento está detrás de una red virtual o un firewall, consulte Concesión de acceso desde una red virtual.
      • Si cambia el período de retención de 0 (retención ilimitada) a cualquier otro valor, la retención solo se aplicará a los registros escritos una vez cambiado el valor de retención (los registros escritos durante el período en el que la retención se estableció en ilimitada se conservan, incluso después de habilitarse la retención).
    2. En la cuenta de almacenamiento, vaya a Información general y seleccione Blobs.

      Screenshot showing the Azure Blobs widget.

    3. En el menú superior, seleccione + Contenedor para crear un contenedor.

      Screenshot showing the Create blob container icon.

    4. En Nombre proporcione un nombre de contenedor, establezca Nivel de acceso público en Privado y seleccione Aceptar.

      Screenshot showing the Create blob container configuration.

    Importante

    Los clientes que quieran configurar un almacén de registros inmutable para los eventos de auditoría de nivel de servidor o de base de datos deben seguir las instrucciones que se proporcionan en Azure Storage. (Asegúrese de que ha seleccionado Permitir anexiones adicionales al configurar el almacenamiento de blobs inmutable).

  3. Después de crear el contenedor para los registros de auditoría, hay dos maneras de configurarlo como destino de los registros de auditoría: mediante T-SQL o mediante la interfaz de usuario de SQL Server Management Studio (SSMS):

    • Configuración del almacenamiento de blobs para los registros de auditoría con T-SQL:

      1. En la lista de contenedores, seleccione el contenedor recién creado y luego Propiedades del contenedor.

        Screenshot showing the Blob container properties button.

      2. Copie la dirección URL del contenedor; para ello, seleccione el icono de copia y guarde dicha dirección (por ejemplo, en el Bloc de notas) para un uso futuro. El formato de dirección URL del contenedor debe ser https://<StorageName>.blob.core.windows.net/<ContainerName>.

        Screenshot showing the Blob container copy URL.

      3. Genere un token de SAS de Azure Storage para conceder derechos de acceso de auditoría de instancia administrada a la cuenta de almacenamiento:

        • Vaya a la cuenta de Azure Storage donde se creó el contenedor en el paso anterior.

        • Seleccione Firma de acceso compartido en el menú Configuración de Storage.

          Shared access signature icon in storage settings menu.

        • Configure SAS de la siguiente manera:

          • Servicios permitidos: Blob

          • Fecha de inicio: para evitar problemas relacionados con la zona horaria, se recomienda usar la fecha de ayer.

          • Fecha de finalización: elija la fecha en que expira este token de SAS.

            Nota:

            Renueve el token tras la expiración para evitar errores de auditoría.

          • Seleccione Generar SAS.

            Screenshot showing the SAS configuration.

        • El token de SAS aparece en la parte inferior. Copie el token; para ello, seleccione el icono de copia y guárdelo (por ejemplo, en el Bloc de notas) para un uso futuro.

          Screenshot showing how to copy SAS token.

          Importante

          Quite el signo de interrogación (?) del principio del token.

      4. Conéctese a la instancia administrada mediante SQL Server Management Studio (SSMS) o cualquier otra herramienta compatible.

      5. Ejecute la siguiente instrucción T-SQL para crear una credencial con la dirección URL del contenedor y el token de SAS que creó en los pasos anteriores:

        CREATE CREDENTIAL [<container_url>]
        WITH IDENTITY='SHARED ACCESS SIGNATURE',
        SECRET = '<SAS KEY>'
        GO
        
      6. Ejecute la siguiente instrucción T-SQL para crear una auditoría de servidor (elija su propio nombre de auditoría y use la dirección URL del contenedor que creó en los pasos anteriores). Si no se especifica, el valor predeterminado de RETENTION_DAYS es 0 (retención ilimitada):

        CREATE SERVER AUDIT [<your_audit_name>]
        TO URL (PATH ='<container_url>', RETENTION_DAYS = <integer>);
        GO
        
      7. Continúe con la creación de una especificación de auditoría de servidor o de auditoría de base de datos.

    • Configuración del almacenamiento de blobs para los registros de auditoría mediante SQL Server Management Studio 18 y versiones posteriores:

      1. Conéctese a la instancia administrada mediante la interfaz de usuario de SQL Server Management Studio.

      2. Expanda la nota de raíz de Explorador de objetos.

      3. Expanda el nodo Seguridad, haga clic con el botón derecho en el nodo Auditorías y seleccione Nueva auditoría:

        Screenshot showing how to Expand security and audit node.

      4. Asegúrese de que la opción URL está seleccionada en Destino de auditoría y seleccione Examinar:

        Screenshot showing how to Browse Azure Storage.

      5. (Opcional) Inicie sesión en la cuenta de Azure:

        Screenshot showing how to Sign in to Azure.

      6. Seleccione una suscripción, la cuenta de almacenamiento y el contenedor de blobs en los menús desplegables o cree su propio contenedor. Para ello, seleccione Crear. Cuando haya terminado, seleccione Aceptar:

        Select Azure subscription, storage account, and blob container.

      7. Seleccione Aceptar en el cuadro de diálogo Crear auditoría.

        Nota:

        Si se usa la interfaz de usuario de SQL Server Management Studio para crear una auditoría, se creará automáticamente una credencial para el contenedor con una clave SAS.

      8. Después de configurar el contenedor de blobs como destino para los registros de auditoría, cree y habilite una especificación de auditoría de servidor o de base de datos como lo haría para SQL Server:

    • Guía de T-SQL de creación de la especificación de auditoría de servidor

    • Guía de T-SQL de creación de la especificación de auditoría

  4. Habilite la auditoría de servidor que ha creado en el paso 3:

    ALTER SERVER AUDIT [<your_audit_name>]
    WITH (STATE = ON);
    GO
    

Para información adicional:

Auditoría de operaciones de Soporte técnico de Microsoft

Auditoría de operaciones de Soporte técnico de Microsoft para SQL Managed Instance le permite auditar las operaciones de los ingenieros de soporte técnico de Microsoft cuando necesitan acceder al servidor durante una solicitud de soporte técnico. El uso de esta funcionalidad, junto con su propia auditoría, permite una mayor transparencia de su personal, y permite la detección de anomalías, la visualización de tendencias y la prevención de pérdida de datos.

Para habilitar la auditoría de las operaciones de Soporte técnico de Microsoft, vaya a Crear auditoría en Seguridad>Auditoría en SQL Managed Instance y seleccione Operaciones de soporte técnico de Microsoft.

Screenshot showing the Create audit icon.

Nota:

Debe crear una auditoría de servidor independiente para auditar las operaciones de Microsoft. Si habilita esta casilla para una auditoría existente, sobrescribirá la auditoría y solo registrará las operaciones de soporte técnico.

Configuración de la auditoría de un servidor en Event Hubs o registros de Azure Monitor

Los registros de auditoría de una instancia administrada se pueden enviar a Azure Event Hubs o a los registros de Azure Monitor. En esta sección se describe cómo configurar todo esto:

  1. En Azure Portal , vaya a la instancia administrada.

  2. Seleccione Configuración de diagnóstico.

  3. Seleccione Activar diagnósticos. Si ya está habilitado el diagnóstico, se mostrará +Agregar configuración de diagnóstico.

  4. Seleccione SQLSecurityAuditEvents en la lista de registros.

  5. Si va a configurar operaciones de soporte técnico de Microsoft, seleccione Registros de auditoría de operaciones Devops en la lista de registros.

  6. Seleccione un destino para los eventos de auditoría: centros de eventos, registros de Azure Monitor o ambos. Configure los parámetros necesarios (por ejemplo, el área de trabajo de Log Analytics) en cada destino.

  7. Seleccione Guardar.

    Screenshot showing how to configure diagnostic settings.

  8. Conéctese a la instancia administrada mediante SQL Server Management Studio (SSMS) o cualquier otro cliente compatible.

  9. Ejecute la siguiente instrucción T-SQL para crear una auditoría de servidor:

    CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR;
    GO
    
  10. Cree y habilite una especificación de auditoría de servidor o de base de datos como lo haría para SQL Server:

  11. Habilite la auditoría de servidor que creó en el paso 8:

    ALTER SERVER AUDIT [<your_audit_name>]
    WITH (STATE = ON);
    GO
    

Configuración de la auditoría mediante T-SQL

-- Create audit without OPERATOR_AUDIT - Will audit standard SQL Audit events
USE [master];
GO

CREATE SERVER AUDIT testingauditnodevops TO EXTERNAL_MONITOR;
GO

CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_nodevops
FOR SERVER AUDIT testingauditnodevops ADD (SUCCESSFUL_LOGIN_GROUP),
    ADD (BATCH_COMPLETED_GROUP),
    ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO

ALTER SERVER AUDIT testingauditnodevops
    WITH (STATE = ON);
GO

-- Create separate audit without OPERATOR_AUDIT ON - Will audit Microsoft Support Operations
USE [master]

CREATE SERVER AUDIT testingauditdevops TO EXTERNAL_MONITOR
    WITH (OPERATOR_AUDIT = ON);
GO

CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_devops
FOR SERVER AUDIT testingauditdevops ADD (SUCCESSFUL_LOGIN_GROUP),
    ADD (BATCH_COMPLETED_GROUP),
    ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO

ALTER SERVER AUDIT testingauditdevops
    WITH (STATE = ON);
GO

Uso de registros de auditoría

Uso de registros almacenados en Azure Storage

Existen varios métodos que puede usar para ver los registros de auditoría de blobs.

Consumo de registros almacenados en Event Hubs

Para consumir datos de registros de auditoría desde Event Hubs, deberá configurar una secuencia que consuma eventos y los escriba en un destino. Para más información, consulte la documentación de Azure Event Hubs.

Consumo y análisis de los registros almacenados en los registros de Azure Monitor

Si se escriben registros de auditoría en registros de Azure Monitor, estarán disponibles en el área de trabajo de Log Analytics, donde podrá ejecutar búsquedas avanzadas en los datos de auditoría. Como punto de partida, vaya al área de trabajo de Log Analytics. En la sección General, seleccione Registros y escriba una consulta básica, como search "SQLSecurityAuditEvents", para ver los registros de auditoría.

Los registros de Azure Monitor proporcionan conclusiones operativas en tiempo real gracias a uso de paneles personalizados y de búsqueda integrados para analizar fácilmente millones de registros en todas las cargas de trabajo y servidores. Para obtener más información sobre los comandos y el lenguaje de búsqueda de registros de Azure Monitor, consulte la referencia de búsqueda de registros de Azure Monitor.

Nota:

Este artículo se ha actualizado recientemente para usar el término registros de Azure Monitor en lugar de Log Analytics. Los datos de registro siguen almacenándose en un área de trabajo de Log Analytics y siguen recopilándose y analizándose por el mismo servicio de Log Analytics. Estamos actualizando la terminología para reflejar mejor el rol de los registros de Azure Monitor. Consulte Azure Monitor terminology changes (Cambios en la terminología de Azure Monitor) para obtener más información.

Diferencias de auditoría entre las bases de datos de Azure SQL Managed Instance y las bases de datos de SQL Server

Las principales diferencias entre la auditoría de las bases de datos de Instancia administrada de Azure SQL y las bases de datos de SQL Server son las siguientes:

  • En Instancia administrada de Azure SQL, la auditoría funciona en el nivel de servidor y los archivos de registro .xel se almacenan en la cuenta de Azure Blob Storage.
  • En SQL Server, la auditoría funciona en el nivel de servidor, pero almacena los eventos se almacenan en el sistema de archivos y en los registros de eventos de Windows.

En las instancias administradas, la auditoría de XEvent admite Azure Blob Storage como destino. No se admiten los registros de archivos ni de Windows.

Las principales diferencias en la sintaxis de CREATE AUDIT para la auditoría en Azure Blob Storage son:

  • Se proporciona una nueva sintaxis TO URL que permite especificar la dirección URL del contenedor de Azure Blob Storage donde se colocarán los archivos .xel.
  • Se proporciona una nueva sintaxis TO EXTERNAL MONITOR para habilitar los destinos de registro de Event Hubs y Azure Monitor.
  • La sintaxis TO FILEno se admite porque Azure SQL Managed Instance no puede acceder a los recursos compartidos de archivos de Windows.
  • La opción de apagado no se admite.
  • queue_delay de 0 no se admite.

Pasos siguientes