Compartir vía


Control de acceso basado en rol en inteligencia artificial de Azure Studio

En este artículo, aprenderá a administrar el acceso (autorización) a un centro de conectividad de Inteligencia artificial de Azure Studio. El control de acceso basado en roles de Azure (Azure RBAC) se usa para administrar el acceso a los recursos de Azure, como la capacidad de crear nuevos recursos o usar los existentes. Se asignan roles específicos a los usuarios de Microsoft Entra ID que les conceden acceso a los recursos. Azure proporciona tanto roles integrados como la capacidad de crear roles personalizados.

Advertencia

La aplicación de algunos roles puede limitar la funcionalidad de la interfaz de usuario en Inteligencia artificial de Azure Studio para otros usuarios. Por ejemplo, si el rol de un usuario no tiene la capacidad de crear una instancia de proceso, la opción para crear una instancia de proceso no estará disponible en Estudio. Este comportamiento es el esperado y evita que el usuario intente realizar operaciones que devolverán un error de acceso denegado.

Centro de conectividad de IA Studio frente al proyecto

En Inteligencia artificial de Azure Studio, hay dos niveles de acceso: el centro de conectividad y el proyecto. El centro de conectividad alberga la infraestructura (incluida la configuración de red virtual, las claves administradas por el cliente, las identidades administradas y las directivas), así como dónde se configuran los servicios de Azure AI. El acceso al centro de conectividad puede permitirle modificar la infraestructura, crear nuevos centros y proyectos. Los proyectos son un subconjunto del centro de conectividad que actúan como áreas de trabajo que permiten compilar e implementar sistemas de IA. Dentro de un proyecto, puede desarrollar flujos, implementar modelos y administrar recursos del proyecto. El acceso al proyecto le permite desarrollar inteligencia artificial de un extremo a otro mientras aprovecha la configuración de la infraestructura en el centro de conectividad.

Diagrama de la relación entre los recursos de AI Studio.

Una de las principales ventajas de la relación entre el centro y el proyecto es que los desarrolladores pueden crear sus propios proyectos que heredan la configuración de seguridad del centro de conectividad. Es posible que también tenga desarrolladores que sean colaboradores en un proyecto y no puedan crear nuevos proyectos.

Roles predeterminados para el centro de conectividad

El centro de conectividad de IA Studio tiene roles integrados que están disponibles de forma predeterminada.

Esta es una tabla de los roles integrados y sus permisos para el centro de conectividad:

Role Descripción
Propietario Acceso total al centro de conectividad, incluida la capacidad de administrar y crear nuevos centros y asignar permisos. Este rol se asigna automáticamente al creador del centro de conectividad
Colaborador El usuario tiene acceso completo al centro de conectividad, incluida la capacidad de crear nuevos centros, pero no puede administrar los permisos del centro en el recurso existente.
Desarrollador de Azure AI Realice todas las acciones excepto crear nuevos centros y administrar los permisos del centro de conectividad. Por ejemplo, los usuarios pueden crear proyectos, proceso y conexiones. Los usuarios pueden asignar permisos dentro de su proyecto. Los usuarios pueden interactuar con los recursos de Azure AI existentes, como Azure OpenAI, Azure AI Search y los servicios de Azure AI.
Operador de implementación de inferencias de Azure AI Realiza todas las acciones necesarias para crear una implementación de recursos dentro de un grupo de recursos.
Lector Acceso de solo lectura al centro de conectividad. Este rol se asigna automáticamente a todos los miembros del proyecto dentro del centro de conectividad.

La diferencia clave entre Colaborador y Desarrollador de Azure AI es la capacidad de crear nuevos centros. Si no desea que los usuarios realicen nuevos centros (debido a la cuota, el coste o para administrar cuántos centros tiene), asigne el rol de Desarrollador de Azure AI.

Solo los roles Propietario y Colaborador permiten crear un centro de conectividad. En este momento, los roles personalizados no pueden concederle permiso para crear centros.

Rol de desarrollador de Azure AI

El conjunto completo de permisos para el nuevo rol "Desarrollador de Azure AI" es el siguiente:

