Introducción a la auditoría de Instancia administrada de Azure SQLGet started with Azure SQL Managed Instance auditing

SE APLICA A: sí Instancia administrada de Azure SQL APPLIES TO: yesAzure SQL Managed Instance

La auditoría de Instancia administrada de Azure SQL 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.Azure SQL Managed Instance auditing tracks database events and writes them to an audit log in your Azure storage account. La auditoría también puede hacer lo siguiente:Auditing also:

  • 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.Helps you maintain regulatory compliance, understand database activity, and gain insight into discrepancies and anomalies that could indicate business concerns or suspected security violations.
  • Posibilitar y facilitar la observancia de estándares reguladores aunque no garantiza el cumplimiento.Enables and facilitates adherence to compliance standards, although it doesn't guarantee compliance. 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.For more information about Azure programs that support standards compliance, see the Azure Trust Center, where you can find the most current list of compliance certifications.

Configuración de la auditoría de un servidor en Azure StorageSet up auditing for your server to Azure Storage

En la sección siguiente se describe la configuración de auditoría en su Instancia administrada.The following section describes the configuration of auditing on your managed instance.

  1. Vaya a Azure Portal.Go to the Azure portal.

  2. Cree un contenedor de Azure Storage donde se almacenan los registros de auditoría.Create an Azure Storage container where audit logs are stored.

    1. Vaya a la cuenta de Azure Storage donde le gustaría almacenar los registros de auditoría.Navigate to the Azure storage account where you would like to store your audit logs.

      Importante

      • Use una cuenta de almacenamiento de la misma región que la Instancia administrada para evitar lecturas y escrituras entre regiones.Use a storage account in the same region as the managed instance to avoid cross-region reads/writes.
      • Si la cuenta de almacenamiento está detrás de una Virtual Network o un firewall, consulte conceder acceso desde una red virtual.If your storage account is behind a Virtual Network or a Firewall, please see Grant access from a virtual network.
      • 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).If you change retention period from 0 (unlimited retention) to any other value, please note that retention will only apply to logs written after retention value was changed (logs written during the period when retention was set to unlimited are preserved, even after retention is enabled).
    2. En la cuenta de almacenamiento, vaya a Información general y haga clic en Blobs.In the storage account, go to Overview and click Blobs.

      Widget de blobs de Azure

    3. En el menú superior, haga clic en + Contenedor para crear un nuevo contenedor.In the top menu, click + Container to create a new container.

      Icono Crear contenedor de blobs

    4. En Nombre proporcione un nombre de contenedor, establezca Nivel de acceso público en Privado y haga clic en Aceptar.Provide a container Name, set Public access level to Private, and then click OK.

      Configuración de la opción Crear contenedor de blobs

    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.Customers wishing to configure an immutable log store for their server- or database-level audit events should follow the instructions provided by Azure Storage. (Asegúrese de que ha seleccionado Permitir anexiones adicionales al configurar el almacenamiento de blobs inmutable).(Please ensure you have selected Allow additional appends when you configure the immutable blob storage.)

  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):After you create the container for the audit logs, there are two ways to configure it as the target for the audit logs: using T-SQL or using the SQL Server Management Studio (SSMS) UI:

    • Configuración del almacenamiento de blobs para los registros de auditoría con T-SQL:Configure blob storage for audit logs using T-SQL:

      1. En la lista de contenedores, haga clic en el contenedor recién creado y luego en Propiedades del contenedor.In the containers list, click the newly created container and then click Container properties.

        Botón Propiedades del contenedor de blobs

      2. 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.Copy the container URL by clicking the copy icon and save the URL (for example, in Notepad) for future use. El formato de dirección URL del contenedor debe ser https://<StorageName>.blob.core.windows.net/<ContainerName>.The container URL format should be https://<StorageName>.blob.core.windows.net/<ContainerName>

        Dirección URL de copia de contenedores de blob

      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:Generate an Azure Storage SAS token to grant managed instance auditing access rights to the storage account:

        • Vaya a la cuenta de Azure Storage donde se creó el contenedor en el paso anterior.Navigate to the Azure storage account where you created the container in the previous step.

        • Haga clic en Firma de acceso compartido en el menú Configuración de Storage.Click on Shared access signature in the Storage Settings menu.

          Icono de Firma de acceso compartido en el menú Configuración de Storage

        • Configure SAS de la siguiente manera:Configure the SAS as follows:

          • Servicios permitidos: BlobAllowed services: Blob

          • Fecha de inicio: para evitar problemas relacionados con la zona horaria, se recomienda usar la fecha de ayer.Start date: to avoid time zone-related issues, use yesterday’s date

          • Fecha de finalización: elija la fecha en que expira este token de SAS.End date: choose the date on which this SAS token expires

            Nota

            Renueve el token tras la expiración para evitar errores de auditoría.Renew the token upon expiry to avoid audit failures.

          • Haga clic en Generar SAS.Click Generate SAS.

            Configuración de SAS

        • El token de SAS aparece en la parte inferior.The SAS token appears at the bottom. Copie el token haciendo clic en el icono de copia y guárdelo (por ejemplo, en el Bloc de notas) para un uso futuro.Copy the token by clicking on the copy icon, and save it (for example, in Notepad) for future use.

          Copia del token de SAS

          Importante

          Quite el signo de interrogación ("?") caracteres del principio del token.Remove the question mark (“?”) character from the beginning of the token.

      4. Conéctese a la instancia administrada mediante SQL Server Management Studio (SSMS) o cualquier otra herramienta compatible.Connect to your managed instance via SQL Server Management Studio or any other supported tool.

      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:Execute the following T-SQL statement to create a new credential using the container URL and SAS token that you created in the previous steps:

        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).Execute the following T-SQL statement to create a new server audit (choose your own audit name, and use the container URL that you created in the previous steps). Si no se especifica, el valor predeterminado de RETENTION_DAYS es 0 (retención ilimitada):If not specified, the RETENTION_DAYS default is 0 (unlimited retention):

        CREATE SERVER AUDIT [<your_audit_name>]
        TO URL ( PATH ='<container_url>' , RETENTION_DAYS =  integer )
        GO
        

        Continúe con la creación de una especificación de auditoría de servidor o de auditoría de base de datos.Continue by creating a server audit specification or database audit specification.

    • Configuración del almacenamiento de blobs para los registros de auditoría mediante SQL Server Management Studio 18 (versión preliminar):Configure blob storage for audit logs using SQL Server Management Studio 18 (Preview):

      1. Conéctese a la instancia administrada mediante la interfaz de usuario de SQL Server Management Studio.Connect to the managed instance using the SQL Server Management Studio UI.

      2. Expanda la nota de raíz de Explorador de objetos.Expand the root note of Object Explorer.

      3. Expanda el nodo Seguridad, haga clic con el botón derecho en el nodo Auditorías y haga clic en Nueva auditoría:Expand the Security node, right-click on the Audits node, and click on New Audit:

        Expandir nodo security y audit

      4. Asegúrese de que la opción URL está seleccionada en Destino de auditoría y haga clic en Examinar:Make sure URL is selected in Audit destination and click on Browse:

        Examinar Azure Storage

      5. (Opcional) Inicie sesión en la cuenta de Azure:(Optional) Sign in to your Azure account:

        Inicio de sesión en 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, haga clic en Crear.Select a subscription, storage account, and blob container from the dropdowns, or create your own container by clicking on Create. Cuando haya terminado, haga clic en Aceptar:Once you have finished, click OK:

        Seleccionar la suscripción de Azure, la cuenta de almacenamiento y el contenedor de blobs

      7. Haga clic en Aceptar en el cuadro de diálogo Crear auditoría.Click OK in the Create Audit dialog.

  4. 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:After you configure the blob container as target for the audit logs, create and enable a server audit specification or database audit specification as you would for SQL Server:

  5. Habilite la auditoría de servidor que ha creado en el paso 3:Enable the server audit that you created in step 3:

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

