Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo mostra-lhe como proteger o seu servidor Model Context Protocol (MCP) alojado no Azure App Service usando autenticação Microsoft Entra. Ao ativar a autenticação, garante que apenas os utilizadores autenticados com o Microsoft Entra podem aceder ao seu servidor MCP através do modo agente Copilot no Visual Studio Code.
Para outros métodos de autenticação e conceitos gerais de segurança de servidores MCP, veja Secure a Model Context Protocol server in Azure App Service.
Pré-requisitos
Uma aplicação de serviços de aplicações que aloja um servidor MCP. Se precisares de criar um, vê um dos seguintes tutoriais:
- Integrar um aplicativo do Serviço de Aplicativo como um Servidor MCP para o Chat do Copiloto do GitHub (.NET)
- Integrar um aplicativo do Serviço de Aplicativo como um Servidor MCP para o Chat Copilot do GitHub (Java)
- Integrar um aplicativo do Serviço de Aplicativo como um Servidor MCP para o Chat Copilot do GitHub (Python)
- Integrar um aplicativo do Serviço de Aplicativo como um Servidor MCP para o Chat do Copiloto do GitHub (Node.js)
Habilitar a autenticação do Microsoft Entra
No portal Azure, navegue até à sua aplicação de Serviços de Aplicações.
No menu esquerdo, selecione Definições>Autenticação, e depois selecione Adicionar fornecedor de identidade.
Na página Adicionar um fornecedor de identidade , selecione a Microsoft como fornecedor de Identidade.
Nas definições de autenticação do App Service, para a expiração do segredo do cliente, selecione um período de expiração (por exemplo, 6 meses).
Aceite todos os outros valores predefinidos e selecione Adicionar para criar o fornecedor de identidade.
Isto cria um novo registo de aplicação no Microsoft Entra ID com um cliente secreto e configura a sua aplicação de Serviços de Aplicações para a usar para autenticação.
Autorizar o Código Visual Studio na autenticação do App Service
Depois de ativar a autenticação, precisa de autorizar o Visual Studio Code para aceder ao seu servidor MCP.
Na página de Autenticação da sua aplicação de Serviços de Aplicações, em Fornecedor de Identidade, selecione Editar (o ícone do lápis) ao lado do fornecedor Microsoft que criou.
Na página Editar fornecedor de identidade, sob Verificações adicionais>Requisito da aplicação cliente, selecione Permitir pedidos de aplicações cliente específicas.
Selecione o widget lápis para editar as aplicações permitidas.
No campo Aplicações cliente Permitidas , adicione o ID do cliente Visual Studio Code:
aebc6443-996d-45c2-90f0-388ff96faa56.Seleciona OK e depois seleciona Guardar.
Autorizar o Código Visual Studio no registo da aplicação
De seguida, precisa de configurar o registo da aplicação para expor a sua API ao Visual Studio Code.
Volte à página de Autenticação da sua aplicação de Serviços de Aplicações.
Selecione o fornecedor Microsoft na coluna Fornecedor de Identidade para abrir a página de registo da aplicação.
Na página de registo da app, selecione Gerir>Expor uma API no menu esquerdo.
Em Aplicativos cliente autorizados, selecione Adicionar um aplicativo cliente.
No campo ID do cliente , introduza o ID do cliente Visual Studio Code:
aebc6443-996d-45c2-90f0-388ff96faa56.Selecione a caixa de seleção ao lado do user_impersonation para autorizar este âmbito.
Selecione Adicionar aplicativo.
Nos âmbitos definidos por esta API, encontre e copie o valor completo do âmbito. Deve parecer com
api://<app-registration-app-id>/user_impersonation.Precisas deste valor de escopo na secção seguinte.
Ative os metadados de recursos protegidos definindo o âmbito de autorização
Para ativar a autorização do servidor MCP, é necessário configurar os metadados de recursos protegidos (PRM) definindo o âmbito de autorização na configuração da aplicação. Isto permite aos clientes MCP descobrir os requisitos de autenticação através do /.well-known/oauth-protected-resource endpoint.
No portal do Azure, volte à página do seu aplicativo App Service.
No menu à esquerda, selecione Definições>Variáveis de Ambiente.
Selecione Adicionar para criar uma nova configuração de aplicação.
Em Nome, digite
WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES.Para o Valor, cole o escopo que copiou do registo da aplicação:
api://<app-registration-app-id>/user_impersonation.Selecione Candidatar-se, depois selecione Candidatar-se novamente para confirmar e reiniciar a sua aplicação.
Esta configuração configura o PRM para incluir o âmbito necessário para a autorização do servidor MCP.
Liga-te a partir do Visual Studio Code
Agora pode ligar-se ao seu servidor MCP seguro a partir do Visual Studio Code.
Abra o Visual Studio Code na sua máquina local.
Abra ou crie um ficheiro de configuração MCP (
mcp.json). Para uma configuração MCP com âmbito de espaço de trabalho, crie-o no diretório .vscode do seu espaço de trabalho.Adicione a configuração do seu servidor MCP:
{ "servers": { "my-app-service-mcp": { "type": "http", "url": "https://<your-app-url>.azurewebsites.net/api/mcp" } } }Substitua
<your-app-url>pelo URL real do seu App Service. Pode encontrar o domínio predefinido da sua aplicação na página de Visão Geral do portal Azure. Neste exemplo, o caminho é/api/mcp, mas o caminho real depende do seu código MCP.No Visual Studio Code, abre a Paleta de Comandos (
Ctrl+Shift+PouCmd+Shift+Pno macOS).Digite MCP: Listar Servidores e pressione Enter.
Selecione o seu servidor MCP da lista e escolha Iniciar Servidor.
O Visual Studio Code pede-te automaticamente para iniciar sessão com o Microsoft Entra ID. Siga as instruções de autenticação.
A extensão MCP gere o fluxo OAuth usando o âmbito que configuraste, e o Visual Studio Code obtém o token de acesso necessário para chamar o teu servidor MCP.
Sugestão
Se detetar um prompt de autenticação inesperado ou encontrar erros, consulte Resolução de Problemas.
Uma vez autenticado, o seu servidor MCP está ligado e pronto a usar no modo agente GitHub Copilot Chat ou noutros clientes MCP.
Testar a ligação
Para verificar se o seu servidor MCP está devidamente seguro e acessível:
Abre o GitHub Copilot Chat no Visual Studio Code (
Ctrl+Alt+IouCmd+Option+Ino macOS).Tenta usar uma funcionalidade do teu servidor MCP. Por exemplo, se você estiver a utilizar o exemplo de Todos:
Show me all my tasksO GitHub Copilot deve ligar com sucesso ao teu servidor MCP, e deves ver os resultados no chat. Se encontrares algum problema, consulta a Resolução de Problemas.
Solução de problemas
Quando inicia o servidor MCP no Visual Studio Code, o prompt de autenticação que vê indica se a sua configuração está correta:
Configuração correta: O Visual Studio Code pede-te para autenticares com a Microsoft. Isto significa que os metadados de recursos protegidos (PRM) estão devidamente configurados, e o Visual Studio Code descobriu com sucesso o servidor de autorização e o âmbito a partir do
/.well-known/oauth-protected-resourceendpoint.Configuração incorreta: O Visual Studio Code pede-lhe para autenticar com um
/authorizeendpoint na sua aplicação App Service (por exemplo,https://<your-app-url>.azurewebsites.net/authorize). Isto significa que o PRM não está configurado corretamente. O Visual Studio Code não consegue encontrar o servidor de autorização nem o âmbito de autorização, por isso volta a usar a URL da tua aplicação como endpoint de autorização, que não existe.
Se vires o prompt de autenticação incorreto, verifica que:
- As definições da tua aplicação
WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPESestão corretamente configuradas com o valor de alcance totalapi://<app-registration-app-id>/user_impersonation. - A aplicação App Service reiniciou completamente após adicionar a configuração da aplicação. Pode demorar alguns minutos a completar o reinício.
Se detetar erros de autenticação após iniciar sessão, verifique que:
- O ID do cliente Visual Studio Code (
aebc6443-996d-45c2-90f0-388ff96faa56) é adicionado tanto à configuração de autenticação do App Service (aplicações cliente permitidas) como ao registo da app (aplicações cliente autorizadas no Expose an API). - O valor do escopo nas definições da aplicação corresponde exatamente ao que está definido no registo da sua aplicação.
Conteúdo relacionado
- Proteger um servidor de Protocolo de Contexto de Modelo no Azure App Service
- Configurar o Serviço de Aplicativo ou o aplicativo Azure Functions para usar a entrada do Microsoft Entra
- Configure o fornecedor Microsoft Entra com uma identidade gerida em vez de um segredo (pré-visualização)
- O que é o Protocolo de Contexto do Modelo?