Saját üzemeltetésű távoli Azure MCP-kiszolgáló üzembe helyezése és csatlakozás a Copilot Studióval

Helyezze üzembe az Azure MCP-kiszolgálót HTTPS-en keresztül saját üzemeltetésű távoli kiszolgálóként. Ez a beállítás lehetővé teszi, hogy a Microsoft Foundry és a Microsoft Copilot Studio AI-ügynökei biztonságosan csatlakozzanak és meghívják az MCP-eszközöket az üzembe helyezett Azure MCP-kiszolgáló használatával az Azure-műveletek futtatásához. Ez a cikk a Copilot Studio kapcsolati forgatókönyvével foglalkozik.

Előfeltételek

  • Power Platform-licenc, amely a következőket tartalmazza:
    • Copilot Studio
    • Power Apps
  • Azure-előfizetés tulajdonosi vagy felhasználói hozzáférés-rendszergazdai engedélyekkel
  • Azure Developer CLI (azd)
  • Az engedélyezni kívánt Azure MCP Server-eszközterületek (névterek) listája (lásd azmcp-commands.md). A cikkben szereplő referenciasablon a névteret storage használja.

Azure MCP Server-sablon

Ez a cikk az Azure MCP Server – ACA és a Copilot Studio ügynöksablonazd használatával telepíti a kiszolgálót az Azure Container Appsben. A sablon lehetővé teszi a tárolóeszközök és a felügyelt identitás használatát az Azure Storage biztonságos eléréséhez. Az Azure Developer CLI (azd) egy nyílt forráskódú eszköz, amely leegyszerűsíti az Azure-erőforrások kiépítését és üzembe helyezését, és tömör parancsokat (azd deploy) kínál, azd provisionamelyek a fejlesztési munkafolyamat kulcsfontosságú szakaszaira képezhetők le.

Az Azure MCP-kiszolgáló üzembe helyezése

Az Azure MCP-kiszolgáló üzembe helyezése az Azure Container Appsben:

  1. Klónozza és inicializálja a azmcp-copilot-studio-aca-mi sablont a azd használatával.

    azd init -t azmcp-copilot-studio-aca-mi
    

    Amikor a rendszer kéri, adjon meg egy környezetnevet.

  2. Futtassa a sablont a azd up paranccsal.

    azd up
    

    azd a következőt kéri:

    • Előfizetés: Válassza ki a kiépített erőforrások előfizetését (az alábbiakban).
    • Erőforráscsoport: Az az erőforráscsoport, amelyben létre szeretné hozni az erőforrásokat. Ebben a lépésben igény szerint létrehozhat egy új erőforráscsoportot.

azd A sablonfájlokkal a következő erőforrásokat és konfigurációkat építi ki:

  • Azure Container App: Futtatja az Azure MCP-kiszolgálót, és biztosítja a tárnévteret.
  • Felhasználó által hozzárendelt felügyelt identitás: A tárolóalkalmazáshoz rendelt Előfizetés-olvasó szerepkörrel rendelkező felügyelt identitás, amelyet az Azure MCP-kiszolgáló használ eszközhívásokhoz.
  • Entra-alkalmazásregisztráció (ügyfél):: Az egyéni Power Apps-összekötőnek csatlakoznia kell a távoli Azure MCP-kiszolgálóhoz.
  • Application Insights: Telemetriát és monitorozást biztosít.

Üzembe helyezés kimenete és konfigurálása

  1. Az üzembe helyezés befejezése után kérje le azd a környezeti változókat a azd env get-values paranccsal.

    azd env get-values
    

    A kimenet példája:

    AZURE_RESOURCE_GROUP="<your-resource-group-name>"
    AZURE_SUBSCRIPTION_ID="<your-subscription-id>"
    AZURE_TENANT_ID="<your-tenant-id>"
    CONTAINER_APP_NAME="<your-container-app-name>"
    CONTAINER_APP_URL="https://azure-mcp-storage-server.<your-container-app-name>.westus3.azurecontainerapps.io"
    ENTRA_APP_CLIENT_CLIENT_ID="<your-client-app-registration-client-id>"
    ENTRA_APP_SERVER_CLIENT_ID="<your-server-app-registration-client-id>"
    
  2. A létrehozott API-hatókört is hozzá kell adnia az ügyfélalkalmazás-regisztráció egyik engedélyéhez. Nyissa meg az Azure Portalt, és keresse meg az ügyfélalkalmazás regisztrációját a ENTRA_APP_CLIENT_CLIENT_ID kimeneti érték használatával.

  3. Lépjen az API-engedélyek panelre, és válassza az Engedély hozzáadása lehetőséget.

  4. A Saját API-k lapon válassza ki a Kiszolgáló alkalmazásregisztrációt , és adja hozzá a hatókört Mcp.Tools.ReadWrite .

