Configuración del tráfico de red entrante y saliente
En este artículo, obtendrá información sobre los requisitos de comunicación de red al proteger el área de trabajo de Azure Machine Learning en una red virtual (VNet). Incluye el procedimiento de configuración de Azure Firewall para controlar el acceso al área de trabajo de Azure Machine Learning y a la red pública de Internet. Para obtener más información sobre la protección de Azure Machine Learning, consulte Seguridad de empresa para Azure Machine Learning.
Nota
La información de este artículo se aplica al área de trabajo de Azure Machine Learning configurada con un punto de conexión privado.
Sugerencia
Este artículo forma parte de una serie sobre la protección de un flujo de trabajo de Azure Machine Learning. Consulte los demás artículos de esta serie:
Puertos conocidos
Los siguientes son puertos conocidos que usan los servicios enumerados en este artículo. Si en este artículo se usa un intervalo de puertos que no aparece en esta sección, es específico del servicio y es posible que no haya publicada información acerca de para qué se usa:
Port | Descripción |
---|---|
80 | Tráfico web no seguro (HTTP) |
443 | Tráfico web seguro (HTTPS) |
445 | Tráfico SMB usado para acceder a recursos compartidos en Azure File Storage |
8787 | Se usa al conectarse a RStudio o Posit Workbench (anteriormente, RStudio Workbench) en una instancia de proceso |
18881 | Se usa para conectarse al servidor de lenguaje y habilitar IntelliSense para cuadernos en una instancia de proceso. |
Acceso obligatorio a una red de Internet pública
Azure Machine Learning requiere acceso entrante y saliente a la red pública de Internet. En las tablas siguientes se proporciona información general sobre qué acceso es necesario y para qué sirve. En el caso de las etiquetas de servicio que terminan en .region
, reemplace region
por la región de Azure que contiene el área de trabajo. Por ejemplo, Storage.westus
:
Dirección | Puertos | Etiqueta de servicio | Protocolo | Propósito |
---|---|---|---|---|
Entrada | 29876-29877 | BatchNodeManagement | TCP | Crear, actualizar y eliminar una instancia y un clúster de proceso de Azure Machine Learning. No es necesario si usa la opción Ninguna IP pública. |
Entrada | 44224 | AzureMachineLearning | TCP | Crear, actualizar y eliminar una instancia de proceso de Azure Machine Learning. No es necesario si usa la opción Ninguna IP pública. |
Salida | 80, 443 | AzureActiveDirectory | TCP | Efectuar la autenticación mediante Azure AD. |
Salida | 443, 8787, 18881 | AzureMachineLearning | TCP | Usar los servicios de Azure Machine Learning. |
Salida | 443 | BatchNodeManagement.region | TCP | Comunicación con Azure Batch back-end para los procesos. Reemplace region por la región de Azure del área de trabajo. |
Salida | 443 | AzureResourceManager | TCP | Crear recursos de Azure con Azure Machine Learning. |
Salida | 443, 445 (*) | Storage.region | TCP | Acceda a los datos almacenados en la cuenta de Azure Storage para el clúster de proceso y la instancia de proceso. Esta salida se puede usar para exfiltrar datos. Para obtener más información, consulte Protección de filtración de datos. (*) 445 solo se requiere si tiene un firewall entre la red virtual para Azure ML y un punto de conexión privado para las cuentas de almacenamiento. |
Salida | 443 | AzureFrontDoor.FrontEnd* No es necesario en Azure China. | TCP | Establecer un punto de entrada global para Estudio de Azure Machine Learning. Almacene imágenes y entornos para AutoML. |
Salida | 443 | MicrosoftContainerRegistry.regionTenga en cuenta que esta etiqueta tiene una dependencia de la etiqueta AzureFrontDoor.FirstParty. | TCP | Acceder a las imágenes de Docker proporcionadas por Microsoft. Configurar el enrutador de Azure Machine Learning para Azure Kubernetes Service. |
Salida | 443 | AzureMonitor | TCP | Se usa para registrar la supervisión y las métricas en App Insights y Azure Monitor. |
Salida | 443 | Keyvault.region | TCP | Acceda al almacén de claves del servicio Azure Batch. Solo se necesita si el área de trabajo se creó con la marca hbi_workspace habilitada. |
Salida | 5831 | AzureMachineLearning | UDP | Comunicación con Azure Machine Learning para instancias de proceso. |
Sugerencia
Si necesita las direcciones IP, en lugar de etiquetas de servicio, use una de las siguientes opciones:
- Descargue una lista de intervalos de direcciones IP y etiquetas de servicio de Azure.
- Use el comando az network list-service-tags de la CLI de Azure.
- Use el comando Get-AzNetworkServiceTag de Azure PowerShell.
Las direcciones IP pueden cambiar periódicamente.
Importante
Al usar un clúster de proceso que no está configurado para ninguna dirección IP pública, debe permitir el tráfico siguiente:
- Entrada desde el origen de VirtualNetwork y cualquier origen de puerto al destino de VirtualNetwork y puerto de destino de 29876, 29877.
- Entrada desde el origen de AzureLoadBalancer y cualquier origen de puerto al destino de VirtualNetwork y el puerto 44224 de destino.
También es posible que tenga que permitir el tráfico saliente a Visual Studio Code y a sitios que no son de Microsoft para la instalación de los paquetes requeridos por el proyecto de aprendizaje automático. En la tabla siguiente se enumeran los repositorios usados habitualmente para el aprendizaje automático:
Nombre de host | Propósito |
---|---|
anaconda.com*.anaconda.com | Se usa para instalar paquetes predeterminados. |
*.anaconda.org | Se usa para obtener datos del repositorio. |
pypi.org | Se usa para enumerar las dependencias del índice predeterminado, si hay alguna, y el índice no se sobrescribe con la configuración del usuario. Si el índice se sobrescribe, también debe permitir *.pythonhosted.org. |
cloud.r-project.org | Se usar al instalar paquetes CRAN para el desarrollo en R. |
*pytorch.org | Se usa en algunos ejemplos basados en PyTorch. |
*.tensorflow.org | Se usa en algunos ejemplos basados en TensorFlow. |
code.visualstudio.com | Necesario para descargar e instalar el escritorio de VS Code. No es necesario para VS Code Web. |
update.code.visualstudio.com*.vo.msecnd.net | Se usa para recuperar bits de servidor de VS Code que se instalan en la instancia de proceso por medio de un script de instalación. |
marketplace.visualstudio.comvscode.blob.core.windows.net*.gallerycdn.vsassets.io | Necesarios para descargar e instalar extensiones de VS Code. Permiten la conexión remota a instancias de proceso proporcionadas por la extensión de Azure ML para VS Code; para más información, consulte Conexión a una instancia de proceso de Azure Machine Learning en Visual Studio Code. |
raw.githubusercontent.com/microsoft/vscode-tools-for-ai/master/azureml_remote_websocket_server/* | Se usa para recuperar bits de servidor de WebSocket que se instalan en la instancia de proceso. El servidor de WebSocket se usa para transmitir solicitudes desde el cliente de Visual Studio Code (aplicación de escritorio) al servidor de Visual Studio Code que se ejecuta en la instancia de proceso. |
Al usar Azure Kubernetes Service (AKS) con Azure Machine Learning, habilite el tráfico siguiente a la red virtual de AKS:
- Requisitos generales de entrada y salida para AKS, tal como se describe en el artículo Restricción del tráfico de salida en Azure Kubernetes Service.
- Tráfico de salida a mcr.microsoft.com.
- Al implementar un modelo en un clúster de AKS, use las instrucciones del artículo Implementación de modelos de ML en Azure Kubernetes Service.
Azure Firewall
Importante
Azure Firewall proporciona seguridad para los recursos de Azure Virtual Network. Algunos servicios de Azure, como las cuentas de Azure Storage, tienen su propia configuración de firewall, que se aplica al punto de conexión público para esa instancia de servicio específica. La información contenida en este documento es específica de Azure Firewall.
Para obtener información sobre la configuración del firewall de la instancia del servicio, consulte Uso de Studio en una red virtual.
En el caso del tráfico de entrada al clúster y la instancia de proceso de Azure Machine Learning, utilice rutas definidas por el usuario para omitir el firewall.
En el caso del tráfico de salida, cree reglas de red y de aplicación.
Estas colecciones de reglas se describen con más detalle en ¿Cuáles son algunos de los conceptos de Azure Firewall?
Configuración de entrada
Importante
Una instancia de proceso o un clúster de proceso sin una dirección IP pública (característica en vista previa) no necesita tráfico entrante desde la administración de Azure Batch y los servicios de Azure Machine Learning. Sin embargo, si tiene varios procesos y algunos de ellos usan una dirección IP pública, deberá permitir este tráfico.
Cuando use una instancia de proceso o un clúster de proceso (con una dirección IP pública) de Azure Machine Learning, permita el tráfico entrante de la administración de Azure Batch y los servicios de Azure Machine Learning. La instancia de proceso o clúster de proceso sin dirección IP pública (versión preliminar) no requiere esta comunicación entrante. Se crea dinámicamente un grupo de seguridad de red que permite este tráfico, pero es posible que tenga que crear rutas definidas por el usuario (UDR) si tiene un firewall. Al crear una ruta definida por el usuario para este tráfico, puede usar direcciones IP o etiquetas de servicio para enrutar el tráfico.
Para el servicio Azure Machine Learning, debe agregar la dirección IP de las regiones primaria y secundaria. Para buscar la región secundaria, vea Replicación entre regiones en Azure. Por ejemplo, si Azure Machine Learning Service está en la región Este de EE. UU. 2, la región secundaria es Centro de EE. UU.
Para obtener una lista de direcciones IP del servicio Batch y Azure Machine Learning Service, descargue los intervalos IP y etiquetas de servicio de Azure y busque y AzureMachineLearning.<region>
en el archivo, donde <region>
es su región de Azure.
Importante
Las direcciones IP pueden cambiar con el tiempo.
Al crear la UDR, configure el tipo de próximo salto como Internet. Esto significa que la comunicación entrante de Azure omite el firewall para acceder a los equilibradores de carga con direcciones IP públicas de la instancia de proceso y el clúster de proceso. La UDR es necesaria porque la instancia de proceso y el clúster de proceso obtendrán direcciones IP públicas aleatorias durante su creación y el usuario no puede saber las direcciones IP públicas antes de la creación para poder registrarlas en el firewall de forma que permita la entrada de Azure a direcciones IP específicas para la instancia de proceso y el clúster de proceso. La siguiente imagen muestra un ejemplo de UDR basado en la dirección IP en Azure Portal:
Para obtener información sobre cómo configurar UDR, consulte Enrutamiento del tráfico de red con una tabla de enrutamiento.
Configuración de salida
Agregue reglas de red para permitir el tráfico hacia y desde las siguientes etiquetas de servicio:
Etiqueta de servicio Protocolo Port AzureActiveDirectory TCP 80, 443 AzureMachineLearning TCP 443, 8787, 18881 AzureResourceManager TCP 443 Storage.region TCP 443 AzureFrontDoor.FrontEnd* No es necesario en Azure China. TCP 443 AzureContainerRegistry.region TCP 443 MicrosoftContainerRegistry.regionTenga en cuenta que esta etiqueta tiene una dependencia de la etiqueta AzureFrontDoor.FirstParty. TCP 443 AzureKeyVault.region TCP 443 Sugerencia
- ContainerRegistry.region solo se requiere para imágenes personalizadas de Docker. Esto incluye pequeñas modificaciones (como paquetes adicionales) en las imágenes base proporcionadas por Microsoft.
- MicrosoftContainerRegistry.region solo es necesario si planea usar las imágenes de Docker predeterminadas proporcionadas por Microsoft y habilitar las dependencias administradas por el usuario.
- Keyvault.region solo se requiere si el área de trabajo se creó con la marca hbi_workspace habilitada.
- En el caso de las entradas que contienen
region
, reemplace este valor por la región de Azure que esté usando. Por ejemplo,AzureContainerRegistry.westus
.
Agregue reglas de aplicación para los siguientes hosts:
Nota
Esta no es una lista completa de los hosts necesarios para todos los hosts con los que es posible que tenga que comunicarse, solo de los más usados. Por ejemplo, si necesita acceder a un repositorio de GitHub o a otro host, debe identificar y agregar los hosts necesarios para ese escenario.
Nombre de host Propósito anaconda.com*.anaconda.com Se usa para instalar paquetes predeterminados. *.anaconda.org Se usa para obtener datos del repositorio. pypi.org Se usa para enumerar las dependencias del índice predeterminado, si hay alguna, y el índice no se sobrescribe con la configuración del usuario. Si el índice se sobrescribe, también debe permitir *.pythonhosted.org. cloud.r-project.org Se usar al instalar paquetes CRAN para el desarrollo en R. ghcr.iopkg-containers.githubusercontent.com La característica Aplicaciones personalizadas lo usa en una instancia de proceso para extraer imágenes del repositorio de contenedores de GitHub (ghcr.io). Por ejemplo, la imagen de RStudio o Posit Workbench se hospeda aquí. *pytorch.org Se usa en algunos ejemplos basados en PyTorch. *.tensorflow.org Se usa en algunos ejemplos basados en TensorFlow. *vscode.dev*vscode-unpkg.net*vscode-cdn.net*vscodeexperiments.azureedge.netdefault.exp-tas.com Necesario para acceder a vscode.dev (Visual Studio Code para la Web) code.visualstudio.com Necesario para descargar e instalar el escritorio de VS Code. No es necesario para VS Code Web. update.code.visualstudio.com*.vo.msecnd.net Se usa para recuperar bits de servidor de VS Code que se instalan en la instancia de proceso por medio de un script de instalación. marketplace.visualstudio.comvscode.blob.core.windows.net*.gallerycdn.vsassets.io Necesarios para descargar e instalar extensiones de VS Code. Permiten la conexión remota a instancias de proceso proporcionadas por la extensión de Azure ML para VS Code; para más información, consulte Conexión a una instancia de proceso de Azure Machine Learning en Visual Studio Code. raw.githubusercontent.com/microsoft/vscode-tools-for-ai/master/azureml_remote_websocket_server/* Se usa para recuperar bits de servidor de WebSocket que se instalan en la instancia de proceso. El servidor de WebSocket se usa para transmitir solicitudes desde el cliente de Visual Studio Code (aplicación de escritorio) al servidor de Visual Studio Code que se ejecuta en la instancia de proceso. dc.applicationinsights.azure.com Se usa para recopilar métricas e información de diagnóstico cuando se trabaja con el equipo de Soporte técnico de Microsoft. dc.applicationinsights.microsoft.com Se usa para recopilar métricas e información de diagnóstico cuando se trabaja con el equipo de Soporte técnico de Microsoft. dc.services.visualstudio.com Se usa para recopilar métricas e información de diagnóstico cuando se trabaja con el equipo de Soporte técnico de Microsoft. En Protocolo:Puerto, seleccione usar http, https.
Para obtener más información sobre la configuración de reglas de aplicación, consulte Implementación y configuración de Azure Firewall.
Para restringir el tráfico de salida para los modelos implementados en Azure Kubernetes Service (AKS), consulte los artículos Restringir el tráfico de salida en Azure Kubernetes Service y Entorno de inferencia seguro en Azure Container Service.
Proceso de Kubernetes
El clúster de Kubernetes que se ejecuta detrás de un servidor proxy o firewall de salida necesita configuración de red de salida adicional.
- Para Kubernetes con conexión de Azure Arc, configure los requisitos de red de Azure Arc necesarios para los agentes de Azure Arc.
- Para el clúster de AKS sin conexión de Azure Arc, configure los requisitos de red de la extensión de AKS.
Además de los requisitos anteriores, se requieren también las direcciones URL de salida siguientes para Azure Machine Learning,
Punto de conexión de salida | Port | Descripción | Cursos | Inferencia |
---|---|---|---|---|
*.kusto.windows.net *.table.core.windows.net *.queue.core.windows.net |
https:443 | Necesario para cargar registros del sistema en Kusto. | ✓ | ✓ |
<su nombre de ACR>.azurecr.io <su nombre de ACR>.<nombre de la región>.data.azurecr.io |
https:443 | Azure Container Registry, necesario para extraer imágenes de Docker, que se usan para las cargas de trabajo del aprendizaje automático. | ✓ | ✓ |
<el nombre de su cuenta de almacenamiento>.blob.core.windows.net | https:443 | Azure Blob Storage, necesario para capturar scripts, datos o modelos de proyectos de aprendizaje automático, y cargar registros y salidas de trabajos. | ✓ | ✓ |
<el id. de área de trabajo de AzureML>.workspace.<region>.api.azureml.ms <region>.experiments.azureml.net <region>.api.azureml.ms |
https:443 | API de Azure Machine Learning Service. | ✓ | ✓ |
pypi.org | https:443 | Índice de paquetes de Python, para instalar paquetes de PIP, usados para la inicialización del entorno de trabajo de entrenamiento. | ✓ | N/D |
archive.ubuntu.com security.ubuntu.com ppa.launchpad.net |
http:80 | Necesario para descargar los parches de seguridad necesarios. | ✓ | N/D |
Nota
<region>
es el nombre completo en minúscula de la región de Azure, por ejemplo: eastus, southeastasia.
<your AML workspace ID>
se puede encontrar en Azure Portal - la página de recursos de Machine Learning - Propiedades - Id. del área de trabajo.
Requisitos de comunicación en el clúster
Para instalar la extensión AzureMl en el proceso de Kubernetes, todos los componentes relacionados con AzureML se implementan en el espacio de nombres azureml
. Para asegurarse de que las cargas de trabajo de ML funcionan bien en el clúster, es necesario seguir la comunicación en el clúster.
- Los componentes del espacio de nombres
azureml
deben poder comunicarse con el servidor de la API de Kubernetes. - Los componentes del espacio de nombres
azureml
deben poder comunicarse entre sí. - Los componentes del espacio de nombres
azureml
deben poder comunicarse conkube-dns
ykonnectivity-agent
en el espacio de nombreskube-system
. - Si el clúster se usa para la inferencia en tiempo real, los POD de
azureml-fe-xxx
deben poder comunicarse con los POD del modelo implementado en el puerto 5001 en otro espacio de nombres. Los POD deazureml-fe-xxx
deben abrir los puertos 11001, 12001, 12101, 12201, 20000, 8000, 8001, 9001 para la comunicación interna. - Si el clúster se usa para la inferencia en tiempo real, los POD del modelo implementado deben poder comunicarse con los POD de
amlarc-identity-proxy-xxx
en el puerto 9999.
Otros firewalls
La guía de esta sección es genérica, ya que cada firewall tiene su propia terminología y configuraciones específicas. Si tiene alguna duda, consulte la documentación del firewall que utiliza.
Si no está configurado correctamente, el firewall puede provocar problemas al usar el área de trabajo. Hay una serie de nombres de host que se usan en el área de trabajo de Azure Machine Learning. En las secciones siguientes se enumeran los hosts necesarios para Azure Machine Learning.
API de dependencias
También puede usar la API REST de Azure Machine Learning para obtener una lista de hosts y puertos a los que debe permitir el tráfico saliente. Para usar esta API, siga estos pasos:
Obtenga un token de autenticación. El comando siguiente muestra cómo usar la CLI de Azure para obtener un token de autenticación y un identificador de suscripción:
TOKEN=$(az account get-access-token --query accessToken -o tsv) SUBSCRIPTION=$(az account show --query id -o tsv)
Llame a la API. En el comando siguiente, reemplace los valores siguientes:
- Reemplace
<region>
por la región de Azure en la que se encuentra el área de trabajo. Por ejemplo,westus2
. - Reemplace
<resource-group>
por el grupo de recursos que contiene el área de trabajo. - Reemplace
<workspace-name>
por el nombre del área de trabajo.
az rest --method GET \ --url "https://<region>.api.azureml.ms/rp/workspaces/subscriptions/$SUBSCRIPTION/resourceGroups/<resource-group>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>/outboundNetworkDependenciesEndpoints?api-version=2018-03-01-preview" \ --header Authorization="Bearer $TOKEN"
- Reemplace
El resultado de la llamada API es un documento JSON. El fragmento de código siguiente es un extracto de este documento:
{
"value": [
{
"properties": {
"category": "Azure Active Directory",
"endpoints": [
{
"domainName": "login.microsoftonline.com",
"endpointDetails": [
{
"port": 80
},
{
"port": 443
}
]
}
]
}
},
{
"properties": {
"category": "Azure portal",
"endpoints": [
{
"domainName": "management.azure.com",
"endpointDetails": [
{
"port": 443
}
]
}
]
}
},
...
Hosts de Microsoft
Los hosts de las siguientes tablas son propiedad de Microsoft y proporcionan servicios necesarios para que el área de trabajo funcione correctamente. Las tablas enumeran los hosts para las regiones de Azure público, Azure Government y Azure China 21Vianet.
Importante
Azure Machine Learning usa cuentas de Azure Storage en su suscripción y en suscripciones administradas por Microsoft. Cuando corresponda, se usarán los siguientes términos para diferenciarlas en esta sección:
- Su almacenamiento: las cuentas de Azure Storage de la suscripción, que se usan para almacenar los datos y artefactos como modelos, datos de entrenamiento, registros de entrenamiento y scripts de Python.>
- Almacenamiento de Microsoft: la instancia de proceso de Azure Machine Learning y los clústeres de proceso se basan en Azure Batch y deben acceder al almacenamiento ubicado en una suscripción de Microsoft. Este almacenamiento solo se usa para la administración de las instancias de proceso. Ninguno de sus datos se almacena aquí.
Hosts generales de Azure
Requerido para | Hosts | Protocolo | Puertos |
---|---|---|---|
Azure Active Directory | login.microsoftonline.com | TCP | 80, 443 |
Azure portal | management.azure.com | TCP | 443 |
Azure Resource Manager | management.azure.com | TCP | 443 |
Hosts de Azure Machine Learning
Importante
En la tabla siguiente, reemplace <storage>
por el nombre de la cuenta de almacenamiento predeterminada para el área de trabajo de Azure Machine Learning. Reemplace <region>
por la región del área de trabajo.
Requerido para | Hosts | Protocolo | Puertos |
---|---|---|---|
Azure Machine Learning Studio | ml.azure.com | TCP | 443 |
API | *.azureml.ms | TCP | 443 |
API | *.azureml.net | TCP | 443 |
Administración de modelos | *.modelmanagement.azureml.net | TCP | 443 |
Cuaderno integrado | *.<region>.notebooks.azure.net | TCP | 443 |
Cuaderno integrado | <storage>.file.core.windows.net | TCP | 443, 445 |
Cuaderno integrado | <storage>.dfs.core.windows.net | TCP | 443 |
Cuaderno integrado | <storage>.blob.core.windows.net | TCP | 443 |
Cuaderno integrado | graph.microsoft.com | TCP | 443 |
Cuaderno integrado | *.aznbcontent.net | TCP | 443 |
AutoML NLP, Visión | automlresources-prod.azureedge.net | TCP | 443 |
AutoML NLP, Visión | aka.ms | TCP | 443 |
Nota:
Actualmente, AutoML NLP, Visión solo se admite en regiones públicas de Azure.
Hosts de instancia de proceso y clúster de proceso de Azure Machine Learning
Sugerencia
- El host de Azure Key Vault solo es necesario si el área de trabajo se creó con la marca hbi_workspace habilitada.
- Los puertos 8787 y 18881 para la instancia de proceso solo son necesarios cuando el área de trabajo de Azure Machine Learning tiene un punto de conexión privado.
- En la tabla siguiente, reemplace
<storage>
por el nombre de la cuenta de almacenamiento predeterminada para el área de trabajo de Azure Machine Learning. - Debe permitirse la comunicación de Websocket a la instancia de proceso. Si bloquea el tráfico de Websocket, los cuadernos de Jupyter Notebook no funcionarán correctamente.
Requerido para | Hosts | Protocolo | Puertos |
---|---|---|---|
Instancia/clúster de proceso | graph.windows.net | TCP | 443 |
Instancia de proceso | *.instances.azureml.net | TCP | 443 |
Instancia de proceso | *.instances.azureml.ms | TCP | 443, 8787, 18881 |
Acceso al almacenamiento de Microsoft | *.blob.core.windows.net | TCP | 443 |
Acceso al almacenamiento de Microsoft | *.table.core.windows.net | TCP | 443 |
Acceso al almacenamiento de Microsoft | *.queue.core.windows.net | TCP | 443 |
Cuenta de almacenamiento | <storage>.file.core.windows.net | TCP | 443, 445 |
Cuenta de almacenamiento | <storage>.blob.core.windows.net | TCP | 443 |
Azure Key Vault | *.vault.azure.net | TCP | 443 |
Imágenes de Docker que mantiene Azure Machine Learning
Requerido para | Hosts | Protocolo | Puertos |
---|---|---|---|
Registro de contenedor de Microsoft | mcr.microsoft.com*.data.mcr.microsoft.com | TCP | 443 |
Imágenes precompiladas de Azure Machine Learning | viennaglobal.azurecr.io | TCP | 443 |
Sugerencia
- Azure Container Registry es necesario para cualquier imagen personalizada de Docker. Esto incluye pequeñas modificaciones (como paquetes adicionales) en las imágenes base proporcionadas por Microsoft.
- Microsoft Container Registry solo es necesario si planea usar las imágenes de Docker predeterminadas proporcionadas por Microsoft y habilitar las dependencias administradas por el usuario.
- Si tiene previsto usar la identidad federada, siga el artículo Procedimientos recomendados para proteger los Servicios de federación de Active Directory (AD FS).
Además, use la información de la sección Configuración de entrada para agregar direcciones IP para BatchNodeManagement
y AzureMachineLearning
.
Para obtener información sobre la restricción del acceso a los modelos implementados en AKS, consulte Control del tráfico de salida de los nodos de clúster en Azure Kubernetes Service (AKS).
Supervisión, métricas y diagnósticos
Para admitir el registro de métricas y otra información de supervisión para Azure Monitor y Application Insights, permita el tráfico saliente a los hosts siguientes:
Nota
Soporte técnico de Microsoft también usa la información registrada en estos hosts para poder diagnosticar los problemas con los que se encuentre con el área de trabajo.
- dc.applicationinsights.azure.com
- dc.applicationinsights.microsoft.com
- dc.services.visualstudio.com
- *.in.applicationinsights.azure.com
Para obtener una lista de las direcciones IP de esos hosts, consulte Direcciones IP usadas por Azure Monitor.
Hosts de Python
Los hosts de esta sección se usan para instalar paquetes de Python y son necesarios durante el desarrollo, el entrenamiento y la implementación.
Nota
Esta no es una lista completa de los hosts necesarios para todos los recursos de Python en Internet, solo el que se usa con más frecuencia. Por ejemplo, si necesita acceder a un repositorio de GitHub o a otro host, debe identificar y agregar los hosts necesarios para ese escenario.
Nombre de host | Propósito |
---|---|
anaconda.com*.anaconda.com | Se usa para instalar paquetes predeterminados. |
*.anaconda.org | Se usa para obtener datos del repositorio. |
pypi.org | Se usa para enumerar las dependencias del índice predeterminado, si hay alguna, y el índice no se sobrescribe con la configuración del usuario. Si el índice se sobrescribe, también debe permitir *.pythonhosted.org. |
*pytorch.org | Se usa en algunos ejemplos basados en PyTorch. |
*.tensorflow.org | Se usa en algunos ejemplos basados en TensorFlow. |
Hosts de R
Los hosts de esta sección se usan para instalar paquetes de R y son necesarios durante el desarrollo, el entrenamiento y la implementación.
Nota
Esta no es una lista completa de los hosts necesarios para todos los recursos de R en Internet, solo el que se usa con más frecuencia. Por ejemplo, si necesita acceder a un repositorio de GitHub o a otro host, debe identificar y agregar los hosts necesarios para ese escenario.
Nombre de host | Propósito |
---|---|
cloud.r-project.org | Usado al instalar paquetes CRAN |
Hosts de Visual Studio Code
Los hosts de esta sección se usan para instalar paquetes de Visual Studio Code y establecer una conexión remota entre Visual Studio Code y las instancias de proceso del área de trabajo de Azure Machine Learning.
Nota
No es una lista completa de los hosts necesarios para todos los recursos de Visual Studio Code en Internet, solo de los que se usan con más frecuencia. Por ejemplo, si necesita acceder a un repositorio de GitHub o a otro host, debe identificar y agregar los hosts necesarios para ese escenario.
Nombre de host | Propósito |
---|---|
*vscode.dev*vscode-unpkg.net*vscode-cdn.net*vscodeexperiments.azureedge.netdefault.exp-tas.com | Necesario para acceder a vscode.dev (Visual Studio Code para la Web) |
code.visualstudio.com | Necesario para descargar e instalar el escritorio de VS Code. No es necesario para VS Code Web. |
update.code.visualstudio.com*.vo.msecnd.net | Se usa para recuperar bits de servidor de VS Code que se instalan en la instancia de proceso por medio de un script de instalación. |
marketplace.visualstudio.comvscode.blob.core.windows.net*.gallerycdn.vsassets.io | Necesarios para descargar e instalar extensiones de VS Code. Permiten la conexión remota a instancias de proceso proporcionadas por la extensión de Azure ML para VS Code; para más información, consulte Conexión a una instancia de proceso de Azure Machine Learning en Visual Studio Code. |
raw.githubusercontent.com/microsoft/vscode-tools-for-ai/master/azureml_remote_websocket_server/* | Se usa para recuperar bits de servidor de WebSocket que se instalan en la instancia de proceso. El servidor de WebSocket se usa para transmitir solicitudes desde el cliente de Visual Studio Code (aplicación de escritorio) al servidor de Visual Studio Code que se ejecuta en la instancia de proceso. |
Pasos siguientes
Este artículo forma parte de una serie sobre la protección de un flujo de trabajo de Azure Machine Learning. Consulte los demás artículos de esta serie:
- Información general sobre redes virtuales
- Protección de los recursos de un área de trabajo
- Protección del entorno de entrenamiento
- Protección del entorno de inferencia
- Habilitación de la función de Studio
- Uso de un DNS personalizado
Para más información sobre la configuración de Azure Firewall, consulte Implementación y configuración de Azure Firewall mediante Azure Portal.