Uso de puntos de conexión privados para Azure Storage
Puede usar puntos de conexión privados en sus cuentas de Azure Storage para que los clientes de una red virtual (VNet) puedan acceder de forma segura a los datos a través de una instancias de Private Link. El punto de conexión privado usa una dirección IP independiente del espacio de direcciones de la red virtual para el servicio de la cuenta de almacenamiento. El tráfico de red entre los clientes de la red virtual y la cuenta de almacenamiento atraviesa la red virtual y un vínculo privado de la red troncal de Microsoft, lo que elimina la exposición a la red pública de Internet.
Nota:
Los puntos de conexión privados no están disponibles para cuentas de almacenamiento v1 de uso general.
El uso de puntos de conexión privados en una cuenta de almacenamiento permite:
- Proteja la cuenta de almacenamiento mediante un vínculo privado. Puede configurar manualmente el firewall de almacenamiento para bloquear las conexiones en el punto de conexión público del servicio de almacenamiento. La creación de un vínculo privado no bloquea automáticamente las conexiones en el punto de conexión público.
- Aumentar la seguridad de la red virtual (VNet), ya que permite bloquear la filtración de datos de la red virtual.
- Conectarse de forma segura a las cuentas de almacenamiento desde las redes locales que se conectan a la red virtual mediante VPN o ExpressRoute con emparejamiento privado.
Información general conceptual
Un punto de conexión privado es una interfaz de red especial para un servicio de Azure de una red virtual. Cuando se crea un punto de conexión privado para una cuenta de almacenamiento, este proporciona conectividad segura entre los clientes de la red virtual y el almacenamiento. Al punto de conexión privado se le asigna una dirección IP del intervalo de direcciones IP de la red virtual. La conexión entre el punto de conexión privado y el servicio de almacenamiento usa un vínculo privado seguro.
Las aplicaciones de la red virtual se pueden conectar al servicio de almacenamiento a través del punto de conexión privado sin problemas, ya que se usan las mismas cadenas de conexión y mecanismos de autorización que se usarían en cualquier otro caso. Los puntos de conexión privados se pueden usar con todos los protocolos que admita la cuenta de almacenamiento, incluidos REST y SMB.
Los puntos de conexión privados se pueden crear en subredes que usan puntos de conexión de servicio. Por lo tanto, los clientes de una subred pueden conectarse a una cuenta de almacenamiento mediante un punto de conexión privado, al mismo tiempo que usan puntos de conexión de servicio para acceder a otras.
Cuando se crea un punto de conexión privado para un servicio de almacenamiento en la red virtual, se envía una solicitud de consentimiento para su aprobación al propietario de la cuenta de almacenamiento. Si el usuario que solicita la creación del punto de conexión privado también es propietario de la cuenta de almacenamiento, esta solicitud de consentimiento se aprueba automáticamente.
Los propietarios de cuentas de almacenamiento pueden administrar las solicitudes de consentimiento y los puntos de conexión privados desde la pestaña "Puntos de conexión privados" de la cuenta de almacenamiento en Azure Portal.
Sugerencia
Si desea restringir el acceso a una cuenta de almacenamiento de modo que solo se pueda realizar mediante el punto de conexión privado, configure el firewall de almacenamiento para denegar o controlar todo acceso que se realice mediante el punto de conexión público.
Puede proteger la cuenta de almacenamiento para que acepte solo las conexiones que provengan de la red virtual. Para ello, configure el firewall de almacenamiento para que, de forma predeterminada, deniegue el acceso a través de su punto de conexión. Para permitir el tráfico de una red virtual que tenga un punto de conexión privado no se necesita ninguna regla de firewall, ya que el firewall de almacenamiento solo controla el acceso a través del punto de conexión privado. En su lugar, los puntos de conexión privados usan el flujo de consentimiento para conceder el acceso de las subredes al servicio de almacenamiento.
Nota:
Cuando se copian blobs entre cuentas de almacenamiento, el cliente debe tener acceso a redes en ambas cuentas. Por consiguiente, si elige usar un vínculo privado para una sola cuenta (ya sea el origen o el destino), asegúrese de que el cliente tiene acceso a redes en la otra cuenta. Para obtener información sobre otras formas de configurar el acceso a redes, consulte Configuración de redes virtuales y firewalls de Azure Storage.
Creación de un punto de conexión privado
Para crear un punto de conexión privado mediante Azure Portal, consulte el artículo sobre la conexión privada a una cuenta de almacenamiento desde la experiencia de cuenta de almacenamiento en Azure Portal.
Para crear un punto de conexión privado mediante PowerShell o la CLI de Azure, consulte uno de estos artículos. Ambos presentan una aplicación web de Azure como servicio de destino, pero los pasos para crear un vínculo privado son los mismos que para una cuenta de Azure Storage.
Creación de un punto de conexión privado mediante la CLI de Azure
Creación de un punto de conexión privado mediante Azure PowerShell
Al crear un punto de conexión privado, debe especificar la cuenta de almacenamiento y el servicio de almacenamiento al que se conecta.
Necesita un punto de conexión privado independiente para cada recurso de almacenamiento al que necesite acceder, concretamente, Blobs, Data Lake Storage, Files, Queues, Tables o Static Websites. En el punto de conexión privado, estos servicios de almacenamiento se definen como el recurso secundario de destino de la cuenta de almacenamiento asociada.
Si crea un punto de conexión privado para el recurso de almacenamiento de Data Lake Storage, también debe crear uno para el recurso de Blob Storage. Esto se debe a que las operaciones que tienen como destino el punto de conexión de Data Lake Storage se pueden redirigir al punto de conexión del blob. Del mismo modo, si agrega un punto de conexión privado solo para Blob Storage y no para Data Lake Storage, algunas operaciones (como administrar ACL, crear directorio, eliminar directorio, etc.) producirán un error, ya que las API requieren un punto de conexión privado DFS. Al crear un punto de conexión privado para ambos recursos, se asegura de que todas las operaciones se puedan completar correctamente.
Sugerencia
Cree un punto de conexión privado independiente para la instancia secundaria del servicio de almacenamiento para mejorar el rendimiento de lectura en las cuentas de almacenamiento con redundancia geográfica con acceso de lectura. Asegúrese de crear una cuenta de almacenamiento de uso general v2 (Estándar o Premium).
Para obtener acceso de lectura a la región secundaria con una cuenta de almacenamiento configurada para el almacenamiento con redundancia geográfica se necesitan puntos de conexión privados para las instancias principal y secundaria del servicio. No es preciso crear un punto de conexión privado para la instancia secundaria para la conmutación por error. El punto de conexión privado se conectará automáticamente a la nueva instancia principal después de la conmutación por error. Para más información sobre las opciones de redundancia de almacenamiento, consulte Redundancia de Azure Storage.
Conexión a un punto de conexión privado
Los clientes de una red virtual que usan el punto de conexión privado deben usar la misma cadena de conexión para la cuenta de almacenamiento que aquellos clientes que se conectan mediante el punto de conexión público. Confiamos en la resolución del DNS para enrutar automáticamente las conexiones desde la red virtual a la cuenta de almacenamiento a través de un vínculo privado.
Importante
Use la misma cadena de conexión para conectarse a la cuenta de almacenamiento mediante puntos de conexión privados, tal como la usaría en otras ocasiones. No se conecte a la cuenta de almacenamiento mediante su dirección URL de subdominio privatelink
.
De forma predeterminada, se crea una zona DNS privada conectada a la red virtual con las actualizaciones necesarias para los puntos de conexión privados. Sin embargo, si usa su propio servidor DNS, puede que tenga que realizar cambios adicionales en la configuración de DNS. En la sección Cambios de DNS que aparece a continuación se describen las actualizaciones necesarias para los puntos de conexión privados.
Cambios de DNS en puntos de conexión privados
Nota:
Para más información sobre cómo configurar las opciones de DNS para puntos de conexión privados, consulte Configuración de DNS para puntos de conexión privados de Azure.
Al crear un punto de conexión privado, el registro del recurso CNAME de DNS de la cuenta de almacenamiento se actualiza a un alias de un subdominio con el prefijo privatelink
. De forma predeterminada, también se crea una zona DNS privada, que se corresponde con el subdominio privatelink
, con los registros de recursos D de DNS para los puntos de conexión privados.
Cuando se resuelve la dirección URL del punto de conexión de almacenamiento desde fuera de la red virtual con el punto de conexión privado, se resuelve en el punto de conexión público del servicio de almacenamiento. Cuando se resuelve desde la red virtual que hospeda el punto de conexión privado, la dirección URL del punto de conexión de almacenamiento se resuelve en la dirección IP del punto de conexión privado.
En el ejemplo anterior, los registros de recursos DNS de la cuenta de almacenamiento "StorageAccountA", cuando se resuelven desde fuera de la red virtual que hospeda el punto de conexión privado, serán:
Nombre | Tipo | Value |
---|---|---|
StorageAccountA.blob.core.windows.net |
CNAME | StorageAccountA.privatelink.blob.core.windows.net |
StorageAccountA.privatelink.blob.core.windows.net |
CNAME | <Punto de conexión público del servicio Storage> |
<Punto de conexión público del servicio Storage> | A | <Dirección IP pública del servicio Storage> |
Como ya se ha mencionado, puede denegar o controlar el acceso de los clientes de fuera de la red virtual a través del punto de conexión público mediante el firewall de Storage.
Los registros de recursos DNS de StorageAccountA, cuando los resuelve un cliente en la red virtual que hospeda el punto de conexión privado, serán:
Nombre | Tipo | Value |
---|---|---|
StorageAccountA.blob.core.windows.net |
CNAME | StorageAccountA.privatelink.blob.core.windows.net |
StorageAccountA.privatelink.blob.core.windows.net |
A | 10.1.1.5 |
Este enfoque permite el acceso a la cuenta de almacenamiento mediante la misma cadena de conexión para los clientes de la red virtual que hospeda los puntos de conexión privados y los clientes que están fuera de esta.
Si va a usar un servidor DNS personalizado en la red, los clientes deben ser capaces de resolver el FQDN del punto de conexión de la cuenta de almacenamiento en la dirección IP del punto de conexión privado. Debe configurar el servidor DNS para delegar el subdominio del vínculo privado en la zona DNS privada de la red virtual, o bien configurar los registros D para StorageAccountA.privatelink.blob.core.windows.net
con la dirección IP del punto de conexión privado.
Sugerencia
Cuando use un servidor DNS personalizado o local, debe configurarlo para resolver el nombre de la cuenta de almacenamiento del subdominio privatelink
en la dirección IP del punto de conexión privado. Para ello, puede delegar el subdominio privatelink
en la zona DNS privada de la red virtual, o bien configurar la zona DNS en el servidor DNS y agregar los registros D de DNS.
Los nombres de zona DNS recomendados para los puntos de conexión privados para los servicios de almacenamiento y los recursos secundarios de destino del punto de conexión asociados son:
Servicio de Storage | Recurso secundario de destino | Nombre de zona |
---|---|---|
Blob service | blob | privatelink.blob.core.windows.net |
Data Lake Storage | DFS | privatelink.dfs.core.windows.net |
File service | archivo | privatelink.file.core.windows.net |
Queue service | cola | privatelink.queue.core.windows.net |
Table service | mesa | privatelink.table.core.windows.net |
Static Websites | web | privatelink.web.core.windows.net |
Para más información sobre cómo configurar su propio servidor DNS para que admita puntos de conexión privados, consulte los siguientes artículos:
- Resolución de nombres de recursos en redes virtuales de Azure
- Configuración de DNS para puntos de conexión privados
Precios
Para más información sobre los precios, consulte Precios de Azure Private Link.
Problemas conocidos
Tenga en cuenta los siguientes problemas conocidos relacionados con los puntos de conexión privados para Azure Storage.
Restricciones de acceso al almacenamiento para los clientes de redes virtuales con puntos de conexión privados
Los clientes de redes virtuales con puntos de conexión privados existentes se enfrentan a ciertas restricciones al acceder a otras cuentas de almacenamiento que tienen puntos de conexión privados. Por ejemplo, imagine que la red virtual N1 tiene un punto de conexión privado para una cuenta de almacenamiento A1 con el fin de almacenar blobs. Si la cuenta de almacenamiento A2 tiene un punto de conexión privado en una red virtual N2 para el almacenamiento de blobs, los clientes de la red virtual N1 también deben acceder a al almacenamiento de blobs de la cuenta A2 mediante un punto de conexión privado. Si la cuenta de almacenamiento A2 no tiene puntos de conexión privados para el almacenamiento de blobs, los clientes de la red virtual N1 pueden acceder al almacenamiento de blobs sin ningún punto de conexión privado.
Esta restricción es el resultado de los cambios de DNS realizados cuando la cuenta A2 crea un punto de conexión privado.
Copia de blobs entre cuentas de almacenamiento
Puede copiar blobs entre cuentas de almacenamiento mediante puntos de conexión privados solo si usa la API REST de Azure o las herramientas que usan la API REST. Entre estas herramientas se incluyen AzCopy, explorador de Storage, Azure PowerShell, CLI de Azure y los SDK de Azure Blob Storage.
Solo se admiten los puntos de conexión privados que tienen como destino el punto de conexión de recursos de almacenamiento de blob
o file
. Esto incluye las llamadas a la API de REST frente a cuentas de Data Lake Storage en las que se hace referencia al punto de conexión de recurso de blob
de forma explícita o implícita. Los puntos de conexión privados que tienen como destino el punto de conexión del recurso dfs
de Data Lake Storage aún no son compatibles. Todavía no se admite la copia entre cuentas de almacenamiento mediante el protocolo Network File System (NFS).