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 sobre los programas de Azure que se adhieren al cumplimiento normativo, visite el Centro de confianza de Azure, donde podrá encontrar la lista más reciente de certificaciones de cumplimiento.
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.
Vaya a Azure Portal.
Cree un contenedor de Azure Storage donde se almacenan los registros de auditoría.
Vaya a la cuenta de Azure Storage donde le gustaría almacenar los registros de auditoría.
Importante
- 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 Virtual Network o un firewall, consulte conceder acceso desde una red virtual.
- Si cambia el período de retención de 0 (retención ilimitada) a cualquier otro valor, tenga en cuenta que 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).
En la cuenta de almacenamiento, vaya a Información general y haga clic en Blobs.

En el menú superior, haga clic en + Contenedor para crear un nuevo contenedor.

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

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).
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:
En la lista de contenedores, haga clic en el contenedor recién creado y luego en Propiedades del contenedor.

Copie la dirección URL del contenedor haciendo clic en 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>.
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.
Haga clic en Firma de acceso compartido en el menú Configuración de Storage.

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.
Haga clic en Generar SAS.

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

Importante
Quite el signo de interrogación ("?") caracteres del principio del token.
Conéctese a la instancia administrada mediante SQL Server Management Studio (SSMS) o cualquier otra herramienta compatible.
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>' GOEjecute 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_DAYSes 0 (retención ilimitada):CREATE SERVER AUDIT [<your_audit_name>] TO URL ( PATH ='<container_url>' , RETENTION_DAYS = integer ) GOContinú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:
Conéctese a la instancia administrada mediante la interfaz de usuario de SQL Server Management Studio.
Expanda la nota de raíz de Explorador de objetos.
Expanda el nodo Seguridad, haga clic con el botón derecho en el nodo Auditorías y haga clic en Nueva auditoría:

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

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

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, haga clic en Crear. Cuando haya terminado, haga clic en Aceptar:

Haga clic en 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.
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
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:
- Diferencias de auditoría entre Instancia administrada de Azure SQL y una base de datos de SQL Server
- CREATE SERVER AUDIT
- ALTER SERVER AUDIT
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:
En Azure Portal , vaya a la instancia administrada.
Haga clic en Configuración de diagnóstico.
Haga clic en Activar diagnóstico. Si ya está habilitado el diagnóstico, se mostrará +Agregar configuración de diagnóstico.
Seleccione SQLSecurityAuditEvents en la lista de registros.
Seleccione un destino para los eventos de auditoría: Event Hubs, registros de Azure Monitor o ambos. Configure los parámetros necesarios (por ejemplo, el área de trabajo de Log Analytics) en cada destino.
Haga clic en Save(Guardar).

Conéctese a la instancia administrada mediante SQL Server Management Studio (SSMS) o cualquier otro cliente compatible.
Ejecute la siguiente instrucción T-SQL para crear una auditoría de servidor:
CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR; GOCree y habilite una especificación de auditoría de servidor o de base de datos como lo haría para SQL Server:
Habilite la auditoría de servidor que creó en el paso 8:
ALTER SERVER AUDIT [<your_audit_name>] 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.
Use la función del sistema
sys.fn_get_audit_file(T-SQL) para devolver los datos de registro de auditoría en formato tabular. Para más información sobre el uso de esta función, vea la documentación de sys.fn_get_audit_file.Puede explorar los registros de auditoría con una herramienta como el Explorador de Azure Storage. En Azure Storage, los registros de auditoría se guardan como una colección de archivos de blob dentro de un contenedor definido para almacenar los registros de auditoría. Para obtener más información sobre la jerarquía de la carpeta de almacenamiento, las convenciones de nomenclatura y el formato del registro, vea la referencia del formato de registro de auditoría de blobs.
Puede encontrar una lista completa de métodos de consumo del registro de auditoría en Introducción a la auditoría de base de datos SQL.
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, haga clic en Registros y escriba una consulta simple, 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 información útil adicional 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 Instancia administrada de Azure SQL 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
.xelse 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 URLque 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 MONITORpara habilitar los destinos de registro de Event Hubs y Azure Monitor. - La sintaxis
TO FILEno se admite porque Instancia administrada de Azure SQL no pueda acceder a los recursos compartidos de archivos de Windows. - La opción de apagado no se admite.
queue_delayde 0 no se admite.
Pasos siguientes
- Puede encontrar una lista completa de métodos de consumo del registro de auditoría en Introducción a la auditoría de base de datos SQL.
- Para más información sobre los programas de Azure que se adhieren al cumplimiento normativo, visite el Centro de confianza de Azure, donde podrá encontrar la lista más reciente de certificaciones de cumplimiento.