Restricción del origen de las operaciones de copia a una cuenta de almacenamiento

Por motivos de seguridad, es posible que los administradores de almacenamiento quieran limitar los entornos desde los que se pueden copiar datos en cuentas protegidas. Limitar el ámbito de las operaciones de copia permitidas ayuda a evitar la filtración de datos no deseados desde inquilinos o redes virtuales que no son de confianza.

En este artículo se muestra cómo limitar las cuentas de origen en las operaciones de copia a cuentas dentro del mismo inquilino que la cuenta de destino, o con vínculos privados a la misma red virtual que el destino.

Importante

La opción Permitted scope for copy operations (Ámbito permitido en operaciones de copia) se encuentra actualmente en versión preliminar. Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.

Acerca del ámbito permitido para las operaciones de copia (versión preliminar)

La propiedad AllowedCopyScope de una cuenta de almacenamiento sirve para especificar los entornos desde los que se pueden copiar datos en la cuenta de destino. En Azure Portal aparece como la opción de configuración Permitted scope for copy operations (preview) (Ámbito permitido en operaciones de copia (versión preliminar)). Esta propiedad no se establece de manera predeterminada y no devuelve un valor hasta que se establezca de manera explícita. Estos son los tres valores posibles:

  • (null) (valor predeterminado): permite copiar desde cualquier cuenta de almacenamiento en la cuenta de destino.
  • Microsoft Entra ID: permite copiar solo desde cuentas dentro del mismo inquilino de Microsoft Entra que la cuenta de destino.
  • PrivateLink: permite copiar solo desde cuentas de almacenamiento que tengan vínculos privados a la misma red virtual que la cuenta de destino.

La configuración se aplica a las operaciones Copy Blob y Copy Blob From URL. Algunos ejemplos de herramientas que usan la operación Copy Blob son AzCopy y el Explorador de Azure Storage.

Cuando el origen de una solicitud de copia no cumple los requisitos especificados por esta configuración, se produce un error en la solicitud con el código de estado HTTP 403 (Prohibido).

La propiedad AllowedCopyScope se puede usar en cuentas de almacenamiento que usan únicamente el modelo de implementación de Azure Resource Manager. Para información sobre qué cuentas de almacenamiento usan el modelo de implementación de Azure Resource Manager, consulte Tipos de cuentas de almacenamiento.

Identificación de las cuentas de almacenamiento de origen de las operaciones de copia

Antes de cambiar el valor de AllowedCopyScope de una cuenta de almacenamiento, identifique los usuarios, las aplicaciones o los servicios que puedan verse afectados por el cambio. En función de estas averiguaciones, es posible que sea necesario ajustar la configuración a un ámbito que incluya todos los orígenes de copia deseados, o bien ajustar la configuración de red o de Microsoft Entra de algunas de las cuentas de almacenamiento de origen.

Los registros de Azure Storage capturan detalles en Azure Monitor sobre las solicitudes realizadas en la cuenta de almacenamiento, incluido el origen y el destino de las operaciones de copia. Para más información, consulte Supervisión de Azure Storage. Habilite y analice los registros para identificar las operaciones de copia que podrían verse afectadas al cambiar AllowedCopyScope en la cuenta de almacenamiento de destino.

Creación de una configuración de diagnóstico en Azure Portal

Para registrar datos de Azure Storage con Azure Monitor y analizarlos con Azure Log Analytics, primero debe crear una configuración de diagnóstico que indique qué tipos de solicitudes y para qué servicios de almacenamiento quiere registrar los datos. Para crear una configuración de diagnóstico en Azure Portal, siga estos pasos:

  1. Cree un área de trabajo de Log Analytics en la suscripción que contenga la cuenta de Azure Storage o use un área de trabajo de Log Analytics existente. Después de configurar el registro de la cuenta de almacenamiento, los registros estarán disponibles en el área de trabajo de Log Analytics. Para obtener más información, consulte Creación de un área de trabajo de Log Analytics en Azure Portal.

  2. Vaya a la cuenta de almacenamiento en Azure Portal.

  3. En la sección Supervisión, seleccione Configuración de diagnóstico.

  4. Seleccione el servicio de Azure Storage cuyas solicitudes quiere registrar. Por ejemplo, elija Blob para registrar solicitudes a Blob Storage.

  5. Seleccione Agregar configuración de diagnóstico.

  6. Proporcione un nombre para la configuración de diagnóstico.

  7. En Categorías, en la sección Registros, seleccione StorageRead, StorageWrite y StorageDelete para registrar todas las solicitudes de datos realizadas al servicio seleccionado.

  8. En Detalles del destino, seleccione Enviar a Log Analytics. Seleccione la suscripción y el área de trabajo de Log Analytics que creó anteriormente, como se muestra en la siguiente imagen, y luego seleccione Guardar.

    Screenshot showing how to create a diagnostic setting for logging requests.

Después de crear la configuración de diagnóstico, las solicitudes a la cuenta de almacenamiento se registran posteriormente según esa configuración. Para más información, consulte Creación de una configuración de diagnóstico para recopilar registros y métricas en Azure.

Consulta de registros de las solicitudes de copia