Eszközök hívása a Copilot Studio-ügynöktől

A Copilot Studio-ügynök egyéni összekötő használatával csatlakozik az MCP-kiszolgálókhoz.

Egyéni összekötő konfigurálása

  1. Jelentkezzen be a Power Appsbe , és válassza ki a környezetet az egyéni összekötő üzemeltetéséhez.
  2. Hozzon létre egy új egyéni összekötőt az Üres létrehozás beállítással. Az egyéni összekötők konfigurálásáról további információt az egyéni összekötő létrehozása az alapoktól című témakörben talál.
  3. Töltse ki a következő szakaszokat az összekötő-létrehozási munkafolyamat minden lépéséhez.

General

Az Általános lépésben:

  • Adjon meg egy leíró nevet és leírást az egyéni összekötőhöz.
  • Állítsa be a Sémát a HTTPS.
  • Állítsa be a Host értékét a CONTAINER_APP_URLazd kimenet alapján.

Az egyéni összekötő Általános lapjának képernyőképe, amelyen a név, a leírás, a HTTPS értékre beállított séma és a tárolóalkalmazás URL-címével kitöltött gazdagépmező látható.

Biztonság

Egyelőre hagyja ki a biztonsági lépést, és folytassa a Definíció lépésével.

Definition

  1. Állítsa be a Swagger-szerkesztőt a szerkesztőnézetbe való belépéshez.

  2. Szerkesztőnézetben:

    • POST metódus közzététele a gyökér útvonalnál egyéni x-ms-agentic-protocol: mcp-streamable-1.0 tulajdonsággal. Ez a tulajdonság szükséges ahhoz, hogy az egyéni összekötő az MCP protokoll használatával kommunikáljon az API-val.

      Megjegyzés:

      A testreszabott csatlakozó swagger példája referenciaként szolgál egy sablonhoz.

Képernyőkép a Swagger-szerkesztőről, amelyen a POST gyökérmetódus van kiválasztva, és az egyéni x-ms-agentic-protokoll tulajdonság mcp-streamable-1.0 értékre van állítva az MCP-interakcióhoz.

Egyéni összekötő: Biztonság

Térjen vissza a biztonsági lépéshez a hitelesítés konfigurálásához:

Paraméter Érték Jegyzetek
Hitelesítés típusa OAuth 2.0 Kötelező
Identitásszolgáltató Azure Active Directory Kötelező
Ügyfélazonosító ENTRA_APP_CLIENT_CLIENT_ID az azd kimenetből Ügyfélalkalmazás regisztrációs azonosítója
Titkos kód lehetőség Ügyfél titkos kód használata VAGY Felügyelt identitás használata A telepítést lásd alább
Engedélyezési URL-cím https://login.microsoftonline.com Alapértelmezett érték
Bérlőazonosító AZURE_TENANT_ID az azd kimenetből Az Azure-bérlő azonosítója
Erőforrás URL-címe ENTRA_APP_SERVER_CLIENT_ID az azd kimenetből Kiszolgálóalkalmazás-regisztrációs ügyfél azonosítója (nem URL-cím)
Bejelentkezés nevében Enabled Kötelező
Scope <ENTRA_APP_SERVER_CLIENT_ID>/.default Formátum: {server_client_id}/.default

Titkos kód beállításának beállítása:

  • Ügyfélkód használata esetén: Hozzon létre egy ügyfélkulcsot az ügyfélalkalmazás-regisztrációban (Azure Portal). Másolja ki a titkos kulcs értékét, és illessze be az ügyfél titkos kód mezőjébe.
  • Felügyelt identitás használata esetén: Folytassa a fennmaradó lépésekkel, amíg létre nem jön az egyéni összekötő.

