Compartir a través de


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 para 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 los identificadores entra de Microsoft que admiten el control de acceso basado en rol y los permisos. Un identificador de Microsoft Entra se denomina identidad de usuario o identidad de punto de conexión, según 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 del usuario necesita permisos adecuados para realizar operaciones de plano de control y plano de datos en los puntos de conexión o á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 Autenticación de 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 rol (RBAC) de Azure permite definir y asignar roles con un conjunto de accionespermitidas o denegadas 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, use el rol integrado AzureML Data Scientist que incluye la acción Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actionsde 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, use el rol integrado de Lector de datos de Storage Blob que 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 Administración del 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 RBAC de Azure. 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, también denominado 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

Las operaciones del plano de control controlan y cambian 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

Para las operaciones del plano de control, use un token de Microsoft Entra para autenticar un cliente en el área de trabajo. En función del caso de uso, elija 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 cree el punto de conexión con una SAI y establezca 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 creó el punto de conexión con una UAI o el punto de conexión usa una SAI, pero no estableció la marca para exigir el acceso a los almacenes de secretos predeterminados, 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 este caso, a la identidad del punto de conexión no se le concede automáticamente el permiso para leer secretos, pero puede conceder manualmente este permiso 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, pero usan datos que interactúan con los puntos de conexión. Un ejemplo de una operación de plano de datos envía una solicitud de puntuación a un punto de conexión en línea y obtiene 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, elija 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 Autenticación de 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 se requiere ningún 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, que es 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. Tú decides si usas una SAI o una UAI cuando creas el punto de conexión.

  • Para un 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 del registro de contenedores AcrPull y el lector de datos de Storage Blob, se asignan automáticamente.
  • Para una UAI, primero debe crear la identidad y, a continuación, 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 para mayor comodidad.

Rol 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 asociadas al área de trabajo. La identidad del punto de conexión es un 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 AzureML (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.