Zelfstudie: De GitHub MCP-toegang van een coderingsagent beheren

Important

Deze functie bevindt zich in de bètaversie. Accountbeheerders kunnen de toegang tot deze functie beheren via de pagina Previews van de accountconsole. Zie Azure Databricks previews beheren.

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 previewversie van Unity AI Gateway en de door Databricks geleverde previewversie van MCP Services zijn ingeschakeld voor uw account. Zie Azure Databricks previews beheren.
  • 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:

  1. Ga in de AI-gateway naar het tabblad MCP's en selecteer de MCP-service die u wilt delen, zoals system.ai.github.
  2. Ga naar het tabblad Machtigingen .
  3. Klik op Toestaan.
  4. 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.

Volgende stappen