Los registros de Azure Storage incluyen todas las solicitudes para copiar datos en una cuenta de almacenamiento desde otro origen. Las entradas de registro reflejan el nombre de la cuenta de almacenamiento de destino y el URI del objeto de origen, así como información para ayudar a identificar el cliente que solicita la copia. Para tener una referencia completa de los campos disponibles en los registros de Azure Storage en Azure Monitor, vea Registros de recursos.

Haga lo siguiente para recuperar los registros de las solicitudes de copia de blobs realizadas en los últimos siete días:

  1. Vaya a la cuenta de almacenamiento en Azure Portal.

  2. En la sección Supervisión, seleccione Registros.

  3. Pegue la siguiente consulta en una nueva consulta de registro y ejecútela. Esta consulta muestra los objetos de origen a los que se hace referencia con más frecuencia en las solicitudes de copia de datos en la cuenta de almacenamiento especificada. En el siguiente ejemplo, reemplace el texto de marcador de posición <account-name> por su nombre de cuenta de almacenamiento propio.

    StorageBlobLogs
    | where OperationName has "CopyBlobSource" and TimeGenerated > ago(7d) and AccountName == "<account-name>"
    | summarize count() by Uri, CallerIpAddress, UserAgentHeader
    

Los resultados de la consulta deben tener un aspecto similar al siguiente:

Screenshot showing how a Copy Blob Source log query might look.

El URI es la ruta de acceso completa al objeto de origen que se va a copiar, que incluye el nombre de la cuenta de almacenamiento, el nombre del contenedor y el nombre de archivo. En la lista de URI, averigüe si las operaciones de copia se bloquearían porque se haya aplicado una configuración AllowedCopyScope específica.

También puede configurar una regla de alerta basada en esta consulta para que le informe de las solicitudes de copia de blob de la cuenta. Para más información, consulte Creación, visualización y administración de alertas de registro mediante Azure Monitor.

Restricción del ámbito permitido en operaciones de copia (versión preliminar)

Cuando esté seguro de que puede restringir los orígenes de las solicitudes de copia a un ámbito concreto sin ningún tipo de problema, puede establecer la propiedad AllowedCopyScope de la cuenta de almacenamiento en ese ámbito.

Permisos para cambiar el ámbito permitido en operaciones de copia (versión preliminar)

Para establecer la propiedad AllowedCopyScope de la cuenta de almacenamiento, un usuario debe tener permisos para crear y administrar cuentas de almacenamiento. Los roles de control de acceso basado en rol de Azure (Azure RBAC) que proporcionan estos permisos incluyen la acción Microsoft.Storage/storageAccounts/write o Microsoft.Storage/storageAccounts/*. Los roles integrados con esta acción incluyen:

Estos roles no proporcionan acceso a los datos de una cuenta de almacenamiento a través de Microsoft Entra ID. Sin embargo, incluyen Microsoft.Storage/storageAccounts/listkeys/action, que concede acceso a las claves de acceso de la cuenta. Con este permiso, un usuario puede usar las claves de acceso de la cuenta para acceder a todos los datos de una cuenta de almacenamiento.

Las asignaciones de roles deben tener el ámbito del nivel de la cuenta de almacenamiento o superior para que un usuario pueda restringir el ámbito de las operaciones de copia de la cuenta. Para obtener más información sobre el ámbito de los roles, vea Comprensión del ámbito para RBAC de Azure.

Tenga cuidado de restringir la asignación de estos roles solo a aquellos usuarios que requieran la capacidad de crear una cuenta de almacenamiento o actualizar sus propiedades. Use el principio de privilegios mínimos para asegurarse de que los usuarios tienen los permisos mínimos que necesitan para realizar sus tareas. Para más información sobre la administración del acceso con RBAC de Azure, consulte Procedimientos recomendados para RBAC de Azure.

Nota

Los roles clásicos de administrador de suscripciones Administrador del servicio y Coadministrador equivalen al rol Propietario de Azure Resource Manager. El rol Propietario incluye todas las acciones, por lo que un usuario con uno de estos roles administrativos también puede crear y administrar cuentas de almacenamiento. Para obtener más información, consulte Roles de Azure, roles de Microsoft Entra y roles de administrador de suscripción clásicos .

Configuración del ámbito permitido en operaciones de copia (versión preliminar)

Con una cuenta que tenga los permisos necesarios, configure el ámbito permitido en operaciones de copia en Azure Portal con PowerShell o mediante la CLI de Azure.

Haga lo siguiente para configurar el ámbito permitido en operaciones de copia de una cuenta de almacenamiento existente en Azure Portal:

  1. Vaya a la cuenta de almacenamiento en Azure Portal.

  2. En Configuración, seleccione Configuración.

  3. Establezca Permitted scope for copy operations (preview) (Ámbito permitido en operaciones de copia [versión preliminar]) en uno de los siguientes valores:

    • From any storage account (Desde cualquier cuenta de almacenamiento)
    • Desde cuentas de almacenamiento en el mismo inquilino de Microsoft Entra
    • From storage accounts that have a private endpoint to the same virtual network (Desde cuentas de almacenamiento que tienen un punto de conexión privado a la misma red virtual)

    Screenshot showing how to disallow Shared Key access for a storage account.

  4. Seleccione Guardar.

Pasos siguientes