Sdílet prostřednictvím


Zabezpečené volání protokolu Model Context do služby Azure App Service z prostředí Visual Studio Code s ověřováním Microsoft Entra

Tento článek ukazuje, jak zabezpečit server MCP (Model Context Protocol) hostovaný ve službě Azure App Service pomocí ověřování Microsoft Entra. Povolením ověřování zajistíte, že přístup k serveru MCP prostřednictvím režimu agenta Copilot v editoru Visual Studio Code budou mít přístup jenom uživatelé ověření pomocí Microsoft Entra.

Další metody ověřování a obecné koncepty zabezpečení serveru MCP najdete v tématu Zabezpečení serveru kontextu modelu ve službě Azure App Service.

Požadavky

Aplikace App Service, která je hostitelem serveru MCP. Pokud ho potřebujete vytvořit, projděte si jeden z následujících kurzů:

Povolit ověřování Microsoft Entra

  1. Na webu Azure Portal přejděte do aplikace App Service.

  2. V nabídce vlevo vyberte Nastavení>ověřování a pak vyberte Přidat zprostředkovatele identity.

  3. Na stránce Přidat zprostředkovatele identity vyberte Microsoft jako zprostředkovatele identity.

  4. V části Nastavení ověřování služby App Service vyberte pro vypršení platnosti tajného klíče klienta období vypršení platnosti (například 6 měsíců).

  5. Přijměte všechny ostatní výchozí hodnoty a výběrem Přidat vytvořte zprostředkovatele identity.

    Tím se vytvoří nová registrace aplikace v Microsoft Entra ID s tajným kódem klienta a nakonfiguruje aplikaci App Service tak, aby ji používala k ověřování.

Autorizace editoru Visual Studio Code v ověřování ve službě App Service

Po povolení ověřování je potřeba autorizovat Visual Studio Code pro přístup k serveru MCP.

  1. Na stránce Ověřování vaší aplikace App Service v části Zprostředkovatel identity vyberte Upravit (ikona tužky) vedle zprostředkovatele Microsoftu, který jste vytvořili.

  2. Na stránce Upravit zprostředkovatele identity v části Další kontroly>Požadavky klientských aplikací vyberte Povolit žádosti z konkrétních klientských aplikací.

  3. Vyberte widget tužky a upravte povolené aplikace.

  4. Do pole Povolené klientské aplikace přidejte ID klienta editoru Visual Studio Code: aebc6443-996d-45c2-90f0-388ff96faa56.

  5. Vyberte OK a pak vyberte Uložit.

Autorizace editoru Visual Studio Code v registraci aplikace

Dále musíte nakonfigurovat registraci aplikace tak, aby zpřístupnila rozhraní API pro Visual Studio Code.

  1. Vraťte se na stránku Ověřování vaší aplikace App Service.

  2. Ve sloupci zprostředkovatele identity vyberte zprostředkovatele Microsoftu a otevřete stránku registrace aplikace.

  3. Na stránce registrace aplikace v nabídce vlevo vyberte Spravovat>zveřejnění rozhraní API .

  4. V části Autorizované klientské aplikace vyberte Přidat klientskou aplikaci.

  5. Do pole ID klienta zadejte ID klienta editoru Visual Studio Code: aebc6443-996d-45c2-90f0-388ff96faa56.

  6. Zaškrtnutím políčka vedle oboru user_impersonation tento obor autorizujete.

  7. Vyberte Přidat aplikaci.

  8. V části Obory definované tímto rozhraním API vyhledejte a zkopírujte úplnou hodnotu oboru. Měl by vypadat jako api://<app-registration-app-id>/user_impersonation.

    Tuto hodnotu oboru potřebujete v další části.

Povolení metadat chráněných prostředků nastavením oboru autorizace

Pokud chcete povolit autorizaci serveru MCP, musíte nakonfigurovat metadata chráněných prostředků (PRM) nastavením oboru autorizace v nastavení aplikace. To umožňuje klientům MCP zjišťovat požadavky na ověřování prostřednictvím koncového /.well-known/oauth-protected-resource bodu.

  1. Na webu Azure Portal se vraťte na stránku aplikace App Service.

  2. V nabídce vlevo vyberteProměnné prostředí>.

  3. Vyberte Přidat pro vytvoření nového nastavení aplikace.

  4. Do pole Název zadejte WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES.

  5. Jako hodnotu vložte obor, který jste zkopírovali z registrace aplikace: api://<app-registration-app-id>/user_impersonation.

  6. Vyberte Použít a pak znovu vyberte Použít a potvrďte a restartujte aplikaci.

    Toto nastavení nakonfiguruje PRM tak, aby zahrnovalo požadovaný obor pro autorizaci serveru MCP.

