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 restrictivos que los secretos de repositorio: una tarea debe estar dirigida a ese entorno antes de poder acceder a ellos.
Entidades de servicio y principio de privilegios mínimos
Una forma de autenticar un flujo de trabajo en Azure es mediante una entidad de servicio, es decir, una identidad no humana en Microsoft Entra ID. Se crea la entidad, se le asigna un rol de Azure y se almacenan sus credenciales como un 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 conlleva un riesgo: si el secreto queda expuesto, seguirá siendo válido hasta que se renueve. 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
Para los nuevos flujos de trabajo, es preferible utilizar la federación de identidades de cargas de trabajo en lugar de los secretos de cliente de las entidades de servicio. 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 fuente desde un repositorio Git local, Azure Machine Learning puede registrar el repositorio, la rama y la confirmación junto 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?