Samouczek: zarządzać dostępem agenta kodowania do GitHub MCP

Ważna

Ta funkcja jest dostępna w wersji beta. Administratorzy kont mogą zarządzać dostępem do tej funkcji na stronie podglądów konsoli konta. Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.

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ół korzysta z agenta programistycznego, takiego jak Claude Code lub Cursor, z serwerem MCP GitHuba, i chcesz, aby deweloperzy za jego pośrednictwem przeglądali repozytoria i otwierali pull requesty, ale nigdy nie wykonywali force pusha ani niczego nie usuwali, przy czym każde wywołanie narzędzia jest audytowane.

Używasz wbudowanej system.ai.github usługi MCP udostępnianej przez Azure Databricks, więc nie musisz hostować ani rejestrować serwera MCP ani tworzyć połączenia z usługą Unity Catalog. 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. Blokuj operacje destrukcyjne za pomocą wbudowanych zasad

Usługa MCP system.ai.github udostępnia narzędzia GitHub do odczytu i domyślnie blokuje narzędzia zapisu. Aby wyraźnie określić tę gwarancję i objąć ją zasadami, dołącz wbudowaną system.ai.github_policy zasadę za pomocą opcji disallow_writes. Wbudowane zasady są zarządzane przez platformę: odwołujesz się do programu obsługi zamiast pisać własną funkcję.

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

Po dołączeniu tej zasady tools/call dla dowolnego narzędzia do zapisu (narzędzia nieoznaczonego jako tylko do odczytu) zostanie odrzucone, podczas gdy narzędzia do odczytu i pull requestów nadal będą działać. Więcej informacji na temat wbudowanych usług i zasad znajdziesz w dokumentach Usługi MCP udostępniane przez Databricks oraz Zasady usług dla zabezpieczanych elementów AI.

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

Domyślnie tylko podmioty z uprawnieniem EXECUTE mogą wywoływać usługę. Aby udzielić zespołowi deweloperów dostępu z poziomu interfejsu użytkownika:

  1. W bramie sztucznej inteligencji przejdź do karty MCPs i wybierz usługę MCP do udostępnienia, taką jak system.ai.github.
  2. Przejdź do karty Uprawnienia .
  3. Kliknij Grant.
  4. Określ podmiot, któremu chcesz zezwolić na wywoływanie usługi MCP, na przykład dev_team, wybierz uprawnienie EXECUTE, a następnie kliknij Potwierdź.

Note

Aby przyznać dostęp w usłudze MCP w system.ai, administrator magazynu metadanych musi najpierw nadać sobie uprawnienie MANAGE do schematu system.ai.

Krok 3. Łączenie agenta kodowania

Skieruj swojego agenta kodowania do punktu końcowego MCP usługi AI Gateway dla usługi wbudowanej:

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

Każdy deweloper uwierzytelnia się w usłudze Azure Databricks i musi mieć EXECUTE w usłudze MCP. Instrukcje konfiguracji dla konkretnych agentów, takich jak Claude Code, Cursor i inne narzędzia, znajdziesz w sekcji Łączenie MCP z asystentami AI i agentami programistycznymi. Przykłady wywołań, w tym zestaw SDK agentów OpenAI, można znaleźć w temacie Invoke the MCP Service (Wywoływanie usługi MCP).

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

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

  • Egzekwowanie zasad: Na poziomie agenta narzędzie do odczytu lub obsługi pull requestów działa pomyślnie, podczas gdy narzędzie do zapisu jest odrzucane z błędem zasad.

  • 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