Aracılığıyla paylaş


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:

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:

  1. Azure Databricks yönetilen hizmet sorumlusu veya Microsoft Entra Id yönetilen hizmet sorumlusu oluşturun.
  2. CI/CD platformunun desteklediği erişim belirteci türlerine bağlı olarak, Azure Databricks yönetilen hizmet sorumlusu veya Microsoft Entra ID yönetilen hizmet sorumlusu için bir Azure Databricks OAuth belirteci veya Microsoft Entra Id belirteci oluşturun. Daha fazla bilgi için CI/CD platformunuzun belgelerine bakın.
  3. Bu Azure Databricks OAuth belirtecini veya Microsoft Entra ID belirtecini CI/CD platformuna verin.

Adım 1-2'yi tamamlamak için bkz . Hizmet sorumlularını yönetme.

3. Adımı tamamlamak için bu makaledeki yönergeleri tamamlayın.

İsteğe bağlı olarak, Azure Databricks çalışma alanınızı bir CI/CD platformu senaryosunda Azure Databricks Git klasörleriyle de kullanmak istiyorsanız bkz . Azure Databricks çalışma alanına Git sağlayıcısı kimlik bilgileri ekleme. Örneğin, Git sağlayıcınızdan çalışma alanınıza erişmesini ve çalışma alanınızdaki Azure Databricks Git klasörlerini Git sağlayıcınızla birlikte kullanmak isteyebilirsiniz. Ancak çalışma alanınızı CI/CD platformlarıyla kullanmak için Azure Databricks Git klasörlerini kullanmanız gerekmez.

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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ğeridir token_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 dbxbir 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ğeridir token_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.

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.
  • 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>