Azonos bérlői követelmény: Az ügyfél- és kiszolgálóalkalmazás-regisztrációknak ugyanabban a bérlőben kell lenniük az egyszerűsített hitelesítéshez. Bérlők közötti forgatókönyvek esetén lásd az ismert problémákat.

Válassza az Összekötő létrehozása lehetőséget , és várja meg a befejezést. A létrehozás után a felhasználói felületen megjelenik egy átirányítási URL-cím, és ha kiválasztja, egy felügyelt identitást.

Képernyőkép, amely a Security lépésben az OAuth 2.0 Azure Active Directoryval, ügyfélazonosítóval, titkos kulcs opcióval, bérlőazonosítóval, erőforrás URL-el, hatókörrel és az on-behalf-of bejelentkezési engedéllyel van bemutatva.

Alkalmazásregisztráció: Átirányítási URI és hitelesítő adatok konfigurálása

  1. Az Azure Portalon adjon hozzá átirányítási URI-t a webplatformhoz az ügyfélalkalmazás-regisztrációban.

    Képernyőkép az Azure Portal alkalmazásregisztrációjáról, amelyen az egyéni összekötő hitelesítési folyamatához hozzáadott webplatform-átirányítási URI-bejegyzés látható.

  2. Ha a Biztonsági lépésben a Felügyelt identitás használata lehetőséget választotta, hozzon létre egy összevont hitelesítő adatot az ügyfélalkalmazás-regisztrációban.

    • Válassza az Egyéb kiállító lehetőséget forgatókönyvként.
    • Másolja a issuer és subject értékeket az egyéni összekötőből a hitelesítő adatok mezőibe.
    • Adjon meg egy leíró nevet és leírást, majd válassza a Hozzáadás lehetőséget.

    Az összevont hitelesítőadat-létrehozási űrlap képernyőképe, amelyen az egyéni összekötőből beillesztett kiállítói és tárgyértékek, valamint a név- és leírásmezők láthatók.

kapcsolat ellenőrzése

  1. Nyissa meg az egyéni összekötőt, válassza a Szerkesztés lehetőséget, és lépjen a Tesztelés lépésre.

  2. Válasszon bármilyen műveletet, és válassza az Új kapcsolat lehetőséget.

  3. Jelentkezzen be az MCP-eszközök eléréséhez használni kívánt felhasználói fiókkal. Előfordulhat, hogy megjelenik egy jóváhagyást kérő párbeszédpanel vagy egy rendszergazdai jóváhagyási kérés. Ha nem biztos benne, tekintse meg az ismert problémákat.

    Ha a bejelentkezés sikeres, a felhasználói felületen látható, hogy a kapcsolat sikeresen létrejött. Ha bejelentkezési hiba történik, tekintse meg az ismert problémákat és konzultáljon a bérlő rendszergazdájával a hibaelhárításhoz.

    Képernyőkép az egyéni összekötő Teszt lapjának sikeres kapcsolati állapotáról, miután a felhasználó bejelentkezett a kívánt fiókkal.

Azure MCP-eszköz meghívása a Copilot Studio tesztjátszótérben

  1. Jelentkezzen be a Copilot Studióba , és válassza ki a környezetet a Copilot Studio-ügynök üzemeltetéséhez. Hozzon létre egy új ügynököt, vagy használjon egy meglévőt.

  2. Nyissa meg az ügynök adatait, és válassza az Eszközök lapot.

  3. Válassza az Eszköz hozzáadása lehetőséget.

  4. Keresse meg az egyéni összekötő nevét, és adja hozzá.

  5. Az egyéni összekötő hozzáadása után a Copilot Studio-ügynök megpróbálja listázni az eszközöket az MCP-kiszolgálóról. Ha sikeres, megjelenik az elérhető eszközlista az összekötő alatt.

  6. A Teszt gombra kattintva elindíthat egy tesztkörnyezeti munkamenetet.

  7. Kérje meg az ügynököt, hogy hívjon meg egy MCP-eszközt, például az előfizetés tárfiókjainak listázásához.

    Képernyőkép a Copilot Studio-ügynök Eszközök füléről, amely a hozzáadott egyéni csatlakozót és az alatta lévő MCP-eszközlistát tartalmazza. Képernyőkép a Copilot Studio tesztkörnyezet munkamenetéről, ahol az ügynök egy felsorolt MCP-eszköz meghívása után eredményeket ad vissza.

