Partekatu honen bidez:


Autenticación y autorización para puntos de conexión en línea

SE APLICA A:Extensión ML de la CLI de Azure v2 (actual)SDK de Python azure-ai-ml v2 (actual)

En este artículo se explican los conceptos de identidad y permiso en el contexto de los puntos de conexión en línea de Azure Machine Learning. En el artículo se describen las instancias de Microsoft Entra ID que admiten el control de acceso basado en roles y los permisos. A las instancias de Microsoft Entra ID se las denomina identidad de usuario o identidad de punto de conexión, en función de su propósito.

  • Una identidad de usuario es una instancia de Microsoft Entra ID que puede crear un punto de conexión y sus implementaciones, o interactuar con puntos de conexión o áreas de trabajo. Una identidad de usuario emite solicitudes a los puntos de conexión, implementaciones o áreas de trabajo. La identidad de usuario necesita permisos adecuados para realizar operaciones tanto de plano de control como de plano de datos en los puntos de conexión o las áreas de trabajo.

  • Una identidad de punto de conexión es un identificador de Microsoft Entra que ejecuta el contenedor de usuarios en implementaciones. El contenedor de usuarios utiliza la identidad del punto de conexión para la implementación. La identidad del punto de conexión también necesitaría los permisos adecuados para que el contenedor de usuarios interactúe con los recursos según sea necesario. Por ejemplo, la identidad del punto de conexión necesitaría los permisos adecuados tanto para extraer imágenes de Azure Container Registry como para interactuar con otros servicios de Azure.

La identidad del usuario y la identidad del punto de conexión tienen requisitos de permisos independientes. Para obtener más información sobre cómo administrar identidades y permisos, consulte Cómo autenticar clientes para puntos de conexión en línea.

Importante

La autenticación de id. Microsoft Entra ID aad_token solo se admite para los puntos de conexión en línea administrados. En el caso de los puntos de conexión en línea de Kubernetes, puede usar una clave o un aml_token de Azure Machine Learning.

Permisos y ámbito para la autorización

El control de acceso basado en roles (RBAC) de Azure permite definir y asignar roles con un conjunto de acciones de permiso o denegación en ámbitos específicos. Puede personalizar estos roles y ámbitos según sus necesidades empresariales. Los siguientes ejemplos sirven como punto de partida que se puede ampliar según sea necesario.

En el caso de la Identidad del usuario:

  • Para administrar las operaciones del plano de control y del plano de datos puede usar el rol integrado de Científico de datos de AzureML que incluye la acción Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actions de permiso.
  • Para controlar las operaciones de un punto de conexión específico, use el ámbito /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>/onlineEndpoints/<endpointName>.
  • Para controlar las operaciones de todos los puntos de conexión de un área de trabajo, use el ámbito /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>.

En el caso de la identidad del punto de conexión, para permitir que el contenedor de usuarios lea blobs, el rol integrado de Lector de datos de Storage Blob incluye la acción de datos de permisos Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read.

Para más información sobre cómo administrar la autorización en áreas de trabajo de Azure Machine Learning, consulte Administrar el acceso a Azure Machine Learning. Para más información sobre la definición de roles, el ámbito y la asignación de roles, consulte Azure RBAC. Para comprender el ámbito de los roles asignados, consulte Descripción del ámbito de RBAC de Azure.

Permisos necesarios para la identidad del usuario

Al iniciar sesión en su inquilino de Azure con su cuenta de Microsoft, por ejemplo, mediante az login, completa el paso de autenticación de usuario authn que determina su identidad como usuario. Para crear un punto de conexión en línea en un área de trabajo de Azure Machine Learning, la identidad necesita el permiso adecuado, que también se denomina autorización o authz. Las identidades de usuario necesitan permisos adecuados para realizar operaciones del plano de control y del plano de datos.

Operaciones del plano de control

operaciones del plano de control controlar y cambiar los puntos de conexión en línea. Estas operaciones incluyen operaciones de creación, lectura, actualización y eliminación (CRUD) en puntos de conexión en línea e implementaciones en línea. En el caso de los puntos de conexión e implementaciones en línea, las solicitudes para realizar operaciones del plano de control van al área de trabajo de Azure Machine Learning.

Autenticación para las operaciones del plano de control

En las operaciones del plano de control, se usa un token de Microsoft Entra para autenticar los clientes en el área de trabajo. Según el caso de uso, puede elegir entre varios flujos de trabajo de autenticación para obtener este token. La identidad de usuario también debe tener asignado el rol RBAC de Azure adecuado para acceder a los recursos.

