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.
Bu sayfada , Databricks CLI'sinin kimliğini doğrulamak ve Azure Databricks'e API çağrıları yapmak için Azure DevOps işlem hatlarınızı yapılandırma adımları açıklanmaktadır.
Başlamadan önce
Azure DevOps kimlik doğrulamayı yapılandırmadan önce şu adımları tamamlayın:
Azure'da hizmet sorumlusunu oluşturun ve uygun izinlerle Azure Databricks çalışma alanınıza ekleyin. Bu adım olmadan, işlem hattınız doğru yapılandırılsa bile kimlik doğrulaması başarısız olur.
Microsoft Entra ID yönetilen hizmet sorumluları için Azure'da bir Microsoft Entra ID uygulaması oluşturun ve bunu çalışma alanınıza ekleyin. Bkz. Hizmet sorumluları ve Hizmet sorumlularını yönetme.
Aracıya Databricks CLI yüklemek için işlem hattınıza bir adım ekleyin:
- script: | curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh displayName: 'Install Databricks CLI'Tavsiye
CLI yüklemesini en son sürüm yerine belirli bir sürüme sabitlemek için
mainöğesini bir sürüm etiketiyle değiştirin (örneğin,v0.224.0).
Kimlik doğrulama yöntemi seçme
Azure DevOps , hizmet bağlantıları aracılığıyla kimlik doğrulamayı yönetir. Bunlara Azure DevOps portalında Proje ayarları>Hizmet bağlantıları altında erişin.
Proje ayarları altında Hizmet bağlantılarını seçin
Databricks CLI'sinin kimliğini doğrulamak için azure resource manager hizmet bağlantı türünü şu yöntemlerden biriyle kullanın:
| Yöntem | Description | En iyi kullanım alanı: |
|---|---|---|
| İş yükü kimliği federasyonu (önerilen) | Belirteçleri almak için OpenID Connect (OIDC) kullanır. Azure DevOps tarafından oluşturulan verenin ve konu tanımlayıcının hizmet sorumlunuzla yapılandırılmasını gerektirir. | Güvenli, gizli olmayan kimlik doğrulaması |
| İstemci sırrı ile hizmet sorumlusu kimliği | Kısa süreli OAuth belirteçleri oluşturmak için bir istemci kimliği ve gizli anahtar kullanır. Hizmet ilkesi için bir gizli anahtar oluşturulmasını gerektirir. | Görevler arasında paylaşılan kimlik bilgileri gerektiren senaryolar |
| Yönetilen kimlik | İşlem hattını çalıştıran VM'ye veya kapsayıcıya atanan kimliği kullanır. Yalnızca kendi kendine barındırılan koşucular için geçerlidir. Azure belgelerine bakın. | Atanmış tanımlayıcılara sahip kendi kendine barındırılan çalıştırıcılar |
Uyarı
Mümkün olduğunda iş yükü kimlik federasyonu kullanın. Gizli bilgilere dayanmaz, bu nedenle diğer yöntemlere göre daha güvenlidir.
AzureCLI@2 göreviyle elle yapılandırma olmadan otomatik olarak çalışır. Bkz. İş yükü kimlik federasyonu kullanan bir hizmet bağlantısı oluşturma.
Azure CLI kimlik doğrulamayı yapılandırma
Databricks CLI varsayılan olarak kimlik doğrulaması için Azure CLI kullanır. Tüm Databricks CLI komutlarının bir AzureCLI@2 görev içinde çalıştırılması gerekir; bu da her görevin bağımsız olarak kimlik doğrulaması yapması anlamına gelir. Bu işlem biraz gecikmeye neden olur ancak en az yapılandırma gerektirir.
- task: AzureCLI@2
inputs:
azureSubscription: <your-service-connection-name>
useGlobalConfig: true
scriptType: bash
scriptLocation: inlineScript
inlineScript: |
export DATABRICKS_HOST=https://adb-<workspace-id>.<region>.azuredatabricks.net
databricks bundle deploy
Şu değerleri güncelleştirin:
-
azureSubscription: Azure Resource Manager hizmet bağlantınızın adı. -
useGlobalConfig: Gerekli. Komutlar tarafındandatabricks bundleoluşturulan alt süreçlerin doğrulanmış oturuma erişimini sağlar. -
DATABRICKS_HOST: Paket yapılandırmanızda veya önceki bir adımda tanımlanmamışsa bunu ayarlayın.
İstemci gizli anahtarı ile kimlik doğrulamayı yapılandırın
Kimlik bilgilerini birden fazla görev arasında paylaşmanız gerektiğinde veya Azure CLI kimlik doğrulaması çok fazla gecikme eklediğinde istemci sırrını kullanın.
Bu yaklaşım, kimlik doğrulama ayrıntılarını bir görevdeki hizmet bağlantısından alır ve ardından sonraki görevler için iş kapsamlı ortam değişkenleri olarak dışarı aktarır.
- task: AzureCLI@2
inputs:
azureSubscription: <your-service-connection-name>
addSpnToEnvironment: true
scriptType: bash
scriptLocation: inlineScript
inlineScript: |
echo "##vso[task.setvariable variable=ARM_CLIENT_ID]${servicePrincipalId}"
echo "##vso[task.setvariable variable=ARM_CLIENT_SECRET]${servicePrincipalKey}"
echo "##vso[task.setvariable variable=ARM_TENANT_ID]${tenantId}"
- script: |
export DATABRICKS_HOST=https://adb-<workspace-id>.<region>.azuredatabricks.net
databricks bundle deploy
Not:
-
addSpnToEnvironmentanahtarı,servicePrincipalId,servicePrincipalKeydeğerlerini satır içi betikte ortaya çıkarırtenantId. - Komutlar,
##vsogörev kapsamlı değişkenleri Databricks CLI'nin otomatik olarak tanıdığı iş kapsamlı değişkenlere yükseltmektedir. - Varsayılan olarak,
ARM_CLIENT_SECRETsonraki tüm adımlar için erişilebilir. Erişimi kısıtlamak için değişken tanımına ekleyinissecret=true, ardından bunu ihtiyaç duyan her adıma açıkça geçirin. Sır, bu ayardan bağımsız olarak günlüklerde maskelenir.
Tam bir örnek için bkz. Microsoft Entra hizmet sorumlusuna Git klasörlerine erişme yetkisi verme.
Yönetilen kimlik doğrulamasını yapılandırma
Yönetilen kimlik kimlik doğrulaması, işlem hattı görevleri yerine VM veya kapsayıcı yapılandırmalarına dayanır. Bu yöntem AzureCLI@2 görevini gerektirmez.
- script: |
export DATABRICKS_AZURE_RESOURCE_ID=/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/workspaces/<workspace-name>
export ARM_CLIENT_ID=<managed-identity-client-id>
export ARM_USE_MSI=true
export DATABRICKS_HOST=https://adb-<workspace-id>.<region>.azuredatabricks.net
databricks current-user me
Şu değerleri güncelleştirin:
-
DATABRICKS_AZURE_RESOURCE_ID: Bu değeri Azure portalında çalışma alanınızın özellikleri altında bulabilirsiniz. -
ARM_CLIENT_ID: Yönetilen kimliğin istemci kimliği. -
DATABRICKS_HOST: İsteğe bağlı. Ayarlanmazsa, değerDATABRICKS_AZURE_RESOURCE_ID'den türetilir.
Yönetilen kimliğin Azure Databricks çalışma alanında Katkıda Bulunan rolüne sahip olması gerekir.