Uso de puntos de conexión privados para Azure StorageUse private endpoints for 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.You can use private endpoints for your Azure Storage accounts to allow clients on a virtual network (VNet) to securely access data over a Private Link. El punto de conexión privado usa una dirección IP del espacio de direcciones de la red virtual para el servicio de la cuenta de almacenamiento.The private endpoint uses an IP address from the VNet address space for your storage account service. 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.Network traffic between the clients on the VNet and the storage account traverses over the VNet and a private link on the Microsoft backbone network, eliminating exposure from the public internet.

El uso de puntos de conexión privados en una cuenta de almacenamiento permite:Using private endpoints for your storage account enables you to:

  • Proteger la cuenta de almacenamiento mediante la configuración del firewall de almacenamiento para que bloquee todas las conexiones del punto de conexión público del servicio de almacenamiento.Secure your storage account by configuring the storage firewall to block all connections on the public endpoint for the storage service.
  • Aumentar la seguridad de la red virtual (VNet), ya que permite bloquear la filtración de datos de la red virtual.Increase security for the virtual network (VNet), by enabling you to block exfiltration of data from the VNet.
  • 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.Securely connect to storage accounts from on-premises networks that connect to the VNet using VPN or ExpressRoutes with private-peering.

Información general conceptualConceptual overview

Información general de los puntos de conexión privados para Azure Storage

Un punto de conexión privado es una interfaz de red especial para un servicio de Azure de una red virtual.A private endpoint is a special network interface for an Azure service in your Virtual Network (VNet). 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.When you create a private endpoint for your storage account, it provides secure connectivity between clients on your VNet and your storage. Al punto de conexión privado se le asigna una dirección IP del intervalo de direcciones IP de la red virtual.The private endpoint is assigned an IP address from the IP address range of your VNet. La conexión entre el punto de conexión privado y el servicio de almacenamiento usa un vínculo privado seguro.The connection between the private endpoint and the storage service uses a secure private link.

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.Applications in the VNet can connect to the storage service over the private endpoint seamlessly, using the same connection strings and authorization mechanisms that they would use otherwise. Los puntos de conexión privados se pueden usar con todos los protocolos que admita la cuenta de almacenamiento, incluidos REST y SMB.Private endpoints can be used with all protocols supported by the storage account, including REST and SMB.

Los puntos de conexión privados se pueden crear en subredes que usan puntos de conexión de servicio.Private endpoints can be created in subnets that use Service Endpoints. 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.Clients in a subnet can thus connect to one storage account using private endpoint, while using service endpoints to access others.

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.When you create a private endpoint for a storage service in your VNet, a consent request is sent for approval to the storage account owner. 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.If the user requesting the creation of the private endpoint is also an owner of the storage account, this consent request is automatically approved.

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.Storage account owners can manage consent requests and the private endpoints, through the 'Private endpoints' tab for the storage account in the 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.If you want to restrict access to your storage account through the private endpoint only, configure the storage firewall to deny or control access through the public endpoint.

Puede proteger la cuenta de almacenamiento para que acepte solo las conexiones que provengan de la red virtual. Para ello, debe configurar el firewall de almacenamiento para que, de forma predeterminada, deniegue el acceso a través de su punto de conexión.You can secure your storage account to only accept connections from your VNet, by configuring the storage firewall to deny access through its public endpoint by default. 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.You don't need a firewall rule to allow traffic from a VNet that has a private endpoint, since the storage firewall only controls access through the public endpoint. 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.Private endpoints instead rely on the consent flow for granting subnets access to the storage service.

Nota

Cuando se copian blobs entre cuentas de almacenamiento, el cliente debe tener acceso a redes en ambas cuentas.When copying blobs between storage accounts, your client must have network access to both accounts. 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.So if you choose to use a private link for only one account (either the source or the destination), make sure that your client has network access to the other account. Para obtener información sobre otras formas de configurar el acceso a redes, consulte Configuración de redes virtuales y firewalls de Azure Storage.To learn about other ways to configure network access, see Configure Azure Storage firewalls and virtual networks.

Puntos de conexión privados para Azure StoragePrivate endpoints for Azure Storage

