Aracılığıyla paylaş


CI/CD için hizmet ilkeleri

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, CI/CD platformlarının Azure Databricks kaynaklarına erişimini sağlamak için Azure Databricks kullanıcınız veya çalışma alanı kullanıcınız adına Databricks kişisel erişim belirteciniz yerine bir hizmet ilkesi 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:

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 token veya Microsoft Entra ID token oluşturmak için bkz. Hizmet sorumluları.
  • Git sağlayıcınızda bir hesaba sahip olun.

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 hizmet sorumluları ve GitHub Action belgelerine bakın.

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'ta listeledikleri gibi GitHub Actions, aşağıdakiler gibi çeşitli GitHub şifreli gizli dizilerini kullanır:

  • DATABRICKS_HOST, https:// değerinden sonra gelen çalışma alanı örneği adınız, örneğin adb-1234567890123456.7.azuredatabricks.net.
  • 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 sırrının Microsoft Entra ID tarafından yönetilen hizmet yetkilisi değeridir.

GitHub Eylemi için hangi GitHub şifreli gizli bilgilerin gerekli olduğu hakkında daha fazla bilgi için bkz. Hizmet sorumluları ve bu GitHub Eylemiyle ilgili belgeler.

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.

    Uyarı

    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 için depo erişimi sağladığınızdan emin olun.

  4. Hizmet sorumlunuz için Microsoft Entra ID belirtecini, GitHub makinenizin kullanıcı adını toplayın ve ardından Databricks Git klasörleriyle hizmet sorumlusu kullanımıbölümüne bakın.

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, https:// değerinden sonra gelen çalışma alanı örneği adınız, örneğin adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_TOKEN, Microsoft Entra ID yönetilen hizmet sorumlusu için Microsoft Entra ID belirtecini oluşturduktan sonra kopyaladığınız token_value değerinin değeridir.

Bu ortam değişkenlerini Azure işlem hattınıza eklemek için, Azure belgelerinde Azure İşlem Hatları'nda Azure Anahtar Değeri gizli dizilerini kullanma ve gizli dizi değişkenlerini ayarlama konularına 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 Databricks Git klasörleriyle hizmet hesabı kullanımı bölümüne bakın.

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 .gitlab-ci.ymlbir parçası gibi GitLab CI/CD dbx dosyaları aşağıdaki gibi özel CI/CD değişkenlerini kullanır:

  • DATABRICKS_HOST, https:// değerinden sonra gelen çalışma alanı örneği adınız, örneğin adb-1234567890123456.7.azuredatabricks.net.
  • 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 Databricks Git klasörleriyle hizmet hesabı kullanımı bölümüne bakın.