Control de acceso basado en rol en el portal de Azure AI Foundry
En este artículo, aprenderá a administrar el acceso (autorización) a un centro de Azure AI Foundry. 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 podría limitar la funcionalidad de la interfaz de usuario en el portal de Azure AI Foundry 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.
Comparación del centro de Azure AI Foundry con el proyecto
En el portal de Azure AI Foundry, hay dos niveles de acceso: el centro 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.
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 Azure AI Foundry tiene roles integrados que están disponibles de manera 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 del portal de Azure AI Foundry tienen roles integrados que están disponibles de manera 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 se concede acceso a un usuario a un proyecto (por ejemplo, mediante la administración de permisos del portal de Azure AI Foundry), 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 solicitudPATCH
que usacurl
. 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 denominadamyworkspace
. 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 enTrue
y después realice una operación de actualización. En el ejemplo siguiente, se actualiza un área de trabajo denominadamyworkspace
. 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 Azure AI Foundry 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, puede agregar y quitar roles para Azure AI Foundry. Vaya a la página Inicio de Azure AI Foundry 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 esa instancia de Azure AI Foundry. 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 Azure AI Foundry personalizado en el nivel de suscripción:
{
"properties": {
"roleName": "Azure AI Foundry Developer",
"description": "Custom role for Azure AI Foundry. 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 el portal de Azure AI Foundry
Puede agregar usuarios y asignar roles directamente desde Azure AI Foundry en el nivel de centro o 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.
A continuación, se le pedirá que escriba la información del usuario y seleccione un rol integrado.
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 Azure AI Foundry está configurado con una identidad administrada asignada por el usuario, se deben 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 | Enumeración de claves de API para enumerar índices de Azure AI Foundry. |
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 Foundry. |
Servicios de Azure AI / Azure OpenAI | Usuario de Cognitive Services | Enumere las claves de API de Azure AI Foundry. |
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 Azure AI Foundry. 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 Azure AI Foundry | ✓ | ✓ |
Identidad administrada asignada por el usuario del centro de Azure AI Foundry 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 Azure AI Foundry. 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 chat del portal de Azure AI Foundry, recibirá un mensaje de error que indica "La entidad de seguridad no tiene acceso a la API o 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 Foundry. |
Azure OpenAI | Usuario de Cognitive Services | Enumere las claves de API de Azure AI Foundry. |
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. |