Megosztás a következőn keresztül:


Secure Model Context Protocol-hívások az Azure App Service-be a Visual Studio Code-ból Microsoft Entra-hitelesítéssel

Ez a cikk bemutatja, hogyan védheti meg az Azure App Service-ben üzemeltetett Model Context Protocol (MCP) kiszolgálót a Microsoft Entra-hitelesítéssel. A hitelesítés engedélyezésével biztosíthatja, hogy csak a Microsoft Entrával hitelesített felhasználók férhessenek hozzá az MCP-kiszolgálóhoz Copilot-ügynök módban a Visual Studio Code-ban.

Egyéb hitelesítési módszerekről és az MCP-kiszolgáló általános biztonsági fogalmairól az Azure App Service-ben a Model Context Protocol-kiszolgáló biztonságossá tételével foglalkozó cikkben olvashat.

Előfeltételek

Egy MCP-kiszolgálót üzemeltető App Service-alkalmazás. Ha létre kell hoznia egyet, tekintse meg az alábbi oktatóanyagok egyikét:

A Microsoft Entra-hitelesítés engedélyezése

  1. Az Azure Portalon navigáljon az App Service-alkalmazáshoz.

  2. A bal oldali menüben válassza a Beállítások>hitelesítése, majd az Identitásszolgáltató hozzáadása lehetőséget.

  3. Az Identitásszolgáltató hozzáadása lapon válassza a Microsoftot identitásszolgáltatóként.

  4. Az App Service hitelesítési beállításai között az ügyfél titkos kódjának lejáratához válasszon ki egy lejárati időszakot (például 6 hónapot).

  5. Fogadja el az összes többi alapértelmezett értéket, és válassza a Hozzáadás lehetőséget az identitásszolgáltató létrehozásához.

    Ezzel létrehoz egy új alkalmazásregisztrációt a Microsoft Entra-azonosítóban egy titkos ügyfélkóddal, és konfigurálja az App Service-alkalmazást a hitelesítéshez.

Visual Studio Code engedélyezése az App Service-hitelesítésben

A hitelesítés engedélyezése után engedélyeznie kell a Visual Studio Code-ot az MCP-kiszolgáló eléréséhez.

  1. Az App Service-alkalmazás hitelesítési oldalán, az Identitásszolgáltató területen válassza a Szerkesztés (a ceruza ikon) lehetőséget a létrehozott Microsoft-szolgáltató mellett.

  2. Az Identitásszolgáltató szerkesztése lapon, a További ellenőrzések>ügyfélalkalmazás követelménye területen válassza az Adott ügyfélalkalmazások kéréseinek engedélyezése lehetőséget.

  3. Válassza ki a ceruza widgetet az engedélyezett alkalmazások szerkesztéséhez.

  4. Az Engedélyezett ügyfélalkalmazások mezőben adja hozzá a Visual Studio Code ügyfélazonosítóját: aebc6443-996d-45c2-90f0-388ff96faa56.

  5. Kattintson az OK gombra, majd a Mentés gombra.

A Visual Studio Code engedélyezése az alkalmazásregisztrációban

Ezután konfigurálnia kell az alkalmazásregisztrációt, hogy elérhetővé tegye az API-t a Visual Studio Code-nak.

  1. Lépjen vissza az App Service-alkalmazás hitelesítési oldalára.

  2. Válassza ki a Microsoft-szolgáltatót az Identitásszolgáltató oszlopban az alkalmazásregisztrációs oldal megnyitásához.

  3. Az alkalmazásregisztrációs lapon válassza az API-k kezelése> lehetőséget a bal oldali menüben.

  4. Az Engedélyezett ügyfélalkalmazások területen válassza az Ügyfélalkalmazás hozzáadása lehetőséget.

  5. Az Ügyfélazonosító mezőbe írja be a Visual Studio Code ügyfélazonosítóját: aebc6443-996d-45c2-90f0-388ff96faa56.

  6. A hatókör engedélyezéséhez jelölje be a user_impersonation hatókör melletti jelölőnégyzetet.

  7. Válassza az Alkalmazás hozzáadása lehetőséget.

  8. Az API által definiált hatókörök alatt keresse meg és másolja ki a teljes hatókör értékét. Úgy kell kinéznie, mint api://<app-registration-app-id>/user_impersonation.

    A hatókör értékét a következő szakaszban kell megadnia.

Védett erőforrás metaadatainak engedélyezése az engedélyezési hatókör beállításával

Az MCP-kiszolgáló engedélyezéséhez konfigurálnia kell a védett erőforrás-metaadatokat (PRM) az engedélyezési hatókör alkalmazásbeállításban való beállításával. Ez lehetővé teszi, hogy az MCP-ügyfelek a végponton keresztül felderíthessék a /.well-known/oauth-protected-resource hitelesítési követelményeket.

  1. Az Azure Portalon lépjen vissza az App Service alkalmazáslapjára.

  2. A bal oldali menüben válassza a Beállítások>környezet változói lehetőséget.

  3. Új alkalmazásbeállítás létrehozásához válassza a Hozzáadás lehetőséget.

  4. A Név mezőbe írja be a következőtWEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES:

  5. Az Érték mezőbe illessze be az alkalmazásregisztrációból kimásolt hatókört: api://<app-registration-app-id>/user_impersonation.

  6. Válassza az Alkalmaz lehetőséget, majd az alkalmazás megerősítéséhez és újraindításához válassza újra az Alkalmaz lehetőséget.

    Ez a beállítás úgy konfigurálja a PRM-et, hogy tartalmazza az MCP-kiszolgáló engedélyezéséhez szükséges hatókört.

