Partilhar via


Configurar autorização integrada do servidor MCP (Pré-visualização)

A Autenticação do Serviço de Aplicativo permite controlar o acesso ao servidor MCP (Model Context Protocol) exigindo que os clientes MCP se autentiquem com um provedor de identidade. Você pode tornar seu aplicativo compatível com a especificação de autorização do servidor MCP seguindo as instruções neste artigo.

Importante

A autorização do servidor MCP define o acesso ao servidor e não fornece controle granular para ferramentas MCP individuais ou outras construções.

Configurar um provedor de identidade

Configure a Autenticação do Serviço de Aplicativo com um provedor de identidade. O registro do provedor de identidade deve ser exclusivo para o servidor MCP. Não reutilize um registro existente de outro componente do aplicativo.

Ao criar o registro, anote quais escopos estão definidos em seu registro ou na documentação do provedor de identidade.

Configurar metadados de recursos protegidos (visualização)

A autorização do servidor MCP requer que o host do servidor proteja os metadados de recursos (PRM). O suporte para PRM com Autenticação do Serviço de Aplicativo está atualmente em visualização.

Para configurar o PRM para seu servidor MCP, defina a configuração do aplicativo como uma lista separada por vírgulas de escopos WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES para seu aplicativo. Os escopos necessários são definidos como parte do registro do aplicativo ou documentados pelo provedor de identidade. Por exemplo, se você usou o provedor de ID do Microsoft Entra e permitiu que o Serviço de Aplicativo criasse o registro para você, um escopo padrão de api://<client-id>/user_impersonation foi criado. Você definiria WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES para esse valor.

Considerações sobre o cliente MCP

Para iniciar sessão para os utilizadores, o cliente MCP tem de estar registado junto do fornecedor de identidade. Alguns provedores oferecem suporte ao Registro Dinâmico de Cliente (DCR), mas muitos não, incluindo o Microsoft Entra ID. Quando o DCR não está disponível, o cliente precisa ser pré-configurado com um ID de cliente. Consulte a documentação do cliente ou SDK do cliente para entender como fornecer um identificador de cliente.

Se você estiver usando o Microsoft Entra ID, poderá especificar aplicativos cliente conhecidos e marcá-los como pré-autorizados para acesso. A pré-autorização é recomendada sempre que possível. Sem pré-autorização, os usuários ou um administrador precisam consentir com o registro do servidor MCP e quaisquer permissões necessárias.

Para cenários de consentimento do usuário, a criação do consentimento envolve o cliente MCP usando login interativo para exibir o prompt de consentimento. Alguns clientes MCP podem não apresentar um login interativo. Por exemplo, se você estiver criando uma ferramenta MCP para ser usada pelo Copilot do GitHub no Visual Studio Code, o cliente tentará usar o contexto do usuário conectado e não exibirá um prompt de consentimento. Nesses casos, a pré-autorização do aplicativo cliente é necessária para evitar problemas de consentimento.

Para fins de desenvolvimento/teste, você pode criar o consentimento do usuário por conta própria entrando no aplicativo diretamente em um navegador. Navegar para <your-app-url>/.auth/login/aad inicia o processo de início de sessão e solicita consentimento, se necessário. Em seguida, pode tentar iniciar sessão a partir de outro cliente.

Considerações sobre o servidor MCP

A Autenticação do Serviço de Aplicativo valida tokens fornecidos por clientes MCP e aplica quaisquer políticas de autorização configuradas antes de responder à solicitação de inicialização do MCP. Talvez seja necessário atualizar suas regras de autorização para o cenário MCP. Por exemplo, se você usou o provedor de ID do Microsoft Entra e permitiu que o Serviço de Aplicativo criasse o registro para você, uma política padrão só permite tokens obtidos pelo próprio aplicativo. Portanto, você adicionaria seu cliente MCP à lista de aplicativos permitidos na configuração de autenticação. Para obter mais informações, consulte Usar uma política de autorização interna.

As estruturas de servidor MCP frequentemente abstraem o transporte, mas em alguns casos podem expor o contexto HTTP subjacente. Quando o contexto HTTP estiver disponível, você poderá acessar declarações de usuário e outras informações de autenticação fornecidas pela Autenticação do Serviço de Aplicativo.

Atenção

O token usado para autorização do servidor MCP destina-se a representar o acesso ao seu servidor MCP e não a um recurso downstream. Cenários de passagem em que o servidor encaminha seu token criam vulnerabilidades de segurança, portanto, evite esses padrões. Se precisar aceder a um recurso downstream, obtenha um novo token através do fluxo em nome de ou de outro mecanismo para delegação explícita.