{
    "Permissions": [ 
        { 
        "Actions": [
            "Microsoft.MachineLearningServices/workspaces/*/read",
            "Microsoft.MachineLearningServices/workspaces/*/action",
            "Microsoft.MachineLearningServices/workspaces/*/delete",
            "Microsoft.MachineLearningServices/workspaces/*/write",
            "Microsoft.MachineLearningServices/locations/*/read",
            "Microsoft.Authorization/*/read",
            "Microsoft.Resources/deployments/*"
        ],
    
        "NotActions": [
            "Microsoft.MachineLearningServices/workspaces/delete",
            "Microsoft.MachineLearningServices/workspaces/write",
            "Microsoft.MachineLearningServices/workspaces/listKeys/action",
            "Microsoft.MachineLearningServices/workspaces/hubs/write",
            "Microsoft.MachineLearningServices/workspaces/hubs/delete",
            "Microsoft.MachineLearningServices/workspaces/featurestores/write",
            "Microsoft.MachineLearningServices/workspaces/featurestores/delete"
        ], 
        "DataActions": [ 
            "Microsoft.CognitiveServices/accounts/OpenAI/*", 
            "Microsoft.CognitiveServices/accounts/SpeechServices/*", 
            "Microsoft.CognitiveServices/accounts/ContentSafety/*" 
        ], 
        "NotDataActions": [], 
        "Condition": null, 
        "ConditionVersion": null 
        } 
    ] 
}

Si el rol integrado de Desarrollador de Azure AI no satisface sus necesidades, puede crear un rol personalizado.

Roles predeterminados para proyectos

Los proyectos de IA Studio tienen roles integrados que están disponibles de forma predeterminada.

Esta es una tabla de los roles integrados y sus permisos para el proyecto:

Role Descripción
Propietario Acceso total al proyecto, incluida la capacidad de asignar permisos a los usuarios del proyecto.
Colaborador El usuario tiene acceso total al proyecto, pero no puede asignar permisos a los usuarios del proyecto.
Desarrollador de Azure AI El usuario puede realizar la mayoría de las acciones, incluidas las implementaciones de creación, pero no puede asignar permisos a los usuarios del proyecto.
Operador de implementación de inferencias de Azure AI Realiza todas las acciones necesarias para crear una implementación de recursos dentro de un grupo de recursos.
Lector Acceso de solo lectura al proyecto.

Cuando a un usuario se le concede acceso a un proyecto (por ejemplo, a través de la administración de permisos de AI Studio), se asignan automáticamente dos roles más al usuario. El primer rol es Lector en el centro de conectividad. El segundo rol es el rol Operador de implementación de inferencia, que permite al usuario crear implementaciones en el grupo de recursos en el que se encuentra el proyecto. Este rol se compone de estos dos permisos: "Microsoft.Authorization/*/read" y "Microsoft.Resources/deployments/*".

Para completar el desarrollo y la implementación de inteligencia artificial de un extremo a otro, los usuarios solo necesitan estos dos roles asignados automáticamente y el rol Colaborador o Desarrollador de Azure AI en un proyecto.

Los permisos mínimos necesarios para crear un proyecto son un rol que tiene la acción permitida de Microsoft.MachineLearningServices/workspaces/hubs/join en el centro de conectividad. El rol integrado Desarrollador de Azure AI tiene este permiso.

Rol de administrador de Azure AI

Antes del 19/11/2024, a la identidad administrada asignada por el sistema creada para el centro de conectividad se le asignaba automáticamente el rol Colaborador para el grupo de recursos que contenía el centro de conectividad y los proyectos. Los centros de conectividad creados después de esta fecha tienen asignada una identidad administrada asignada por el sistema al rol Administrador de Azure AI. El alcance de este rol está más limitado a los permisos mínimos necesarios para que la identidad administrada realice sus tareas.

El rol Administrador de Azure AI está actualmente en versión preliminar pública.

Importante

Los elementos marcados (versión preliminar) en este artículo se encuentran actualmente en versión preliminar pública. Esta versión preliminar se ofrece sin acuerdo de nivel de servicio y no se recomienda para las cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.

El rol Administrador de Azure AI tiene los siguientes permisos asociados:

