このチュートリアルでは、Unity カタログと AI Gateway を使用して、GitHubへのコーディング エージェントのアクセスを管理します。 例えば、あなたのチームがClaude CodeやCursorのようなコーディングエージェントを使ってリポジトリやプルリクエストを読み込み、書き込み操作をブロックし、すべてのツール呼び出しを監査したいとします。
Azure Databricksが提供するMCPサービスsystem.ai.github使うので、MCPサーバーをホストしたり登録したり、Unity Catalogの接続を作成したりする必要はありません。 組み込みの サービス ポリシー をアタッチして、書き込み操作をブロックし、チームにアクセス権を付与し、コーディング エージェントを接続して、すべてのツール呼び出しがログに記録されることを確認します。
前提条件
- Unity カタログで有効になっているワークスペース。 Unity カタログについて始めに知っておくべきことを参照してください
- Unity Gateway のベータ機能があなたのアカウントで有効になっています。 アカウント管理者はアカウントコンソールの プレビュー ページからそれらを有効にできます。 Manage Azure Databricks プレビューを参照してください。
-
system.ai.githubおよび ポリシーを添付 の許可。 - 手順 1 で REST API を使用するには、Azure Databricks CLI をワークスペースに対して認証してください。
- ワークスペースで制限付きのサーバーレス ネットワーク ポリシーが使用されている場合、アカウント管理者は、GitHub MCP サービスに必要な宛先を許可する必要があります。
ステップ1:組み込みポリシーで書き込み操作をブロックする
組み込みのGitHubサービスポリシーを付け、書き込み禁止を有効にしてください。 これにより、GitHub上でデータを作成、修正、削除するツールはブロックされ、読み取り専用ツールが許可されます。 ポリシーはプラットフォーム管理されているため、ポリシー関数を書く必要はありません。
UI
- ワークスペースのサイドバーで、[ AI Gateway] をクリックします。
-
MCP タブで、
system.ai.githubを選択します。 - [ポリシー] タブ を 開き、[ 新しいポリシー] をクリックします。
- ポリシー名を入力します (例:
block_github_writes)。 - ガードレールタイプで、GitHubを選択してください。
- 書き込みを許可しない を選択し、ポリシーを作成 をクリックします。
REST API
この API ポリシーでは、system.ai.github_policy ハンドラーを使用して、disallow_writes を 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" }
}
]
}
}'
PATCH は、サービスのポリシー一覧に置き換わります。 サービスにすでにポリシーが存在する場合は、それらを service_policies に含めて、引き続き関連付けられた状態を維持してください。
このポリシーが適用されているため、書き込みツール (プル要求を作成するツールを含む) に対する tools/call は拒否されます。 破壊的な操作をブロックしつつ、特定の書き込みツールを許可するには、代わりにカスタム サービス ポリシーを作成してください。 利用可能なサービスとポリシー制御の詳細については、Databricks が提供する MCP サービスとサービス ポリシーを参照してください。
手順 2: MCP サービスをチームと共有する
MCP を共有することで、自分のチーム (dev_team など) に system.ai.github へのアクセスを付与します。 このガイドはDatabricksが提供するMCPの管理者権限と継承アクセスについて説明しています。
ステップ3: コーディング エージェントを接続する
MCP 対応のコーディング エージェントを導入していない場合は、導入してください。 Unity Gateway CLI (ug) を使用して、ゲートウェイ接続を構成し、デバイス上でエージェントを起動します。 たとえば、ug claude を実行すると、その構成で Claude Code が起動します。 クライアントを自分で構成するには、以下の手動設定手順に従ってください。
ugがインストールされていない場合は、インストールしてバージョンを確認してください。 Python 3.12 以降およびuvが必要です。 インストールの詳細については、コーディング エージェントのクイックスタートを参照してください。uv tool install git+https://github.com/databricks/unity-gateway ug --versionワークスペースに合わせてコーディング エージェントを構成し、プロンプトが表示されたらサインインしてください。 デバイスがすでに構成されている場合は、この手順をスキップしてください。
ug configure --workspace https://<workspace-hostname>構成済みのエージェントに GitHub MCP サービスを追加してください。 管理者が公開した構成にすでにそれが追加されている場合は、この手順をスキップしてください。
ug mcp add --names system.ai.githubサービスが設定済みの接続に表示されているか確認してください:
ug mcp listエージェントを起動または再起動してサービスを利用してください。 たとえば、Claude Code を起動します。
ug claudeClaude Codeで
/mcpを入力して接続状況を確認してください。 他の起動コマンドやMCPの設定オプションについては、「 ツールとスキルの追加 」および ug CLIリファレンスを参照してください。
手動設定の場合は、サポートされているコーディング エージェントでクライアントを選択してください。 このMCPエンドポイントを組み込みサービス用に使用してください:
https://<workspace-url>/ai-gateway/mcp-services/system.ai.github
OpenAIエージェントSDKを含む呼び出しの例については、「PythonエージェントでMCPツールを使う」を参照してください。
手順 4: アクティビティが管理され、ログに記録されていることを確認する
ガバナンスが両方の端から機能していることを確認します。
ポリシーの強制:エージェントからは読み取り専用ツールが成功し、プルリクエストを作成する書き込みツールはポリシーエラーで拒否されます。
使用状況ログ: 使用状況システム テーブルにクエリを実行して、呼び出しが記録されていることを確認します。
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;
監視の詳細については、「 使用状況の監視」を参照してください。