Condividi tramite


Configurare l'autorizzazione server MCP predefinita (anteprima)

L'autenticazione del servizio app consente di controllare l'accesso al server MCP (Model Context Protocol) richiedendo ai client MCP di eseguire l'autenticazione con un provider di identità. È possibile rendere l'app conforme alla specifica di autorizzazione del server MCP seguendo le istruzioni riportate in questo articolo.

Importante

L'autorizzazione del server MCP definisce l'accesso al server e non fornisce un controllo granulare ai singoli strumenti MCP o ad altri costrutti.

Configurare un provider di identità

Configurare l'autenticazione di App Service con un provider di identità. La registrazione del provider di identità deve essere univoca per il server MCP. Non riutilizzare una registrazione esistente da un altro componente dell'applicazione.

Durante la creazione della registrazione, prendere nota degli ambiti definiti nella registrazione o nella documentazione del provider di identità.

Configurare i metadati delle risorse protette (anteprima)

L'autorizzazione del server MCP richiede che il server ospiti i metadati delle risorse protette (PRM). Il supporto per PRM con l'autenticazione del Servizio App è attualmente in un'anteprima.

Per configurare PRM per il server MCP, impostare il parametro dell'applicazione WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES su un elenco di ambiti separati da virgola per la vostra applicazione. Gli ambiti necessari sono definiti come parte della registrazione dell'app o documentati dal fornitore di identità. Ad esempio, se è stato usato il provider MICROSOFT Entra ID e si consente al servizio app di creare automaticamente la registrazione, è stato creato un ambito predefinito di api://<client-id>/user_impersonation . Dovresti impostare WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES su tale valore.

Considerazioni sul client MCP

Per consentire l'accesso degli utenti, il client MCP deve essere registrato con il provider di identità. Alcuni provider supportano la registrazione dinamica del client (DCR), ma molti no, incluso Microsoft Entra ID. Quando DCR non è disponibile, il client deve essere preconfigurato con un ID client. Consultare la documentazione relativa al client o all'SDK client per comprendere come fornire un ID client.

Se si usa Microsoft Entra ID, è possibile specificare le applicazioni client note e contrassegnarle come pre-autorizzate per l'accesso. la preautenticazione è consigliata quando possibile. Senza preautenticazione, gli utenti o un amministratore devono fornire il consenso alla registrazione del server MCP e le autorizzazioni necessarie.

Per gli scenari di consenso utente, la creazione del consenso prevede che il client MCP usi l'accesso interattivo per visualizzare la richiesta di consenso. Alcuni client MCP potrebbero non visualizzare un accesso interattivo. Ad esempio, se si sta creando uno strumento MCP da usare da GitHub Copilot in Visual Studio Code, il client tenta di usare il contesto dell'utente connesso e non visualizza una richiesta di consenso. In questi casi, è necessario preautenticare l'applicazione client per evitare problemi di consenso.

A scopo di sviluppo/test, è possibile creare il consenso dell'utente manualmente accedendo all'applicazione direttamente in un browser. Passare a <your-app-url>/.auth/login/aad avvia il flusso di accesso e richiede il consenso, se necessario. È quindi possibile tentare l'accesso da un altro client.

Considerazioni sul server MCP

L'autenticazione del servizio app convalida i token forniti dai client MCP e applica tutti i criteri di autorizzazione configurati prima di rispondere alla richiesta di inizializzazione MCP. Potrebbe essere necessario aggiornare le regole di autorizzazione per lo scenario MCP. Ad esempio, se è stato usato il provider MICROSOFT Entra ID e si lascia che il servizio app crei automaticamente la registrazione, un criterio predefinito consente solo i token ottenuti dall'app stessa. È quindi necessario aggiungere il client MCP all'elenco delle applicazioni consentite nella configurazione dell'autenticazione. Per altre informazioni, vedere Usare un criterio di autorizzazione predefinito.

I framework server MCP estraggono spesso il trasporto, ma in alcuni casi potrebbero esporre il contesto HTTP sottostante. Quando il contesto HTTP è disponibile, è possibile accedere alle attestazioni utente e ad altre informazioni di autenticazione fornite dall'autenticazione del servizio app.

Attenzione

Il token usato per l'autorizzazione del server MCP è destinato a rappresentare l'accesso al server MCP e non a una risorsa downstream. Scenari pass-through in cui il server inoltra il token crea vulnerabilità di sicurezza, quindi evitare questi modelli. Se è necessario accedere a una risorsa downstream, ottenere un nuovo token tramite il flusso On-Behalf-Of o un altro meccanismo per la delega esplicita.