{
    "permissions": [
        {
            "actions": [
                "Microsoft.Authorization/*/read",
                "Microsoft.CognitiveServices/*",
                "Microsoft.ContainerRegistry/registries/*",
                "Microsoft.DocumentDb/databaseAccounts/*",
                "Microsoft.Features/features/read",
                "Microsoft.Features/providers/features/read",
                "Microsoft.Features/providers/features/register/action",
                "Microsoft.Insights/alertRules/*",
                "Microsoft.Insights/components/*",
                "Microsoft.Insights/diagnosticSettings/*",
                "Microsoft.Insights/generateLiveToken/read",
                "Microsoft.Insights/logDefinitions/read",
                "Microsoft.Insights/metricAlerts/*",
                "Microsoft.Insights/metricdefinitions/read",
                "Microsoft.Insights/metrics/read",
                "Microsoft.Insights/scheduledqueryrules/*",
                "Microsoft.Insights/topology/read",
                "Microsoft.Insights/transactions/read",
                "Microsoft.Insights/webtests/*",
                "Microsoft.KeyVault/*",
                "Microsoft.MachineLearningServices/workspaces/*",
                "Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action",
                "Microsoft.ResourceHealth/availabilityStatuses/read",
                "Microsoft.Resources/deployments/*",
                "Microsoft.Resources/deployments/operations/read",
                "Microsoft.Resources/subscriptions/operationresults/read",
                "Microsoft.Resources/subscriptions/read",
                "Microsoft.Resources/subscriptions/resourcegroups/deployments/*",
                "Microsoft.Resources/subscriptions/resourceGroups/read",
                "Microsoft.Resources/subscriptions/resourceGroups/write",
                "Microsoft.Storage/storageAccounts/*",
                "Microsoft.Support/*",
                "Microsoft.Search/searchServices/write",
                "Microsoft.Search/searchServices/read",
                "Microsoft.Search/searchServices/delete",
                "Microsoft.Search/searchServices/indexes/*",
                "Microsoft.DataFactory/factories/*"
            ],
            "notActions": [],
            "dataActions": [],
            "notDataActions": []
        }
    ]
}

Conversión de una identidad administrada por el sistema existente al rol Administrador de Azure AI

Sugerencia

Se recomienda convertir los centros de conectividad creados antes del 19/11/2024 para que usen el rol de administrador de Azure AI. El alcance del rol Administrador de Azure AI está más limitado que el rol Colaborador usado anteriormente y sigue el principio de privilegios mínimos.

Puede convertir los centros de conectividad creados antes del 19/11/2024 mediante alguno de los métodos siguientes:

  • API REST de Azure: use una solicitud PATCH a la API REST de Azure para el área de trabajo. El cuerpo de la solicitud debe establecer {"properties":{"allowRoleAssignmeentOnRG":true}}. En el ejemplo siguiente se muestra una solicitud PATCH que usa curl. Reemplace <your-subscription>, <resource-group-name>, <workspace-name> y <YOUR-ACCESS-TOKEN> por los valores del entorno. Para más información sobre el uso de las API de REST, consulte la documentación de la API de REST de Azure.

    curl -X PATCH https://management.azure.com/subscriptions/<your-subscription>/resourcegroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>?api-version=2024-04-01-preview -H "Authorization:Bearer <YOUR-ACCESS-TOKEN>"
    
  • CLI de Azure: use el comando az ml workspace update con el parámetro --allow-roleassignment-on-rg true. En el ejemplo siguiente, se actualiza un área de trabajo denominada myworkspace. Este comando requiere la extensión de la CLI de Azure Machine Learning, versión 2.27.0 o posterior.

    az ml workspace update --name myworkspace --allow-roleassignment-on-rg true
    
  • SDK de Python de Azure: establezca la propiedad allow_roleassignment_on_rg del objeto Workspace en True y después realice una operación de actualización. En el ejemplo siguiente, se actualiza un área de trabajo denominada myworkspace. Esta operación requiere la versión 1.17.0 o posterior del SDK de Azure Machine Learning.

    ws = ml_client.workspaces.get(name="myworkspace")
    ws.allow_roleassignment_on_rg = True
    ws = ml_client.workspaces.begin_update(workspace=ws).result()
    

Permisos de RBAC de Azure del servicio de dependencias

El centro de conectividad tiene dependencias en otros servicios de Azure. En la tabla siguiente se enumeran los permisos necesarios para estos servicios al crear un centro de conectividad. La persona que crea el centro de conectividad necesita estos permisos. La persona que crea un proyecto desde el centro de conectividad no los necesita.

