Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Important
Bu özellik Beta sürümündedir. Bunu kullanmak için bir çalışma alanı yöneticisinin Previews sayfasından Unity Gateway Managed Configuration'ı açması gerekir. Bkz. Azure Databricks önizlemelerini yönetme.
Takımınızın kodlama ajanı kurulumunu dağıtmak için mobil cihaz yönetimi (MDM) ve Unity Gateway CLI'yi kullanın. Yöneticiler yapılandırmayı çalışma alanında yayınlar, geliştiriciler ise alışık oldukları ajanları yapılandırılmış modeller, MCP sunucuları ve becerilerle kullanır.
MDM yazılımınız, her cihazda yönetici ayrıcalıkları olan bir provisioning script çalıştırır. Betik, ug öğesini, yani Databricks CLI'yi ve kodlama ajanlarını makine genelinde yükler, ardından ug configure çalıştırır ve bu da tüm cihaz için çalışma alanının kodlama ajanı yapılandırmasını yükler. Geliştiriciler daha sonra yönetici ayrıcalıkları olmadan ajanlarını başlatır ve kendi Azure Databricks hesaplarıyla giriş yaparlar.
Note
MDM provisioning, makine genelinde ayarlara sahip Claude Code ve Codex'i yapılandırır. Visual Studio Code'da GitHub Copilot CLI veya GitHub Copilot'u yapılandırmaz. Geliştiriciler GitHub Copilot'u kendileri ug configure --agents copilot ile kurar.
MDM ile dağıtıma geçin
Kodlama ajanlarını yapılandırma
Ekibinizin kullandığı ajanları etkinleştirin ve yapılandırmayı çalışma alanınızda yayınlayın. Kodlama ajanlarını yapılandırma bölümünü inceleyin.
Her etkinleştirilmiş ajanın, bir sonraki adımdaki hizmet sorumlusunun kullanabileceği yapılandırmada en az bir modele ihtiyacı vardır. Örneğin, Claude Code Claude modellerine ihtiyaç duyar.
ug configure Modeli olmayan herhangi bir ajanı yok sayar.
Bir sağlama hizmet sorumlusu oluştur
MDM politikası, yalnızca çalıştığı sırada yayımlanmış yapılandırmayı okumak için bir service principal kullanır. Geliştiriciler kendi kimlikleriyle kimlik doğrular.
Yalnızca Workspace erişim iznini etkin bırakın. service principal'in başka haklara ihtiyacı yoktur. Bkz. Yetkilendirmeleri yönetme.
Yayınlanan yapılandırmadaki modellere, MCP sunucularına ve becerilere, gerekli Unity Kataloğu ayrıcalıkları dahil olmak üzere hizmet sorumlusuna erişim hakkı ver. Bkz. modele, MCP sunucularına ve becerilere erişim verme.
Hizmet sorumlusunun Sırlar sekmesinde Gizli dizi oluştur seçeneğine tıklayın. Rotasyon politikanıza uygun bir geçerlilik süresi seçin. Kapsam altında Diğer API'lere tıklayın,
unity-catalogveai-gatewaykapsamlarını ekleyin ve her birini Read olarak ayarlayın. Bkz 1. Adım: OAuth gizli anahtarı oluşturma.
Müşteri kimliğini ve gizli anahtarını kopyalayın. Diyalogu kapattıktan sonra sırrı tekrar göremezsiniz.
MDM yazılımınızla dağıtın
Important
ug öğesini, kök kullanıcının ana dizininde değil, cihazdaki tüm kullanıcıların çalıştırabileceği paylaşılan bir konuma kur.
ug configure, ug yolunu makine çapında ajan ayarlarına kaydeder ve her geliştiricinin ajanı, kimlik doğrulamak için ug uygulamasını bu yoldan çalıştırır.
Jamf Pro (macOS)
Bu adımlar, Claude Code ve Codex'i Jamf Pro ile macOS cihazlarına dağıtır. Her cihaz için gerekenler:
- Çalışma alanı URL'nize ağ erişimi, PyPI (
pypi.orgvefiles.pythonhosted.org), GitHub (github.comveraw.githubusercontent.com),astral.shvedownloads.claude.ai. - Xcode için Komut Satırı Araçları veya betiğin bunları
softwareupdateile yüklemesine izin verilmesi.ugGitHub'tan yüklenir ve bunun içingitgerekir.
Komut dosyasını ekle
Jamf Pro'da, Settings > Computer Management > Scripts > New bölümüne gidin ve komut dosyasını
Unity Gateway provisionolarak adlandırın.Script sekmesine aşağıdaki betiği yapıştırın:
Provisioning script'i görüntüleyin
#!/bin/bash # # macOS MDM provisioning script, written for Jamf Pro policies: install # ug, the Databricks CLI, Claude Code and Codex machine-wide and run # `ug configure` as root, which installs the workspace policy at # /etc/unitygateway/managed-settings.json. # Users then launch with no sudo: # # UG_SKIP_OS_SETTINGS=1 ug claude (or: ug codex) # # Jamf parameters ($1-$3 are reserved by Jamf): # $4 Databricks workspace URL, starting with https:// # $5 Service principal OAuth client id # $6 Service principal OAuth client secret # # The token is used for this run only; developers sign in with their own # OAuth. Needs access to PyPI, GitHub, astral.sh and downloads.claude.ai. set -euo pipefail umask 022 export HOME=/var/root export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin WORKSPACE="${4%/}" PREFIX=/usr/local/unity-gateway CLAUDE_RELEASES=https://downloads.claude.ai/claude-code-releases CODEX_RELEASES=https://github.com/openai/codex/releases/latest/download UG_REPO=https://github.com/databricks/unity-gateway UV_URL=https://astral.sh/uv/install.sh CLI_URL=https://raw.githubusercontent.com CLI_URL="$CLI_URL/databricks/setup-cli/main/install.sh" CLT_MARKER=/tmp/.com.apple.dt.CommandLineTools CLT_MARKER="$CLT_MARKER.installondemand.in-progress" # ug must be in a shared path: the machine-wide agent settings # run it by absolute path for every user. export UV_TOOL_DIR="$PREFIX/tools" export UV_TOOL_BIN_DIR=/usr/local/bin export UV_PYTHON_INSTALL_DIR="$PREFIX/python" export UV_PYTHON_PREFERENCE=only-managed mkdir -p /usr/local/bin # Get ug from git if ! xcode-select -p >/dev/null 2>&1; then touch "$CLT_MARKER" clt="$(softwareupdate -l 2>/dev/null \ | sed -n 's/^\* Label: \(Command Line Tools.*\)$/\1/p' \ | tail -n1)" softwareupdate -i "$clt" rm -f "$CLT_MARKER" fi if ! command -v uv >/dev/null; then curl -LsSf "$UV_URL" \ | env UV_INSTALL_DIR=/usr/local/bin UV_NO_MODIFY_PATH=1 sh fi uv tool install --force "git+$UG_REPO" if [ ! -x /usr/local/bin/databricks ]; then curl -fsSL "$CLI_URL" | sh fi # Download into a private temporary directory, not fixed /tmp paths tmp="$(mktemp -d)" trap 'rm -rf "$tmp"' EXIT # Install Claude Code if [ ! -x /usr/local/bin/claude ]; then case "$(uname -m)" in arm64) platform=darwin-arm64 ;; *) platform=darwin-x64 ;; esac version="$(curl -fsSL "$CLAUDE_RELEASES/latest")" base="$CLAUDE_RELEASES/$version" checksum="$(curl -fsSL "$base/manifest.json" \ | plutil -extract "platforms.$platform.checksum" raw -o - -)" curl -fsSL -o "$tmp/claude" "$base/$platform/claude" echo "$checksum $tmp/claude" | shasum -a 256 -c - install -m 755 "$tmp/claude" /usr/local/bin/claude fi # Install Codex if [ ! -x /usr/local/bin/codex ]; then case "$(uname -m)" in arm64) target=aarch64-apple-darwin ;; *) target=x86_64-apple-darwin ;; esac curl -fsSL "$CODEX_RELEASES/codex-$target.tar.gz" \ | tar -xzf - -C "$tmp" "codex-$target" install -m 755 "$tmp/codex-$target" /usr/local/bin/codex fi # Get short lived credential; curl reads the client id and secret from # stdin (-K -) so they don't appear in its arguments. resp="$(printf 'user = "%s:%s"\n' "$5" "$6" \ | curl -sS -K - \ -d grant_type=client_credentials \ --data-urlencode 'scope=ai-gateway:read unity-catalog:read' \ "$WORKSPACE/oidc/v1/token")" if ! DATABRICKS_BEARER="$(printf '%s' "$resp" \ | plutil -extract access_token raw -o - -)"; then echo "Token request to $WORKSPACE failed: $resp" >&2 exit 1 fi export DATABRICKS_BEARER ug configure --global --workspace "$WORKSPACE" \ --agents claude,codex </dev/nullSeçenekler sekmesinde Parametre 4
Workspace URL, Parametre 5Client IDve Parametre 6Client secretetiketleri.Kaydet'e tıklayın.
Script, Claude Code, Codex ve Databricks CLI'yı sadece eksik olduklarında yükler ve her çalışmada yeniden yükler ug . İlk kurulumdan sonra ajanları ve CLI'yı güncellemez. Güncel tutmak için, cihazlarınızdaki yazılımı güncelleme şeklinize uygun şekilde scripti değiştirin.
İlkeyi oluşturma
Bilgisayarlar > İlkeler > Yeni öğesine gidin.
Genel'de, Tetikleyici'yi Yinelenen check-in olarak ve Yürütme SıklığınıGünde bir kez olarak ayarlayın. Her cihaz her gün
ug configureçalıştırır, bu da çalışma alanında yayınladığınız yapılandırma güncellemelerini uygular.Scripts'te, Priority değeri
Unity Gateway provisionolarak ayarlanmış ekleyin. Parametreleri girin:Parametre Değer 4 (Çalışma Alanı URL’si) Çalışma alanı URL'niz https://ile başlar.5 (İstemci Kimliği) Hizmet sorumlusunun istemci kimliği. 6 (Müşteri gizli) service principal’ın gizli anahtarı. Scope'ta hedeflenecek cihazları seçin. Küçük bir pilot cihaz grubuyla başlayın.
Kaydet'e tıklayın. Jamf Pro, bir sonraki check-in sırasında her hedef cihazda politikayı uygular.
Warning
Jamf Pro, politika parametrelerini komut satırı argümanları olarak script'e iletir. Herhangi bir yerel kullanıcı, örneğin betik çalışırken ps istemci kimliğini ve istemci sırrını okuyabilir; politikayı görebilen Jamf Pro yöneticileri de bunları okuyabilir. Script, kimlik bilgilerini veya tokenı diske yazmaz. Bir sızıntının etkisini sınırlamak için, hizmet sorumlusuna yalnızca Workspace erişim hakkı verin, gizli anahtar için kısa bir geçerlilik süresi kullanın ve gizli anahtarı düzenli olarak yenileyin.
Ajanları geliştirici makinelerinde başlatın
Politika bir cihazda çalıştıktan sonra, geliştiriciler ajanlarını yönetici ayrıcalığı olmayan bir terminalden başlatırlar:
UG_SKIP_OS_SETTINGS=1 ug claude
UG_SKIP_OS_SETTINGS=1 ug codex
UG_SKIP_OS_SETTINGS=1, ug'e MDM politikasının yüklediği ayarları kullanmasını söylüyor. Geliştiriciler, bunu her oturumda kullanmak için shell profillerinde UG_SKIP_OS_SETTINGS=1 ayarlayabilirler. İlk açılışta, geliştiricinin Azure Databricks'te oturum açtığı bir tarayıcı açılır. Kodlama ajanı etkinliği daha sonra hizmet prensibine değil, bireysel geliştiriciye atfedilir.
Başlatma komutunu kısaltmak için, geliştiricilere değişkeni ayarlayan ve ajanı başlatan takma adlar verin; örneğin MDM ile dağıtılan bir shell profilinde:
alias claude='UG_SKIP_OS_SETTINGS=1 ug claude'
alias codex='UG_SKIP_OS_SETTINGS=1 ug codex'
Claude masaüstünü dağıtın
Aynı ug configure çalıştırma ayrıca cihazdaki her kullanıcı için Claude masaüstü uygulamasını da yapılandırıyor. Claude masaüstünü desteklemek için, script çalışmadan ug configureönce onu provisioning scriptine yükleyin. Yukarıdaki Jamf Pro scripti Claude masaüstünü yüklemez.
Bir kullanıcı Claude masaüstünü ilk açtığında, kendi Azure Databricks hesabıyla giriş yapar. Kullanıcılar ayrıca claude.ai projelerini ve sohbetlerini de içe aktarabilirler.
Dağıtımı doğrulayın
Pilot cihazda, geliştiricinin işletim sistemi hesabıyla giriş yapın ve şu noktayı kontrol edin:
- Ajan, yapılandırılmış bir model kullanarak başlatılır ve yanıt verir.
- Yapılandırılmış MCP sunucuları ve becerileri mevcuttur ve geliştirici bunları kullanabilir.
- İstekler Unity Gateway kullanım takibinde görünür ve izleme etkinse trace’ler görünür. Bkz. Kodlama ajan etkinliğini izlemek.
Bu kontrolleri sağlama betiklerini veya yayımlanan yapılandırmayı değiştirdikten sonra tekrarlayın.
Kimlik bilgilerini ve yapılandırmayı sürdürün
Service principal'ın gizli anahtarını döndürmek için:
- Hizmet sorumlusu için yeni bir sır oluşturun.
- MDM poliçenizdeki sırrı güncelleyin.
- İlke cihazlarınızda çalıştıktan sonra, eski gizli anahtarı silin.
Sır ele geçirilirse, hemen yenileyin ve eski sırrı silin. Script'in talep ettiği token kısa ömürlüdür ve script onu cihaza yazmaz, bu yüzden cihaz başına iptal edilecek bir kimlik bilgisi yoktur.
Yapılandırmayı güncellemek için çalışma alanında değişiklikleri yayınlayın. Cihazlar, ilke bir sonraki kez çalıştığında bunları uygular. Sync yapılandırma güncellemelerine bakın.
Troubleshooting
| Error | Cause |
|---|---|
Token request to ... failed: {"error":"invalid_client"...} |
MDM poliçesindeki istemci kimliği veya gizli anahtar yanlıştır ya da gizli anahtarın süresi dolmuş. |
Token request ... failed: ... Scopes ... are not assigned to the client |
Sırrın unity-catalog:read ve ai-gateway:read kapsamları yok. |
None of the coding agents enabled by your workspace configuration are available |
Hiçbir etkinleştirilmiş ajan, servis sorumlusunun kullanabileceği modellere sahip değildir; örneğin, Claude Code Claude modelleri olmadan yapılandırılmıştır. |