Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze zelfstudie bepaalt u de toegang van een coderingsagent tot GitHub met behulp van Unity Catalog en AI Gateway. Stel dat uw team gebruikmaakt van een coderingsagent zoals Claude Code of Cursor met de MCP-server van GitHub en dat ontwikkelaars opslagplaatsen moeten lezen en pull-aanvragen via de agent moeten openen, maar nooit geforceerd pushen of verwijderen, waarbij elke aanroep van het hulpprogramma wordt gecontroleerd.
U gebruikt de vooraf gebouwde system.ai.github MCP-service die Azure Databricks biedt, zodat u geen MCP-server host of registreert of een Unity Catalog-verbinding maakt. U voegt een ingebouwd servicebeleid toe om schrijfbewerkingen te blokkeren, uw team toegang te verlenen, een coderingsagent te verbinden en te bevestigen dat elke aanroep van het hulpprogramma is vastgelegd.
Prerequisites
- Een werkruimte waarvoor Unity Catalog is ingeschakeld. Zie Aan de slag met Unity Catalog.
- De volgende bevoegdheden voor de ingebouwde service
system.ai.github:-
MANAGEom een servicebeleid toe te voegen. -
EXECUTEom de service aan te roepen en toegang te verlenen aan anderen.
-
- De Azure Databricks CLI, geverifieerd voor uw werkruimte.
Stap 1: Destructieve bewerkingen blokkeren met een ingebouwd beleid
De system.ai.github MCP-service maakt GitHub leeshulpprogramma's beschikbaar en mislukt standaard bij schrijfhulpprogramma's. Als u deze garantie expliciet en beheerd wilt maken, koppelt u het ingebouwde system.ai.github_policy beleid aan de disallow_writes optie. Ingebouwde beleidsregels worden door het platform beheerd: u verwijst naar de handler in plaats van uw eigen functie te schrijven.
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" }
}
]
}
}'
Als het beleid is gekoppeld, wordt een tools/call voor elk schrijfhulpprogramma (een hulpprogramma dat niet als alleen-lezen is gemarkeerd) afgewezen, terwijl hulpprogramma's voor lezen en pullrequests blijven werken. Zie voor meer informatie over ingebouwde services en beleidsregels door Databricks geleverde MCP-services en servicebeleid voor AI-beveiligbare items.
Stap 2: de MCP-service delen met uw team
Standaard kunnen alleen principals met EXECUTE de service aanroepen. Uw ontwikkelaarsteam toegang verlenen vanuit de gebruikersinterface:
- Ga in de AI-gateway naar het tabblad MCP's en selecteer de MCP-service die u wilt delen, zoals
system.ai.github. - Ga naar het tabblad Machtigingen .
- Klik op Toestaan.
- Geef de principal op waarmee de MCP-service kan worden aangeroepen, zoals
dev_team, selecteer de EXECUTE-bevoegdheid en klik op Bevestigen.
Note
Als u toegang wilt verlenen voor een MCP-service in system.ai, moet een metastore-beheerder zichzelf eerst MANAGE verlenen op het schema system.ai.
Stap 3: Uw coderingsagent verbinden
Wijs uw coderingsagent aan op het MCP-eindpunt van de AI Gateway voor de ingebouwde service:
https://<workspace-url>/ai-gateway/mcp-services/system.ai.github
Elke ontwikkelaar meldt zich aan bij Azure Databricks en moet beschikken over EXECUTE op de MCP-service. Zie MCPs verbinden met AI-assistenten en coderingsagenten voor agentspecifieke installatiestappen voor Claude Code, Cursor en andere hulpprogramma's. Zie De MCP-service aanroepen voor voorbeelden, waaronder de OpenAI Agents SDK.
Stap 4: Controleren of de activiteit wordt beheerd en geregistreerd
Controleer of het beheer aan beide kanten werkt:
Beleidshandhaving: Vanuit de agent slaagt een read- of pull-requesttool, terwijl een writetool wordt geweigerd vanwege een beleidsfout.
Gebruikslogboekregistratie: Voer een query uit op de tabel met het gebruikssysteem om te bevestigen dat aanroepen worden vastgelegd:
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;
Zie Gebruik bewaken voor meer informatie over bewaking.