Permiso Propósito
Microsoft.Storage/storageAccounts/write Cree una cuenta de almacenamiento con los parámetros especificados o actualice las propiedades o etiquetas, o agregue un dominio personalizado para la cuenta de almacenamiento especificada.
Microsoft.KeyVault/vaults/write Cree un almacén de claves nuevo o actualice las propiedades de uno que ya existe. Es posible que ciertas propiedades requieran más permisos.
Microsoft.CognitiveServices/accounts/write Escribir cuentas de API.
Microsoft.MachineLearningServices/workspaces/write Cree una nueva área de trabajo o actualice las propiedades de un área de trabajo existente.

Configuración de RBAC empresarial de ejemplo

En la tabla siguiente se muestra un ejemplo de cómo configurar el control de acceso basado en rol para Inteligencia artificial de Azure Studio para una empresa.

Persona Role Fin
Administrador de TI Propietario del centro de conectividad El administrador de TI puede asegurarse de que el centro de conectividad está configurado para sus estándares empresariales. Puede asignar administradores al rol Colaborador en el recurso si quiere permitir que los administradores realicen nuevos centros. O bien, puede asignar administradores al rol Desarrollador de Azure AI en el recurso para no permitir la creación de un nuevo centro de conectividad.
Managers Colaborador o Desarrollador de Azure AI en el centro de conectividad Los administradores pueden administrar el centro de conectividad, auditar recursos de proceso, auditar conexiones y crear conexiones compartidas.
Líder de equipo/desarrollador líder Desarrollador de Azure AI en el centro de conectividad Los desarrolladores principales pueden crear proyectos para su equipo y crear recursos compartidos (por ejemplo, proceso y conexiones) en el nivel del centro de conectividad. Después de la creación del proyecto, los propietarios del proyecto pueden invitar a otros miembros.
Miembros del equipo o desarrolladores Colaborador o Desarrollador de Azure AI en el proyecto Los desarrolladores pueden compilar e implementar modelos de IA dentro de un proyecto y crear recursos que permitan el desarrollo, como procesos y conexiones.

Acceso a los recursos creados fuera del centro de conectividad

Al crear un centro de conectividad, los permisos de control de acceso basados en roles integrados le conceden acceso para usar el recurso. Sin embargo, si desea usar recursos fuera de lo que se creó en su nombre, debe asegurarse de que:

  • El recurso que intenta usar tiene permisos configurados para permitirle acceder a él.
  • El centro de conectividad tiene permiso para acceder a él.

Por ejemplo, si intenta consumir un almacenamiento de blobs nuevo, debe asegurarse de que la identidad administrada del centro de conectividad se agrega al rol Lector de Blob Storage para el blob. Si está intentando usar un nuevo origen de Búsqueda de Azure AI, es posible que tenga que agregar el centro de conectividad a las asignaciones de roles de Búsqueda de Azure AI.

Administrar el acceso con roles

Si es propietario de un centro de conectividad, puede agregar y quitar roles para Inteligencia artificial de Azure Studio. Vaya a la página Inicio en Inteligencia artificial de Azure Studio y seleccione el centro. A continuación, seleccione Usuarios para agregar y quitar usuarios para el centro de conectividad. También puede administrar permisos desde Azure Portal en Control de acceso (IAM) o a través de la CLI de Azure. Por ejemplo, use la CLI de Azure para asignar el rol Desarrollador de Azure AI a "joe@contoso.com" para el grupo de recursos "this-rg" con el siguiente comando:

az role assignment create --role "Azure AI Developer" --assignee "joe@contoso.com" --resource-group this-rg 

Creación de roles personalizados

Si los roles integrados no son suficientes, puede crear roles personalizados. Los roles personalizados pueden tener los permisos de lectura, escritura, eliminación y recursos de proceso en ese IA Studio. Puede hacer que el rol esté disponible en un nivel de proyecto específico, un nivel de grupo de recursos específico o un nivel de suscripción específico.

Nota:

Debe ser un propietario del recurso en ese nivel para crear roles personalizados en ese recurso.

En el ejemplo JSON siguiente se define un rol de desarrollador de AI Studio personalizado en el nivel de suscripción:

