CI/CD için hizmet sorumluları
Bu makalede Azure Databricks ile CI/CD için hizmet sorumlularının nasıl kullanılacağı açıklanmaktadır. Hizmet sorumlusu, aşağıdakiler dahil olmak üzere otomatik araçlar ve uygulamalarla kullanılmak üzere oluşturulmuş bir kimliktir:
- GitHub Actions, Azure Pipelines ve GitLab CI/CD gibi CI/CD platformları
- Veri işlem hatlarında hava akışı
- Jenkins
En iyi güvenlik uygulaması olarak Databricks, Azure Databricks kullanıcınız veya çalışma alanı kullanıcınız için Azure Databricks kaynaklarına CI/CD platformları erişimi vermek üzere Databricks kişisel erişim belirteciniz yerine bir hizmet sorumlusu ve belirteci kullanmanızı önerir. Bu yaklaşımın bazı avantajları şunlardır:
- Kullanıcıdan bağımsız olarak bir hizmet sorumlusu için Azure Databricks kaynaklarına erişim verebilir ve bu kaynaklara erişimi kısıtlayabilirsiniz. Örneğin, bu, bir hizmet sorumlusuna Azure Databricks çalışma alanınızda yönetici olarak davranmasını yasaklarken çalışma alanınızdaki diğer belirli kullanıcıların yönetici olarak çalışmaya devam etmesine izin vermenizi sağlar.
- Kullanıcılar, erişim belirteçlerinin CI/CD platformları tarafından erişilmesini engelleyebilir.
- Diğer kullanıcıları etkilemeden hizmet sorumlusunu geçici olarak devre dışı bırakabilir veya kalıcı olarak silebilirsiniz. Örneğin, bu, kötü amaçlı bir şekilde kullanıldığından şüphelendiğiniz bir hizmet sorumlusuna erişimi duraklatmanıza veya kaldırmanıza olanak tanır.
- Bir kullanıcı kuruluşunuzdan ayrılırsa, herhangi bir hizmet sorumlusunu etkilemeden bu kullanıcıyı kaldırabilirsiniz.
Azure Databricks çalışma alanınıza CI/CD platformu erişimi vermek için aşağıdakileri yapın:
Hizmet bağlantısıyla aşağıdaki desteklenen MS Entra kimlik doğrulama mekanizmalarından birini seçin:
Kimlik doğrulama mekanizması olarak Azure CLI kullanarak Microsoft Entra iş yükü kimlik federasyonu.
- Kimlik doğrulama mekanizması olarak Microsoft Entra istemci gizli dizisini kullanan bir Microsoft Entra hizmet sorumlusu.
- Microsoft Entra Id yönetilen kimliği.
Microsoft Entra ile kimlik doğrulamasını uygulama hakkında ayrıntılı bilgi için bkz . Databricks üzerinde Azure DevOps ile kimlik doğrulama.
Azure DevOps kullanarak Azure Databricks Git klasörlerine erişimin kimliğini nasıl doğrulayacağınızı öğrenmek için bkz . Azure Databricks Git klasörlerine erişimin kimliğini doğrulamak için Microsoft Entra hizmet sorumlusu kullanma.
- Kimlik doğrulama mekanizması olarak Microsoft Entra istemci gizli dizisini kullanan bir Microsoft Entra hizmet sorumlusu.
Gereksinimler
- Azure Databricks yönetilen hizmet sorumlusu veya Microsoft Entra Id yönetilen hizmet sorumlusu için Azure Databricks OAuth belirteci veya Microsoft Entra Id belirteci. Azure Databricks yönetilen hizmet sorumlusu veya Microsoft Entra ID yönetilen hizmet sorumlusu ve azure Databricks OAuth belirteci veya Microsoft Entra ID belirteci oluşturmak için bkz . Hizmet sorumlularını yönetme.
- Git sağlayıcınızla bir hesap.
GitHub Actions'i ayarlama
GitHub Actions'ın Azure Databricks çalışma alanınıza erişebilmesi gerekir. Azure Databricks Git klasörlerini kullanmak istiyorsanız, çalışma alanınızın GitHub'a da erişebilmesi gerekir.
GitHub Actions'ın Azure Databricks çalışma alanınıza erişmesini sağlamak için, GitHub Actions'a Azure Databricks yönetilen hizmet sorumlunuz veya Microsoft Entra ID yönetilen hizmet sorumlunuz hakkında bilgi sağlamanız gerekir. Bu, GitHub Eyleminin gereksinimlerine bağlı olarak Uygulama (istemci) Kimliği, Microsoft Entra Id yönetilen hizmet sorumlusu için Dizin (kiracı) Kimliği, Azure Databricks yönetilen hizmet sorumlusunun veya Microsoft Entra Id yönetilen hizmet sorumlusunun istemci gizli dizisi veya access_token
Azure Databricks yönetilen hizmet sorumlusunun değeri gibi bilgileri içerebilir. Daha fazla bilgi için bkz . Hizmet sorumlularını yönetme ve GitHub Action belgeleri.
Azure Databricks Git klasörlerini kullanırken Azure Databricks çalışma alanınızın GitHub'a erişmesini sağlamak istiyorsanız, GitHub makine kullanıcısı için GitHub kişisel erişim belirtecini çalışma alanınıza eklemeniz gerekir.
GitHub Actions'a hizmet sorumlunuz hakkında bilgi sağlayın
Bu bölümde, Azure Databricks çalışma alanınıza erişmek için GitHub Actions'ın nasıl etkinleştirileceği açıklanmaktadır.
En iyi güvenlik uygulaması olarak Databricks, hizmet sorumlunuz hakkındaki bilgileri doğrudan GitHub Actions dosyasının gövdesine girmemenizi önerir. Bunun yerine GitHub şifrelenmiş gizli dizilerini kullanarak GitHub Actions'a bu bilgileri sağlamanız gerekir.
Databricks'in GitHub Actions kullanarak sürekli tümleştirme ve teslimde listeledikleri gibi GitHub Actions, aşağıdakiler gibi çeşitli GitHub şifreli gizli dizilerini kullanır:
DATABRICKS_HOST
, örneğin çalışma alanı örneğinizin adınıadb-1234567890123456.7.azuredatabricks.net
izleyen değerdirhttps://
.AZURE_CREDENTIALS
, Microsoft Entra ID yönetilen hizmet sorumlusu hakkında bilgi almak için Azure CLI çalıştırmanın çıkışını temsil eden bir JSON belgesidir. Daha fazla bilgi için GitHub Eylemi belgelerine bakın.AZURE_SP_APPLICATION_ID
, Microsoft Entra Id yönetilen hizmet sorumlusunun Uygulama (istemci) kimliğinin değeridir.AZURE_SP_TENANT_ID
, Microsoft Entra Id yönetilen hizmet sorumlusunun Dizin (kiracı) kimliğinin değeridir.AZURE_SP_CLIENT_SECRET
, istemci gizli anahtarının Microsoft Entra ID yönetilen hizmet sorumlusu değeridir.
GitHub Eylemi için hangi GitHub şifreli gizli dizilerinin gerekli olduğu hakkında daha fazla bilgi için bkz . Hizmet sorumlularını yönetme ve bu GitHub Eylemi belgeleri.
Bu GitHub şifrelenmiş gizli dizilerini GitHub deponuza eklemek için GitHub belgelerindeki Depo için şifrelenmiş gizli diziler oluşturma konusuna bakın. Bu GitHub deposu gizli dizilerini eklemeye yönelik diğer yaklaşımlar için GitHub belgelerindeki Şifrelenmiş gizli diziler bölümüne bakın.
GitHub makine kullanıcısı için GitHub kişisel erişim belirtecini Azure Databricks çalışma alanınıza ekleme
Bu bölümde, Azure Databricks Git klasörleriyle GitHub'a erişmek için Azure Databricks çalışma alanınızın nasıl etkinleştirileceği açıklanır. Bu, CI/CD senaryolarında isteğe bağlı bir görevdir.
En iyi güvenlik uygulaması olarak Databricks, Azure Databricks kullanıcısı yerine hizmet sorumlusu kullanmanızla aynı nedenlerle GitHub kişisel hesapları yerine GitHub makine kullanıcılarını kullanmanızı önerir. GitHub makine kullanıcısı için GitHub kişisel erişim belirtecini Azure Databricks çalışma alanınıza eklemek için aşağıdakileri yapın:
Henüz bir github makine kullanıcınız yoksa, bir GitHub makine kullanıcısı oluşturun. GitHub makine kullanıcısı , GitHub'daki etkinliği otomatikleştirmek için kullanabileceğiniz kendi GitHub kişisel hesabınızdan ayrı bir GitHub kişisel hesabıdır. Kullanılabilir bir tane yoksa GitHub makine kullanıcısı olarak kullanmak için yeni bir ayrı GitHub hesabı oluşturun.
Not
GitHub makine kullanıcısı olarak yeni bir ayrı GitHub hesabı oluşturduğunuzda, bunu kendi GitHub kişisel hesabınızın e-posta adresiyle ilişkilendiremezsiniz. Bunun yerine, github makine kullanıcısı olarak bu yeni ayrı GitHub hesabıyla ilişkilendirebileceğiniz ayrı bir e-posta adresi alma hakkında kuruluşunuzun e-posta yöneticisine bakın.
Ayrı e-posta adresini ve ilişkili GitHub makine kullanıcısını ve kuruluşunuzdaki GitHub kişisel erişim belirteçlerini yönetme hakkında kuruluşunuzun hesap yöneticisine başvurun.
GitHub makinesi kullanıcısına GitHub deponuza erişim verin. GitHub belgelerinde Bir ekibi veya kişiyi davet etme bölümüne bakın. Daveti kabul etmek için önce GitHub kişisel hesabınızın oturumunu kapatmanız ve ardından GitHub makine kullanıcısı olarak yeniden oturum açmanız gerekebilir.
GitHub'da makine kullanıcısı olarak oturum açın ve ardından bu makine kullanıcısı için bir GitHub kişisel erişim belirteci oluşturun. GitHub belgelerinde Kişisel erişim belirteci oluşturma bölümüne bakın. GitHub kişisel erişim belirteci deposuna erişim verdiğinizden emin olun.
Hizmet sorumlunuz, GitHub makinenizin kullanıcı adı için Microsoft Entra ID belirtecini toplayın ve ardından Azure Databricks çalışma alanına Git sağlayıcısı kimlik bilgileri ekleyin.
Azure Pipelines'i ayarlama
Azure Pipelines'ın Azure Databricks çalışma alanınıza erişebilmesi gerekir. Azure Databricks Git klasörlerini de kullanmak istiyorsanız çalışma alanınızın Azure Pipelines'a erişebilmesi gerekir.
Azure Pipelines YAML işlem hattı dosyaları, Azure Databricks çalışma alanınıza erişmek için ortam değişkenlerine güvenir. Bu ortam değişkenleri şunlardır:
DATABRICKS_HOST
, örneğin çalışma alanı örneğinizin adınıadb-1234567890123456.7.azuredatabricks.net
izleyen değerdirhttps://
.DATABRICKS_TOKEN
, Microsoft Entra Id yönetilen hizmet sorumlusu için Microsoft Entra Id belirtecini oluşturduktan sonra kopyaladığınız değerin değeridirtoken_value
.
Bu ortam değişkenlerini Azure işlem hattınıza eklemek için Azure belgelerindeki Azure Pipelines'da Azure Anahtar Değeri gizli dizilerini kullanma ve Gizli dizi değişkenlerini ayarlama bölümüne bakın.
Ayrıca aşağıdaki Databricks blogunu da görebilirsiniz:
CI/CD senaryoları için isteğe bağlı: Çalışma alanınız Azure Databricks Git klasörleri kullanıyorsa ve çalışma alanınızın Azure Pipelines'a erişmesini sağlamak istiyorsanız şunları toplayın:
- Hizmet sorumlunuz için Microsoft Entra Id belirteci
- Azure Pipelines kullanıcı adınız
Ardından, Azure Databricks çalışma alanına Git sağlayıcısı kimlik bilgilerini ekleyin.
GitLab CI/CD'yi ayarlama
GitLab CI/CD'nin Azure Databricks çalışma alanınıza erişebilmesi gerekir. Azure Databricks Git klasörlerini de kullanmak istiyorsanız çalışma alanınızın GitLab CI/CD'ye erişebilmesi gerekir.
Azure Databricks çalışma alanınıza erişmek için, içindeki Temel Python Şablonunun dbx
bir parçası gibi GitLab CI/CD .gitlab-ci.yml
dosyaları aşağıdaki gibi özel CI/CD değişkenlerini kullanır:
DATABRICKS_HOST
, örneğin çalışma alanı örneğinizin adınıadb-1234567890123456.7.azuredatabricks.net
izleyen değerdirhttps://
.DATABRICKS_TOKEN
, hizmet sorumlusu için Microsoft Entra Id belirtecini oluşturduktan sonra kopyaladığınız değerin değeridirtoken_value
.
Bu özel değişkenleri GitLab CI/CD projenize eklemek için GitLab CI/CD belgelerindeki Projeye CI/CD değişkeni ekleme konusuna bakın.
Çalışma alanınız Databricks Git klasörleri kullanıyorsa ve çalışma alanınızın GitLab CI/CD'ye erişmesini sağlamak istiyorsanız şunları toplayın:
- Hizmet sorumlunuz için Microsoft Entra Id belirteci
- GitLab CI/CD kullanıcı adınız
Ardından Azure Databricks çalışma alanına Git sağlayıcısı kimlik bilgilerini ekleyin.
Azure Databricks çalışma alanına Git sağlayıcısı kimlik bilgileri ekleme
Bu bölümde, Azure Databricks Git klasörleri için Bir Git sağlayıcısına erişmek üzere Azure Databricks çalışma alanınızın nasıl etkinleştirileceği açıklanmaktadır. Bu, CI/CD senaryolarında isteğe bağlıdır. Örneğin, git sağlayıcınızdan yalnızca Azure Databricks çalışma alanınıza erişmesini isteyebilirsiniz, ancak çalışma alanınızdaki Azure Databricks Git klasörlerini Git sağlayıcınızla birlikte kullanmak da istemezsiniz. Öyleyse, bu bölümü atlayın.
Başlamadan önce aşağıdaki bilgileri ve araçları toplayın:
- Hizmet sorumlunuz için Microsoft Entra Id belirteci.
- Git sağlayıcınızla ilişkilendirilmiş kullanıcı adı.
- Git sağlayıcınız için kullanıcıyla ilişkili erişim belirteci.
Not
Azure Pipelines için bkz . Azure web sitesinde kişisel erişim belirteçlerini kullanma.
- Databricks CLI sürüm 0.205 veya üzeri. Bkz . Databricks CLI nedir?. Azure Databricks kullanıcı arabirimini kullanamazsınız.
- Dosyanızda, profilin
.databrickscfg
alanları çalışma alanı başına Azure Databricks URL'nizihttps://adb-1234567890123456.7.azuredatabricks.net
temsil eden vetoken
hizmet sorumlunuz için Microsoft Entra ID belirtecini temsil eden ilgilihost
alanlar için doğru ayarlanmış bir Azure Databricks yapılandırma profili. (Çalışma alanı kullanıcınız için Databricks kişisel erişim belirtecini kullanmayın.) Bkz. Azure Databricks kişisel erişim belirteci kimlik doğrulaması.
Aşağıdaki komutu çalıştırmak için Databricks CLI'yi kullanın:
databricks git-credentials create <git-provider-short-name> --git-username <git-provider-user-name> --personal-access-token <git-provider-access-token> -p <profile-name>
- için
<git-provider-short-name>
aşağıdakilerden birini kullanın:- GitHub için kullanın
GitHub
. - Azure Pipelines için kullanın
AzureDevOpsServices
. - GitLab CI/CD için kullanın
GitLab
.
- GitHub için kullanın
- değerini Git sağlayıcınızla ilişkilendirilmiş kullanıcı adıyla değiştirin
<git-provider-user-name>
. - değerini Git sağlayıcınızın kullanıcısıyla ilişkilendirilmiş erişim belirteci ile değiştirin
<git-provider-access-token>
. - değerini dosyanızdaki
.databrickscfg
Azure Databricks yapılandırma profilinin adıyla değiştirin<profile-name>
.
İpucu
Çağrının başarılı olduğunu onaylamak için aşağıdaki Databricks CLI komutlarından birini çalıştırabilir ve çıkışı gözden geçirebilirsiniz:
databricks git-credentials list -p <profile-name>
databricks git-credentials get <credential-id> -p <profile-name>