Aislamiento de red con registros de Azure Machine Learning
En este artículo, obtendrá información sobre cómo proteger el registro de Azure Machine Learning mediante Azure Virtual Network y puntos de conexión privados.
Los puntos de conexión privados de Azure proporcionan aislamiento de red al permitir que se acceda a los servicios de Azure mediante una dirección IP privada de una red virtual (VNet). La red virtual protege las conexiones entre los recursos de Azure y evita la exposición de datos confidenciales a la red pública de Internet.
El uso del aislamiento de red con puntos de conexión privados impide que el tráfico de red pase por la red pública de Internet y lleva el servicio de registro de Azure Machine Learning a la red virtual. Cuando se usan puntos de conexión privados, todo el tráfico de red se produce mediante Azure Private Link.
Requisitos previos
- Un registro de Azure Machine Learning. Para crear uno, siga los pasos del artículo Creación y administración de registros.
- Estar familiarizado con los siguientes artículos:
Protección del registro de Azure Machine Learning
Nota:
Por motivos de simplicidad, nos referiremos al área de trabajo, los recursos asociados y la red virtual de la que forman parte como configuración de área de trabajo segura. Exploraremos cómo agregar registros de Azure Machine Learning como parte de la configuración existente.
En el diagrama siguiente, se muestra una configuración de red básica y cómo encaja en ella el registro de Azure Machine Learning. Si ya usa el área de trabajo de Azure Machine Learning y tiene una configuración de área de trabajo segura en la que todos los recursos forman parte de la red virtual, puede crear un punto de conexión privado desde la red virtual existente al registro de Azure Machine Learning y sus recursos asociados (almacenamiento y ACR).
Si no tiene una configuración de área de trabajo segura, puede crearla con los artículos Creación de un área de trabajo segura en Azure Portal o Creación de un área de trabajo segura con una plantilla.
Limitaciones
Si usa un registro de Azure Machine Learning con aislamiento de red, puede ver recursos del modelo en Estudio de Azure Machine Learning. No podrá ver otros tipos de recursos. Tampoco podrá realizar ninguna operación en el registro de Azure Machine Learning ni en sus recursos mediante Estudio. En su lugar, use la CLI o el SDK de Azure Machine Learning.
Escenario: la configuración del área de trabajo es segura y el registro de Azure Machine Learning es público
En esta sección, se describen los escenarios y la configuración de red necesaria si tiene una configuración de área de trabajo segura, pero mediante un registro público.
Creación de recursos en el registro a partir de archivos locales
La identidad (por ejemplo, la identidad del usuario de Microsoft Entra de un científico de datos) que se usa para crear recursos en el registro debe tener asignado el rol de usuario, propietario o colaborador del registro de AzureML en el control de acceso basado en roles de Azure. Para obtener más información, consulte el artículo Administración del acceso a Azure Machine Learning.
Uso compartido de recursos del área de trabajo en el registro
Nota:
Actualmente no se permite compartir un componente del área de trabajo de Azure Machine Learning con el registro de Azure Machine Learning.
Debido a la protección de filtración de datos, no es posible compartir un recurso desde un área de trabajo segura a un registro público si la cuenta de almacenamiento que contiene el recurso tiene deshabilitado el acceso público. Para habilitar el uso compartido de recursos del área de trabajo con el registro:
- Vaya a la hoja Redes de la cuenta de almacenamiento asociada al área de trabajo (desde donde desea permitir compartir los recursos con el registro).
- Establezca Acceso a la red públicaen Habilitado desde las redes virtuales y direcciones IP seleccionadas.
- Desplácese hacia abajo y vaya a la sección Instancias de recursos. En Tipo de recurso, seleccione Microsoft.MachineLearningServices/registries y establezca Nombre de instancia en el nombre del recurso del registro de Azure Machine Learning donde le gustaría habilitar el uso compartido desde el área de trabajo.
- Asegúrese de comprobar el resto de valores de acuerdo con su configuración de red.
Uso de recursos del registro en el área de trabajo
Operaciones de ejemplo:
- Enviar un trabajo que usa un recurso del registro.
- Usar un componente del registro en una canalización.
- Usar un entorno del registro en un componente.
El uso de recursos del registro en un área de trabajo segura requiere configurar el acceso de salida al registro.
Implementación de un modelo del registro en el área de trabajo
Para implementar un modelo desde un registro en un punto de conexión en línea administrado seguro, debe haber establecido egress_public_network_access=disabled
en la implementación. Azure Machine Learning crea los puntos de conexión privados necesarios en el registro durante la implementación del punto de conexión. Para obtener más información, consulte Creación de puntos de conexión en línea administrados seguros.
Configuración de red de salida para acceder a cualquier registro de Azure Machine Learning
Etiqueta de servicio | Protocolo y puertos | Propósito |
---|---|---|
AzureMachineLearning |
TCP: 443, 877, 18881 UDP: 5831 |
Usar los servicios de Azure Machine Learning. |
Storage.<region> |
TCP: 443 | Acceder a los datos almacenados en la cuenta de Azure Storage para los clústeres de proceso y las instancias de proceso. Esta salida se puede usar para exfiltrar datos. Para obtener más información, consulte Protección de filtración de datos. |
MicrosoftContainerRegistry.<region> |
TCP: 443 | Acceder a las imágenes de Docker proporcionadas por Microsoft. |
AzureContainerRegistry.<region> |
TCP: 443 | Acceder a las imágenes de Docker de los entornos. |
Escenario: la configuración del área de trabajo es segura y el registro de Azure Machine Learning está conectado a redes virtuales mediante puntos de conexión privados
En esta sección, se describen los escenarios y la configuración de red necesaria si tiene una configuración de área de trabajo segura con registros de Azure Machine Learning conectados mediante un punto de conexión privado a una red virtual.
El registro de Azure Machine Learning tiene instancias de servicio de almacenamiento y ACR asociadas. Estas instancias de servicio también se pueden conectar a la red virtual mediante puntos de conexión privados para proteger la configuración. Para obtener más información, consulte la sección Creación de un punto de conexión privado.
Búsqueda de la cuenta de Azure Storage y la instancia de Azure Container Registry usadas por el registro
La cuenta de almacenamiento y la instancia de ACR que usa el registro de Azure Machine Learning se crean en un grupo de recursos administrado de la suscripción de Azure. El nombre del grupo de recursos administrado sigue el patrón azureml-rg-<name-of-your-registry>_<GUID>
. El GUID es una cadena generada aleatoriamente. Por ejemplo, si el nombre del registro es "contosoreg", el nombre del grupo de recursos administrado sería azureml-rg-contosoreg_<GUID>
.
En Azure Portal, puede encontrar este grupo de recursos buscando azureml_rg-<name-of-your-registry>
. Todos los recursos de almacenamiento y de ACR del registro están disponibles en este grupo de recursos.
Creación de recursos en el registro a partir de archivos locales
Nota:
No se admite la creación de un recurso de entorno en un registro privado en el que la instancia de ACR asociada tenga deshabilitado el acceso público. Como solución alternativa, puede crear un entorno en un área de trabajo de Azure Machine Learning y compartirlo en el registro de este.
Los clientes deben estar conectados a la red virtual a la que está conectado el registro con un punto de conexión privado.
Conexión segura al registro
Para conectarse a un registro protegido en una red virtual, use uno de los métodos siguientes:
Azure VPN Gateway: conecta redes locales a la VNet mediante una conexión privada. La conexión se realiza a través de la red pública de Internet. Hay dos tipos de puertas de enlace de VPN que puede usar:
De punto a sitio: cada equipo cliente usa un cliente VPN para conectarse a la red virtual.
De sitio a sitio: un dispositivo VPN conecta la red virtual a la red local.
ExpressRoute: conecta redes locales a la nube mediante una conexión privada. La conexión se realiza mediante un proveedor de conectividad.
Azure Bastion: en este escenario, se crea una máquina virtual de Azure (a veces denominada "jump box") dentro de la VNet. A continuación, se conecta a la máquina virtual mediante Azure Bastion. Bastion permite conectarse a la máquina virtual mediante una sesión RDP o SSH desde el explorador web local. A continuación, use la jump box como entorno de desarrollo. Puesto que está dentro de la red virtual, puede acceder directamente al registro.
Uso compartido de recursos del área de trabajo en el registro
Nota:
Actualmente no se permite compartir un componente del área de trabajo de Azure Machine Learning con el registro de Azure Machine Learning.
Debido a la protección contra la filtración de datos, no es posible compartir un recurso de un área de trabajo segura con un registro público si la cuenta de almacenamiento que contiene el recurso tiene deshabilitado el acceso público. Para habilitar el uso compartido de recursos del área de trabajo con el registro:
- Vaya a la hoja Redes de la cuenta de almacenamiento asociada al área de trabajo (desde donde desea permitir compartir los recursos con el registro).
- Establezca Acceso a la red públicaen Habilitado desde las redes virtuales y direcciones IP seleccionadas.
- Desplácese hacia abajo y vaya a la sección Instancias de recursos. En Tipo de recurso, seleccione Microsoft.MachineLearningServices/registries y establezca Nombre de instancia en el nombre del recurso del registro de Azure Machine Learning donde le gustaría habilitar el uso compartido desde el área de trabajo.
- Asegúrese de comprobar el resto de valores de acuerdo con su configuración de red.
Uso de recursos del registro en el área de trabajo
Operaciones de ejemplo:
- Enviar un trabajo que usa un recurso del registro.
- Usar un componente del registro en una canalización.
- Usar un entorno del registro en un componente.
Cree un punto de conexión privado para el registro, el almacenamiento y ACR desde la red virtual del área de trabajo. Si intenta conectarse a varios registros, cree un punto de conexión privado para cada registro y el almacenamiento y la instancia de ACR asociados. Para obtener más información, consulte la sección Creación de un punto de conexión privado.
Implementación de un modelo del registro en el área de trabajo
Para implementar un modelo desde un registro en un punto de conexión en línea administrado seguro, debe haber establecido egress_public_network_access=disabled
en la implementación. Azure Machine Learning crea los puntos de conexión privados necesarios en el registro durante la implementación del punto de conexión. Para obtener más información, consulte Creación de puntos de conexión en línea administrados seguros.
Creación de un punto de conexión privado
Use las pestañas para ver las instrucciones para agregar un punto de conexión privado a un registro existente o crear un nuevo registro que tenga un punto de conexión privado:
En Azure Portal, busque Punto de conexión privado y seleccione la entrada Puntos de conexión privados para ir a Private Link Center.
En la página de información general de Private Link Center, seleccione + Crear.
Proporcione la información solicitada. Para el campo Región, seleccione la misma región que la instancia de Azure Virtual Network. Seleccione Siguiente.
En la pestaña Recurso, al seleccionar Tipo de recurso, seleccione
Microsoft.MachineLearningServices/registries
. Establezca el campo Recurso en el nombre del registro de Azure Machine Learning y, a continuación, seleccione Siguiente.En la pestaña Red virtual, seleccione la red virtual y la subred para los recursos de Azure Machine Learning. Seleccione Next (Siguiente) para continuar.
En la pestaña DNS, deje los valores predeterminados a menos que tenga requisitos específicos de integración de DNS privado. Seleccione Next (Siguiente) para continuar.
En la pestaña Revisar y crear, seleccione Crear para crear el punto de conexión privado.
Si desea establecer el acceso a la red pública en deshabilitado, use el siguiente comando. Confirme que el almacenamiento y ACR también tengan deshabilitado el acceso a la red pública.
az ml registry update --set publicNetworkAccess=Disabled --name <name-of-registry>
Búsqueda de la cuenta de Azure Storage y la instancia de Azure Container Registry usadas por el registro
La cuenta de almacenamiento y la instancia de ACR que usa el registro de Azure Machine Learning se crean en un grupo de recursos administrado de la suscripción de Azure. El nombre del grupo de recursos administrado sigue el patrón azureml-rg-<name-of-your-registry>_<GUID>
. El GUID es una cadena generada aleatoriamente. Por ejemplo, si el nombre del registro es "contosoreg", el nombre del grupo de recursos administrado sería azureml-rg-contosoreg_<GUID>
.
En Azure Portal, puede encontrar este grupo de recursos buscando azureml_rg-<name-of-your-registry>
. Todos los recursos de almacenamiento y de ACR del registro están disponibles en este grupo de recursos.
Creación de un punto de conexión privado para la cuenta de Azure Storage
Para crear un punto de conexión privado para la cuenta de almacenamiento que usa el registro, siga estos pasos:
- En Azure Portal, busque Punto de conexión privado y seleccione la entrada Puntos de conexión privados para ir a Private Link Center.
- En la página de información general de Private Link Center, seleccione + Crear.
- Proporcione la información solicitada. Para el campo Región, seleccione la misma región que la instancia de Azure Virtual Network. Seleccione Siguiente.
- En la pestaña Recurso, al seleccionar Tipo de recurso, seleccione
Microsoft.Storage/storageAccounts
. Establezca el campo Recurso en el nombre de la cuenta de almacenamiento. Establezca Subrecurso en Blob y, a continuación, seleccione Siguiente. - En la pestaña Red virtual, seleccione la red virtual y la subred para los recursos de Azure Machine Learning. Seleccione Next (Siguiente) para continuar.
- En la pestaña DNS, deje los valores predeterminados a menos que tenga requisitos específicos de integración de DNS privado. Seleccione Next (Siguiente) para continuar.
- En la pestaña Revisar y crear, seleccione Crear para crear el punto de conexión privado.
Protección contra la filtración de datos
Para un registro de Azure Machine Learning creado por el usuario, se recomienda usar un punto de conexión privado para el registro, la cuenta de almacenamiento administrada y la instancia de ACR administrada.
Para un registro del sistema, se recomienda crear una directiva de punto de conexión de servicio para la cuenta de almacenamiento con el alias /services/Azure/MachineLearning
. Para más información, consulte Configuración de la prevención de la filtración de datos.
Búsqueda del nombre de dominio completo del registro
Nota:
Asegúrese de que el DNS puede resolver el FQDN privado del Registro que está en este formato: <registry-guid>.registry.<region>.privatelink.api.azureml.ms
ya que no hay ningún FQDN específico de recursos públicos resuelto recursivamente por Azure DNS.
En los ejemplos siguientes, se muestra cómo usar la dirección URL de detección para obtener el nombre de dominio completo (FQDN) del registro. Al llamar a la dirección URL de detección, debe proporcionar un token de acceso de Azure en el encabezado de la solicitud. En los ejemplos siguientes, se muestra cómo obtener un token de acceso y llamar a la dirección URL de detección:
Sugerencia
El formato de la dirección URL de detección es https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery
, donde <region>
es la región en la que se encuentra el registro y <registry_name>
es el nombre del registro. Para llamar a la dirección URL, realice una solicitud GET:
GET https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery
$region = "<region>"
$registryName = "<registry_name>"
$accessToken = (az account get-access-token | ConvertFrom-Json).accessToken
(Invoke-RestMethod -Method Get `
-Uri "https://$region.api.azureml.ms/registrymanagement/v1.0/registries/$registryName/discovery" `
-Headers @{ Authorization="Bearer $accessToken" }).registryFqdns
- REST API
Nota
Para obtener más información sobre el uso de las API REST de Azure, consulte la referencia de la API REST de Azure.
Obtenga el token de acceso de Azure. Puede usar el siguiente comando de la CLI de Azure para obtener un token:
az account get-access-token --query accessToken
Use un cliente REST como Curl para realizar una solicitud GET a la dirección URL de detección. Use el token de acceso recuperado en el paso anterior para la autorización. En el ejemplo siguiente, reemplace
<region>
por la región en la que se encuentra el registro y<registry_name>
por el nombre del registro. Reemplace<token>
por el token de acceso que recuperó en el paso anterior:curl -X GET "https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery" -H "Authorization: Bearer <token>" -H "Content-Type: application/json"
Paso siguiente
Obtenga información sobre cómo compartir modelos, componentes y entornos entre áreas de trabajo con registros.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente las Cuestiones de GitHub como mecanismo de retroalimentación para el contenido y lo sustituiremos por un nuevo sistema de retroalimentación. Para más información, consulta:Enviar y ver comentarios de