{
    "properties": {
        "roleName": "AI Studio Developer",
        "description": "Custom role for AI Studio. At subscription level",
        "assignableScopes": [
            "/subscriptions/<your-subscription-id>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.MachineLearningServices/workspaces/write",
                    "Microsoft.MachineLearningServices/workspaces/endpoints/write",
                    "Microsoft.Storage/storageAccounts/write",
                    "Microsoft.Resources/deployments/validate/action",
                    "Microsoft.KeyVault/vaults/write",
                    "Microsoft.Authorization/roleAssignments/read",
                    "Microsoft.Authorization/roleDefinitions/read",
                    "Microsoft.CognitiveServices/*/read"
                ],
                "notActions": [
                    "Microsoft.MachineLearningServices/workspaces/delete",
                    "Microsoft.MachineLearningServices/workspaces/write",
                    "Microsoft.MachineLearningServices/workspaces/listKeys/action",
                    "Microsoft.MachineLearningServices/workspaces/hubs/write",
                    "Microsoft.MachineLearningServices/workspaces/hubs/delete",
                    "Microsoft.MachineLearningServices/workspaces/featurestores/write",
                    "Microsoft.MachineLearningServices/workspaces/featurestores/delete"
                ],
                "dataActions": [
                    "Microsoft.CognitiveServices/accounts/OpenAI/*/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/search/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/generate/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/search/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/chat/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/extensions/chat/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/embeddings/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/images/generations/action"
                ],
                "notDataActions": []
            }
        ]
    }
}

Para saber cómo crear un rol personalizado, use uno de los siguientes artículos:

Para más información sobre la creación de roles personalizados en general, visite el artículo Roles personalizados de Azure.

Asignación de roles en Estudio de IA

Puede agregar usuarios y asignar roles directamente desde Estudio de IA de Azure a nivel de centro o de proyecto. En el centro de administración, seleccione Usuarios en la sección Centro de conectividad o proyecto y, a continuación, seleccione Nuevo usuario para agregar un usuario.

Nota:

Está limitado a la selección de roles integrados. Si necesita asignar roles personalizados, debe usar Azure Portal, la CLI de Azure o Azure PowerShell.

Recorte de pantalla de la página de información general del centro de Estudio de IA de Azure con el botón de Nuevo usuario resaltado.

A continuación, se le pedirá que escriba la información del usuario y seleccione un rol integrado.

Recorte de pantalla del mensaje para agregar usuarios con el rol establecido en Desarrollador de Azure AI.

Escenario: uso de una clave administrada por el cliente

Al configurar un centro de conectividad para usar una clave administrada por el cliente (CMK), se usa una instancia de Azure Key Vault para almacenar la clave. El usuario o la entidad de servicio que se use para crear el área de trabajo deberá tener acceso al almacén de claves como propietario o colaborador.

Si el centro de AI Studio está configurado con una identidad administrada asignada por el usuario, se debe conceder a la identidad los siguientes roles. Estos roles permiten a la identidad administrada crear los recursos de Azure Storage, Azure Cosmos DB y Azure Search que se usan al usar una clave administrada por el cliente:

  • Microsoft.Storage/storageAccounts/write
  • Microsoft.Search/searchServices/write
  • Microsoft.DocumentDB/databaseAccounts/write

Dentro del almacén de claves, el usuario o la entidad de servicio deben tener el acceso de creación, obtención, eliminación y purga de la clave a través de una directiva de acceso del almacén de claves. Para obtener más información, consulte Seguridad de Azure Key Vault.

Escenario: Conexiones mediante la autenticación de Microsoft Entra ID

Al crear una conexión que use la autenticación de Microsoft Entra ID, debe asignar roles a los desarrolladores para que puedan acceder al recurso.

Conexión de recursos Role Descripción
Azure AI Search Colaborador Enumere las claves de API para enumerar índices de Azure AI Studio.
Azure AI Search Colaborador de datos de índice de búsqueda Necesario para escenarios de indexación
Servicios de Azure AI / Azure OpenAI Colaborador de OpenAI de Cognitive Services Llame a la API de ingesta pública desde Azure AI Studio.
Servicios de Azure AI / Azure OpenAI Usuario de Cognitive Services Enumere las claves de API de Azure AI Studio.
Servicios de Azure AI / Azure OpenAI Colaborador de Cognitive Services Permite llamadas al plano de control.
Azure Blob Storage Colaborador de datos de blobs de almacenamiento Obligatorio para leer y escribir datos en Blob Storage.
Azure Data Lake Storage Gen 2 Colaborador de datos de blobs de almacenamiento Obligatorio para leer y escribir datos en el lago de datos.
Microsoft OneLake Colaborador Para proporcionar a alguien acceso a Microsoft OneLake, debe concederle acceso al área de trabajo de Microsoft Fabric.

