Tutorial: Restricción del acceso de red a los recursos de PaaS con puntos de conexión de servicio de red virtual
Artículo
Los puntos de conexión de servicio de red virtual permiten que el acceso de la red a algunos recursos de servicio de Azure esté restringido a una subred de la red virtual. También se puede quitar el acceso de Internet a los recursos. Los puntos de conexión de servicio proporcionan a la red virtual conexión directa con los servicios de Azure compatibles, de modo que se puede usar el espacio de direcciones privadas de la red virtual para acceder a los servicios de Azure. El tráfico destinado a los recursos de Azure a través de los puntos de conexión de servicio siempre se mantiene en la red troncal de Microsoft Azure.
En este tutorial, aprenderá a:
Crear una red virtual con una subred
Agregar una subred y habilitar un punto de conexión de servicio
Crear un recurso de Azure y permitir que la red solo pueda acceder a él desde una subred
Implementar una máquina virtual en cada subred
Confirmar el acceso a un recurso desde una subred
Confirmar que se ha denegado el acceso a un recurso desde una subred e Internet
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Azure Cloud Shell
En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.
Para iniciar Azure Cloud Shell:
Opción
Ejemplo o vínculo
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell.
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador.
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal.
Para usar Azure Cloud Shell:
Inicie Cloud Shell.
Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.
Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.
Seleccione Enter para ejecutar el código o comando.
Si decide instalar y usar PowerShell de forma local, para realizar los pasos de este artículo necesita la versión 1.0.0 del módulo de Azure PowerShell o cualquier versión posterior. Ejecute Get-Module -ListAvailable Az para buscar la versión instalada. Si necesita actualizarla, consulte Instalación del módulo de Azure PowerShell. Si PowerShell se ejecuta localmente, también debe ejecutar Connect-AzAccount para crear una conexión con Azure.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
En este artículo se necesita la versión 2.0.28 o posterior de la CLI de Azure. Si usa Azure Cloud Shell, ya está instalada la versión más reciente.
El procedimiento siguiente crea una red virtual con una subred de recursos, una subred de Azure Bastion y un host de Bastion:
En el portal, busque y seleccione Redes virtuales.
En la página Redes virtuales, seleccione y Crear.
En la pestaña Datos básicos de Crear red virtual, escriba o seleccione la siguiente información:
Configuración
Valor
Detalles del proyecto
Suscripción
Selecciona tu suscripción.
Resource group
Seleccione Crear nuevo. Escriba test-rg para el nombre. Seleccione Aceptar.
Detalles de instancia
Nombre
Escriba vnet-1.
Region
Seleccione Este de EE. UU. 2.
Seleccione Siguiente para ir a la pestaña Seguridad.
En la sección Azure Bastion, seleccione Habilitar Azure Bastion.
Bastion usa el explorador para conectarse a las máquinas virtuales de la red virtual a través del shell seguro (SSH) o el protocolo de escritorio remoto (RDP) mediante sus direcciones IP privadas. Las máquinas virtuales no necesitan direcciones IP públicas, software cliente ni configuración especial. Para más información, consulte ¿Qué es Azure Bastion?.
Nota:
Los precios por hora comienzan desde el momento en que se implementa Bastion, independientemente del uso de datos salientes. Para más información, consulte Precios y SKU. Si va a implementar Bastion como parte de un tutorial o prueba, se recomienda eliminar este recurso una vez que haya terminado de usarlo.
En Azure Bastion, escriba o seleccione la información siguiente:
Configuración
Valor
Nombre de host de Azure Bastion
Escriba bastión.
Dirección IP pública de Azure Bastion
Seleccione Crear una dirección IP pública. Escriba public-ip-bastion en Nombre. Seleccione Aceptar.
Seleccione Siguiente para continuar a la pestaña Direcciones IP.
En el cuadro espacio de direcciones de Subredes, seleccione la subred predeterminada.
En Agregar subred, escriba o seleccione la información siguiente:
Configuración
Valor
Propósito de la subred
Deje el valor predeterminado Predeterminado.
Nombre
Escriba subnet-1.
IPv4
Intervalo de direcciones IPv4
Deje el valor predeterminado de 10.0.0.0/16.
Dirección inicial
Deje el valor predeterminado de 10.0.0.0.
Size
Deje el valor predeterminado de /24 (256 direcciones).
Seleccione Guardar.
En la parte inferior de la ventana, seleccione Revisar y crear. Cuando se supera la validación, seleccione Crear.
Los punto de conexión de servicio están habilitados por servicio, por subred.
En el cuadro de búsqueda de la parte superior de la página portal, escriba Red virtual. En los resultados de la búsqueda, seleccione Redes virtuales.
En Redes virtuales, seleccione vnet-1.
En la sección Configuración de vnet-1, seleccione Subredes.
Seleccione +Subred.
En la página Agregar subred, escriba o seleccione la siguiente información:
Antes de crear una red virtual, cree un grupo de recursos para ella y los demás recursos que se crearon en este artículo. Cree un grupo de recursos con New-AzResourceGroup. En el ejemplo siguiente se crea un grupo de recursos denominado test-rg:
Cree una red virtual con New-AzVirtualNetwork. En el ejemplo siguiente se crea una red virtual denominada vnet-1 con un prefijo de la dirección 10.0.0.0/16.
Cree una configuración de subred con New-AzVirtualNetworkSubnetConfig. En el ejemplo siguiente se crea una configuración de subred para una subred denominada subnet-public:
Cree la subred en la red virtual escribiendo la configuración de dicha subred en la red virtual con Set-AzVirtualNetwork:
$virtualNetwork | Set-AzVirtualNetwork
Cree otra subred en la red virtual. En este ejemplo, se crea una subred denominada subnet-private con un punto de conexión de servicio para Microsoft.Storage:
Azure Bastion usa el explorador para conectarse a las máquinas virtuales de la red virtual a través del shell seguro (SSH) o el protocolo de escritorio remoto (RDP) mediante sus direcciones IP privadas. Las máquinas virtuales no necesitan direcciones IP públicas, software cliente ni configuración especial. Para más información sobre Bastion, consulte ¿Qué es Azure Bastion?
Los precios por hora comienzan desde el momento en que se implementa Bastion, independientemente del uso de datos salientes. Para más información, consulte Precios y SKU. Si va a implementar Bastion como parte de un tutorial o prueba, se recomienda eliminar este recurso una vez que haya terminado de usarlo.
Configure la subred de Azure Bastion en la red virtual. Esta subred se reservará exclusivamente para los recursos de Azure Bastion y debe denominarse AzureBastionSubnet.
Los recursos de Bastion tardarán aproximadamente 10 minutos en implementarse. En la siguiente sección, podrá crear una máquina virtual mientras Bastion se implementa en la red virtual.
Creación de una red virtual
Antes de crear una red virtual, cree un grupo de recursos para ella y los demás recursos que se crearon en este artículo. Cree un grupo de recursos con az group create. En el ejemplo siguiente se crea un grupo de recursos denominado test-rg en la ubicación westus2.
az group create \
--name test-rg \
--location westus2
Puede habilitar puntos de conexión de servicio únicamente para los servicios que admiten estos puntos de conexión. Vea los servicios habilitados para puntos de conexión de servicio disponibles en una ubicación de Azure con az network vnet list-endpoint-services. En el ejemplo siguiente se devuelve una lista de servicios habilitados para puntos de conexión de servicio disponibles en la región westus2. La lista de servicios devuelta crecerá con el tiempo a medida que más servicios de Azure pasan a estar habilitados para puntos de conexión de servicio.
az network vnet list-endpoint-services \
--location westus2 \
--out table
Cree otra subred en la red virtual con az network vnet subnet create. En este ejemplo, se crea un punto de conexión de servicio para Microsoft.Storage para la subred:
De forma predeterminada, todas las instancias de máquina virtual de una subred se pueden comunicar con cualquier recurso. Puede limitar la comunicación hacia y desde todos los recursos de una subred mediante la creación de un grupo de seguridad de red y su asociación a la subred.
En el cuadro de búsqueda que aparece en la parte superior de la página del portal, busque Grupo de seguridad de red. En los resultados de la búsqueda, seleccione Grupos de seguridad de red.
En Grupos de seguridad de red, seleccione + Crear.
En la pestaña Conceptos básicos de la opción Crear un grupo de seguridad de red, escriba o seleccione esta información:
Configuración
Valor
Detalles del proyecto
Suscripción
Selecciona tu suscripción.
Resource group
Seleccione test-rg.
Detalles de instancia
Nombre
Escriba nsg-storage.
Region
Seleccione Este de EE. UU. 2.
Seleccione Revisar y crear y, luego, Crear.
Cree un grupo de seguridad de red con New-AzNetworkSecurityGroup. En el ejemplo siguiente, se crea un grupo de seguridad de red denominado nsg-private.
En el cuadro de búsqueda que aparece en la parte superior de la página del portal, busque Grupo de seguridad de red. En los resultados de la búsqueda, seleccione Grupos de seguridad de red.
Seleccione nsg-storage.
En Configuración, seleccione Reglas de seguridad de salida.
Seleccione +Agregar.
Cree una regla que permita la comunicación saliente con el servicio Azure Storage. En Agregar regla de seguridad de entrada, escriba o seleccione la siguiente información:
Configuración
Valor
Source
Seleccione Service Tag (Etiqueta de servicio).
Etiqueta de servicio de origen
Seleccione VirtualNetwork.
Source port ranges
Deje el valor predeterminado de *.
Destination
Seleccione Service Tag (Etiqueta de servicio).
Etiqueta de servicio de destino
Seleccione Storage.
Servicio
Deje el valor predeterminado de Personalizado.
Intervalos de puertos de destino
Escriba 445.
Protocolo
Seleccione Cualquiera.
Acción
seleccione Permitir.
Priority
Deje el valor predeterminado, 100.
Nombre
Escriba allow-storage-all.
Seleccione +Agregar.
Cree otra regla de seguridad de salida que deniegue la comunicación a Internet. Esta regla invalida una regla predeterminada en todos los grupos de seguridad de red que permite la comunicación saliente de Internet. Complete los pasos anteriores con los siguientes valores en Agregar regla de seguridad de salida:
Configuración
Valor
Source
Seleccione Service Tag (Etiqueta de servicio).
Etiqueta de servicio de origen
Seleccione VirtualNetwork.
Source port ranges
Deje el valor predeterminado de *.
Destination
Seleccione Service Tag (Etiqueta de servicio).
Etiqueta de servicio de destino
seleccione Internet.
Servicio
Deje el valor predeterminado de Personalizado.
Intervalos de puertos de destino
Escriba *.
Protocolo
Seleccione Cualquiera.
Acción
Seleccione Denegar.
Priority
Deje el valor predeterminado 110.
Nombre
Escriba deny-internet-all.
Seleccione Agregar.
En el cuadro de búsqueda que aparece en la parte superior de la página del portal, busque Grupo de seguridad de red. En los resultados de la búsqueda, seleccione Grupos de seguridad de red.
Seleccione nsg-storage.
Seleccione Subredes en Configuración.
Seleccione + Asociar.
En Asociar subred, seleccione vnet-1 en Red virtual. Seleccione subred-private en Subred.
Seleccione Aceptar.
Cree reglas de seguridad de grupo de seguridad de red con New-AzNetworkSecurityRuleConfig. La siguiente regla permite el acceso de salida a las direcciones IP públicas asignadas al servicio Azure Storage:
La siguiente regla deniega el acceso a todas las direcciones IP públicas. La regla anterior invalida esta regla porque su prioridad es más alta, lo que permite el acceso a las direcciones IP públicas de Azure Storage.
# Retrieve the existing network security group
$nsgpriv = @{
ResourceGroupName = 'test-rg'
Name = 'nsg-private'
}
$nsg = Get-AzNetworkSecurityGroup @nsgpriv
# Add the new rules to the security group
$nsg.SecurityRules += $rule1
$nsg.SecurityRules += $rule2
# Update the network security group with the new rules
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $nsg
Asocie el grupo de seguridad de red a la subred subnet-private con Set-AzVirtualNetworkSubnetConfig y escriba la configuración de la subred en la red virtual. En el ejemplo siguiente se asocia el grupo de seguridad de red nsg-private a la subred subnet-private:
Cree reglas de seguridad con az network nsg rule create. La siguiente regla permite el acceso de salida a las direcciones IP públicas asignadas al servicio Azure Storage:
Cada grupo de seguridad de red contiene varias reglas de seguridad predeterminadas. La regla siguiente invalida una regla de seguridad predeterminada que permite el acceso de salida a todas las direcciones IP públicas. La opción destination-address-prefix "Internet" deniega el acceso de salida a todas las direcciones IP públicas. La regla anterior invalida esta regla porque su prioridad es más alta, lo que permite el acceso a las direcciones IP públicas de Azure Storage.
La siguiente regla permite la entrada de tráfico SSH en la subred desde cualquier lugar. La regla invalidará cualquier regla de seguridad predeterminada que deniegue todo el tráfico de entrada procedente de Internet. SSH se admite en la subred, por lo que dicha conectividad podrá probarse en un paso posterior.
Asocie el grupo de seguridad de red a la subred subnet-private con az network vnet subnet update. En el ejemplo siguiente se asocia el grupo de seguridad de red nsg-private a la subred subnet-private:
Los pasos que deben seguirse para restringir el acceso de la red a los recursos creados a través de los servicios de Azure, que se habilitan para los puntos de conexión del servicio, varían de un servicio a otro. Consulte en la documentación de cada servicio concreto los pasos necesarios para dicho servicio. Como ejemplo, de aquí en adelante se explican los pasos necesarios para restringir el acceso de red en una cuenta de Azure Storage.
Crear una cuenta de almacenamiento
Cree una cuenta de Azure Storage para los pasos descritos en este artículo. Si ya tiene una cuenta de almacenamiento, puede usarla.
En el cuadro de búsqueda que aparece en la parte superior del portal, escriba Cuenta de almacenamiento. En los resultados de la búsqueda, seleccione Cuentas de almacenamiento.
Seleccione + Create (+ Crear).
En la pestaña Aspectos básicos de la página Crear cuenta de almacenamiento, escriba o seleccione la información siguiente:
Configuración
Valor
Detalles del proyecto
Subscription
Seleccione su suscripción a Azure.
Grupo de recursos
Seleccione test-rg.
Detalles de instancia
Nombre de la cuenta de almacenamiento
Escriba storage1. Si el nombre no está disponible, escriba un nombre único.
Location
Seleccione (EE. UU.) Este de EE. UU. 2.
Rendimiento
Deje el valor predeterminado Estándar.
Redundancia
Seleccione Almacenamiento con redundancia local (LRS) .
Seleccione Review (Revisar).
Seleccione Crear.
Cree una cuenta de almacenamiento de Azure con New-AzStorageAccount. Remplace <replace-with-your-unique-storage-account-name> por un nombre que sea único en todas las ubicaciones de Azure, que tenga entre 3 y 24 caracteres de longitud y que esté compuesto exclusivamente de números y letras en minúscula.
Para los objetivos de este tutorial, la cadena de conexión se usa para conectarse a la cuenta de almacenamiento. Microsoft recomienda usar el flujo de autenticación más seguro disponible. El flujo de autenticación descrito en este procedimiento requiere un alto grado de confianza en la aplicación y conlleva riesgos que no están presentes en otros flujos. Solo debe usar este flujo cuando otros flujos más seguros, como las identidades administradas, no sean viables.
La clave se utiliza para crear un recurso compartido de archivos en un paso posterior. Escriba $storageAcctKey y anote el valor. Puede escribirlo manualmente en un paso posterior al asignar el recurso compartido de archivos a una unidad de una máquina virtual.
Los pasos que deben seguirse para restringir el acceso de la red a los recursos creados con servicios de Azure habilitados para puntos de conexión de servicio varían en función del servicio. Consulte en la documentación de cada servicio concreto los pasos necesarios para dicho servicio. Como ejemplo, de aquí en adelante se explican los pasos necesarios para restringir el acceso de red en una cuenta de Azure Storage.
Crear una cuenta de almacenamiento
Cree una cuenta de almacenamiento de Azure con az storage account create. Remplace <replace-with-your-unique-storage-account-name> por un nombre que sea único en todas las ubicaciones de Azure, que tenga entre 3 y 24 caracteres de longitud y que esté compuesto exclusivamente de números y letras en minúscula.
Después de crear la cuenta de almacenamiento, recupere la cadena de conexión para dicha cuenta en una variable con az storage account show-connection-string. La cadena de conexión se utiliza para crear un recurso compartido de archivos en un paso posterior.
Para los objetivos de este tutorial, la cadena de conexión se usa para conectarse a la cuenta de almacenamiento. Microsoft recomienda usar el flujo de autenticación más seguro disponible. El flujo de autenticación descrito en este procedimiento requiere un alto grado de confianza en la aplicación y conlleva riesgos que no están presentes en otros flujos. Solo debe usar este flujo cuando otros flujos más seguros, como las identidades administradas, no sean viables.
En el cuadro de búsqueda que aparece en la parte superior del portal, escriba Cuenta de almacenamiento. En los resultados de la búsqueda, seleccione Cuentas de almacenamiento.
En Cuentas de almacenamiento, seleccione la cuenta de almacenamiento que creó en el paso anterior.
En Almacenamiento de datos, seleccione Recursos compartidos de archivos.
Seleccione + Recurso compartido de archivos.
En Nuevo recurso compartido de archivos, escriba o seleccione la información siguiente:
Configuración
Value
Nombre
Escriba file-share.
Nivel
Deje el valor predeterminado de Optimizado para transacciones.
Seleccione Siguiente: Copia de seguridad.
Anule la selección de Habilitar copia de seguridad.
Seleccione Revisar y crear y, luego, Crear.
Cree un contexto para la clave y la cuenta de almacenamiento con New-AzStorageContext. El contexto encapsula el nombre y la clave de la cuenta de almacenamiento:
Cree un recurso compartido de archivos en la cuenta de almacenamiento con az storage share create. En un paso posterior, este recurso compartido de archivos está montado para confirmar el acceso de red a él.
De forma predeterminada, las cuentas de almacenamiento aceptan conexiones de red procedentes de clientes de cualquier red, incluido Internet. Puede restringir tanto el acceso a la red desde Internet como a las demás subredes de todas las redes virtuales (excepto a la subred subnet-private de la red virtual vnet-1).
Para restringir acceso de la red a una subred:
En el cuadro de búsqueda que aparece en la parte superior del portal, escriba Cuenta de almacenamiento. En los resultados de la búsqueda, seleccione Cuentas de almacenamiento.
Seleccione la cuenta de almacenamiento.
En Seguridad y redes, seleccione Redes.
En la pestaña Firewalls y redes virtuales, en Habilitado desde redes virtuales y direcciones IP seleccionadas en Acceso a la red pública.
En Redes virtuales, seleccione + Agregar red virtual existente.
En Agregar redes, escriba o seleccione la información siguiente:
Configuración
Valor
Suscripción
Seleccione su suscripción.
Redes virtuales
Seleccione vnet-1.
Subredes
Seleccione subnet-private.
Seleccione Agregar.
Seleccione Guardar para guardar las configuraciones de la red virtual.
De forma predeterminada, las cuentas de almacenamiento aceptan conexiones de red procedentes de clientes de cualquier red. Para limitar el acceso a redes seleccionadas, cambie la acción predeterminada a Deny con Update-AzStorageAccountNetworkRuleSet. Una vez que se deniega el acceso a la red, no se puede acceder a la cuenta de almacenamiento desde ninguna red.
De forma predeterminada, las cuentas de almacenamiento aceptan conexiones de red procedentes de clientes de cualquier red. Para limitar el acceso a redes seleccionadas, cambie la acción predeterminada a Deny con az storage account update. Una vez que se deniega el acceso a la red, no se puede acceder a la cuenta de almacenamiento desde ninguna red.
Para probar el acceso de la red a una cuenta de almacenamiento, implemente una máquina virtual en cada subred.
Creación de una máquina virtual de prueba
El procedimiento siguiente crea una máquina virtual (VM) de prueba denominada vm-1 en la red virtual.
En el portal, busque y seleccione Máquinas virtuales.
En Máquinas virtuales, seleccione + Crear y, después, Máquina virtual de Azure.
En la pestaña Datos básicos de Crear una máquina virtual, escriba o seleccione la siguiente información:
Configuración
Valor
Detalles del proyecto
Suscripción
Selecciona tu suscripción.
Resource group
Seleccione test-rg.
Detalles de instancia
Nombre de la máquina virtual
Escriba vm-1.
Region
Seleccione Este de EE. UU. 2.
Opciones de disponibilidad
Seleccione No se requiere redundancia de la infraestructura.
Tipo de seguridad
Deje el valor predeterminado Estándar.
Imagen
Selecciona Windows Server 2022 Datacenter - x64 Gen2.
Arquitectura VM
Deje el valor predeterminado, x64.
Size
Seleccione un tamaño.
Cuenta de administrador
Tipo de autenticación
Seleccione Contraseña.
Nombre de usuario
escriba usuarioazure.
Contraseña
Escriba una contraseña.
Confirmar contraseña
Reescriba la contraseña.
Reglas de puerto de entrada
Puertos de entrada públicos
Seleccione Ninguno.
Seleccione la pestaña Redes en la parte superior de la página.
En la pestaña Redes, escriba o seleccione la siguiente información:
Parámetro
Valor
Interfaz de red
Virtual network
Seleccione vnet-1.
Subnet
Seleccione subnet-1 (10.0.0.0/24).
Dirección IP pública
Selecciona Ninguno.
Grupo de seguridad de red de NIC
Seleccione Advanced (Avanzadas).
Configuración del grupo de seguridad de red
Seleccione Crear nuevo. Escriba nsg-1 como nombre. Deje el resto de los valores predeterminados y seleccione Aceptar.
Deje el resto de las opciones en sus valores predeterminados y luego seleccione Revisar + crear.
Revise la configuración y seleccione Crear.
Nota
Las máquinas virtuales de una red virtual con un host bastión no necesitarán direcciones IP públicas. Bastion proporcionará la dirección IP pública y las máquinas virtuales usarán direcciones IP privadas para comunicarse dentro de la red. Es posible quitar las direcciones IP públicas de cualquier máquina virtual en redes virtuales hospedadas por Bastion. Para obtener más información, consulte Desasociación de una dirección IP pública de una máquina virtual de Azure.
Nota:
Azure proporciona una dirección IP de acceso de salida predeterminada para las máquinas virtuales que no tienen asignada una dirección IP pública o están en el grupo back-end de un equilibrador de carga de Azure básico interno. El mecanismo de dirección IP de acceso de salida predeterminado proporciona una dirección IP de salida que no se puede configurar.
La dirección IP de acceso de salida predeterminada está deshabilitada cuando se produce uno de los siguientes eventos:
Se asigna una dirección IP pública a la máquina virtual.
La máquina virtual se coloca en el grupo back-end de un equilibrador de carga estándar, con o sin reglas de salida.
Se asigna un recurso de Azure NAT Gateway a la subred de la máquina virtual.
Las máquinas virtuales creadas mediante conjuntos de escalado de máquinas virtuales en modo de orquestación flexible no tienen acceso de salida predeterminado.
Repita los pasos de la sección anterior para crear una segunda máquina virtual. Reemplace los valores siguientes en Creación de una máquina virtual:
Configuración
Value
Nombre de la máquina virtual
Escriba vm-private.
Subnet
Seleccione subnet-private.
Dirección IP pública
Selecciona Ninguno.
Grupo de seguridad de red de NIC
Seleccione Ninguno.
Advertencia
No continúe con el paso siguiente hasta que la implementación haya finalizado.
Creación de la primera máquina virtual
Cree una máquina virtual en la subred subnet-public con New-AzVM. Cuando ejecute el comando siguiente, se le solicitarán las credenciales. Los valores que especifique se configuran como el nombre de usuario y la contraseña de la máquina virtual.
La operación de creación de la máquina virtual para Azure tarda unos minutos. No continúe con el paso siguiente hasta que Azure termine de crear la máquina virtual y devuelva la salida a PowerShell.
Para probar el acceso de la red a una cuenta de almacenamiento, implemente una máquina virtual en cada subred.
Creación de la primera máquina virtual
Cree una máquina virtual en la subred subnet-public con az vm create. Si las claves SSH no existen en la ubicación de claves predeterminada, el comando las crea. Para utilizar un conjunto específico de claves, utilice la opción --ssh-key-value.
La máquina virtual tarda en crearse unos minutos. Después de crear la máquina virtual, la CLI de Azure muestra información similar a la del ejemplo siguiente:
La máquina virtual que creó anteriormente que se asigna a la subred subnet-private se usa para confirmar el acceso a la cuenta de almacenamiento. La máquina virtual que creó en la sección anterior que se asigna a la subred subned-1 se usa para confirmar que el acceso a la cuenta de almacenamiento está bloqueado.
Obtener clave de acceso de la cuenta de almacenamiento
En el cuadro de búsqueda que aparece en la parte superior del portal, escriba Cuenta de almacenamiento. En los resultados de la búsqueda, seleccione Cuentas de almacenamiento.
En Cuentas de almacenamiento, seleccione la cuenta de almacenamiento.
En Seguridad y redes, seleccione Claves de acceso.
Copie el valor de key1. Es posible que tenga que seleccionar el botón Mostrar para mostrar la clave.
En el cuadro de búsqueda que aparece en la parte superior del portal, escriba Máquina virtual. En los resultados de la búsqueda, seleccione Máquinas virtuales.
Seleccione vm-private.
Seleccione Bastion en Operaciones.
Escriba el nombre de usuario y la contraseña que especificó al crear la máquina virtual. Seleccione Conectar.
Abra Windows PowerShell. Use el siguiente script para asignar el recurso compartido de archivos de Azure a la unidad Z.
Reemplace <storage-account-key> con el nombre de la clave que copió en el paso anterior.
Reemplace <storage-account-name> por el nombre de la cuenta de almacenamiento. En este ejemplo, es storage8675.
PowerShell devuelve una salida similar a la del ejemplo siguiente:
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z FileSystem \\storage8675.file.core.windows.net\f...
El recurso compartido de archivos de Azure se ha asignado correctamente a la unidad Z.
Cierre la conexión de Bastion a vm-private.
La máquina virtual que creó anteriormente que se asigna a la subred subnet-private se usa para confirmar el acceso a la cuenta de almacenamiento. La máquina virtual que creó en la sección anterior que se asigna a la subred subned-1 se usa para confirmar que el acceso a la cuenta de almacenamiento está bloqueado.
Obtener clave de acceso de la cuenta de almacenamiento
En el cuadro de búsqueda que aparece en la parte superior del portal, escriba Cuenta de almacenamiento. En los resultados de la búsqueda, seleccione Cuentas de almacenamiento.
En Cuentas de almacenamiento, seleccione la cuenta de almacenamiento.
En Seguridad y redes, seleccione Claves de acceso.
Copie el valor de key1. Es posible que tenga que seleccionar el botón Mostrar para mostrar la clave.
En el cuadro de búsqueda que aparece en la parte superior del portal, escriba Máquina virtual. En los resultados de la búsqueda, seleccione Máquinas virtuales.
Seleccione vm-private.
En la página Información general, seleccione Conectar y, después, Conectar a través de Bastion.
Escriba el nombre de usuario y la contraseña que especificó al crear la máquina virtual. Seleccione Conectar.
Abra Windows PowerShell. Use el siguiente script para asignar el recurso compartido de archivos de Azure a la unidad Z.
Reemplace <storage-account-key> con el nombre de la clave que copió en el paso anterior.
Reemplace <storage-account-name> por el nombre de la cuenta de almacenamiento. En este ejemplo, es storage8675.
PowerShell devuelve una salida similar a la del ejemplo siguiente:
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z FileSystem \\storage8675.file.core.windows.net\f...
El recurso compartido de archivos de Azure se ha asignado correctamente a la unidad Z.
Asegúrese de que la máquina virtual no tiene conectividad de salida con otras direcciones IP públicas:
ping bing.com
Dado que el grupo de seguridad de red asociado a la subred Privada no permite el acceso de salida a otras direcciones IP públicas que no sean las direcciones asignadas al servicio Azure Storage, no recibirá ninguna respuesta.
Cierre la conexión de Bastion a vm-private.
SSH en la máquina virtual vm-private.
Ejecute el siguiente comando para almacenar la dirección IP de la máquina virtual como variable de entorno:
export IP_ADDRESS=$(az vm show --show-details --resource-group test-rg --name vm-private --query publicIps --output tsv)
ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
Cree una carpeta para un punto de montaje:
sudo mkdir /mnt/file-share
Monte el recurso compartido de archivos de Azure en el directorio que ha creado. Antes de ejecutar el siguiente comando, reemplace <storage-account-name> con el nombre de cuenta y <storage-account-key> con la clave que recuperada en Crear una cuenta de almacenamiento.
sudo mount --types cifs //<storage-account-name>.file.core.windows.net/my-file-share /mnt/file-share --options vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
Recibirá el símbolo del sistema user@vm-private:~$. El recurso compartido de archivos de Azure se montó correctamente en /mnt/file-share.
Asegúrese de que la máquina virtual no tiene conectividad de salida con otras direcciones IP públicas:
ping bing.com -c 4
Dado que el grupo de seguridad de red asociado a la subred subnet-private no permite el acceso de salida a otras direcciones IP públicas que no sean las direcciones asignadas al servicio Azure Storage, no recibirá ninguna respuesta.
Cierre la sesión de SSH en la máquina virtual vm-private.
Confirmación de la denegación del acceso a la cuenta de almacenamiento
En el cuadro de búsqueda que aparece en la parte superior del portal, escriba Máquina virtual. En los resultados de la búsqueda, selecciona Máquinas virtuales.
Seleccione vm-1.
Seleccione Bastion en Operaciones.
Escriba el nombre de usuario y la contraseña que especificó al crear la máquina virtual. Seleccione Conectar.
Repita el comando anterior para intentar asignar la unidad al recurso compartido de archivos en la cuenta de almacenamiento. Es posible que tenga que volver a copiar la clave de acceso de la cuenta de almacenamiento para este procedimiento:
En el cuadro de búsqueda que aparece en la parte superior del portal, escriba Cuenta de almacenamiento. En los resultados de la búsqueda, seleccione Cuentas de almacenamiento.
En Cuentas de almacenamiento, seleccione la cuenta de almacenamiento.
En Almacenamiento de datos, seleccione Recursos compartidos de archivos.
Seleccione file-share.
Seleccione Examinar en el menú de la izquierda.
Debería recibir el siguiente mensaje de error:
Nota:
El acceso se deniega porque el equipo no se encuentra en la subred subnet-private de la red virtual vnet-1.
De vm-1
En el cuadro de búsqueda que aparece en la parte superior del portal, escriba Máquina virtual. En los resultados de la búsqueda, selecciona Máquinas virtuales.
Seleccione vm-1.
Seleccione Bastion en Operaciones.
Escriba el nombre de usuario y la contraseña que especificó al crear la máquina virtual. Seleccione Conectar.
Repita el comando anterior para intentar asignar la unidad al recurso compartido de archivos en la cuenta de almacenamiento. Es posible que tenga que volver a copiar la clave de acceso de la cuenta de almacenamiento para este procedimiento:
Se denegó el acceso. Recibirá una salida similar a la del ejemplo siguiente.
Get-AzStorageFile : The remote server returned an error: (403) Forbidden. HTTP Status Code: 403 - HTTP Error Message: This request isn't authorized to perform this operation
El equipo no está en la subred subnet-private de la red virtual vnet-1.
SSH en la máquina vm-public.
Ejecute el siguiente comando para almacenar la dirección IP de la máquina virtual como variable de entorno:
export IP_ADDRESS=$(az vm show --show-details --resource-group test-rg --name vm-public --query publicIps --output tsv)
ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
Cree un directorio para un punto de montaje:
sudo mkdir /mnt/file-share
Intente montar el recurso compartido de archivos de Azure en el directorio que ha creado. En este artículo se asume que ha implementado la versión más reciente de Ubuntu. Si está utilizando versiones anteriores de Ubuntu, consulte Montaje en Linux para más instrucciones sobre el montaje de recursos compartidos de archivos. Antes de ejecutar el siguiente comando, reemplace <storage-account-name> con el nombre de cuenta y <storage-account-key> con la clave que recuperada en Crear una cuenta de almacenamiento:
sudo mount --types cifs //storage-account-name>.file.core.windows.net/file-share /mnt/file-share --options vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
El acceso se deniega y recibe un error mount error(13): Permission denied porque la máquina virtual vm-public está implementada dentro la subred subnet-public. La subred subnet-public no tiene ningún punto de conexión de servicio habilitado para Azure Storage y la cuenta de almacenamiento solo permite el acceso de red desde la subred subnet-private, no desde la subred subnet-public.
Cierre la sesión de SSH en la máquina virtual vm-public.
Desde su equipo, intente ver los recursos compartidos en la cuenta de almacenamiento con az storage share list. Reemplace <account-name> y <account-key> con el nombre de la cuenta de almacenamiento y la clave de Crear una cuenta de almacenamiento:
az storage share list \
--account-name <account-name> \
--account-key <account-key>
El acceso se deniega y recibe el error Esta solicitud no está autorizada para realizar esta operación porque el equipo no está en la subred subnet-private de la red virtual vnet-1.
Cuando termine de usar los recursos que creó, puede eliminar el grupo de recursos y todos sus recursos.
En Azure Portal, busque y seleccione Grupos de recursos.
En la página Grupos de recursos, seleccione el grupo de recursos test-rg.
En la página test-rg, elija Eliminar grupo de recursos.
Escriba test-rg en Introducir nombre del grupo de recursos para confirmar la eliminación y, luego, seleccione Eliminar.
Cuando ya no lo necesite, puede usar Remove-AzResourceGroup para quitar el grupo de recursos y todos los recursos que contiene:
$cleanup = @{
Name = "test-rg"
}
Remove-AzResourceGroup @cleanup -Force
Limpieza de recursos
Cuando ya no se necesiten, use az group delete para quitar el grupo de recursos y todos los recursos que contenga.
az group delete \
--name test-rg \
--yes \
--no-wait
Pasos siguientes
En este tutorial:
Ha habilitado un punto de conexión de servicio para una subred de red virtual.
Ha aprendido que puede habilitar puntos de conexión de servicio para los recursos implementados desde varios servicios de Azure.
Ha creado una cuenta de Azure Storage y ha restringido el acceso de la red a la cuenta de almacenamiento que se encuentra en una subred de la red virtual.
Si tiene varias redes virtuales en su cuenta, puede establecer conectividad entre ellas para que los recursos puedan comunicarse entre sí. Para aprender a conectar redes virtuales, pase al siguiente tutorial.