Para información adicional:For additional information:

Configuración de la auditoría de un servidor en Event Hubs o registros de Azure MonitorSet up auditing for your server to Event Hubs or Azure Monitor logs

Los registros de auditoría de una instancia administrada se pueden enviar a Azure Event Hubs o a los registros de Azure Monitor.Audit logs from a managed instance can be sent to Azure Event Hubs or Azure Monitor logs. En esta sección se describe cómo configurar todo esto:This section describes how to configure this:

  1. En Azure Portal , vaya a la instancia administrada.Navigate in the Azure portal to the managed instance.

  2. Haga clic en Configuración de diagnóstico.Click on Diagnostic settings.

  3. Haga clic en Activar diagnóstico.Click on Turn on diagnostics. Si ya está habilitado el diagnóstico, se mostrará +Agregar configuración de diagnóstico.If diagnostics is already enabled, +Add diagnostic setting will show instead.

  4. Seleccione SQLSecurityAuditEvents en la lista de registros.Select SQLSecurityAuditEvents in the list of logs.

  5. Seleccione un destino para los eventos de auditoría: Event Hubs, registros de Azure Monitor o ambos.Select a destination for the audit events: Event Hubs, Azure Monitor logs, or both. Configure los parámetros necesarios (por ejemplo, el área de trabajo de Log Analytics) en cada destino.Configure for each target the required parameters (e.g. Log Analytics workspace).

  6. Haga clic en Save(Guardar).Click Save.

    Configuración de valores de diagnóstico

  7. Conéctese a la instancia administrada mediante SQL Server Management Studio (SSMS) o cualquier otro cliente compatible.Connect to the managed instance using SQL Server Management Studio (SSMS) or any other supported client.

  8. Ejecute la siguiente instrucción T-SQL para crear una auditoría de servidor:Execute the following T-SQL statement to create a server audit:

    CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR;
    GO
    
  9. Cree y habilite una especificación de auditoría de servidor o de base de datos como lo haría para SQL Server:Create and enable a server audit specification or database audit specification as you would for SQL Server:

  10. Habilite la auditoría de servidor que creó en el paso 8:Enable the server audit created in step 8:

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

