Escritura de auditorías en una cuenta de almacenamiento detrás de una red virtual y un firewall
Se aplica a: Azure SQL Database Azure Synapse Analytics
La auditoría de Azure SQL Database y Azure Synapse Analytics admite la escritura de eventos de base de datos en una cuenta de Azure Storage detrás de un firewall y una red virtual.
En este artículo se explican dos maneras de configurar Azure SQL Database y la cuenta de almacenamiento de Azure para admitir esta opción. La primera usa Azure Portal y la segunda usa REST.
Información previa
Azure Virtual Network (VNet) es el bloque de creación fundamental de una red privada en Azure. VNet permite muchos tipos de recursos de Azure, como Azure Virtual Machines (máquinas virtuales), para comunicarse de forma segura entre usuarios, con Internet y con las redes locales. VNet es similar a una red tradicional en su propio centro de datos, pero aporta las ventajas adicionales de la infraestructura de Azure, como la escala, la disponibilidad y el aislamiento.
Consulte el artículo ¿Qué es Azure Virtual Network? para obtener más información sobre los conceptos de VNet.
Para obtener más información sobre cómo crear una red virtual, vea Inicio rápido: Creación de una red virtual mediante Azure Portal.
Prerrequisitos
Para que una auditoría escriba eventos en una cuenta de almacenamiento detrás de un firewall o una red virtual, se necesitan los siguientes requisitos previos:
- Una cuenta de almacenamiento de uso general v2. Si tiene una cuenta de almacenamiento de uso general v1 o una cuenta de almacenamiento de blobs, actualice a una cuenta de almacenamiento de uso general v2. Para obtener más información, consulte la sección Tipos de cuentas de almacenamiento.
- Se admite el almacenamiento Premium con BlockBlobStorage
- La cuenta de almacenamiento debe estar en el mismo inquilino y en la misma ubicación que el servidor SQL lógico (es correcto que estén en suscripciones diferentes).
- La cuenta de Azure Storage requiere
Allow trusted Microsoft services to access this storage account
. Establezca esta configuración en Firewalls y redes virtuales en la cuenta de almacenamiento. - Debe tener el permiso
Microsoft.Authorization/roleAssignments/write
en la cuenta de almacenamiento seleccionada. Para más información, consulte Roles integrados en Azure.
Nota:
Cuando la auditoría en la cuenta de almacenamiento ya está habilitada en un servidor o base de datos, y si la cuenta de almacenamiento de destino se mueve detrás de un firewall, se pierde el acceso de escritura a la cuenta de almacenamiento y los registros de auditoría dejan de escribirse en ella. Para que la auditoría funcione, tenemos que volver a guardar la configuración de auditoría desde el portal.
Configuración en Azure Portal
Conéctese a Azure Portal con su suscripción. Desplácese al grupo de recursos y al servidor.
Haga clic en Auditoría en el encabezado Seguridad. Seleccione Activado.
Seleccione Storage. Seleccione la cuenta de almacenamiento en la que se guardarán los registros. La cuenta de almacenamiento debe cumplir los requisitos enumerados en la sección Requisitos previos.
Abra Detalles de almacenamiento.
Nota:
Si la cuenta de Azure Storage seleccionada está detrás de una red virtual, verá el mensaje siguiente:
You have selected a storage account that is behind a firewall or in a virtual network. Using this storage requires to enable 'Allow trusted Microsoft services to access this storage account' on the storage account and creates a server managed identity with 'storage blob data contributor' RBAC.
Si no ve este mensaje, la cuenta de almacenamiento no está detrás de una red virtual.
Seleccione el número de días para el período de retención. A continuación, haga clic en Aceptar. Los registros anteriores al período de retención se eliminarán.
Seleccione Guardar en la configuración de auditoría.
Ha configurado correctamente la auditoría para que escriba en una cuenta de almacenamiento detrás de un firewall o una red virtual.
Configuración con comandos de REST
Como alternativa al uso de Azure Portal, puede usar comandos de REST para configurar la auditoría con el fin de escribir eventos de base de datos en una cuenta de almacenamiento detrás de una red virtual y un firewall.
Antes de ejecutar los scripts de ejemplo de esta sección, es necesario que los actualice. Reemplace los valores siguientes en los scripts:
Valor de ejemplo | Descripción de ejemplo |
---|---|
<subscriptionId> |
Identificador de suscripción de Azure |
<resource group> |
Resource group |
<logical SQL Server> |
Nombre de servidor |
<administrator login> |
Cuenta de administrador |
<complex password> |
Contraseña compleja para la cuenta de administrador |
Para configurar una auditoría de SQL para que escriba eventos en una cuenta de almacenamiento detrás de un firewall o una red virtual:
Registre el servidor con Microsoft Entra ID (anteriormente Azure Active Directory). Use PowerShell o la API REST.
PowerShell
Connect-AzAccount Select-AzSubscription -SubscriptionId <subscriptionId> Set-AzSqlServer -ResourceGroupName <your resource group> -ServerName <azure server name> -AssignIdentity
Solicitud de ejemplo
PUT https://management.azure.com/subscriptions/<subscription ID>/resourceGroups/<resource group>/providers/Microsoft.Sql/servers/<azure server name>?api-version=2015-05-01-preview
Cuerpo de la solicitud
{ "identity": { "type": "SystemAssigned", }, "properties": { "fullyQualifiedDomainName": "<azure server name>.database.windows.net", "administratorLogin": "<administrator login>", "administratorLoginPassword": "<complex password>", "version": "12.0", "state": "Ready" } }
Asigne el rol Colaborador de datos de blobs de almacenamiento al servidor que hospeda la base de datos que ha registrado con Microsoft Entra ID en el paso anterior.
Para asignar roles, consulte Asignación de roles de Azure mediante Azure Portal.
Nota
Solo los miembros con el privilegio Propietario pueden realizar este paso. Para conocer los distintos roles integrados de Azure, consulte Roles integrados de Azure.
Configure la directiva de auditoría de blobs del servidor sin especificar un elemento storageAccountAccessKey:
Solicitud de ejemplo
PUT https://management.azure.com/subscriptions/<subscription ID>/resourceGroups/<resource group>/providers/Microsoft.Sql/servers/<azure server name>/auditingSettings/default?api-version=2017-03-01-preview
Cuerpo de la solicitud
{ "properties": { "state": "Enabled", "storageEndpoint": "https://<storage account>.blob.core.windows.net" } }
Uso de Azure PowerShell
- Crear o actualizar la directiva de auditoría de base de datos (Set-AzSqlDatabaseAudit)
- Crear o actualizar la directiva de auditoría de servidor (Set-AzSqlServerAudit)
Uso de la plantilla de Azure Resource Manager
Puede configurar la auditoría para escribir los eventos de base de datos en una cuenta de almacenamiento detrás de la red virtual y el firewall mediante una plantilla de Azure Resource Manager, como se muestra en el ejemplo siguiente:
Importante
Para usar una cuenta de almacenamiento detrás de la red virtual y el firewall, debe establecer el parámetro isStorageBehindVnet en True.
Nota:
El ejemplo vinculado se encuentra en un repositorio público externo y se proporcionan "tal cual", sin ninguna garantía y no se admite en los programas o servicios de soporte técnico de Microsoft.