Autorización para las operaciones del plano de control

En las operaciones del plano de control, la identidad de usuario debe tener asignado el rol RBAC de Azure adecuado para acceder a los recursos. En concreto, para las operaciones CRUD de los puntos de conexión e implementaciones en línea, es preciso que la identidad de usuario tenga asignados roles para las siguientes acciones:

Operación Rol RBAC de Azure necesario Ámbito
Realizar operaciones de creación o actualización puntos de conexión e implementaciones en línea Propietario, Colaborador o cualquier rol que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/write Área de trabajo
Realizar operaciones de eliminación en puntos de conexión e implementaciones en línea Propietario, Colaborador o cualquier rol que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/delete Área de trabajo
Realizar operaciones de creación, actualización y eliminación en puntos de conexión e implementaciones en línea mediante Estudio de Azure Machine Learning Propietario, Colaborador o cualquier rol que permita Microsoft.Resources/deployments/write El grupo de recursos que contiene el área de trabajo
Realizar operaciones de lectura en puntos de conexión e implementaciones en línea. Propietario, Colaborador o cualquier rol que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/read Área de trabajo
Capturar un token de Azure Machine Learning (aml_token) para invocar puntos de conexión en línea administrados y de Kubernetes desde el área de trabajo Propietario, Colaborador o cualquier rol que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action Punto de conexión
Capturar una clave para invocar puntos de conexión en línea (tanto administrados como de Kubernetes) desde el área de trabajo Propietario, Colaborador o cualquier rol que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listKeys/action Punto de conexión
Volver a generar claves para puntos de conexión en línea administrados y de Kubernetes. Propietario, Colaborador o cualquier rol que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/regenerateKeys/action Punto de conexión
Capturar un aad_token de Microsoft Entra para invocar puntos de conexión en línea administrados. No requiere un rol No se aplica*

* El aad_token de Microsoft Entra se puede recuperar directamente desde Microsoft Entra ID tras iniciar sesión, por lo que la operación no requiere el permiso de Azure RBAC en el área de trabajo.

Permisos para que la identidad de usuario exija el acceso a los almacenes de secretos predeterminados

Si usa la característica de inserción de secretos y establece la marca para exigir el acceso a los almacenes de secretos predeterminados, la identidad de usuario debe tener el permiso para leer secretos de las conexiones del área de trabajo.

Una identidad de punto de conexión puede ser una identidad asignada por el sistema (SAI) o una identidad asignada por el usuario (UAI). Cuando se crea el punto de conexión con una SAI y se establece la marca para exigir el acceso a los almacenes de secretos predeterminados, las identidades de usuario deben tener permisos para leer secretos de las conexiones del área de trabajo al crear un punto de conexión e implementaciones. Esta restricción garantiza que solo una identidad de usuario con permiso para leer secretos pueda conceder a la identidad del punto de conexión el permiso para leer secretos.

Si una identidad de usuario que no tiene permisos para leer secretos de las conexiones del área de trabajo intenta crear un punto de conexión o una implementación con una SAI y la marca del punto de conexión se establece para exigir el acceso a los almacenes de secretos predeterminados, se rechazan tanto el punto de conexión como la creación de la implementación.

Si el punto de conexión se crea con una UAI o el punto de conexión usa una SAI, pero la marca para exigir el acceso a los almacenes de secretos predeterminados no está establecida, la identidad del usuario no necesitará poder leer secretos de las conexiones del área de trabajo para crear un punto de conexión o una implementación. En ese caso, a la identidad del punto de conexión no se le concede automáticamente el permiso necesario para leer secretos, pero se le puede conceder manualmente asignando el rol adecuado.

Independientemente de que la asignación de roles se realice de forma automática o manual, la recuperación y la inserción de secretos se desencadenan si ha asignado las variables de entorno con referencias de secretos en la definición de punto de conexión o de implementación. La característica de inserción de secretos usa la identidad de punto de conexión para realizar la recuperación e inserción de secretos. Para obtener más información sobre la inyección de secretos, consulte Inserción de secretos en puntos de conexión en línea.

Operaciones de plano de datos

Las operaciones del plano de datos no cambian los puntos de conexión en línea, sino que usan datos que interactúan con los puntos de conexión. Un ejemplo de una operación de plano de datos es enviar una solicitud de puntuación a un punto de conexión en línea y obtener una respuesta de ella. En el caso de los puntos de conexión e implementaciones en línea, las solicitudes para realizar operaciones del plano de datos van al URI de puntuación del punto de conexión.

