Conexión de Acciones de GitHub a Azure Machine Learning de forma segura
Los flujos de trabajo de validación ahora pueden detectar errores de código antes de llegar a main. El siguiente paso consiste en permitir que esos flujos de trabajo hablen con Azure Machine Learning: enviar trabajos, leer resultados y registrar modelos. Eso requiere autenticación y cómo controlarlo es importante para la seguridad.
Secretos y variables
GitHub proporciona dos lugares para almacenar la configuración del flujo de trabajo:
- Los secretos son valores cifrados para las credenciales y otra configuración confidencial. GitHub enmascara los valores secretos reconocidos en los registros, pero los flujos de trabajo deben evitar exponerlos.
- Las variables contienen una configuración no confidencial. Úselos para nombres de área de trabajo, nombres de grupo de recursos y valores similares que desea reutilizar en los flujos de trabajo.
Los secretos con ámbito de entorno son más estrechos que los secretos del repositorio: un trabajo debe tener como destino ese entorno para poder acceder a ellos.
Entidades de servicio y privilegios mínimos
Una manera de autenticar un flujo de trabajo en Azure es con una entidad de servicio, una identidad no humana en Microsoft Entra ID. Crea la entidad de servicio, le asigna un rol de Azure y almacena sus credenciales como secreto de GitHub.
El rol y el ámbito son importantes. Asigne un rol adecuado en el ámbito más estrecho que necesite el flujo de trabajo, como el área de trabajo de Azure Machine Learning o su grupo de recursos.
Federación de identidades de carga de trabajo con OpenID Connect
Almacenar credenciales de larga duración como un secreto supone un riesgo: si el secreto se ve expuesto, seguirá siendo válido hasta que se rote. Federación de identidades de cargas de trabajo con OpenID Connect (OIDC) evita tener que almacenar esa credencial de larga duración.
En lugar de almacenar secretos de cliente, se configura una relación de confianza entre el repositorio de GitHub y una aplicación de Microsoft Entra. Cuando se ejecuta un flujo de trabajo, GitHub emite un token OIDC de corta duración. Azure valida el token y devuelve un token de acceso; no se intercambia ninguna credencial almacenada.
Tip
Se recomienda la federación de identidades de carga de trabajo en lugar de los secretos de cliente de la entidad de servicio para los flujos de trabajo nuevos. Los tokens de corta duración reducen la exposición y eliminan la necesidad de rotar un secreto de cliente almacenado.
Autenticación de flujo de trabajo y seguimiento de Git
Al enviar archivos de origen desde un repositorio git local, Azure Machine Learning puede registrar el repositorio, la rama y confirmar con el trabajo de entrenamiento. Este seguimiento funciona con cualquier servicio git compatible y no asocia un repositorio de GitHub específico al área de trabajo.
El seguimiento de Git y la autenticación de flujo de trabajo resuelven diferentes problemas. El seguimiento conecta un trabajo con la versión de origen que lo produjo. La autenticación otorga al flujo de trabajo permiso para enviar esa tarea.
Tip
¿Qué valores de flujo de trabajo son identificadores y cuáles son las credenciales que deben permanecer secretas?