Guida per gli sviluppatori per i server MCP ospitati (anteprima)

Importante

Questa funzionalità di anteprima è soggetta alle Condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure.

Questa guida descrive le funzionalità, i dettagli di configurazione e i requisiti dei server Model Context Protocol (MCP) ospitati nel namespace Connector. Per una panoramica dei server MCP ospitati, vedi Hosted MCP servers in Connector Namespace.

Regioni supportate

Durante l'anteprima, i server MCP ospitati sono disponibili nelle aree seguenti:

  • Stati Uniti centro-occidentali
  • Asia orientale
  • Stati Uniti centrali
  • North Europe

Accesso al portale Connector Namespace

Gestisci i server MCP ospitati e i relativi namespace nel portale Connector Namespace. È possibile accedervi in due modi:

  • Tramite il portale di Azure. Apri una risorsa namespace di cui è stato effettuato il provisioning nel portale di Azure, che reindirizza al portale Connector Namespace per quel namespace.
  • Direttamente. Accedi al portale web e seleziona lo spazio dei nomi.

Authentication

I server MCP ospitati prevedono due limiti di autenticazione.

Autenticazione in ingresso

L'autenticazione in ingresso protegge la connessione tra i client MCP e il server ospitato. Lo spazio dei nomi fornisce l'autenticazione basata su OAuth con Microsoft Entra ID.

Autenticazione in uscita

L'autenticazione in uscita protegge la connessione tra il server ospitato e il servizio a valle con cui interagisce. I server supportano i meccanismi seguenti:

metodo Description
Identità gestita Il server si autentica al servizio downstream utilizzando un'identità gestita assegnata allo spazio dei nomi. Non è necessaria alcuna gestione delle credenziali.
Per Conto Di (OBO) Il server usa l'identità dell'utente chiamante per l'autenticazione al servizio downstream, che consente scenari di accesso delegato.

Opzioni di gestione delle identità

Quando usi un'identità gestita per l'autenticazione in uscita, scegli una:

  • Identità gestita assegnata dal sistema (SAMI). Creato e assegnato automaticamente a uno spazio dei nomi quando lo si abilita durante la creazione dello spazio dei nomi. È associato al ciclo di vita dello spazio dei nomi, quindi viene eliminato quando lo spazio dei nomi viene eliminato.
  • Identità gestita assegnata dall'utente (UAMI). Una risorsa di Azure autonoma che si crea e si assegna allo spazio dei nomi. Persiste in modo autonomo e può essere riutilizzato in diverse risorse.

Passaggi per l'aggiunta di un'identità gestita assegnata dall'utente allo spazio dei nomi

Quando si usa un UAMI, è necessario aggiungere tale identità allo spazio dei nomi . In caso contrario, il server non può eseguire l'autenticazione ai servizi downstream.

Per aggiungere un oggetto UAMI allo spazio dei nomi:

  1. Andare all'istanza dello spazio dei nomi nel portale Web.

  2. Nel menu a sinistra selezionare la scheda Identità .

  3. Nella sezione Assegnata dall'utente selezionare il pulsante +Aggiungi .

  4. Cercare l'identità gestita desiderata e quindi selezionare Aggiungi.

  5. Selezionare Salva in alto a destra per salvare la modifica.

Integrazione con Application Insights

È possibile configurare il server per inviare log e metriche a una risorsa di Application Insights specificata. Il flusso di creazione del server offre un modo per configurare questa opzione immediatamente dopo la creazione. Se te lo sei perso, segui questi passaggi:

  1. Andare all'istanza dello spazio dei nomi nel portale Web.

  2. Nella sezione Monitoraggio selezionare Abilita monitoraggio.

  3. Immettere il stringa di connessione della risorsa di Application Insights e quindi selezionare Abilita.

Per visualizzare i log del server:

  1. Passare al portale di Azure e trovare la risorsa di Application Insights configurata.

  2. Nel menu a sinistra, seleziona Analizza>Cerca.

  3. Impostare il filtro Ora locale sull'intervallo di tempo desiderato. Visualizzare i log come tracce o singoli elementi.

