Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa esercitazione si regola l'accesso di un agente di scrittura del codice a GitHub usando Il catalogo unity e il gateway di intelligenza artificiale. Supponiamo che il tuo team utilizzi un agente di codifica come Claude Code o Cursor per leggere repository e pull request, ma tu voglia bloccare le operazioni di scrittura e auditare ogni chiamata di strumento.
Usi il system.ai.github servizio MCP che fornisce Azure Databricks, quindi non ospiti né registri un server MCP né crei una connessione a Unity Catalog. Colleghi una policy di servizio predefinita per bloccare le operazioni di scrittura, concedere al tuo team l'accesso, connettere un agente di sviluppo e verificare che ogni invocazione di uno strumento venga registrata.
Prerequisiti
- Un'area di lavoro abilitata per Unity Catalog. Consulta Introduzione al Catalogo Unity.
- Le funzionalità beta di Unity Gateway attivate per il tuo account. Un amministratore dell'account può abilitarli dalla pagina delle anteprime della console account. Vedere Gestire le anteprime di Azure Databricks.
- Permesso di chiamare e condividere
system.ai.githube allegare criteri. - Per utilizzare l'API REST nello Step 1, autentica la CLI di Azure Databricks al tuo workspace.
- Se il tuo workspace utilizza una policy di rete serverless limitata, un amministratore dell'account deve consentire le destinazioni richieste dal servizio GitHub MCP.
Passo 1: Blocca le operazioni di scrittura con una policy integrata
Allega la policy di servizio integrata di GitHub e abilita Disallow writes. Questo blocca gli strumenti che creano, modificano o cancellano dati su GitHub, consentendo però strumenti di sola lettura. La policy è gestita dalla piattaforma, quindi non è necessario scrivere una funzione policy.
Interfaccia utente
- Nella barra laterale dell'area di lavoro fare clic su Gateway di intelligenza artificiale.
- Nella scheda MCPs, seleziona
system.ai.github. - Aprire la scheda Criteri , quindi fare clic su Nuovo criterio.
- Inserisci un nome di polizza, come
block_github_writes. - In Tipo di guardrail, seleziona GitHub.
- Seleziona Non consentire scritture, poi clicca Crea politica.
REST API
La policy API utilizza il system.ai.github_policy gestore con disallow_writes impostato a true:
databricks api patch \
"/api/2.1/unity-catalog/mcp-services/system.ai.github?update_mask=config.service_policies" \
--json '{
"config": {
"service_policies": [
{
"name": "block_github_writes",
"policy_type": "POLICY_TYPE_BUILTIN",
"handler": "system.ai.github_policy",
"options": { "disallow_writes": "true" }
}
]
}
}'
PATCH sostituisce l'elenco dei criteri del servizio. Se il servizio ha già delle politiche, includile service_policies in modo che restino collegate.
Con la policy allegata, una tools/call per uno strumento con accesso in scrittura viene rifiutata, compresi gli strumenti che creano pull request. Per consentire strumenti di scrittura selezionati bloccando operazioni distruttive, si crea invece una policy di servizio personalizzata . Per maggiori informazioni sui servizi disponibili e sui controlli delle policy, vedi Servizi MCP forniti da Databricks e politiche di servizio.
Passaggio 2: Condividere il servizio MCP con il team
Seleziona Condividi un MCP per dare al tuo team, ad dev_teamesempio, accesso a system.ai.github. Quella guida copre i permessi degli amministratori e l'accesso ereditato per gli MCP forniti da Databricks.
Passo 3: Collegare il tuo agente di programmazione
Installa un agente di codifica compatibile MCP se non ne hai già uno. Usa la CLI Gateway di Unity (ug) per configurare la connessione gateway e avviare l'agente sul tuo dispositivo. Ad esempio, ug claude apre Claude Code con tale configurazione. Per configurare un client da solo, segui la configurazione manuale qui sotto.
Se
ugnon è installato, installalo e controlla la versione. Hai bisogno di Python 3.12 o versione successiva e diuv. Consulta la guida introduttiva rapida dell'agente di programmazione per i dettagli sull'installazione.uv tool install git+https://github.com/databricks/unity-gateway ug --versionConfigura il tuo agente di programmazione per il tuo spazio di lavoro e accedi quando ti viene richiesto. Se il tuo dispositivo è già configurato, salta questo passaggio.
ug configure --workspace https://<workspace-hostname>Aggiungi il servizio GitHub MCP ai tuoi agenti configurati. Se la configurazione pubblicata dal tuo amministratore l'ha già aggiunta, salta questo passaggio.
ug mcp add --names system.ai.githubConferma che il servizio appare nelle tue connessioni configurate:
ug mcp listAvvia o riavvia il tuo agente per usare il servizio. Ad esempio, avvia Claude Code:
ug claudeIn Claude Code, inserisci
/mcpper controllare lo stato della connessione. Per altri comandi di avvio e opzioni di configurazione MCP, vedi Aggiungi strumenti e abilità e il riferimento alla CLI ug.
Per la configurazione manuale, scegli il tuo client in Supported coding agents. Usa questo endpoint MCP per il servizio integrato:
https://<workspace-url>/ai-gateway/mcp-services/system.ai.github
Per esempi di invocazione, incluso l'SDK OpenAI Agents, vedi Usa strumenti MCP in un agente Python.
Passaggio 4: Verificare che l'attività sia regolamentata e registrata
Verificate che la governance funzioni da entrambi i lati:
Applicazione delle policy: dall'agente, uno strumento di sola lettura ha successo, mentre uno strumento di scrittura, come quello che crea una pull request, viene rifiutato con un errore di policy.
Registrazione utilizzo: eseguire una query sulla tabella del sistema di utilizzo per verificare che le chiamate siano registrate:
SELECT service_name, mcp_metadata.tool_name AS tool_name, status_code, COUNT(*) AS calls FROM system.ai_gateway.usage WHERE service_type = 'MCP_SERVICE' AND service_name = 'system.ai.github' GROUP BY service_name, mcp_metadata.tool_name, status_code ORDER BY calls DESC;
Per altre informazioni sul monitoraggio, vedere Monitorare l'utilizzo.