Tutorial: Governar o acesso GitHub MCP de um agente de programação

Importante

Este recurso está em versão Beta. Os administradores de contas podem gerir o acesso a esta funcionalidade a partir da página de Pré-visualizações da consola da conta. Ver Gerir as pré-visualizações de Azure Databricks.

Neste tutorial, governa o acesso de um agente de programação ao GitHub usando o Unity Catalog e o AI Gateway. Suponha que a sua equipa utiliza um agente de código, como o Claude Code ou o Cursor, com o servidor MCP do GitHub, e que pretende que os programadores leiam repositórios e abram pull requests por meio do agente, mas sem nunca fazer push forçado nem eliminar, ficando todas as chamadas de ferramentas sujeitas a auditoria.

Usas o serviço MCP pré-construído system.ai.github que o Azure Databricks fornece, por isso não alojas nem registas um servidor MCP nem crias uma ligação ao Unity Catalog. Anexas uma política de serviço incorporada para blocar operações de escrita, concedes acesso à tua equipa, ligas um agente de programação e confirmas que todas as chamadas de ferramenta estão registadas.

Pré-requisitos

  • Um espaço de trabalho ativado para o Unity Catalog. Consulte Introdução ao Catálogo Unity.
  • A versão preliminar do Unity AI Gateway e a versão preliminar dos serviços MCP disponibilizados pela Databricks estão ativadas para a sua conta. Ver Gerir as pré-visualizações de Azure Databricks.
  • Os seguintes privilégios no serviço incorporado system.ai.github:
    • MANAGE, para anexar uma política de serviço.
    • EXECUTE, invocar o serviço e conceder acesso a terceiros.
  • CLI do Azure Databricks, autenticada no seu espaço de trabalho.

Passo 1: Bloqueie operações destrutivas com uma política incorporada

O Serviço MCP system.ai.github expõe as ferramentas de leitura do GitHub e, por defeito, bloqueia as ferramentas de escrita. Para tornar essa garantia explícita e controlada, associe a política incorporada system.ai.github_policy com a opção disallow_writes. As políticas incorporadas são geridas pela plataforma: refere-se ao handler em vez de escrever a sua própria função.

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

Com a política anexada, um tools/call para qualquer ferramenta de escrita (uma ferramenta não marcada como só de leitura) é rejeitado, enquanto as ferramentas de leitura e de pedido de integração continuam a funcionar. Para mais informações sobre serviços e políticas integrados, consulte Serviços MCP fornecidos pela Databricks e políticas de serviços para seguranças de IA.

Passo 2: Partilhe o Serviço MCP com a sua equipa

Por defeito, apenas as entidades com EXECUTE podem invocar o serviço. Para conceder acesso à sua equipa de programadores a partir da interface:

  1. No AI Gateway, vá ao separador MCPs e selecione o Serviço MCP para partilhar, como system.ai.github.
  2. Vá para a guia Permissões .
  3. Clique em Conceder.
  4. Especifique o principal a permitir invocar o Serviço MCP, como dev_team, selecione o privilégio EXECUTAR e clique em Confirmar.

Note

Para conceder acesso a um serviço MCP em system.ai, um administrador da metastore tem primeiro de conceder a si próprio a permissão MANAGE no esquema system.ai.

Passo 3: Liga o teu agente de codificação

Aponte o seu agente de programação para o endpoint MCP do AI Gateway do serviço incorporado:

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

Cada programador autentica-se no Azure Databricks e deve ter EXECUTE no Serviço MCP. Para passos específicos de configuração de agentes para Claude Code, Cursor e outras ferramentas, veja Ligar MCPs a assistentes de IA e agentes de programação. Para exemplos de invocação, incluindo o SDK OpenAI Agents, veja Invoke the MCP Service.

Passo 4: Confirmar que a atividade está regida e registada

Verifique se a governação está a funcionar de ambos os lados:

  • Aplicação de políticas: A partir do agente, uma ferramenta de leitura ou de pull request é bem-sucedida, enquanto uma ferramenta de escrita é rejeitada com um erro de política.

  • Registo de utilização: Consulte a tabela do sistema de utilização para confirmar que as chamadas foram registadas:

    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;
    

Para mais informações sobre monitorização, consulte Utilização do monitor.

Passos seguintes