Uso de registros de auditoríaConsume audit logs

Uso de registros almacenados en Azure StorageConsume logs stored in Azure Storage

Existen varios métodos que puede usar para ver los registros de auditoría de blobs.There are several methods you can use to view blob auditing logs.

Consumo de registros almacenados en Event HubsConsume logs stored in 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.To consume audit logs data from Event Hubs, you will need to set up a stream to consume events and write them to a target. Para más información, consulte la documentación de Azure Event Hubs.For more information, see the Azure Event Hubs documentation.

Consumo y análisis de los registros almacenados en los registros de Azure MonitorConsume and analyze logs stored in Azure Monitor logs

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.If audit logs are written to Azure Monitor logs, they are available in the Log Analytics workspace, where you can run advanced searches on the audit data. Como punto de partida, vaya al área de trabajo de Log Analytics.As a starting point, navigate to the Log Analytics workspace. En la sección General, haga clic en Registros y escriba una consulta simple, como search "SQLSecurityAuditEvents" para ver los registros de auditoría.Under the General section, click Logs and enter a simple query, such as: search "SQLSecurityAuditEvents" to view the audit logs.

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.Azure Monitor logs gives you real-time operational insights using integrated search and custom dashboards to readily analyze millions of records across all your workloads and servers. 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.For additional useful information about Azure Monitor logs search language and commands, see Azure Monitor logs search reference.

Nota

Este artículo se ha actualizado recientemente para usar el término registros de Azure Monitor en lugar de Log Analytics.This article was recently updated to use the term Azure Monitor logs instead of 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.Log data is still stored in a Log Analytics workspace and is still collected and analyzed by the same Log Analytics service. Estamos actualizando la terminología para reflejar mejor el rol de los registros de Azure Monitor.We are updating the terminology to better reflect the role of logs in Azure Monitor. Consulte Azure Monitor terminology changes (Cambios en la terminología de Azure Monitor) para obtener más información.See Azure Monitor terminology changes for details.

Diferencias de auditoría entre las bases de datos de Instancia administrada de Azure SQL y las bases de datos de SQL ServerAuditing differences between databases in Azure SQL Managed Instance and databases in 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:The key differences between auditing in databases in Azure SQL Managed Instance and databases in SQL Server are:

  • 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.With Azure SQL Managed Instance, auditing works at the server level and stores .xel log files in Azure Blob storage.
  • En SQL Server, la auditoría funciona en el nivel de servidor, pero los eventos se almacenan en registros de eventos de Windows o del sistema de archivos.In SQL Server, audit works at the server level, but stores events on files system/windows event logs.

En las instancias administradas, la auditoría de XEvent admite Azure Blob Storage como destino.XEvent auditing in managed instances supports Azure Blob storage targets. No se admiten archivos ni registros de Windows.File and windows logs are not supported.

Las principales diferencias en la sintaxis de CREATE AUDIT para la auditoría en Azure Blob Storage son:The key differences in the CREATE AUDIT syntax for auditing to Azure Blob storage are:

  • 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.A new syntax TO URL is provided and enables you to specify the URL of the Azure Blob storage container where the .xel files are placed.
  • Se proporciona una nueva sintaxis TO EXTERNAL MONITOR para habilitar los destinos de registro de Event Hubs y Azure Monitor.A new syntax TO EXTERNAL MONITOR is provided to enable Event Hubs and Azure Monitor log targets.
  • La sintaxis TO FILE no se admite porque Instancia administrada de Azure SQL no pueda acceder a los recursos compartidos de archivos de Windows.The syntax TO FILE is not supported because Azure SQL Managed Instance cannot access Windows file shares.
  • La opción de apagado no se admite.Shutdown option is not supported.
  • queue_delay de 0 no se admite.queue_delay of 0 is not supported.

Pasos siguientesNext steps