Erőforrások tisztítása

Futtassa a következő parancsot a sablon által létrehozott Azure-erőforrások törléséhez, ha nincs rájuk szüksége.

azd down

Megjegyzés:

azd A sablon által létrehozott Entra-alkalmazásregisztrációk nem törölhetők. Törölje az Entra-alkalmazásregisztrációkat azzal, hogy megkeresi a ENTRA_APP_CLIENT_CLIENT_ID és ENTRA_APP_SERVER_CLIENT_ID értékeket az Azure portálon, majd törli a megfelelő alkalmazásregisztrációkat.

Annak érdekében, hogy megtisztítsa a Power Platform erőforrásait, törölje a Copilot Studio-ügynököt, az egyéni Power Apps-összekötőt és a kapcsolatot.

Sablonstruktúra

A azd sablon az alábbi Bicep-modulokat tartalmazza:

  • main.bicep - Az összes erőforrás üzembe helyezésének vezénylése.
  • aca-storage-managed-identity.bicep – Létrehoz egy felhasználó által hozzárendelt felügyelt identitást.
  • aca-storage-subscription-role.bicep – Hozzárendel egy Azure RBAC-szerepkört a felhasználó által hozzárendelt felügyelt identitáshoz. Alapértelmezés szerint az Előfizetés-olvasó szerepkör.
  • aca-infrastructure.bicep – Üzembe helyezi az Azure MCP-kiszolgálót üzemeltető container appot.
  • entra-app.bicep – Entra-alkalmazásregisztrációkat hoz létre.
  • application-insights.bicep – Üzembe helyezi az Application Insightst telemetriai és monitorozási célokra, ha engedélyezve van.

Ismert problémák

  • Egybérlős követelmény: Az egyéni Power Apps-összekötő nem támogatja a felhasználók hitelesítését több bérlőről, ezért állítsa be az ügyfélalkalmazás regisztrációját úgy, hogy csak a bérlői felhasználókat fogadja el.
  • Hozzájárulási lehetőségek: A hitelesítés során a felhasználó vagy a bérlő rendszergazdája hozzáférést biztosít az ügyfélalkalmazásnak az adataihoz. További információ az alkalmazás-hozzájárulási felületről. A hozzájárulás többféleképpen is megadható:
    • A felhasználó csak az adott felhasználónak adhat hozzájárulást a bejelentkezés során. A bérlői biztonsági szabályzat letilthatja ezt.
    • A bérlői rendszergazda az Azure Portal API-engedélyek paneljén adhat hozzájárulást a bérlő összes felhasználójához az ügyfélalkalmazás-regisztrációban.
    • Adja hozzá az ügyfélalkalmazás-regisztrációt előzetesen hitelesített ügyfélalkalmazásként a kiszolgálóalkalmazás-regisztráción belül az Egy API közzététele panelen az Azure portálon.
  • Bérlők közötti forgatókönyv: Ha az ügyfélalkalmazás-regisztráció és a kiszolgálóalkalmazás-regisztráció különböző bérlőkben található, a kapcsolat létrehozásakor a következő hibaüzenet jelenhet meg:
    • "Az alkalmazás megpróbál hozzáférni egy „server_app_registration_client_id” (server_app_registration_display_name) szolgáltatáshoz, amelyhez a szervezet „client_app_registration_tenant” nem rendelkezik szolgáltatási főazonosítóval."
    • Megoldás: Az ügyfélalkalmazás-regisztráció bérlői rendszergazdájának ki kell építenie egy szolgáltatási főnevet a kiszolgálóalkalmazás-regisztrációhoz a bérlőnél:
      az ad sp create --id <server_app_registration_client_id>
      
    • A kiépítés után hozza létre újra a kapcsolatot. A hozzájárulási folyamat aktiválódik.
  • Ha a Power Apps-környezet bérlőelkülönítési szabályzattal rendelkezik, blokkolja az adatfolyamot, ha az ügyfél- vagy kiszolgálóalkalmazás-regisztrációk különböző bérlőkben vannak. Tudja meg, hogyan adhat hozzá kivételszabályokat az adatfolyam engedélyezéséhez a bérlők közötti korlátozásokban.