Al crear el punto de conexión privado, debe especificar la cuenta de almacenamiento y el servicio de almacenamiento al que se conecta.When creating the private endpoint, you must specify the storage account and the storage service to which it connects. Necesita un punto de conexión privado independiente para cada servicio de almacenamiento de la cuenta de almacenamiento a la que necesite acceder, a saber, Blobs, Data Lake Storage Gen2, Files, Queues, Tables o Static Websites.You need a separate private endpoint for each storage service in a storage account that you need to access, namely Blobs, Data Lake Storage Gen2, Files, Queues, Tables, or Static Websites.

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.Create a separate private endpoint for the secondary instance of the storage service for better read performance on RA-GRS accounts. Asegúrese de crear una cuenta de almacenamiento de uso general v2 (Estándar o Premium).Make sure to create a general-purpose v2(Standard or Premium) storage account.

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.For read access to the secondary region with a storage account configured for geo-redundant storage, you need separate private endpoints for both the primary and secondary instances of the service. No es preciso crear un punto de conexión privado para la instancia secundaria para la conmutación por error.You don't need to create a private endpoint for the secondary instance for failover. El punto de conexión privado se conectará automáticamente a la nueva instancia principal después de la conmutación por error.The private endpoint will automatically connect to the new primary instance after failover. Para más información sobre las opciones de redundancia de almacenamiento, consulte Redundancia de Azure Storage.For more information about storage redundancy options, see Azure Storage redundancy.

Para obtener información más detallada sobre la creación de un punto de conexión privado para la cuenta de almacenamiento, consulte los siguientes artículos:For more detailed information on creating a private endpoint for your storage account, refer to the following articles:

Conexión a puntos de conexión privadosConnecting to private endpoints

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.Clients on a VNet using the private endpoint should use the same connection string for the storage account, as clients connecting to the public endpoint. 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.We rely upon DNS resolution to automatically route the connections from the VNet to the storage account over a private link.

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.Use the same connection string to connect to the storage account using private endpoints, as you'd use otherwise. No se conecte a la cuenta de almacenamiento mediante su dirección URL de subdominio "privatelink".Please don't connect to the storage account using its 'privatelink' subdomain URL.

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.We create a private DNS zone attached to the VNet with the necessary updates for the private endpoints, by default. Sin embargo, si usa su propio servidor DNS, puede que tenga que realizar cambios adicionales en la configuración de DNS.However, if you're using your own DNS server, you may need to make additional changes to your DNS configuration. En la sección Cambios de DNS que aparece a continuación se describen las actualizaciones necesarias para los puntos de conexión privados.The section on DNS changes below describes the updates required for private endpoints.

Cambios de DNS en puntos de conexión privadosDNS changes for private endpoints

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".When you create a private endpoint, the DNS CNAME resource record for the storage account is updated to an alias in a subdomain with the prefix 'privatelink'. De forma predeterminada, también se crea una zona DNS privada, que se corresponde con el subdominio "privatelink, con los registros de recursos A de DNS para los puntos de conexión privados.By default, we also create a private DNS zone, corresponding to the 'privatelink' subdomain, with the DNS A resource records for the private endpoints.

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.When you resolve the storage endpoint URL from outside the VNet with the private endpoint, it resolves to the public endpoint of the storage service. 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.When resolved from the VNet hosting the private endpoint, the storage endpoint URL resolves to the private endpoint's IP address.

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:For the illustrated example above, the DNS resource records for the storage account 'StorageAccountA', when resolved from outside the VNet hosting the private endpoint, will be:

NombreName TipoType ValueValue
StorageAccountA.blob.core.windows.net CNAMECNAME StorageAccountA.privatelink.blob.core.windows.net
StorageAccountA.privatelink.blob.core.windows.net CNAMECNAME <storage service public endpoint>
<storage service public endpoint> UnA <storage service public IP address>

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.As previously mentioned, you can deny or control access for clients outside the VNet through the public endpoint using the storage firewall.

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:The DNS resource records for StorageAccountA, when resolved by a client in the VNet hosting the private endpoint, will be:

NombreName TipoType ValueValue
StorageAccountA.blob.core.windows.net CNAMECNAME StorageAccountA.privatelink.blob.core.windows.net
StorageAccountA.privatelink.blob.core.windows.net AA 10.1.1.510.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.This approach enables access to the storage account using the same connection string for clients on the VNet hosting the private endpoints, as well as clients outside the VNet.

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.If you are using a custom DNS server on your network, clients must be able to resolve the FQDN for the storage account endpoint to the private endpoint IP address. Debería configurar el servidor DNS para delegar el subdominio del vínculo privado en la zona DNS privada de la red virtual o configurar los registros A para "StorageAccountA.privatelink.blob.core.windows.net" con la dirección IP del punto de conexión privado.You should configure your DNS server to delegate your private link subdomain to the private DNS zone for the VNet, or configure the A records for 'StorageAccountA.privatelink.blob.core.windows.net' with the private endpoint IP address.

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.When using a custom or on-premises DNS server, you should configure your DNS server to resolve the storage account name in the 'privatelink' subdomain to the private endpoint IP address. 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.You can do this by delegating the 'privatelink' subdomain to the private DNS zone of the VNet, or configuring the DNS zone on your DNS server and adding the DNS A records.

Los nombres de zona DNS recomendados para los puntos de conexión privados de los servicios de almacenamiento son:The recommended DNS zone names for private endpoints for storage services are:

Servicio de StorageStorage service Nombre de zonaZone name
Blob serviceBlob service privatelink.blob.core.windows.net
Data Lake Storage Gen2Data Lake Storage Gen2 privatelink.dfs.core.windows.net
File serviceFile service privatelink.file.core.windows.net
Queue serviceQueue service privatelink.queue.core.windows.net
Table serviceTable service privatelink.table.core.windows.net
Static WebsitesStatic Websites 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:For more information on configuring your own DNS server to support private endpoints, refer to the following articles:

PreciosPricing

Para más información sobre los precios, consulte Precios de Azure Private Link.For pricing details, see Azure Private Link pricing.

Problemas conocidosKnown Issues

Tenga en cuenta los siguientes problemas conocidos relacionados con los puntos de conexión privados para Azure Storage.Keep in mind the following known issues about private endpoints for Azure Storage.

Restricciones de acceso al almacenamiento para los clientes de redes virtuales con puntos de conexión privadosStorage access constraints for clients in VNets with private endpoints

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.Clients in VNets with existing private endpoints face constraints when accessing other storage accounts that have private endpoints. Por ejemplo, imagine que la red virtual N1 tiene un punto de conexión privado para una cuenta de almacenamiento A1 para el almacenamiento de blobs.For instance, suppose a VNet N1 has a private endpoint for a storage account A1 for Blob storage. 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.If storage account A2 has a private endpoint in a VNet N2 for Blob storage, then clients in VNet N1 must also access Blob storage in account A2 using a private endpoint. 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.If storage account A2 does not have any private endpoints for Blob storage, then clients in VNet N1 can access Blob storage in that account without a private endpoint.

Esta restricción es el resultado de los cambios de DNS realizados cuando la cuenta A2 crea un punto de conexión privado.This constraint is a result of the DNS changes made when account A2 creates a private endpoint.

Reglas de grupo de seguridad de red para subredes con puntos de conexión privadosNetwork Security Group rules for subnets with private endpoints

Actualmente, no se pueden configurar reglas de grupo de seguridad de red (NSG) ni rutas definidas por el usuario para puntos de conexión privados.Currently, you can't configure Network Security Group (NSG) rules and user-defined routes for private endpoints. Las reglas de NSG que se aplican a la subred que hospeda el punto de conexión privado solo se aplican a puntos de conexión distintos del privado (por ejemplo, NICs).NSG rules applied to the subnet hosting the private endpoint are only applied to other endpoints (e.g. NICs) than the private endpoint. Una solución alternativa limitada para este problema es implementar las reglas de acceso para los puntos de conexión privados en las subredes de origen, aunque este enfoque puede requerir mayor sobrecarga de administración.A limited workaround for this issue is to implement your access rules for private endpoints on the source subnets, though this approach may require a higher management overhead.

Pasos siguientesNext steps