Controlo de acesso baseado em funções no Estúdio de IA do Azure
Neste artigo, você aprenderá a gerenciar o acesso (autorização) a um hub do Azure AI Studio. O controlo de acesso baseado em funções do Azure (RBAC do Azure) é utilizado para gerir o acesso aos recursos do Azure, como a capacidade de criar novos recursos ou utilizar os existentes. Os utilizadores na sua Microsoft Entra ID recebem funções específicas, que concedem acesso a recursos. O Azure fornece funções internas e a capacidade de criar funções personalizadas.
Aviso
A aplicação de algumas funções pode limitar a funcionalidade da IU no Estúdio de IA do Azure para outros utilizadores. Por exemplo, se a função de um utilizador não tiver a capacidade de criar uma instância de computação, a opção de criar uma instância de computação não estará disponível no estúdio. Este comportamento é esperado e impede que o utilizador tente operações que retornariam um erro de acesso negado.
AI Studio hub vs projeto
No Azure AI Studio, há dois níveis de acesso: o hub e o projeto. O hub abriga a infraestrutura (incluindo configuração de rede virtual, chaves gerenciadas pelo cliente, identidades gerenciadas e políticas) e onde você configura seus serviços de IA do Azure. O acesso ao hub pode permitir que você modifique a infraestrutura, crie novos hubs e crie projetos. Os projetos são um subconjunto do hub que atuam como espaços de trabalho que permitem criar e implantar sistemas de IA. Dentro de um projeto, você pode desenvolver fluxos, implantar modelos e gerenciar ativos do projeto. O acesso ao projeto permite desenvolver IA de ponta a ponta enquanto aproveita a configuração da infraestrutura no hub.
Um dos principais benefícios do relacionamento entre hub e projeto é que os desenvolvedores podem criar seus próprios projetos que herdam as configurações de segurança do hub. Você também pode ter desenvolvedores que são contribuintes para um projeto e não podem criar novos projetos.
Funções padrão para o hub
O hub do AI Studio tem funções internas que estão disponíveis por padrão.
Aqui está uma tabela das funções internas e suas permissões para o hub:
Função | Description |
---|---|
Proprietário | Acesso total ao hub, incluindo a capacidade de gerenciar e criar novos hubs e atribuir permissões. Essa função é atribuída automaticamente ao criador do hub |
Contribuinte | O usuário tem acesso total ao hub, incluindo a capacidade de criar novos hubs, mas não é capaz de gerenciar permissões de hub no recurso existente. |
Azure AI Developer | Execute todas as ações, exceto criar novos hubs e gerenciar as permissões do hub. Por exemplo, os usuários podem criar projetos, computação e conexões. Os usuários podem atribuir permissões dentro de seu projeto. Os usuários podem interagir com recursos de IA do Azure existentes, como o Azure OpenAI, o Azure AI Search e os serviços de IA do Azure. |
Operador de Implantação de Inferência de IA do Azure | Execute todas as ações necessárias para criar uma implantação de recursos dentro de um grupo de recursos. |
Leitor | Acesso somente leitura ao hub. Essa função é atribuída automaticamente a todos os membros do projeto dentro do hub. |
A principal diferença entre o Colaborador e o Azure AI Developer é a capacidade de criar novos hubs. Se você não quiser que os usuários criem novos hubs (devido à cota, custo ou apenas gerenciando quantos hubs você tem), atribua a função de Desenvolvedor de IA do Azure.
Somente as funções de Proprietário e Colaborador permitem que você crie um hub. No momento, as funções personalizadas não podem conceder permissão para criar hubs.
Função de desenvolvedor de IA do Azure
O conjunto completo de permissões para a nova função "Azure AI Developer" é o seguinte:
{
"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
}
]
}
Se a função interna do Desenvolvedor de IA do Azure não atender às suas necessidades, você poderá criar uma função personalizada.
Funções padrão para projetos
Os projetos no AI Studio têm funções internas que estão disponíveis por padrão.
Aqui está uma tabela das funções internas e suas permissões para o projeto:
Função | Description |
---|---|
Proprietário | Acesso total ao projeto, incluindo a capacidade de atribuir permissões aos usuários do projeto. |
Contribuinte | O usuário tem acesso total ao projeto, mas não pode atribuir permissões aos usuários do projeto. |
Azure AI Developer | O usuário pode executar a maioria das ações, incluindo criar implantações, mas não pode atribuir permissões aos usuários do projeto. |
Operador de Implantação de Inferência de IA do Azure | Execute todas as ações necessárias para criar uma implantação de recursos dentro de um grupo de recursos. |
Leitor | Acesso somente leitura ao projeto. |
Quando um usuário recebe acesso a um projeto (por exemplo, por meio do gerenciamento de permissões do AI Studio), mais duas funções são atribuídas automaticamente ao usuário. A primeira função é Reader no hub. A segunda função é a função Operador de Implantação de Inferência, que permite ao usuário criar implantações no grupo de recursos em que o projeto está. Esta função é composta por estas duas permissões: "Microsoft.Authorization/*/read"
e "Microsoft.Resources/deployments/*"
.
Para concluir o desenvolvimento e a implantação de IA de ponta a ponta, os usuários só precisam dessas duas funções atribuídas automaticamente e da função de Colaborador ou Desenvolvedor de IA do Azure em um projeto.
As permissões mínimas necessárias para criar um projeto é uma função que tem a ação permitida de Microsoft.MachineLearningServices/workspaces/hubs/join
no hub. A função interna do Azure AI Developer tem essa permissão.
Permissões do RBAC do Azure do serviço de dependência
O hub tem dependências em outros serviços do Azure. A tabela a seguir lista as permissões necessárias para esses serviços quando você cria um hub. A pessoa que cria o hub precisa dessas permissões. A pessoa que cria um projeto a partir do hub não precisa deles.
Permissão | Propósito |
---|---|
Microsoft.Storage/storageAccounts/write |
Crie uma conta de armazenamento com os parâmetros especificados ou atualize as propriedades ou tags ou adicione domínio personalizado para a conta de armazenamento especificada. |
Microsoft.KeyVault/vaults/write |
Crie um novo cofre de chaves ou atualize as propriedades de um cofre de chaves existente. Algumas propriedades podem exigir mais permissões. |
Microsoft.CognitiveServices/accounts/write |
Escreva contas de API. |
Microsoft.MachineLearningServices/workspaces/write |
Crie um novo espaço de trabalho ou atualize as propriedades de um espaço de trabalho existente. |
Exemplo de configuração de RBAC empresarial
A tabela a seguir é um exemplo de como configurar o controle de acesso baseado em função para seu Azure AI Studio para uma empresa.
Persona | Role | Propósito |
---|---|---|
Administrador de TI | Proprietário do hub | O administrador de TI pode garantir que o hub esteja configurado de acordo com seus padrões corporativos. Eles podem atribuir aos gerentes a função de Colaborador no recurso se quiserem permitir que os gerentes criem novos hubs. Ou eles podem atribuir aos gerentes a função de Desenvolvedor de IA do Azure no recurso para não permitir a criação de novos hubs. |
Gestores | Colaborador ou Desenvolvedor de IA do Azure no hub | Os gerentes podem gerenciar o hub, auditar recursos de computação, auditar conexões e criar conexões compartilhadas. |
Líder de equipe/Desenvolvedor líder | Azure AI Developer no hub | Os desenvolvedores líderes podem criar projetos para sua equipe e criar recursos compartilhados (como computação e conexões) no nível do hub. Após a criação do projeto, os proprietários do projeto podem convidar outros membros. |
Membros da equipe/desenvolvedores | Colaborador ou Desenvolvedor de IA do Azure no projeto | Os desenvolvedores podem criar e implantar modelos de IA dentro de um projeto e criar ativos que permitam o desenvolvimento, como cálculos e conexões. |
Acesso a recursos criados fora do hub
Quando você cria um hub, as permissões internas de controle de acesso baseado em função concedem acesso para usar o recurso. No entanto, se você deseja usar recursos fora do que foi criado em seu nome, você precisa garantir ambos:
- O recurso que está a tentar usar tem o conjunto de permissões que lhe permitem aceder-lhe.
- Seu hub tem permissão para acessá-lo.
Por exemplo, se você estiver tentando consumir um novo armazenamento de Blob, precisará garantir que a identidade gerenciada do hub seja adicionada à função Leitor de Armazenamento de Blob para o Blob. Se você estiver tentando usar uma nova fonte do Azure AI Search, talvez seja necessário adicionar o hub às atribuições de função do Azure AI Search.
Gerenciar o acesso com funções
Se você for proprietário de um hub, poderá adicionar e remover funções para o AI Studio. Vá para a página inicial no AI Studio e selecione seu hub. Em seguida, selecione Usuários para adicionar e remover usuários para o hub. Também pode gerir permissões a partir do portal do Azure em Controlo de Acesso (IAM) ou através da CLI do Azure. Por exemplo, use a CLI do Azure para atribuir a função de Desenvolvedor do Azure AI a "joe@contoso.com" para o grupo de recursos "this-rg" com o seguinte comando:
az role assignment create --role "Azure AI Developer" --assignee "joe@contoso.com" --resource-group this-rg
Criar funções personalizadas
Se as funções incorporadas forem insuficientes, poderá criar funções personalizadas. As funções personalizadas podem ter as permissões de recursos de leitura, gravação, exclusão e computação nesse AI Studio. Você pode disponibilizar a função em um nível de projeto específico, um nível de grupo de recursos específico ou um nível de assinatura específico.
Nota
Você deve ser um proprietário do recurso nesse nível para criar funções personalizadas dentro desse recurso.
O exemplo JSON a seguir define uma função de desenvolvedor personalizada do AI Studio no nível de assinatura:
{
"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 conhecer as etapas de criação de uma função personalizada, use um dos seguintes artigos:
Para obter mais informações sobre como criar funções personalizadas em geral, visite o artigo Funções personalizadas do Azure.
Atribuição de funções no AI Studio
Você pode adicionar usuários e atribuir funções diretamente do Azure AI Studio no nível do hub ou do projeto. Em uma página de visão geral do hub ou do projeto, selecione Novo usuário para adicionar um usuário.
Nota
Você está limitado a selecionar funções internas. Se precisar atribuir funções personalizadas, use o portal do Azure, a CLI do Azure ou o Azure PowerShell.
Em seguida, você será solicitado a inserir as informações do usuário e selecionar uma função interna.
Cenário: Usar uma chave gerenciada pelo cliente
Ao configurar um hub para usar uma chave gerenciada pelo cliente (CMK), um Cofre de Chaves do Azure é usado para armazenar a chave. O usuário ou entidade de serviço usada para criar o espaço de trabalho deve ter acesso de proprietário ou colaborador ao cofre de chaves.
Se o hub do AI Studio estiver configurado com uma identidade gerenciada atribuída pelo usuário, a identidade deverá receber as seguintes funções. Essas funções permitem que a identidade gerenciada crie o Armazenamento do Azure, o Azure Cosmos DB e os recursos do Azure Search usados ao usar uma chave gerenciada pelo cliente:
Microsoft.Storage/storageAccounts/write
Microsoft.Search/searchServices/write
Microsoft.DocumentDB/databaseAccounts/write
Dentro do cofre de chaves, o usuário ou entidade de serviço deve ter o acesso criar, obter, excluir e limpar a chave por meio de uma política de acesso ao cofre de chaves. Para obter mais informações, consulte Segurança do Cofre da Chave do Azure.
Cenário: Conexões usando a autenticação de ID do Microsoft Entra
Ao criar uma conexão que usa a autenticação do Microsoft Entra ID, você deve atribuir funções aos desenvolvedores para que eles possam acessar o recurso.
Conexão de recursos | Função | Description |
---|---|---|
Pesquisa de IA do Azure | Contribuinte | Liste chaves de API para listar índices do Azure AI Studio. |
Pesquisa de IA do Azure | Contribuidor de dados do índice de pesquisa | Necessário para cenários de indexação |
Serviços de IA do Azure / Azure OpenAI | Função de Contribuidor dos Serviços Cognitivos | Chame a API de ingestão pública do Azure AI Studio. |
Serviços de IA do Azure / Azure OpenAI | Utilizador de Serviços Cognitivos | Liste chaves de API do Azure AI Studio. |
Serviços de IA do Azure / Azure OpenAI | Colaborador de Serviços Cognitivos | Permite chamadas para o plano de controle. |
Armazenamento de Blobs do Azure | Contribuidor de Dados de Blobs de Armazenamento | Necessário para ler e gravar dados no armazenamento de blobs. |
Azure Data Lake Storage Gen2 | Contribuidor de Dados de Blobs de Armazenamento | Necessário para ler e gravar dados no data lake. |
Microsoft OneLake | Contribuinte | Para conceder a alguém acesso ao Microsoft OneLake, você deve conceder a ela acesso ao seu espaço de trabalho do Microsoft Fabric. |
Importante
Se você estiver usando o Promptflow com o Armazenamento do Azure (incluindo o Azure Data Lake Storage Gen 2), também deverá atribuir a função de Colaborador Privilegiado de Dados do Arquivo de Armazenamento .
Ao usar conexões autenticadas do Microsoft Entra ID no playground de bate-papo, os serviços precisam autorizar uns aos outros para acessar os recursos necessários. O administrador que executa a configuração precisa ter a função Proprietário nesses recursos para adicionar atribuições de função. A tabela a seguir lista as atribuições de função necessárias para cada recurso. A coluna Cessionário refere-se à identidade gerenciada atribuída pelo sistema do recurso listado. A coluna Recurso refere-se ao recurso que o cessionário precisa acessar. Por exemplo, o Azure OpenAI tem uma identidade gerenciada atribuída ao sistema que precisa ser atribuída à função Leitor de Dados de Índice de Pesquisa para o recurso Azure AI Search.
Role | Cessionário | Recurso | Description |
---|---|---|---|
Leitor de dados de índice de pesquisa | Serviços de IA do Azure / Azure OpenAI | Pesquisa de IA do Azure | O serviço de inferência consulta os dados do índice. Usado apenas para cenários de inferência. |
Contribuidor de dados do índice de pesquisa | Serviços de IA do Azure / Azure OpenAI | Pesquisa de IA do Azure | Acesso de leitura-gravação ao conteúdo em índices. Importe, atualize ou consulte a coleção de documentos de um índice. Usado apenas para cenários de ingestão e inferência. |
Colaborador do Serviço de Pesquisa | Serviços de IA do Azure / Azure OpenAI | Pesquisa de IA do Azure | Acesso de leitura-gravação a definições de objeto (índices, aliases, mapas de sinônimos, indexadores, fontes de dados e conjuntos de habilidades). O serviço de inferência consulta o esquema de índice para mapeamento automático de campos. O serviço de ingestão de dados cria índice, fontes de dados, conjunto de habilidades, indexador e consulta o status do indexador. |
Função de Contribuidor dos Serviços Cognitivos | Pesquisa de IA do Azure | Serviços de IA do Azure / Azure OpenAI | Habilidade personalizada |
Utilizador OpenAI dos Serviços Cognitivos | Azure OpenAI Resource para modelo de chat | Recurso do Azure OpenAI para incorporar modelo | Necessário somente se estiver usando dois recursos do Azure OpenAI para se comunicar. |
Contribuidor de Dados de Blobs de Armazenamento | Pesquisa de IA do Azure | Conta de armazenamento do Azure | Lê blob e escreve armazenamento de conhecimento. |
Contribuidor de Dados de Blobs de Armazenamento | Serviços de IA do Azure / Azure OpenAI | Conta de armazenamento do Azure | Lê do contêiner de entrada e grava os resultados do pré-processo no contêiner de saída. |
Nota
A função Usuário do OpenAI dos Serviços Cognitivos só é necessária se você estiver usando dois recursos do Azure OpenAI: um para seu modelo de chat e outro para seu modelo de incorporação. Se isso se aplicar, habilite os Serviços Confiáveis E verifique se a conexão para seu modelo de incorporação do recurso Azure OpenAI tem o Microsoft Entra ID habilitado.
Cenário: Usar um recurso existente do Azure OpenAI
Ao criar uma conexão com um recurso existente do Azure OpenAI, você também deve atribuir funções aos usuários para que eles possam acessar o recurso. Você deve atribuir a função de Usuário OpenAI de Serviços Cognitivos ou de Colaborador de Serviços Cognitivos OpenAI, dependendo das tarefas que eles precisam executar. Para obter informações sobre essas funções e as tarefas que elas habilitam, consulte Funções do Azure OpenAI.
Cenário: Usar o Registro de Contêiner do Azure
Uma instância do Registro de Contêiner do Azure é uma dependência opcional para o hub do Azure AI Studio. A tabela a seguir lista a matriz de suporte ao autenticar um hub no Registro de Contêiner do Azure, dependendo do método de autenticação e da configuração de acesso à rede pública do Registro de Contêiner do Azure.
Método de autenticação | Acesso à rede pública desativado |
Azure Container Registry Acesso à rede pública habilitado |
---|---|---|
Utilizador administrador | ✓ | ✓ |
Identidade gerenciada atribuída ao sistema do hub AI Studio | ✓ | ✓ |
Identidade gerenciada atribuída pelo usuário ao hub do AI Studio com a função ACRPull atribuída à identidade |
✓ |
Uma identidade gerenciada atribuída ao sistema é atribuída automaticamente às funções corretas quando o hub é criado. Se você estiver usando uma identidade gerenciada atribuída pelo usuário, deverá atribuir a função ACRPull à identidade.
Cenário: Usar o Azure Application Insights para registro em log
O Azure Application Insights é uma dependência opcional para o hub do Azure AI Studio. A tabela a seguir lista as permissões necessárias se você quiser usar o Application Insights ao criar um hub. A pessoa que cria o hub precisa dessas permissões. A pessoa que cria um projeto a partir do hub não precisa dessas permissões.
Permissão | Propósito |
---|---|
Microsoft.Insights/Components/Write |
Escreva em uma configuração de componente do Application Insights. |
Microsoft.OperationalInsights/workspaces/write |
Crie um novo espaço de trabalho ou links para um espaço de trabalho existente fornecendo a ID do cliente do espaço de trabalho existente. |
Cenário: Comprador de unidade de taxa de transferência provisionada
O exemplo a seguir define uma função personalizada que pode adquirir unidades de taxa de transferência provisionadas (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": []
}
]
}
}
Cenário: Azure OpenAI Assistants API
O exemplo a seguir define uma função para um desenvolvedor usando os Assistentes OpenAI do Azure.
{
"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": []
}
]
}
}
Resolução de Problemas
Erro: Principal não tem acesso à API/Operação
Sintomas
Ao usar o playground de bate-papo do Azure AI Studio, você recebe uma mensagem de erro informando "Principal não tem acesso à API/Operação". O erro também pode incluir um "Apim-request-id".
Motivo
O usuário ou entidade de serviço usada para autenticar solicitações para o Azure OpenAI ou Azure AI Search não tem as permissões necessárias para acessar o recurso.
Solução
Atribua as seguintes funções ao usuário ou entidade de serviço. A função atribuída depende dos serviços que você está usando e do nível de acesso que o usuário ou a entidade de serviço exige:
Serviço que está sendo acessado | Função | Description |
---|---|---|
Azure OpenAI | Função de Contribuidor dos Serviços Cognitivos | Chame a API de ingestão pública do Azure AI Studio. |
Azure OpenAI | Utilizador de Serviços Cognitivos | Liste chaves de API do Azure AI Studio. |
Pesquisa de IA do Azure | Contribuidor de dados do índice de pesquisa | Necessário para cenários de indexação. |
Pesquisa de IA do Azure | Leitor de dados de índice de pesquisa | O serviço de inferência consulta os dados do índice. Usado apenas para cenários de inferência. |