Självstudie: Styra en kodningsagents GitHub MCP-åtkomst

Important

Den här funktionen finns i Beta. Kontoadministratörer kan hantera åtkomst till den här funktionen från sidan förhandsversioner av kontokonsolen. Se Hantera förhandsversioner av Azure Databricks.

I den här självstudien styr du en kodningsagents åtkomst till GitHub med hjälp av Unity Catalog och AI Gateway. Anta att ditt team använder en kodningsagent som Claude Code eller Cursor med GitHub MCP-server, och du vill att utvecklare ska läsa lagringsplatser och öppna pull-begäranden via agenten, men aldrig framtvinga push-överföring eller borttagning, med varje verktygsanrop granskat.

Du använder den färdiga MCP-tjänsten som Azure Databricks tillhandahåller, så att du inte är värd för eller registrerar en MCP-server eller skapar en Unity Catalog-anslutningsystem.ai.github. Du bifogar en inbyggd tjänstprincip för att blockera skrivåtgärder, ge ditt team åtkomst, ansluta en kodningsagent och bekräfta att varje verktygsanrop loggas.

Förutsättningar

  • En arbetsyta aktiverad för Unity Catalog. Se Kom igång med Unity Catalog.
  • Förhandsversionen av Unity AI Gateway och förhandsversionen av Databricks-tillhandahållna MCP Services har aktiverats för ditt konto. Se Hantera förhandsversioner av Azure Databricks.
  • Följande behörigheter för den inbyggda tjänsten system.ai.github:
    • MANAGE, för att koppla en tjänstpolicy.
    • EXECUTE, för att anropa tjänsten och bevilja åtkomst till andra.
  • Azure Databricks CLI, autentiserad för din arbetsyta.

Steg 1: Blockera destruktiva åtgärder med en inbyggd princip

system.ai.github MCP-tjänsten exponerar GitHub läsverktyg och misslyckas som standard med skrivverktyg. Om du vill göra den garantin explicit och styrd bifogar du den inbyggda system.ai.github_policy principen med alternativet disallow_writes . Inbyggda principer är plattformshanterade: du refererar till hanteraren i stället för att skriva en egen funktion.

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" }
        }
      ]
    }
  }'

När principen är kopplad till avvisas tools/call för alla skrivverktyg (verktyg som inte är markerade som skrivskyddade), medan verktyg för läsning och pull requests fortsätter att fungera. Mer information om inbyggda tjänster och principer finns i Databricks-tillhandahållna MCP-tjänster och tjänstprinciper för AI-skyddsbara objekt.

Steg 2: Dela MCP-tjänsten med ditt team

Som standard kan endast huvudnamn med EXECUTE anropa tjänsten. Så här ger du utvecklarteamet åtkomst från användargränssnittet:

  1. I AI Gateway går du till fliken MCP och väljer den MCP-tjänst som ska delas, till exempel system.ai.github.
  2. Gå till fliken Behörigheter .
  3. Klicka på Tillåt.
  4. Ange det huvudnamn som ska tillåtas för att anropa MCP-tjänsten, till exempel dev_team, välj behörigheten KÖR och klicka på Bekräfta.

Note

För att ge åtkomst till en MCP Service i system.ai måste en metastoreadministratör först ge sig själv MANAGE i schemat system.ai.

Steg 3: Anslut kodningsagenten

Peka din kodagent mot AI Gateways MCP-slutpunkt för den inbyggda tjänsten:

https://<workspace-url>/ai-gateway/mcp-services/system.ai.github

Varje utvecklare autentiserar till Azure Databricks och måste ha EXECUTE på MCP-tjänsten. Information om agentspecifika installationssteg för Claude Code, Cursor och andra verktyg finns i Ansluta MCP:er till AI-assistenter och kodningsagenter. Exempel på anrop, inklusive OpenAI Agents SDK, finns i Anropa MCP-tjänsten.

Steg 4: Bekräfta att aktiviteten styrs och loggas

Kontrollera att styrningen fungerar från båda ändar:

  • Policytillämpning: I agenten lyckas ett läsverktyg eller ett verktyg för pull requests, medan ett skrivverktyg avvisas med ett policyfel.

  • Användningsloggning: Fråga användningssystemtabellen för att bekräfta att anrop registreras:

    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;
    

Mer information om övervakning finns i Övervaka användning.

Nästa steg