Připojte se z editoru Visual Studio Code

Teď se můžete připojit k zabezpečenému serveru MCP z editoru Visual Studio Code.

  1. Na místním počítači otevřete Visual Studio Code.

  2. Otevřete nebo vytvořte konfigurační soubor MCP (mcp.json). V případě konfigurace MCP s vymezeným oborem pracovního prostoru ho vytvořte v adresáři .vscode vašeho pracovního prostoru.

  3. Přidejte konfiguraci serveru MCP:

    {
      "servers": {
        "my-app-service-mcp": {
          "type": "http",
          "url": "https://<your-app-url>.azurewebsites.net/api/mcp"
        }
      }
    }
    

    Nahraďte <your-app-url> skutečnou adresou URL aplikace služby App Service. Výchozí doménu aplikace najdete na stránce Přehled na webu Azure Portal. V tomto příkladu je cesta /api/mcp, ale skutečná cesta závisí na kódu MCP.

  4. V editoru Visual Studio Code otevřete paletu příkazů (Ctrl+Shift+P nebo Cmd+Shift+P v systému macOS).

  5. Zadejte MCP: List Servers a stiskněte Enter.

  6. V seznamu vyberte server MCP a zvolte Spustit server.

  7. Visual Studio Code vás automaticky vyzve k přihlášení pomocí Microsoft Entra ID. Postupujte podle pokynů k ověření.

    Rozšíření MCP zpracovává tok OAuth pomocí nakonfigurovaného rozsahu, a Visual Studio Code získá potřebný přístupový token pro volání serveru MCP.

    Návod

    Pokud se zobrazí neočekávaná výzva k ověření nebo dojde k chybám, přečtěte si téma Řešení potíží.

  8. Po ověření je váš server MCP připojený a připravený k použití v režimu agenta chatu GitHub Copilot nebo v jiných klientech MCP.

Test připojení

Ověření správného zabezpečení a přístupnosti serveru MCP:

  1. Otevřete GitHub Copilot Chat v editoru Visual Studio Code (Ctrl+Alt+I nebo Cmd+Option+I v macOS).

  2. Zkuste použít funkci ze serveru MCP. Pokud například používáte ukázku Todos:

    Show me all my tasks
    
  3. GitHub Copilot by měl úspěšně spojit se s vaším serverem MCP a měli byste vidět výsledky v chatu. Pokud narazíte na nějaké problémy, přečtěte si téma Řešení potíží.

Řešení problémů

Když v editoru Visual Studio Code spustíte server MCP, zobrazí se výzva k ověření označující, jestli je vaše konfigurace správná:

  • Správná konfigurace: Visual Studio Code vás vyzve k ověření v Microsoftu. To znamená, že metadata chráněných prostředků (PRM) jsou správně nakonfigurovaná a Visual Studio Code úspěšně zjistil autorizační server a obor z koncového bodu /.well-known/oauth-protected-resource.

  • Nesprávná konfigurace: Visual Studio Code vás vyzve k ověření pomocí koncového /authorize bodu v aplikaci App Service (například https://<your-app-url>.azurewebsites.net/authorize). To znamená, že PRM není správně nakonfigurovaný. Visual Studio Code nemůže najít autorizační server a obor autorizace, takže se vrátí k použití adresy URL vaší aplikace jako autorizačního koncového bodu, který neexistuje.

Pokud se zobrazí nesprávná výzva k ověření, ověřte, že:

  • Nastavení WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES aplikace je správně konfigurováno s plnou hodnotou rozsahu api://<app-registration-app-id>/user_impersonation.
  • Po přidání nastavení aplikace se aplikace App Service úplně restartovala. Dokončení restartování může trvat několik minut.

Pokud se po přihlášení zobrazí chyby ověřování, ověřte, že:

  • ID klienta Visual Studio Code (aebc6443-996d-45c2-90f0-388ff96faa56) se přidá do konfigurace ověřování služby App Service (povolené klientské aplikace) a také do registrace aplikace (autorizované klientské aplikace v Expose an API).
  • Hodnota oboru v nastavení aplikace odpovídá přesně tomu, co je definováno v registraci vaší aplikace.