Samouczek: Kontroluj dostęp agenta kodującego do GitHub MCP

W tym samouczku zarządzasz dostępem agenta programistycznego do usługi GitHub za pomocą Unity Catalog i AI Gateway. Załóżmy, że Twój zespół używa agenta kodującego takiego jak Claude Code lub Cursor do odczytywania repozytoriów i pull requestów, ale chcesz blokować operacje zapisu i audytować każde wywołanie narzędzia.

Korzystasz z system.ai.github usługi MCP, którą zapewnia Azure Databricks, więc nie hostujesz ani nie rejestrujesz serwera MCP ani nie tworzysz połączenia z katalogiem Unity. Dołączasz wbudowaną zasadę usługi, aby blokować operacje zapisu, przyznać zespołowi dostęp, połączyć agenta kodowania i potwierdzić, że każde wywołanie narzędzia jest rejestrowane.

Wymagania wstępne

Krok 1: Operacje zapisu blokowego z wbudowaną polityką

Dołącz wbudowaną politykę usług GitHub i włącz Zakaz zapisów. Blokuje to narzędzia tworzące, modyfikujące lub usuwające dane na GitHub, jednocześnie umożliwiając korzystanie z narzędzi tylko do odczytu. Polityka jest zarządzana przez platformę, więc nie musisz pisać funkcji polityki.

interfejs użytkownika

  1. Na pasku bocznym obszaru roboczego kliknij pozycję Brama sztucznej inteligencji.
  2. Na zakładce MCP wybierz system.ai.github.
  3. Otwórz kartę Zasady , a następnie kliknij pozycję Nowe zasady.
  4. Wprowadź nazwę polityki, taką jak block_github_writes.
  5. W sekcji Typ bariery zabezpieczeniowej wybierz GitHub.
  6. Wybierz Niezezwalaj na zapisy, a następnie kliknij Utwórz politykę.

interfejs API REST

Polityka API używa obsługi z disallow_writes ustawionym system.ai.github_policy na 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" }
        }
      ]
    }
  }'

Zastępuje PATCH listę polis serwisu. Jeśli usługa już ma polityki, uwzględnij je service_policies , aby pozostały przyłączone.

Po dołączeniu polityki odrzuca tools/call narzędzie do zapisu, w tym narzędzia tworzące pull requesty. Aby umożliwić wybrane narzędzia zapisu przy jednoczesnym blokowaniu operacji destrukcyjnych, stwórz zamiast tego niestandardową politykę usług. Więcej informacji o dostępnych usługach i kontrolach politycznych można znaleźć w artykule Usługi MCP i polityki usługowe dostarczane przez Databricks.

Krok 2. Udostępnianie usługi MCP zespołowi

Wybierz Share an MCP, aby dać swojemu zespołowi, np. dev_team, dostęp do system.ai.github. Ten przewodnik obejmuje uprawnienia administratora oraz dostęp dziedziczony dla MCP dostarczanych przez Databricks.

Krok 3: Połącz swojego agenta kodującego

Zainstaluj agenta kodującego obsługującego MCP , jeśli jeszcze go nie masz. Użyj CLI Unity Gateway (),ug aby skonfigurować połączenie bramy i uruchomić agenta na swoim urządzeniu. Na przykład otwiera ug claude kod Claude'a z taką konfiguracją. Aby samodzielnie skonfigurować klienta, należy postępować zgodnie z poniższą ręczną konfiguracją.

  1. Jeśli ug nie jest zainstalowany, zainstaluj i sprawdź wersję. Potrzebujesz Python 3.12 lub nowszy oraz uv. Zobacz szybki start agenta kodującego po szczegóły instalacji.

    uv tool install git+https://github.com/databricks/unity-gateway
    ug --version
    
  2. Skonfiguruj swojego agenta kodującego dla swojego workspace i zaloguj się, gdy pojawi się poproszona o to. Jeśli Twoje urządzenie jest już skonfigurowane, pomiń ten krok.

    ug configure --workspace https://<workspace-hostname>
    
  3. Dodaj usługę MCP GitHub do skonfigurowanych agentów. Jeśli już dodano go w opublikowanej konfiguracji administratora, pomiń ten krok.

    ug mcp add --names system.ai.github
    
  4. Potwierdź, że usługa pojawia się w Twoich skonfigurowanych połączeniach:

    ug mcp list
    
  5. Uruchom lub zrestartuj swojego agenta, aby korzystać z usługi. Na przykład uruchom Claude Code:

    ug claude
    

    W Claude Code wpisz /mcp, aby sprawdzić stan połączenia. Inne polecenia uruchamiania i opcje konfiguracji MCP znajdziesz w sekcji Dodaj narzędzia i umiejętności oraz w odniesieniu do ug CLI.

Do ręcznej konfiguracji wybierz klienta w Obsługiwane środowiska programistyczne i agenci roboczy. Użyj tego punktu końcowego MCP dla wbudowanej usługi:

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

Przykłady wywołań, w tym OpenAI Agents SDK, znajdziesz w artykule Użyj narzędzi MCP w agencie Python.

Krok 4. Potwierdzenie, że działanie jest zarządzane i rejestrowane

Sprawdź, czy nadzór działa po obu stronach:

  • Egzekwowanie polityki: Przez agenta odniósł sukces narzędzie tylko do odczytu, natomiast narzędzie do zapisu, takie jak to tworzące pull request, zostało odrzucone z błędem polityki.

  • Rejestrowanie użycia: Wykonaj zapytanie w tabeli systemu użycia, aby potwierdzić, że wywołania są rejestrowane:

    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;
    

Aby uzyskać więcej informacji na temat monitorowania, zobacz Monitorowanie użycia.

Następne kroki