Importante

Si usa Promptflow con Azure Storage (incluido Azure Data Lake Storage Gen 2), también debe asignar el rol de colaborador con privilegios de datos de archivos de almacenamiento.

Cuando se usan conexiones autenticadas de Microsoft Entra ID en el área de juegos de chat, los servicios deben autorizarse entre sí para acceder a los recursos necesarios. El administrador que realiza la configuración debe tener el rol Propietario en estos recursos para agregar asignaciones de roles. En la tabla siguiente se enumeran las asignaciones de roles necesarias para cada recurso. La columna Usuario asignado hace referencia a la identidad administrada asignada por el sistema del recurso enumerado. La columna Recurso hace referencia al recurso al que el usuario asignado necesita acceder. Por ejemplo, Azure OpenAI tiene una identidad administrada asignada por el sistema a la que debe asignarse el rol Lector de datos del índice de búsqueda para el recurso de Búsqueda de Azure AI.

Role Persona asignada Resource Descripción
Lector de datos de índice de búsqueda Servicios de Azure AI / Azure OpenAI Azure AI Search El servicio de inferencia consulta los datos del índice. Solo se usa para escenarios de inferencia.
Colaborador de datos de índice de búsqueda Servicios de Azure AI / Azure OpenAI Azure AI Search Acceso de lectura y escritura al contenido en índices. Importe, actualice o consulte la colección de documentos de un índice. Solo se usa para escenarios de ingesta e inferencia.
Colaborador del servicio Search Servicios de Azure AI / Azure OpenAI Azure AI Search Acceso de lectura y escritura a definiciones de objetos (índices, alias, mapas de sinónimos, indizadores, orígenes de datos y conjuntos de aptitudes). El servicio de inferencia consulta el esquema de índice para la asignación de campos automáticos. El servicio de ingesta de datos crea un índice, orígenes de datos, un conjunto de aptitudes, un indexador y consulta el estado del indexador.
Colaborador de OpenAI de Cognitive Services Azure AI Search Servicios de Azure AI / Azure OpenAI Aptitud personalizada
Usuario de OpenAI de Cognitive Services Recurso de Azure OpenAI para un modelo de chat Recurso de Azure OpenAI para un modelo de inserción Solo es necesario si se usan dos recursos de Azure OpenAI para comunicarse.
Colaborador de datos de blobs de almacenamiento Azure AI Search Cuenta de Azure Storage Lee el blob y escribe el almacén de conocimiento.
Colaborador de datos de blobs de almacenamiento Servicios de Azure AI / Azure OpenAI Cuenta de Azure Storage Lee del contenedor de entrada y escribe los resultados del preproceso en el contenedor de salida.

Nota:

El rol Usuario de OpenAI de Cognitive Services solo es necesario si usa dos recursos de Azure OpenAI: uno para el modelo de chat y otro para el modelo de inserción. Si esto se aplica, habilite Servicios de confianza y asegúrese de que la conexión para el recurso de Azure OpenAI del modelo de inserción tenga habilitado Microsoft Entra ID.

Escenario: Uso de un recurso de Azure OpenAI existente

Al crear una conexión a un recurso de Azure OpenAI existente, también debe asignar roles a los usuarios para que puedan acceder al recurso. Deberá asignarles el rol Usuario de OpenAI de Cognitive Services o Contribuidor de OpenAI de Cognitive Services, en función de las tareas que deban realizar. Para obtener información sobre estos roles y las tareas que habilitan, consulte roles de Azure OpenAI.

Escenario: Uso de Azure Container Registry

Una instancia de Azure Container Registry es una dependencia opcional para el centro de inteligencia artificial de Azure Studio. En la siguiente tabla se muestra la matriz de compatibilidad al autenticar un centro en Azure Container Registry, según el método de autenticación y la configuración de acceso a la red pública de Azure Container Registry.

Método de autenticación Acceso a la red pública
deshabilitado
Azure Container Registry
acceso a la red pública habilitado
Usuario administrador
Identidad administrada asignada por el sistema del centro de inteligencia artificial de Azure Studio
Identidad administrada asignada por el usuario del centro de conectividad de IA Studio
con el rol ACRPull asignado a la identidad

Una identidad administrada asignada por el sistema se asigna automáticamente a los roles correctos cuando se crea el centro. Si usa una identidad administrada asignada por el usuario, debe asignar el rol ACRPull a la identidad.

