Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A autenticação e a autorização no Microsoft Foundry controlam como os principais provam a identidade e obtêm permissão para realizar operações. O Foundry divide as operações em plano de controlo (gestão de recursos) e plano de dados (utilização em tempo de execução), cada um com a sua própria superfície de autenticação e controlo de acesso baseado em funções (RBAC).
O Foundry suporta dois métodos de autenticação: Microsoft Entra ID e chaves API. O Microsoft Entra ID permite acesso condicional, identidades geridas e RBAC granular. As chaves API continuam disponíveis para prototipagem rápida, mas carecem de rastreabilidade por utilizador. Este artigo compara estes métodos, mapeia identidades a funções e descreve cenários usuais de mínima utilização de privilégios.
Importante
Use o Microsoft Entra ID para cargas de trabalho de produção para permitir acesso condicional, identidades geridas e RBAC com privilégios mínimos. As chaves de API são convenientes para avaliação rápida, mas proporcionam acesso grosseiro.
Pré-requisitos
- Uma subscrição do Azure. Se não tiveres uma, cria uma conta gratuita.
- Um recurso Microsoft Foundry com um subdomínio personalizado configurado.
- Compreensão dos conceitos Azure RBAC.
- Para atribuir funções, precisa do papel de Proprietário ou de Administrador de Acesso ao Utilizador no âmbito apropriado.
- (Opcional) O CLI do Azure ou SDK do Azure para Python instalado para autenticação programática.
- (Opcional) Pacotes Python para exemplos de código:
pip install azure-identity requests
Plano de controlo e plano de dados
As operações do Azure dividem-se em duas categorias: plano de controlo e plano de dados. O Azure separa a gestão de recursos (plano de controlo) do runtime operacional (plano de dados). Assim, utiliza o plano de controlo para gerir os recursos na sua subscrição e o plano de dados para aceder às capacidades apresentadas pela sua instância de um tipo de recurso. Para saber mais sobre plano de controlo e plano de dados, consulte Azure plano de controlo e plano de dados. No Foundry, há uma distinção clara entre operações no plano de controlo e operações no plano de dados. A tabela seguinte explica a diferença entre os dois, o âmbito no Foundry, as operações típicas de um utilizador, ferramentas e funcionalidades de exemplo, e a superfície de autorização para usar cada uma.
| Avião | Âmbito na Fundição | Operações típicas | Exemplos de ferramentas | Superfície de autorização |
|---|---|---|---|---|
| Plano de controlo | Configuração de recursos, projetos, redes, encriptação e ligações | Criar ou eliminar recursos, atribuir funções, rodar chaves, configurar o Private Link | Azure portal, CLI do Azure, ARM templates, Bicep, Terraform | Ações do Azure RBAC |
| Plano de dados | Execução e utilização de inferência de modelos, interações com agentes, trabalhos de avaliação e chamadas de segurança de conteúdo | Conclusão de conversas, geração de incorporações, início de tarefas de ajuste fino, envio de mensagens dos agentes, operações de analisadores e classificadores | SDKs, APIs REST, playground do portal Foundry | Ações de dados do Azure RBAC |
Para todas as amostras Bicep, Terraform e SDK, consulte o repositório foundry-samples em GitHub para Foundry.
As listas e o diagrama seguintes ilustram em detalhe a separação entre as ações do plano de controlo e do plano de dados. As ações do plano de controlo dentro da Foundry incluem:
- Criação de recursos na fundição
- Criação de projetos de fundição
- Criação de Servidor de Capacidade de Conta
- Criação de Project Capability Host
- Implementação do modelo
- Criação de ligações à conta e ao projeto
As ações do plano de dados dentro do Foundry incluem:
- Agentes de construção
- Realização de uma avaliação
- Rastreamento e monitorização
- Afinação
O diagrama seguinte mostra a perspetiva da separação entre plano de controlo e plano de dados no Foundry, juntamente com as atribuições de controlo de acesso baseado em funções (RBAC), e que acesso um utilizador pode ter no plano de controlo, no plano de dados ou em ambos. Como se vê no diagrama, as "ações" do RBAC estão associadas ao plano de controlo, enquanto as "dataActions" do RBAC estão associadas ao plano de dados.
Métodos de autenticação
O Foundry suporta Microsoft Entra ID (baseado em token, sem chave) e chaves API.
Microsoft Entra ID
Microsoft Entra ID utiliza tokens portadores OAuth 2.0 direcionados para https://ai.azure.com/.default.
Use o Microsoft Entra ID para:
- Cargas de trabalho em produção.
- Acesso condicional, autenticação multifator (MFA) e acesso just-in-time.
- RBAC de menor privilégio e integração de identidade gerenciada.
Vantagens: atribuições de funções detalhadas, auditoria por principal, tempo de vida controlável dos tokens, higiene secreta automática e identidades geridas para serviços.
Limitações: Maior complexidade inicial de configuração. Requer compreensão do controlo de acesso baseado em funções (RBAC). Para mais informações sobre RBAC no Foundry, veja Controlo de acesso baseado em funções para Microsoft Foundry.
Chaves API
As chaves API são segredos estáticos direcionados a um recurso da Foundry.
Utilize as chaves da API para:
- Prototipagem rápida.
- Ambientes de teste isolados onde a rotação de segredo único é aceitável.
Vantagens: Simples, independente da linguagem e não requer aquisição de tokens.
Limitações: Não é possível expressar a identidade do utilizador, é difícil de definir detalhadamente e é mais difícil de auditar. Geralmente não é aceite por cargas de trabalho de produção empresariais e não é recomendado pela Microsoft.
Para mais informações sobre como ativar a autenticação sem chave, veja Configure autenticação sem chave com Microsoft Entra ID.
Autenticar com Microsoft Entra ID (Python)
O exemplo seguinte mostra como autenticar com Microsoft Entra ID usando a biblioteca azure-identity e fazer um pedido a um endpoint Foundry:
from azure.identity import DefaultAzureCredential
import requests
# Create a credential object using DefaultAzureCredential
# This automatically uses environment variables, managed identity, or Azure CLI credentials
credential = DefaultAzureCredential()
# Get an access token for the Cognitive Services scope
token = credential.get_token("https://ai.azure.com/.default")
# Use the token in your API request
headers = {
"Authorization": f"Bearer {token.token}",
"Content-Type": "application/json"
}
# Replace with your Foundry endpoint
endpoint = "https://<your-resource-name>.cognitiveservices.azure.com"
# Example: List deployments (adjust the path for your specific API)
response = requests.get(f"{endpoint}/openai/deployments?api-version=2024-10-21", headers=headers)
print(response.json())
Resultado esperado: Uma resposta JSON a listar as implementações dos seus modelos, ou um erro de autenticação se faltarem credenciais ou se a atribuição de funções não estiver configurada.
Referência: DefaultAzureCredential | azure-identity library
Autenticar com uma chave API (Python)
O exemplo seguinte mostra como autenticar usando uma chave API. Use esta abordagem apenas para prototipagem rápida; Recomenda-se o Microsoft Entra ID para produção.
import requests
# Replace with your actual API key and endpoint
api_key = "<your-api-key>"
endpoint = "https://<your-resource-name>.cognitiveservices.azure.com"
headers = {
"api-key": api_key,
"Content-Type": "application/json"
}
# Example: List deployments
response = requests.get(f"{endpoint}/openai/deployments?api-version=2024-10-21", headers=headers)
print(response.json())
Aviso
As chaves API fornecem acesso total ao recurso e não podem ser atribuídas a utilizadores ou ações específicas. Rode as chaves regularmente e evite comprometê-las nos sistemas de controlo de versão.
Saída esperada: Uma resposta JSON a listar as implementações dos seus modelos, ou um erro 401 se a chave API for inválida.
Referência: Alternar chaves de acesso API
Matriz de suporte a funcionalidades
Consulte a seguinte matriz para perceber que capacidades do Foundry suportam a chave API em comparação com o Microsoft Entra ID.
| Capacidade ou característica | chave de API | Microsoft Entra ID | Notas |
|---|---|---|---|
| Inferência básica de modelos (chat, embeddings) | Sim | Sim | Totalmente suportado. |
| Operações de afinamento fino | Sim | Sim | Entra ID adiciona auditoria por principal. |
| Serviço de agentes | Não | Sim | Use o Entra ID para acesso à ferramenta de identidade gerida. |
| Avaliações | Não | Sim | Use Entra ID. |
| Segurança de conteúdos analisa chamadas | Sim | Sim | Use o RBAC para limitar operações de alto risco. |
| Trabalhos de análise por lotes (Compreensão de Conteúdos) | Sim | Sim | Entra ID recomendado para escala. |
| Utilização da área de testes do portal | Sim | Sim | O Playground utiliza o modo de ligação ao projeto. |
| Isolamento de rede com Private Link | Sim | Sim | Entra ID adiciona acesso condicional. |
| Menor privilégio com funções incorporadas e personalizadas | Não | Sim | As chaves são tudo ou nada por recurso. |
| Identidade gerida (atribuída por sistema ou pelo utilizador) | Não | Sim | Ativa autenticação sem segredos. |
| Atribuição de utilizador a pedido | Não | Sim | O token contém os IDs de tenant e de objetos. |
| Revogação (imediata) | Rodar a chave | Remover o papel ou desativar o principal | Aplica-se uma vida útil curta aos tokens. |
| Suporte nos pipelines de automação | Sim (segredo) | Sim (principal de serviço ou identidade gerida) | Entra ID reduz a necessidade de rotação de credenciais. |
| API de Assistentes | Sim | Sim | Recomenda-se usar o Entra ID. |
| Inferência em lote | Sim | Sim | |
| Caixa de Ferramentas | Não | Sim | Use o Entra ID para acesso à ferramenta de identidade gerida. |
Tipos de identidade
Os recursos e aplicações do Azure autenticam-se utilizando diferentes tipos de identidade, cada um desenhado para cenários específicos. Os principais utilizadores representam utilizadores humanos, os principais de serviço representam aplicações ou processos automatizados, e as identidades geridas fornecem uma forma segura e livre de credenciais para os recursos do Azure acedirem a outros serviços. Compreender estas distinções ajuda-o a escolher a identidade certa para logins interativos, comunicação app a app ou automação de cargas de trabalho.
O Azure suporta os seguintes tipos de identidade.
| Tipo de identidade | Descrição |
|---|---|
| Principal de utilizador | Utilizador individual no Microsoft Entra ID |
| Principal de serviço (registo de aplicações) | Identidade de aplicação que utiliza um secreto ou certificado de cliente |
| Identidade gerida (atribuída pelo sistema) | Identidade limitada a recursos do Azure gerida automaticamente pela plataforma. |
| Identidade gerida (atribuída pelo utilizador) | Identidade autónoma que se liga a múltiplos recursos. |
Visão geral das funções incorporadas
No Foundry, use os papéis incorporados para separar as ações permitidas para um utilizador. A maioria das empresas quer uma separação entre as ações de controlo e plano de dados para as suas funções integradas. Outros esperam um papel combinado de plano de dados e de controlo para minimizar o número de atribuições de funções necessárias. A tabela seguinte lista os cenários e os papéis incorporados correspondentes na Foundry que melhor se ajustam a cada cenário.
| Cenário | Funções típicas incorporadas | Notas |
|---|---|---|
| Construir agentes com modelos pré-implementados | Utilizador do Azure AI | Apenas uso do plano de dados; Nenhuma escrita de gestão. |
| Gerir implementações ou ajustar modelos | Gestor de Projetos de IA Azure | Inclui a criação e a atualização da implementação do modelo. |
| Alternar chaves ou gerir recursos | Proprietário da Conta de Azure AI | Alto privilégio; considere um papel personalizado para o menor privilégio. |
| Gerir recursos, gerir implementações, construir agentes | Responsável pelo Azure AI | Função de auto-serviço altamente privilegiada para utilizadores que necessitam de acesso tanto ao plano de controlo como ao plano de dados. Combine com o Azure Monitor Reader se for necessária observação. |
| Observabilidade, traço, monitorização | Azure AI User (mínimo) | Adicionar o Azure Monitor Reader em Application Insights. |
Para compreender a divisão dos papéis incorporados e as ações do plano de controlo e de dados, consulte o diagrama seguinte.
Dica
Crie uma função personalizada se uma função incorporada conceder permissões em excesso para o seu caso de uso.
Configurar o Microsoft Entra ID
Para orientações de alto nível sobre a configuração da autenticação Entra ID no Foundry, consulte Configurar autenticação sem chave.
Certifique-se de que o seu recurso Microsoft Foundry tem um subdomínio personalizado configurado. Ver Subdomínios personalizados. É necessário um subdomínio personalizado para autenticação baseada em tokens.
Atribua a função incorporada ou personalizada necessária a cada principal. É necessário o papel de Proprietário ou Administrador de Acesso ao Utilizador no âmbito alvo para atribuir funções. Atribuições comuns de funções:
- Azure AI User: Para programadores que precisam de construir e testar com modelos pré-implementados.
- Azure AI Project Manager: Para líderes de equipa que precisam de criar projetos e gerir implementações.
- Azure Proprietário da Conta IA: Para administradores que precisam de gestão total de recursos e podem atribuir condicionalmente Azure Utilizador IA para acesso ao plano de dados.
- Azure AI Owner: Para utilizadores que necessitam tanto de gestão total de recursos como de acesso ao plano de dados. Exemplo de comando CLI para atribuir o papel de Utilizador IA do Azure:
az role assignment create \ --assignee <principal-id> \ --role "Azure AI User" \ --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.CognitiveServices/accounts/<resource-name>Para verificar a atribuição de funções, execute
az role assignment list --assignee <principal-id> --scope <resource-scope>e confirme que a função aparece na saída.(Opcional) Para um principal de serviço, crie um registo de aplicação, adicione um cliente secreto ou certificado, e indique o ID do inquilino, o ID do cliente e o segredo ou certificado.
(Opcional) Para uma identidade gerida, ativa a identidade atribuída ao sistema no serviço chamador ou anexa uma identidade atribuída pelo utilizador, depois atribui-lhe um papel no recurso Foundry.
Remover a autenticação baseada em chave depois de todos os chamadores usarem autenticação por token. Opcionalmente, desative a autenticação local nos templates de implementação.
Referência: Atribuir funções do Azure | Controlo de acesso baseado em funções para o Foundry
Resolução de erros comuns de autenticação
| Erro | Causa | Resolução |
|---|---|---|
| 401 Não Autorizado | Ficha em falta ou expirada; chave API inválida | Verifique se o âmbito de aquisição do token é https://ai.azure.com/.default. Regenera a chave API se usares autenticação baseada em chaves. |
| 403 Proibido | Ausência de atribuição de função RBAC | Atribui o papel incorporado apropriado (por exemplo, Azure AI User) no âmbito do recurso ou projeto. |
| AADSTS700016 | Pedido não encontrado no inquilino | Verifica se o registo da aplicação existe no tenant correto e o ID do cliente está correto. |
| Subdomínio personalizado necessário | O recurso utiliza um endpoint regional em vez de um subdomínio personalizado | Configure um subdomínio personalizado no recurso Foundry. A autenticação baseada em tokens requer um subdomínio personalizado. |