Autenticación para las operaciones del plano de datos

En las operaciones del plano de datos, puede elegir cualquiera de las siguientes formas de autenticar un cliente para enviar solicitudes al identificador URI de puntuación de un punto de conexión:

  • Clave
  • Azure Machine Learning aml_token
  • Microsoft Entra aad_token

Para obtener más información sobre cómo autenticar clientes para las operaciones del plano de datos, consulte Cómo autenticar clientes para puntos de conexión en línea.

Autorización para las operaciones del plano de datos

En las operaciones del plano de datos, la identidad de usuario necesita roles de Azure RBAC adecuados para permitir el acceso a los recursos solo si el punto de conexión está establecido para usar Microsoft Entra aad_token. En las operaciones del plano de datos realizadas en puntos de conexión e implementaciones en línea, es preciso que la identidad de usuario tenga asignado un rol con las siguientes acciones:

Operación Rol RBAC de Azure necesario Ámbito
Invoque puntos de conexión en línea con key o Azure Machine Learning aml_token. No requiere un rol. No aplicable
Invoque puntos de conexión en línea administrados con Microsoft Entra aad_token. Propietario, Colaborador o cualquier rol que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/score/action Punto de conexión
Invoque puntos de conexión en línea de Kubernetes con Microsoft Entra aad_token. El punto de conexión en línea de Kubernetes no admite el token de Microsoft Entra para las operaciones del plano de datos. No aplicable

Permisos necesarios para la identidad del punto de conexión

Una implementación en línea ejecuta el contenedor de usuarios con la identidad del punto de conexión, es decir, la identidad administrada asociada al punto de conexión. La identidad del punto de conexión es una instancia de Microsoft Entra ID que admite Azure RBAC. Por lo tanto, puede asignar roles de Azure a la identidad del punto de conexión para controlar los permisos necesarios para realizar operaciones. Esta identidad de punto de conexión puede ser una SAI o una UAI. Puede decidir si va a usar una SAI o una UAI al crear el punto de conexión.

  • En el caso de una SAI, la identidad se crea automáticamente al crear el punto de conexión y los roles con permisos fundamentales, como el permiso de extracción de Azure Container Registry AcrPull y el de Lector de datos de Storage Blob, se asignan automáticamente.
  • En el caso de una UAI, primero debe crear la identidad y, después, asociarla al punto de conexión al crear el punto de conexión. También es responsable de asignar los roles adecuados a la UAI según sea necesario.

Asignación automática de roles para la identidad del punto de conexión

Si la identidad del punto de conexión es una SAI, los siguientes roles se asignan a la identidad del punto de conexión por comodidad.

Role Descripción Condición para la asignación automática de roles
AcrPull Permite que la identidad del punto de conexión extraiga imágenes de Azure Container Registry asociado al área de trabajo. La identidad del punto de conexión es una SAI.
Lector de datos de blobs de almacenamiento Permite que la identidad del punto de conexión lea blobs del almacén de datos predeterminado del área de trabajo. La identidad del punto de conexión es una SAI.
Escritor de métricas de Azure ML (versión preliminar) Permite que la identidad del punto de conexión escriba métricas en el área de trabajo. La identidad del punto de conexión es una SAI.
Lector de secretos de conexión del área de trabajo de Azure Machine Learning Permite que la identidad del punto de conexión lea secretos de las conexiones del área de trabajo. La identidad del punto de conexión es una SAI y la creación del punto de conexión tiene una marca para exigir el acceso a los almacenes de secretos predeterminados. La identidad de usuario que crea el punto de conexión tiene el permiso para leer secretos desde las conexiones del área de trabajo.
  • Si la identidad del punto de conexión es una SAI y la marca de exigencia no está establecida o si la identidad de usuario no tiene permiso para leer secretos, no hay ninguna asignación automática de roles para el rol de Lector de secretos de conexión del área de trabajo de Azure Machine Learning. Para obtener más información, consulte Cómo implementar un punto de conexión en línea con la inserción de secretos.
  • Si la identidad del punto de conexión es una UAI, no hay ninguna asignación automática de roles para el rol de Lector de secretos de conexión del área de trabajo de Azure Machine Learning. En este caso, debe asignar manualmente roles a la identidad del punto de conexión según sea necesario.

Para más información sobre el rol de Lector de secretos de conexión del área de trabajo de Azure Machine Learning, consulte Asignación de permisos a la identidad.