Criteri di accesso

Configurando una policy di accesso, controlli chi può accedere al tuo server MCP ospitato. Quando crei un server, il portale crea automaticamente una policy per te. È possibile aggiungere criteri per concedere ad altri utenti l'accesso al server.

È possibile aggiungere criteri di accesso per singoli utenti o un gruppo. Per creare un gruppo, vedere Gestisci gruppi in Microsoft Entra ID.

Per aggiungere un criterio di accesso:

  1. Andare all'istanza dello spazio dei nomi nel portale Web.

  2. Selezionare la scheda Connettori MCP nel menu a sinistra e aprire il server.

  3. All'interno del server selezionare la scheda Criteri di accesso .

  4. Selezionare il pulsante + Aggiungi criteri di accesso .

  5. Scegli il valore Tipo di entità principale desiderato.

  6. Immettere il valore Principal Object ID (ID oggetto principale ). È possibile trovarlo nel Interfaccia di amministrazione di Microsoft Entra.

  7. Immetti il valore Tenant ID per il tuo abbonamento.

Requisiti di distribuzione del server

La maggior parte dei server MCP ospitati viene distribuita senza artefatti aggiuntivi. Selezionando il server dal catalogo, lo spazio dei nomi provvede al suo provisioning. Alcuni server richiedono una configurazione aggiuntiva durante la distribuzione.

Azure SQL

Il server MCP Azure SQL è basato su DaB (Data API Builder). DAB fornisce un livello API dati sicuro sul database ed espone le entità selezionate come strumenti MCP che gli agenti possono chiamare.

Anziché connettere gli agenti direttamente al database, il server esegue DAB. DAB applica le definizioni di entità e le autorizzazioni per entità specificate, in modo che gli agenti possano accedere solo ai dati e alle operazioni esposti in modo esplicito.

Azure SQL richiede un file di configurazione DAB che definisce:

  • Stringa di connessione del database.
  • Le entità (tabelle o viste) da esporre.
  • Autorizzazioni per ogni entità.

Per generare questo file, installa DAB CLI. Eseguire quindi il comando seguente per abilitare solo MCP (poiché DAB supporta anche gli endpoint GraphQL e REST):

dab init --database-type "mssql" --host-mode "Development" --graphql.enabled false --rest.enabled false --connection-string "<your-connection-string>"

Il formato del stringa di connessione dipende dal tipo di identità gestita usata dal server per accedere al database.

Server=<your-sql-server>.database.windows.net;Database=<your-database>;Authentication=Active Directory Default;Encrypt=True;TrustServerCertificate=False;

Dopo aver generato il file, è anche necessario aggiungere entità e autorizzazioni correlate. Il comando seguente aggiunge Books come esempio:

dab add Books --source "dbo.Books" --permissions "anonymous:*"

Per informazioni dettagliate sulla configurazione di entità e autorizzazioni, vedere la panoramica dell'autorizzazione del generatore di API dati.

Caricare il file di configurazione generato (ad esempio) durante la distribuzione del server nel portale dello spazio dei nomi.

Concedere l'accesso all'identità gestita

Dopo la distribuzione, concedere all'identità gestita l'accesso al database. Nel portale di Azure eseguire il comando seguente nell'editor di query per il database SQL (connesso come amministratore) per concedere le autorizzazioni. Assicurarsi di scegliere la query corretta per il tipo di identità.

CREATE USER [<your-connector-namespace-name>] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [<your-connector-namespace-name>];
ALTER ROLE db_datawriter ADD MEMBER [<your-connector-namespace-name>];
GRANT VIEW DEFINITION TO [<your-connector-namespace-name>];

Per verificare di aver creato l'identità:

SELECT name, type_desc, authentication_type_desc
FROM sys.database_principals
WHERE type IN ('E', 'X')
ORDER BY name;
-- Expected: <identity-name> | EXTERNAL_USER | EXTERNAL