Escenario: Uso de Azure Application Insights para el registro

Azure Application Insights es una dependencia opcional para el centro de conectividad de Inteligencia artificial de Azure Studio. En la tabla siguiente se enumeran los permisos necesarios si desea usar Application Insights al crear un centro de conectividad. La persona que crea el centro de conectividad necesita estos permisos. La persona que crea un proyecto desde el centro de conectividad no necesita estos permisos.

Permiso Fin
Microsoft.Insights/Components/Write Escriba una configuración de componente de Application Insights.
Microsoft.OperationalInsights/workspaces/write Cree una nueva área de trabajo o vincule a un área de trabajo que ya existe proporcionando el id. de cliente de esta.

Escenario: Aprovisionamiento de unidades de rendimiento aprovisionadas

En el ejemplo siguiente se define un rol personalizado que puede adquirir unidades de rendimiento aprovisionadas (PTU).

{
    "properties": {
        "roleName": "PTU procurer",
        "description": "Custom role to purchase PTU",
        "assignableScopes": [
            "/subscriptions/<your-subscription-id>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.CognitiveServices/accounts/commitmentplans/read",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/write",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/delete",
                    "Microsoft.CognitiveServices/locations/commitmentTiers/read",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/read",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/write",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/delete",
                    "Microsoft.Features/features/read",
                    "Microsoft.Features/providers/features/read",
                    "Microsoft.Features/providers/features/register/action",
                    "Microsoft.Insights/logDefinitions/read",
                    "Microsoft.Insights/metricdefinitions/read",
                    "Microsoft.Insights/metrics/read",
                    "Microsoft.ResourceHealth/availabilityStatuses/read",
                    "Microsoft.Resources/deployments/operations/read",
                    "Microsoft.Resources/subscriptions/operationresults/read",
                    "Microsoft.Resources/subscriptions/read",
                    "Microsoft.Resources/subscriptions/resourcegroups/deployments/*",
                    "Microsoft.Resources/subscriptions/resourceGroups/read"
                ],
                "notActions": [],
                "dataActions": [],
                "notDataActions": []
            }
        ]
    }
}

Escenario: API de Azure OpenAI Assistants

En el ejemplo siguiente se define un rol para un desarrollador mediante Asistentes de Azure OpenAI.

{
    "id": "",
    "properties": {
        "roleName": "Azure OpenAI Assistants API Developer",
        "description": "Custom role to work with Azure OpenAI Assistants API",
        "assignableScopes": [
            "<your-scope>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.CognitiveServices/*/read",
                    "Microsoft.Authorization/roleAssignments/read",
                    "Microsoft.Authorization/roleDefinitions/read"
                ],
                "notActions": [],
                "dataActions": [
                    "Microsoft.CognitiveServices/accounts/OpenAI/*/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/search/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/generate/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/search/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/chat/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/extensions/chat/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/embeddings/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/images/generations/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/delete",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/files/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/files/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/files/delete",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/delete",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/messages/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/messages/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/messages/files/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/runs/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/runs/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/runs/steps/read"
                ],
                "notDataActions": []
            }
        ]
    }
}

Solución de problemas

Error: La entidad de seguridad no tiene acceso a la API o operación

Síntomas

Al usar el área de juegos de chat de Estudio de IA de Azure, recibe un mensaje de error que dice "La entidad de seguridad no tiene acceso a la API/Operación". El error también puede incluir un "Apim-request-id".

Causa

El usuario o la entidad de seguridad utilizada para autenticar las solicitudes a Azure OpenAI o Búsqueda de Azure AI no tiene los permisos necesarios para acceder al recurso.

Solución

Asigne los siguientes roles al usuario o a la entidad de servicio. El rol que asigne depende de los servicios que use y del nivel de acceso que requiera el usuario o la entidad de servicio:

Servicio al que se accede Role Descripción
Azure OpenAI Colaborador de OpenAI de Cognitive Services Llame a la API de ingesta pública desde Azure AI Studio.
Azure OpenAI Usuario de Cognitive Services Enumere las claves de API de Azure AI Studio.
Azure AI Search Colaborador de datos de índice de búsqueda Necesario para escenarios de indexación.
Azure AI Search Lector de datos de índice de búsqueda El servicio de inferencia consulta los datos del índice. Solo se usa para escenarios de inferencia.

Pasos siguientes