Controle de acesso baseado em função do Estúdio de IA do Azure
Neste artigo, você aprenderá a gerenciar o acesso (autorização) a um hub do Estúdio de IA do Azure. O Azure RBAC (controle de acesso baseado em função do Azure) é usado para gerenciar o acesso aos recursos do Azure, como a capacidade de criar novos recursos ou usar os existentes. Os usuários em seu Microsoft Entra ID recebem funções específicas, que concedem acesso aos 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 interface do usuário no Estúdio de IA do Azure para outros usuários. Por exemplo, se a função de um usuário 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. Esse comportamento é esperado, e impede que o usuário tente operações que retornariam uma mensagem de erro de acesso negado.
Hub do Estudo de AI do Azure versus projeto
No Estúdio de IA do Azure, há dois níveis de acesso: o hub e o projeto. O hub de IA abriga a infraestrutura (incluindo a configuração de rede virtual, chaves gerenciadas pelo cliente, identidades gerenciadas e políticas), assim como 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 atua como workspaces que permitem criar e implantar sistemas de IA. Em um projeto, você pode desenvolver fluxos, implantar modelos e gerenciar ativos de projeto. O acesso ao projeto permite que você desenvolva a IA de ponta a ponta, aproveitando a configuração da infraestrutura no recurso de IA do Azure.
Um dos principais benefícios do hub de IA e da relação de projeto de IA é que os desenvolvedores podem criar seus próprios projetos que herdam as configurações de segurança do hub de IA. Você também pode ter desenvolvedores que são colaboradores de um projeto e não podem criar novos projetos.
Funções padrão para o hub
O Estúdio de IA do Azure tem funções internas que estão disponíveis por padrão.
Aqui está uma tabela das funções internas e das respectivas permissões:
Função | Descrição |
---|---|
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 |
Colaborador | 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. |
Desenvolvedor de IA do Azure | 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 no próprio projeto. Os usuários podem interagir com os recursos de IA do Azure já existentes, como o OpenAI do Azure, a Pesquisa de IA do Azure 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 recurso em um grupo de recursos. |
Leitor | Acesso somente leitura ao hub. Essa função é atribuída automaticamente a todos os membros do projeto dentro do recurso de IA do Azure. |
A principal diferença entre o Colaborador e o Desenvolvedor de IA do Azure é a capacidade de criar recursos de IA do Azure. Se você não quiser que os usuários criem novos hubs (devido à cota, ao custo ou apenas ao gerenciamento de quantos hubs você tem), atribua a função de Desenvolvedor de IA do Azure.
Somente as funções 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 função “Desenvolvedor de IA do Azure” é 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 de Desenvolvedor de IA do Azure integrada não atender às suas necessidades, você poderá criar uma função personalizada.
Funções padrão para projetos
Os projetos do Estúdio de IA do Azure têm funções internas que estão disponíveis por padrão.
Veja uma tabela das funções internas e as respectivas permissões do projeto de IA do Azure:
Função | Descrição |
---|---|
Proprietário | Acesso completo ao projeto de IA do Azure, incluindo a capacidade de atribuir permissões aos usuários do projeto. |
Colaborador | O usuário tem acesso completo ao projeto de IA do Azure, mas não pode atribuir permissões aos usuários do projeto. |
Desenvolvedor de IA do Azure | 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 recurso em 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 é Leitor no hub. A segunda função é a função Operador de Implantação de Inferência, que permite que o usuário crie implantações no grupo de recursos em que o projeto se encontra. Essa função é composta por essas 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 precisam apenas dessas duas funções atribuídas automaticamente e da função Colaborador ou Desenvolvedor de IA do Azure em um projeto.
As permissões mínimas necessárias para criar um projeto são uma função que tem a ação Microsoft.MachineLearningServices/workspaces/hubs/join
permitida no hub. A função interna do Desenvolvedor de IA do Azure tem essa permissão.
Função Administrador de IA do Azure
Antes de 19/11/2024, a identidade gerenciada atribuída pelo sistema criada para o hub era automaticamente atribuída à função Colaborador para o grupo de recursos que contém o hub e projetos. Os hubs criados após esta data têm a identidade gerenciada atribuída pelo sistema atribuída à função Administrador de IA do Azure. Essa função tem escopo mais restrito às permissões mínimas necessárias para a identidade gerenciada executar suas tarefas.
A função Administrador de IA do Azure está em visualização pública.
Importante
Os itens marcados (versão prévia) neste artigo estão atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.
A função Administrador de IA do Azure tem as seguintes permissões:
{
"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": []
}
]
}
Converter uma identidade gerenciada pelo sistema existente na função Administrador de IA do Azure
Dica
Recomendamos que você converta os hubs criados antes de 19/11/2024 para usar a função Administrador de IA do Azure. A função Administrador de IA do Azure tem escopo mais restrito que a função Colaborador usada anteriormente e segue o princípio de privilégios mínimos.
Você pode converter hubs criados antes de 19/11/2024 usando um dos seguintes métodos:
API REST do Azure: Use uma solicitação
PATCH
para a API REST do Azure para o espaço de trabalho. O corpo da solicitação deve definir{"properties":{"allowRoleAssignmeentOnRG":true}}
. O exemplo a seguir mostra uma solicitaçãoPATCH
usandocurl
. Substitua<your-subscription>
,<resource-group-name>
,<workspace-name>
e<YOUR-ACCESS-TOKEN>
pelos valores para seu cenário. Para obter mais informações sobre o uso de APIs REST, visite a documentação da API REST do 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 do Azure: use o comando
az ml workspace update
com o parâmetro--allow-roleassignment-on-rg true
. O exemplo a seguir atualiza um workspace chamadomyworkspace
. Esse comando requer a extensão da CLI do Azure Machine Learning versão 2.27.0 ou posterior.az ml workspace update --name myworkspace --allow-roleassignment-on-rg true
SDK de Python do Azure: defina a propriedade
allow_roleassignment_on_rg
do objeto do workspace comoTrue
e, em seguida, execute uma operação de atualização. O exemplo a seguir atualiza um workspace chamadomyworkspace
. Esta operação requer o SDK do Azure Machine Learning versão 1.17.0 ou posterior.ws = ml_client.workspaces.get(name="myworkspace") ws.allow_roleassignment_on_rg = True ws = ml_client.workspaces.begin_update(workspace=ws).result()
Permissões RBAC 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 ao criar um recurso do hub de IA do Azure. A pessoa que cria o hub precisa dessas permissões. A pessoa que cria um projeto do hub não precisa deles.
Permissão | Finalidade |
---|---|
Microsoft.Storage/storageAccounts/write |
Crie uma conta de armazenamento com os parâmetros especificados ou atualize as propriedades ou marcas ou adicione um 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. Determinadas propriedades podem exigir mais permissões. |
Microsoft.CognitiveServices/accounts/write |
Gravar contas de API. |
Microsoft.MachineLearningServices/workspaces/write |
Crie um novo workspace ou atualize as propriedades de um workspace existente. |
Exemplo de configuração de RBAC empresarial
Veja a seguir um exemplo de como configurar o controle de acesso baseado em função para o Estúdio de IA do Azure para uma empresa.
Persona | Função | Finalidade |
---|---|---|
Administrador de TI | Proprietário do hub | O administrador de TI pode garantir que o hub esteja configurado para seus padrões corporativos. Eles podem atribuir aos gerentes a função Colaborador no recurso se desejarem 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 um novo hub. |
Managers | Colaborador ou Desenvolvedor de IA do Azure no hub | Os gerentes podem gerenciar o hub de IA, auditar recursos de computação, auditar conexões e criar conexões compartilhadas. |
Desenvolvedor líder/líder de equipe | Desenvolvedor de IA do Azure no hub | Os desenvolvedores potenciais podem criar projetos para sua equipe e criar recursos compartilhados (por exemplo: computação e conexões) no nível de recurso do hub de IA do Azure. 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 de IA do Azure | Os desenvolvedores podem criar e implantar modelos de IA em um projeto e criar ativos que permitem o desenvolvimento, como computação e conexões. |
Acesso aos recursos criados fora do hub
Quando você cria um recurso de IA do Azure, as permissões internas de controle de acesso baseado em função permitem a você acesso para usar o recurso. No entanto, se você quiser usar recursos fora do que foi criado em seu nome, precisará verificar o seguinte:
- O recurso que você está tentando usar tem permissões configuradas para permitir que você o acesse.
- Seu hub tem permissão para acessá-lo.
Por exemplo, se você estiver tentando consumir um novo armazenamento de blobs, precisará verificar se a identidade gerenciada do recurso de IA do Azure foi adicionada à função Leitor do Armazenamento de Blobs do Blob. Caso você esteja tentando usar uma nova fonte da Pesquisa de IA do Azure, talvez seja necessário adicionar o recurso de IA do Azure às atribuições de função da Pesquisa de IA do Azure.
Gerenciar o acesso usando funções
Caso você seja proprietário de um hub, é possível adicionar e remover funções do Estúdio de IA. Acesse a home page no Estúdio de IA e selecione seu hub. Em seguida, selecione Usuários para adicionar e remover usuários para o hub. Gerencie também as permissões no portal do Azure em IAM (Controle de Acesso) ou pela CLI do Azure. Por exemplo, use a CLI do Azure para atribuir a função Desenvolvedor de IA do Azure a “joe@contoso.com” no 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
Caso as funções internas sejam insuficientes, você poderá criar funções personalizadas. Funções personalizadas podem ter permissões de leitura, gravação, exclusão e recursos de computação neste Estúdio de IA. Você pode tornar a função disponível em níveis específicos do projeto, do grupo de recursos ou da assinatura.
Observação
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 Estúdio de IA no nível da 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 saber como criar 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.
Atribuindo funções no AI Studio
Você pode adicionar usuários e atribuir funções diretamente do IA do Azure Studio no nível do hub ou do projeto. No centro de gerenciamento, selecione Usuários na seção de hub ou projeto, em seguida, selecione Novo usuário para adicionar um usuário.
Observação
Você está limitado a selecionar funções integradas. Se você precisar atribuir funções personalizadas, deverá usar o portal do Azure, CLI do Azure, ou Azure PowerShell.
Em seguida, você será solicitado a inserir as informações do usuário e selecionar uma função integrada.
Cenário: usar uma chave gerenciada pelo cliente
Ao configurar um hub para usar uma CMK (chave gerenciada pelo cliente), um Azure Key Vault é usado para armazenar a chave. O usuário ou a 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 IA 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 gerida crie os recursos Armazenamento do Microsoft Azure, Azure Cosmos DB e Azure Search utilizados ao utilizar uma chave gerida pelo cliente:
Microsoft.Storage/storageAccounts/write
Microsoft.Search/searchServices/write
Microsoft.DocumentDB/databaseAccounts/write
Dentro do cofre de chaves, o usuário ou a entidade de serviço deve ter acesso de criação, obtenção, exclusão e limpeza à chave por meio de uma política de acesso do cofre de chaves. Para obter mais informações, confira Segurança do Azure Key Vault.
Cenário: conexões usando a autenticação do Microsoft Entra ID
Quando criar uma conexão que use a autenticação do Microsoft Entra ID, você precisa atribuir funções aos seus desenvolvedores para que possam acessar o recurso.
Conexão do recurso | Função | Descrição |
---|---|---|
Azure AI Search | Colaborador | Listar chaves de API para listar índices do Estúdio de IA do Azure. |
IA do Azure Search | Colaborador de dados de índice de pesquisa | Obrigatório para cenários de indexação |
Serviços de IA do Azure/OpenAI do Azure | Colaborador de OpenAI dos Serviços Cognitivos | Chame a API de ingestão pública do Estúdio de IA do Azure. |
Serviços de IA do Azure/OpenAI do Azure | Usuário dos Serviços Cognitivos | Listar as chaves de API do Estúdio de IA do Azure. |
Serviços de IA do Azure/OpenAI do Azure | Colaborador dos Serviços Cognitivos | Permite chamadas para o painel de controle. |
Armazenamento do Blobs do Azure | Colaborador de dados de blob de armazenamento | Obrigatório para leitura e gravação de dados no armazenamento de blobs. |
Azure Data Lake Storage Gen 2 | Colaborador de Dados do Storage Blob | Obrigatório para leitura e gravação de dados no data lake. |
Microsoft OneLake | Colaborador | Para dar a alguém acesso ao Microsoft OneLake, você deve dar a eles acesso ao seu Workspace do Microsoft Fabric. |
Importante
Se você estiver usando o Promptflow com o Armazenamento do Azure (incluindo o Armazenamento do Azure Data Lake Gen 2), você também deve atribuir a função Arquivo de Armazenamento Dados Colaborador com Privilégios.
Ao usar conexões autenticadas pelo Microsoft Entra ID no playground do chat, os serviços precisam se autorizar mutuamente a acessar os recursos necessários. O administrador que estiver executando a configuração precisa ter a função de 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 Destinatário se refere à identidade gerenciada atribuída pelo sistema do recurso listado. A coluna Recurso se refere ao recurso que o destinatário precisa acessar. Por exemplo, a OpenAI do Azure tem uma identidade gerenciada atribuída pelo sistema à qual a função de Leitor de Dados do Índice de Pesquisa para o recurso de Pesquisa de IA do Azure precisa ser atribuída.
Função | Atribuição | Recurso | Descrição |
---|---|---|---|
Leitor de dados de índice de pesquisa | Serviços de IA do Azure/OpenAI do Azure | IA do Azure Search | O serviço de inferência consulta os dados do índice. Usado apenas em cenários de inferência. |
Colaborador de dados de índice de pesquisa | Serviços de IA do Azure/OpenAI do Azure | IA do Azure Search | Acesso de leitura e gravação ao conteúdo dos índices. Importar, atualizar ou consultar a coleção de documentos de um índice. Usado apenas em cenários de ingestão e inferência. |
Colaborador do Serviço de Pesquisa | Serviços de IA do Azure/OpenAI do Azure | IA do Azure Search | Acesso de leitura e gravação a definições de objetos (í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 de campos automático. O serviço de ingestão de dados cria índice, fontes de dados, conjunto de habilidades, indexador e consulta o status do indexador. |
Colaborador de OpenAI dos Serviços Cognitivos | IA do Azure Search | Serviços de IA do Azure/OpenAI do Azure | Habilidade personalizada |
Usuário do OpenAI de Serviços Cognitivos | Recurso da OpenAI do Azure para o modelo de chat | Recurso da OpenAI do Azure para o modelo de incorporação | Necessário somente se você estiver usando dois recursos da OpenAI do Azure para se comunicar. |
Colaborador de Dados do Storage Blob | Azure AI Search | Conta de Armazenamento do Azure | Lê o blob e grava no repositório de conhecimento. |
Colaborador de Dados do Storage Blob | Serviços de IA do Azure/OpenAI do Azure | Conta de Armazenamento do Azure | Faz a leitura do contêiner de entrada e grava os resultados do pré-processamento no contêiner de saída. |
Observação
A função de Usuário dos Serviços Cognitivos da OpenAI será necessária apenas se você estiver usando dois recursos da OpenAI do Azure: um para o seu modelo de chat e outro para o seu modelo de incorporação. Se for esse o caso, habilite os Serviços Confiáveis E certifique-se de que a conexão do seu recurso de modelo de incorporação da OpenAI do Azure esteja com o Microsoft Entra ID habilitado.
Cenário: usar um recurso existente do Azure OpenAI
Ao criar uma conexão a 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 do OpenAI de Serviços Cognitivos ou de Colaborador de OpenAI dos Serviços Cognitivos, dependendo das tarefas que eles precisam executar. Para obter informações sobre essas funções e as tarefas que elas habilitam, consulte as 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 Estúdio de IA do Azure. 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 | O acesso à rede pública está desabilitado |
Acesso à rede pública do Registro de Contêiner do Azure habilitado |
---|---|---|
Usuário administrador | ✓ | ✓ |
Identidade gerenciada atribuída pelo sistema do hub do Estúdio de IA | ✓ | ✓ |
Identidade gerenciada atribuída pelo usuário do hub do Estúdio de IA com a função ACRPull atribuída à identidade |
✓ |
Uma identidade gerenciada atribuída pelo sistema é atribuída automaticamente às funções corretas quando o hub é criado. Se você estiver usando uma identidade gerenciada atribuída pelo usuário, precisará atribuir a função ACRPull à identidade.
Cenário: usar o Azure Application Insights para registrar em log
O Azure Application Insights é uma dependência opcional para o hub do Estúdio de IA do Azure. 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 do hub não precisa dessas permissões.
Permissão | Finalidade |
---|---|
Microsoft.Insights/Components/Write |
Gravar em uma configuração de componente do Application Insights. |
Microsoft.OperationalInsights/workspaces/write |
Crie um novo workspace ou links para um workspace existente fornecendo a ID do cliente do workspace existente. |
Cenário: aquisição 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: API de Assistentes da OpenAI do Azure
O exemplo a seguir define uma função para um desenvolvedor usando Assistentes da 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": []
}
]
}
}
Solução de problemas
Erro: O principal não tem acesso à API/Operação
Sintomas
Ao usar o playground de chat do IA do Azure Studio, você recebe uma mensagem de erro informando "O diretor não tem acesso à API/operação". O erro também pode incluir um "Apim-request-id".
Causa
O usuário ou entidade de serviço usada para autenticar solicitações ao Azure OpenAI ou ao IA do Azure 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 que você atribui depende dos serviços que você está usando e do nível de acesso que o usuário ou entidade de serviço requer:
Serviço sendo acessado | Função | Descrição |
---|---|---|
OpenAI do Azure | Colaborador de OpenAI dos Serviços Cognitivos | Chame a API de ingestão pública do Estúdio de IA do Azure. |
OpenAI do Azure | Usuário dos Serviços Cognitivos | Listar as chaves de API do Estúdio de IA do Azure. |
Azure AI Search | Colaborador de dados de índice de pesquisa | Obrigatório para cenários de indexação. |
Azure AI Search | Leitor de dados de índice de pesquisa | O serviço de inferência consulta os dados do índice. Usado apenas em cenários de inferência. |