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.
O protocolo Agent2Agent (A2A) permite que os seus agentes invoquem outros agentes. A maioria dos endpoints A2A requer autenticação para aceder ao endpoint e ao seu serviço subjacente. Configurar a autenticação garante que apenas utilizadores autorizados podem invocar as suas ferramentas A2A no Foundry Agent Service.
Este artigo explica os métodos de autenticação disponíveis para ligações A2A e ajuda-o a escolher a abordagem certa para o seu cenário.
Cenários de autenticação
Em geral, existem dois cenários de autenticação:
- Autenticação partilhada: Todos os utilizadores do seu agente usam a mesma identidade para autenticar no endpoint A2A. O contexto individual do utilizador não persiste. Esta abordagem é ideal quando todos os utilizadores devem ter o mesmo nível de acesso. Por exemplo, se criares um agente de chat para recuperar informação do Azure Cosmos DB para a tua organização, podes querer que todos os utilizadores acedam ao mesmo contentor partilhado sem necessidade de iniciar sessão individualmente.
- Autenticação individual: Cada utilizador do seu agente autentica-se com a sua própria conta, pelo que o seu contexto de utilizador persiste nas interações. Esta abordagem é essencial quando as ações devem ser submetidas às permissões do utilizador. Por exemplo, se criares um agente de programação que recupera commits e pull requests do GitHub, queres que cada programador faça login com a sua própria conta no GitHub para só ver repositórios a que tem acesso.
Pré-requisitos
Antes de escolher um método de autenticação, precisa de:
- Acesso ao Foundry portal e a um projeto. Se não tiveres um, vê Criar projetos no Foundry.
- O papel Azure AI User ou superior no seu projeto. Esta função concede permissões para criar ligações a projetos e configurar agentes. Para mais informações, consulte Controlo de acesso baseado em funções no portal Foundry.
- O URL do endpoint A2A ao qual queres ligar-te. Contacte o editor do endpoint para confirmar quais os métodos de autenticação que o endpoint suporta.
- Credenciais para o método de autenticação selecionado:
- Baseado em chaves: Uma chave API, token de acesso pessoal (PAT) ou outro token secreto do editor do endpoint.
- Autenticação Microsoft Entra: Atribuições de funções para a identidade do agente ou a identidade gerida do projeto no serviço subjacente. Os papéis específicos dependem do serviço (por exemplo, Cosmos DB Data Reader para Azure Cosmos DB).
Escolha um método de autenticação
O método de autenticação que escolher depende se precisa de contexto partilhado ou individual do utilizador, e dos protocolos de autenticação que o endpoint A2A suporta.
Use a tabela seguinte para escolher o método certo para o seu cenário:
| O teu objetivo | Método recomendado |
|---|---|
| Use uma identidade partilhada para todos os utilizadores | Autenticação baseada em chave ou autenticação Microsoft Entra |
| Preservar a identidade e as permissões de cada utilizador | Passagem de identidade OAuth |
| Evite gerir segredos quando o serviço subjacente suporta o Microsoft Entra | Autenticação Microsoft Entra |
| Liga-te a um endpoint A2A que não exija autenticação | Acesso não autenticado |
Métodos de autenticação suportados
A tabela seguinte resume os métodos de autenticação disponíveis para ligações A2A:
| Método | Descrição | O contexto do utilizador persiste |
|---|---|---|
| Baseado em teclas | Forneça uma chave API ou token de acesso para autenticar junto do endpoint A2A. Ideal para endpoints que usam autenticação simples baseada em tokens. | Não |
| Microsoft Entra ID - identidade do agente | Use a identidade gerida do agente para a autenticação. Requer atribuições de funções no serviço subjacente. O melhor para serviços Azure que suportam identidades geridas. | Não |
| Microsoft Entra ID - identidade gerida por projeto | Use a identidade gerida do projeto para autenticar. Requer atribuições de funções no serviço subjacente. Use esta opção quando quiser que todos os agentes de um projeto partilhem a mesma identidade. | Não |
| Passagem de identidade OAuth | Solicite aos utilizadores que iniciem sessão e autorizem o acesso ao endpoint A2A. É obrigatório quando precisas de permissões por utilizador. | Sim |
| Acesso não autenticado | Não é necessária autenticação. Use este método apenas para endpoints A2A que sejam públicos ou que não exijam autenticação. | Não |
Autenticação baseada em chaves
Nota
Qualquer pessoa com acesso ao projeto pode aceder a segredos armazenados numa ligação ao projeto. Armazena apenas segredos partilhados nas ligações do projeto. Para acesso específico ao utilizador, use o passthrough de identidade OAuth em vez disso.
Utilize autenticação baseada em chaves quando o endpoint A2A aceita uma chave API, um token de acesso pessoal (PAT) ou outra credencial secreta. Para melhorar a segurança, armazene credenciais partilhadas numa ligação de projeto em vez de as passar em tempo de execução.
Quando liga o seu endpoint A2A a um agente no portal da Foundry, a Foundry cria uma ligação ao projeto para si. Forneça o nome da credencial (o nome do cabeçalho HTTP) e o valor da credencial (o valor do cabeçalho). O formato depende do que o endpoint espera.
Formatos comuns de credenciais:
| Tipo de ponto final | Nome da credencial | Valor de credencial |
|---|---|---|
| Ficha de portador | Authorization |
Bearer <your-token> |
| Chave API no cabeçalho | x-api-key |
<your-api-key> |
| Cabeçalho personalizado | <custom-header-name> |
<your-secret-value> |
Quando o agente invoca o endpoint A2A, o Agent Service recupera as credenciais da ligação ao projeto e inclui-as nos cabeçalhos do pedido.
Melhores práticas de segurança para autenticação baseada em chaves
- Use credenciais de privilégio mínimo: Peça apenas as permissões mínimas necessárias para as tarefas do agente.
- Rodar os tokens regularmente: Defina um lembrete para regenerar tokens antes de expirarem.
- Restringir o acesso a projetos: Limitar quem pode aceder a projetos que contenham segredos partilhados.
- Auditar uso de credenciais: Monitorar o acesso à conexão de projeto nos registos de atividade do Azure.
Autenticação do Microsoft Entra ID
Utilize autenticação Microsoft Entra ID quando o endpoint A2A e o seu serviço subjacente aceitarem tokens Microsoft Entra ID. Este método elimina a necessidade de gerir segredos porque o Azure gere automaticamente a aquisição e renovação dos tokens.
Identidade do agente
Use a identidade gerida do seu agente para autenticar com endpoints A2A que suportem autenticação Microsoft Entra ID. Quando cria um agente no Serviço de Agentes, o agente recebe automaticamente uma identidade gerida.
Ciclo de vida da identidade:
- Antes da publicação: Todos os agentes do mesmo projeto partilham uma identidade comum. Isto simplifica o desenvolvimento e os testes.
- Após a publicação: Cada agente publicado recebe uma identidade única. Isto proporciona isolamento e permite um controlo de acesso granular.
Para mais informações sobre o ciclo de vida da identidade do agente, consulte Conceitos de identidade do agente no Microsoft Foundry.
Para configurar a autenticação da identidade do agente:
- Identifique o serviço subjacente que alimenta o endpoint A2A (por exemplo, Azure Cosmos DB ou Armazenamento do Azure).
- Atribuir as funções necessárias à identidade do agente nesse serviço. Os papéis específicos dependem do serviço e das operações que o seu agente precisa de realizar.
- Configure a ligação A2A para usar autenticação de identidade de agente.
Quando o agente invoca o endpoint A2A, o Agent Service utiliza a identidade do agente para solicitar um token de autorização ao Microsoft Entra ID e inclui-o no pedido.
Identidade gerida de um projeto Foundry
Utilize a identidade gerida do seu projeto Foundry para autenticar nos endpoints A2A. Esta opção é útil quando se quer que todos os agentes de um projeto partilhem a mesma identidade para aceder a recursos.
Para configurar a autenticação de identidade gerida por projeto:
- Identifique o serviço subjacente que alimenta o endpoint A2A.
- Atribua os papéis necessários à identidade gerida do projeto nesse serviço.
- Configure a ligação A2A para usar autenticação de identidade gerida por projeto.
Quando o agente invoca o endpoint A2A, o Agent Service utiliza a identidade gerida do projeto para solicitar um token de autorização ao Microsoft Entra ID e inclui-lo no pedido.
Passagem de identidade OAuth
Nota
Para usar o passthrough de identidade OAuth, os utilizadores que interagem com o seu agente precisam de, pelo menos, a função Azure AI User no projeto.
O passthrough de identidade OAuth permite que o seu agente atue em nome de utilizadores individuais. Use este método quando as ações devem estar subordinadas às permissões de cada utilizador, como aceder aos seus ficheiros pessoais, repositórios ou outros recursos protegidos.
A passagem de identidade OAuth funciona com endpoints A2A da Microsoft e não-Microsoft que suportam OAuth 2.0, incluindo serviços que utilizam o Microsoft Entra ID.
Como funciona o passthrough da identidade OAuth
- Primeira interação: Quando um utilizador interage pela primeira vez com o seu agente, o Serviço de Agente gera um link de consentimento.
- Consentimento do utilizador: O utilizador abre o link, inicia sessão no serviço subjacente e autoriza o agente a aceder aos seus dados.
- Armazenamento de tokens: O Serviço de Agente armazena de forma segura os tokens OAuth do utilizador (token de acesso e token de atualização). Estes tokens estão direcionados para essa combinação específica de utilizador e agente.
- Pedidos subsequentes: Quando o agente invoca o endpoint A2A, o Serviço do Agente inclui o token de acesso do utilizador no pedido. Se o token de acesso expirar, o Serviço de Agente usa o token de atualização para obter um novo.
Tipos de tokens OAuth
O OAuth utiliza dois tipos de tokens:
| Tipo de token | Finalidade | Duração de vida |
|---|---|---|
| Token de acesso | Autoriza chamadas API para o serviço subjacente | De curta duração (tipicamente 1 hora) para limitar a exposição em caso de comprometimento |
| Token de atualização | Obtém novos tokens de acesso sem que o utilizador tenha de iniciar sessão novamente | Com uma vida útil mais longa (de horas até semanas, ou até ser revogado) |
Os scopos OAuth definem o que o agente pode aceder e fazer em nome do utilizador. Os escopos são especificados quando configura a ligação e são apresentados ao utilizador durante o fluxo de consentimento. Para mais informações sobre o OAuth, consulte a documentação de segurança Microsoft.
OAuth gerido vs. OAuth personalizado
O Agent Service suporta duas opções de configuração OAuth:
| Opção | Descrição | Quando usar |
|---|---|---|
| OAuth Gerido | Microsoft ou o editor do endpoint A2A gere o registo da aplicação OAuth. | Use quando disponível. Simplifica a configuração e reduz erros de configuração. |
| OAuth personalizado | Fornece o seu próprio registo de aplicação OAuth a partir do Microsoft Entra ID ou de outro fornecedor de identidade. | Utilize quando o OAuth gerido não estiver disponível, ou quando precisar de escopos ou branding personalizados. |
Para configurar um OAuth personalizado, forneça a seguinte informação:
- ID do Cliente: O ID da sua aplicação registada no OAuth.
- Segredo do cliente (se necessário): O segredo associado ao registo da sua aplicação.
- URL de autorização: O endpoint onde os utilizadores autorizam o acesso.
- URL do Token: O ponto final onde o Serviço Agente troca o código de autorização dos tokens.
- URL de atualização: O endpoint para atualizar tokens de acesso expirados.
-
Scopes: As permissões que o seu agente precisa (por exemplo,
repopara GitHub ouFiles.Readpara Microsoft Graph).
Importante
Se usar OAuth personalizado, irá receber um URL de redirecionamento do Serviço do Agente. Adicione este URL aos URIs de redirecionamento permitidos do registo da sua aplicação OAuth para que o Serviço de Agente possa completar o fluxo de autorização.
Acesso não autenticado
Utilize acesso não autenticado apenas quando o endpoint A2A for publicamente acessível e não exigir autenticação. Esta opção é rara em cenários de produção, mas pode ser adequada para:
- APIs públicas que não requerem autenticação
- Endpoints internos de desenvolvimento ou teste
- Endpoints protegidos por segurança ao nível da rede (como endpoints privados) em vez de autenticação
Configurar autenticação para uma ligação A2A
Siga estes passos para configurar a autenticação para uma ligação A2A:
Identifique o endpoint A2A e os métodos de autenticação suportados. Contacte o editor do endpoint ou consulte a documentação do endpoint para determinar quais os métodos de autenticação suportados.
Recolha as credenciais necessárias com base no método de autenticação escolhido:
- Baseado em chave: Obter a chave API ou token do publicador do endpoint.
- Microsoft Entra ID: Identificar as atribuições de funções necessárias para o serviço subjacente.
- OAuth: Determine se o OAuth gerido está disponível, ou reúna os detalhes personalizados do registo da sua aplicação OAuth.
Crie uma ligação ao projeto no portal da Foundry. A ligação armazena o URL do endpoint A2A, o método de autenticação e as credenciais.
- Para orientações gerais sobre ligações, consulte Adicionar uma nova ligação ao seu projeto.
- Para configuração específica de A2A, veja Adicionar um endpoint de agente A2A ao Serviço de Agentes Foundry.
Configurar atribuições de funções (apenas autenticação do Microsoft Entra ID). Atribuir os papéis necessários à identidade do agente ou à identidade gerida do projeto no serviço subjacente.
Adicione a ferramenta A2A ao seu agente. Consulte a ligação ao projeto que criou e configure quais as ferramentas do endpoint A2A que o seu agente pode invocar.
Validar autenticação
Depois de configurares a autenticação, testa a ligação para confirmar se funciona corretamente.
Validar a autenticação baseada em chave ou Microsoft Entra ID
- Abra o seu agente no portal da Foundry.
- Inicia uma conversa e desencadeia uma ação que invoca a ferramenta A2A.
- Confirme que a chamada de ferramenta foi concluída com sucesso. Se a chamada falhar, verifique a mensagem de erro e veja Resolução de Problemas.
Validar a autenticação de passagem de identidade do OAuth
- Abra o seu agente no portal Foundry usando uma conta de utilizador de teste que não tenha consentido anteriormente.
- Inicia uma conversa e desencadeia uma ação que invoca a ferramenta A2A.
- Confirme que aparece um link de consentimento na resposta do agente.
- Abra o link de consentimento e inicie sessão com as credenciais do utilizador de teste.
- Autorize as permissões solicitadas.
- Retorne ao agente e ative novamente a ferramenta A2A.
- Confirme que a chamada à ferramenta foi concluída com sucesso usando as credenciais do utilizador de teste.
- (Opcional) Teste com outra conta de utilizador para confirmar que os fluxos de consentimento funcionam para vários utilizadores.
Resolução de problemas
Use a tabela seguinte para diagnosticar e resolver problemas comuns de autenticação:
| Problema | Causa possível | Resolução |
|---|---|---|
| Autenticação baseada em chave falha com 401 Não Autorizado | Token inválido ou expirado | Regenera o token a partir do publisher do endpoint e atualiza a conexão do projeto. |
| Autenticação baseada em chave falha com 400 Pedido Inválido | Nome de cabeçalho ou formato de valor incorreto | Consulte a documentação do endpoint para o formato de cabeçalho esperado. Formatos comuns incluem Authorization: Bearer <token> e x-api-key: <key>. |
| A autenticação do Entra ID da Microsoft falha com o erro 403 Forbidden | A identidade não tem as atribuições de funções exigidas | Atribuir os papéis necessários à identidade do agente ou à identidade gerida do projeto no serviço subjacente. As alterações na atribuição de funções podem demorar até 10 minutos a propagar-se. |
| Autenticação do Microsoft Entra ID falha com 401 Não Autorizado | O serviço subjacente não aceita tokens do Microsoft Entra ID, ou o destinatário especificado está incorreto | Confirme que o serviço subjacente suporta autenticação Microsoft Entra ID. Verifique se o endpoint A2A está configurado para aceitar tokens para o destinatário correto. |
| Consentimento concluído, mas as chamadas de ferramenta falham | O utilizador não tem permissões no serviço subjacente | Confirme que o utilizador tem as permissões necessárias no serviço subjacente. Confirma também que o utilizador tem pelo menos a função Azure AI User no projeto Foundry. |
| Não aparece nenhum link de consentimento para OAuth | A passagem de identidade OAuth não está configurada, ou o agente não invocou a ferramenta A2A | Verifique se a ligação ao projeto está configurada para a passagem de identidade OAuth. Desencadeie uma ação que invoque a ferramenta A2A. |
| O link de consentimento aparece mas falha ao iniciar sessão | A configuração personalizada do OAuth está incorreta | Para OAuth personalizado, verifique se o URL de autorização, o ID do cliente e o URL de redirecionamento estão corretos. Confirme que o URL de redirecionamento foi adicionado ao registo da sua aplicação OAuth. |
| Token de atualização expirado | O utilizador não interage com o agente há um longo período | O utilizador precisa de passar novamente pelo fluxo de consentimento. Este é um comportamento esperado para a segurança. |
Conteúdo relacionado
- Adicione um endpoint de agente A2A ao Foundry Agent Service: Guia passo a passo para configurar uma ferramenta A2A para o seu agente.
- Conceitos de identidade de agente em Microsoft Foundry: Aprenda como funcionam as identidades dos agentes e o seu ciclo de vida.
- Controlo de acesso baseado em papéis para Microsoft Foundry: Compreenda os papéis e permissões disponíveis no Foundry.
- Adicione uma nova ligação ao seu projeto: Orientação geral para criar ligações ao projeto.