Csatlakozás a Visual Studio Code-ból

Most már csatlakozhat a védett MCP-kiszolgálóhoz a Visual Studio Code-ból.

  1. Nyissa meg a Visual Studio Code-ot a helyi gépen.

  2. Nyisson meg vagy hozzon létre egy MCP-konfigurációs fájlt (mcp.json). Munkaterületre hatókörű MCP-konfiguráció létrehozása érdekében készítse el azt a munkaterület .vscode könyvtárában.

  3. Adja hozzá az MCP-kiszolgáló konfigurációját:

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

    Cserélje le a <your-app-url> a megfelelő App Service alkalmazás URL-címére. Az alkalmazás alapértelmezett tartományát az Azure Portal Áttekintés lapján találja. Ebben a példában az elérési út az /api/mcp, de a tényleges elérési út az MCP-kódtól függ.

  4. A Visual Studio Code-ban nyissa meg a parancskatalógust (Ctrl+Shift+P vagy Cmd+Shift+P macOS-en).

  5. Írja be az MCP parancsot: Kiszolgálók listázása , majd nyomja le az Enter billentyűt.

  6. Válassza ki az MCP-kiszolgálót a listából, és válassza a Start Server lehetőséget.

  7. A Visual Studio Code automatikusan kéri, hogy jelentkezzen be a Microsoft Entra-azonosítóval. Kövesse a hitelesítési utasításokat.

    Az MCP-bővítmény a konfigurált hatókör használatával kezeli az OAuth-folyamatot, a Visual Studio Code pedig beszerezi az MCP-kiszolgáló meghívásához szükséges hozzáférési jogkivonatot.

    Jótanács

    Ha váratlan hitelesítési kérés jelenik meg, vagy hibákba ütközik, olvassa el a hibaelhárítást.

  8. A hitelesítés után az MCP-kiszolgáló csatlakoztatva van, és készen áll a GitHub Copilot Csevegőügynök módban vagy más MCP-ügyfelek használatára.

A kapcsolat tesztelése

Annak ellenőrzése, hogy az MCP-kiszolgáló megfelelően védett és elérhető-e:

  1. Nyissa meg a GitHub Copilot Chatet a Visual Studio Code-ban (Ctrl+Alt+I vagy Cmd+Option+I macOS-en).

  2. Próbálja meg használni az MCP-kiszolgáló egyik funkcióját. Ha például az Todos-mintát használja:

    Show me all my tasks
    
  3. A GitHub Copilotnak sikeresen fel kell hívnia az MCP-kiszolgálót, és látnia kell az eredményeket a csevegésben. Ha bármilyen probléma merül fel, tekintse meg a hibaelhárítást.

Hibaelhárítás

Amikor elindítja az MCP-kiszolgálót a Visual Studio Code-ban, a megjelenő hitelesítési kérés jelzi, hogy a konfiguráció helyes-e:

  • Helyes konfiguráció: A Visual Studio Code kéri a Microsofttal való hitelesítést. Ez azt jelenti, hogy a védett erőforrás-metaadatok (PRM) megfelelően konfigurálva van, és a Visual Studio Code sikeresen felderítette az engedélyezési kiszolgálót és a hatókört a /.well-known/oauth-protected-resource végpontról.

  • Helytelen konfiguráció: A Visual Studio Code arra kéri, hogy hitelesítse magát egy /authorize végponttal az App Service-alkalmazásban (például https://<your-app-url>.azurewebsites.net/authorize). Ez azt jelenti, hogy a PRM nincs megfelelően konfigurálva. A Visual Studio Code nem találja az engedélyezési kiszolgálót és az engedélyezési hatókört, ezért az alkalmazás URL-címét használja engedélyezési végpontként, amely nem létezik.

Ha helytelen hitelesítési kérés jelenik meg, ellenőrizze, hogy:

  • Az alkalmazásbeállítás WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES helyesen van konfigurálva a teljes hatókör értékével api://<app-registration-app-id>/user_impersonation.
  • Az App Service-alkalmazás teljesen újraindult az alkalmazásbeállítás hozzáadása után. Az újraindítás végrehajtása eltarthat néhány percig.

Ha a bejelentkezés után hitelesítési hibák jelentkeznek, ellenőrizze, hogy:

  • A Visual Studio Code ügyfélazonosítója (aebc6443-996d-45c2-90f0-388ff96faa56) hozzáadódik az App Service hitelesítési konfigurációhoz (engedélyezett ügyfélalkalmazásokhoz) és az alkalmazásregisztrációhoz (engedélyezett ügyfélalkalmazások az API-k közzététele során).
  • Az alkalmazásbeállítás hatókörértéke pontosan megegyezik az alkalmazásregisztrációban definiált értékkel.