Microsoft Entra Id ile dbt Core'dan Azure Databricks oturum açmayı yapılandırma

Önemli

Bu özellik Genel Önizlemededir.

Bu makalede, Microsoft Entra Id ile dbt Core'dan Azure Databricks oturum açmanın nasıl yapılandırıldığı açıklanır. Azure Databricks hesap yöneticisi olarak bu tek seferlik yapılandırmayı tamamladıktan sonra kullanıcılar çoklu oturum açma (SSO) kullanarak Azure Databricks'i dbt Core'a bağlayabilir.

Microsoft Entra Id'yi kullanmaya ek olarak, dbt Core ile tümleştirmek için Databricks M2M OAuth kullanabilirsiniz. Bkz . İş ortağı OAuth uygulamalarını etkinleştirme veya devre dışı bırakma.

Başlamadan önce

Bu makaledeki adımları tamamlamadan önce şunları gerçekleştirmeniz gerekir:

  • Yerel dbt Core ortamına erişiminiz var
  • Azure Databricks çalışma alanınızdaki bir SQL ambarı için Sunucu Ana Bilgisayar Adını ve HTTP Yolunu alma
  • Azure Databricks hesap yöneticisi olun
  • Azure Databricks hesabınız için Azure kiracısında Azure uygulama kaydı oluşturma iznine sahip olun.

dbt Core için makineden makineye (M2M) kimlik doğrulamasını yapılandırma

Bu bölümde Azure Databricks ve dbt Core için makineden makineye (M2M) kimlik doğrulamasının nasıl yapılandırıldığı açıklanmaktadır. OAuth'un M2M iş akışı, CI/CD tümleştirmesi gibi otomatik işlemlerin insan müdahalesi olmadan kaynaklara güvenli bir şekilde erişmesini sağlar. dbt istemcisi hizmet sorumlusu olarak çalışır, hizmet sorumlusunu kullanarak Azure AD'den bir OAuth belirteci alır ve Databricks SQL API'sine bağlanmak için bu belirteci kullanır.

Azure uygulama kaydı oluşturma

  1. Adresinde Azure Databricks hesabınızın Azure kiracısında oturum açmak için Azure portalını https://portal.azure.com/<tenant-id>kullanın.
  2. Uygulama kayıtları'e tıklayın. Uygulama kayıtları görünmüyorsa Diğer hizmetler'e tıklayın ve Uygulama kayıtları aramak için Hizmetlere filtre uygula metin kutusunu kullanın.
  3. Yeni kayıt'a tıklayın.
  4. Uygulama için bir Ad girin.
  5. Yeniden Yönlendirme URI'si için açılan menüden Genel istemci/yerel (mobil ve masaüstü) öğesini seçin ve girinhttp://localhost:8020.
  6. Kaydet’e tıklayın.
  7. Uygulama (istemci) kimliği'ni kopyalayın. Bu değere daha sonra ihtiyacınız olacak.

Azure Uygulaması kaydınız için bir istemci gizli dizisi oluşturma

  1. Azure portalında, önceki adımda oluşturduğunuz uygulama kaydını seçin.
  2. Sertifikalar ve gizli diziler'e tıklayın ve ardından Yeni istemci gizli dizisi'ne tıklayın.
  3. Bir açıklama girin ve Ekle'ye tıklayın.
  4. Gizli dizi değerini kopyalayın. Bu değere daha sonra ihtiyacınız olacak ve bu değere yalnızca gizli dizi oluşturulduktan sonra erişebilirsiniz.

Microsoft Entra ID hizmet sorumlusunu çalışma alanınıza ekleme

  1. Azure Databricks çalışma alanınızda sağ üstteki kullanıcı adınıza tıklayın ve sonra da Ayarlar'e tıklayın.
  2. Kimlik ve erişim sekmesine tıklayın.
  3. Hizmet sorumluları'nın yanındaki Yönet'e tıklayın.
  4. Hizmet sorumlusu ekle'ye ve ardından İstemci Kimliği'ne tıklayın.
  5. ApplicationId için, daha önce kopyaladığınız Uygulama (istemci) kimliğini girin.
  6. Görünen Ad için hizmet sorumlunuz için bir mantıksal ad girin ve Ekle'ye tıklayın.

Dbt projenize M2M profili ekleme

  1. Daha önce ortam değişkenleri olarak kopyaladığınız Uygulama (istemci) kimliğini ve istemci gizli dizisini ayarlayın. Databricks, gizli diziler gibi hassas bilgilerin doğrudan içinde profiles.yml depolanmasını önermez.

    ~ export DATABRICKS_CLIENT_ID=<client-id>
    ~ export DATABRICKS_CLIENT_SECRET=<client-secret>
    
  2. Dbt projenizdeki dosyaya profiles.yml M2M profilini ekleyin.

    Aşağıda, M2M profilinin azure-oauth-m2m belirtildiği örnek profiles.yml bir dosya verilmiştir. için target belirtilmesiazure-oauth-m2m, M2M profilini dbt tarafından kullanılan varsayılan çalıştırma profili olarak ayarlar.

    databricks_demo:
      outputs:
        ...
        azure-oauth-m2m:
          catalog: uc_demos
          host: "adb-xxx.azuredatabricks.net"
          http_path: "/sql/1.0/warehouses/9196548d010cf14d"
          schema: databricks_demo
          threads: 1
          type: databricks
          auth_type: oauth
          client_id: "{{ env_var('DATABRICKS_CLIENT_ID') }}"
          client_secret: "{{ env_var('DATABRICKS_CLIENT_SECRET') }}"
    target: azure-oauth-m2m
    

Hizmet sorumlunuzu SQL ambarı erişimi için yetkilendirme

  1. Kenar çubuğunda SQL Ambarları'na, SQL ambarınıza ve ardından İzinler'e tıklayın.
  2. Bu makalenin önceki bölümlerinde oluşturduğunuz hizmet sorumlusunun yanındaki açılan menüdeN KULLANILASIN'ı seçin.

OAuth uygulaması kurulumunu doğrulama

OAuth uygulamanızın dbt debug doğru yapılandırıldığını doğrulamak için komutunu çalıştırın. Örneğin:

dbt debug --target azure-oauth-m2m

Aşağıda başarılı dbt debug bir çalıştırmanın örnek çıkışı verilmiştir:

  ...
  Configuration:
    profiles.yml file [OK found and valid]
    dbt_project.yml file [OK found and valid]

  Required dependencies:
    - git [OK found]

  Connection:
    ...
    Connection test: OK connection ok

dbt Core için kullanıcıdan makineye (U2M) kimlik doğrulamasını yapılandırma

Bu bölümde Azure Databricks ve dbt Core ile kullanıcıdan makineye kimlik doğrulamasının nasıl yapılandırıldığı açıklanmaktadır. OAuth'un U2M iş akışı, Azure AD'den bir tarayıcı açılır penceresi aracılığıyla güvenli bir şekilde OAuth belirteci alarak dbt istemcisi gibi bir kullanıcı adına sistemlere erişim sağlar. Dbt, Databricks SQL API'sine bağlanmak için bu belirteci kullanarak kimlik doğrulamasını ve yetkilendirmeyi basitleştirir.

Azure uygulama kaydı oluşturma

  1. Adresinde Azure Databricks hesabınızın Azure kiracısında oturum açmak için Azure portalını https://portal.azure.com/<tenant-id>kullanın.
  2. Uygulama kayıtları'e tıklayın. Uygulama kayıtları görünmüyorsa Diğer hizmetler'e tıklayın ve Uygulama kayıtları aramak için Hizmetlere filtre uygula metin kutusunu kullanın.
  3. Yeni kayıt'a tıklayın.
  4. Uygulama için bir Ad girin.
  5. Yeniden Yönlendirme URI'si için açılan menüden Genel istemci/yerel (mobil ve masaüstü) öğesini seçin ve girinhttp://localhost:8020.
  6. Kaydet’e tıklayın.
  7. Uygulama (istemci) Kimliğini ve Kiracı Kimliğini kopyalayın. Bu değerlere daha sonra ihtiyacınız olacak.

U2M profilini dbt projenize ekleme

U2M profilini dbt projenizdeki dosyaya profiles.yml ekleyin.

Aşağıda U2M profilinin azure-oauth-u2m belirtildiği örnek profiles.yml bir dosya verilmiştir. için target belirtilmesiazure-oauth-u2m, U2M profilini dbt tarafından kullanılan varsayılan çalıştırma profili olarak ayarlar.

databricks_demo:
outputs:
  azure-oauth-u2m:
    catalog: uc_demos
    host: "adb-xxx.azuredatabricks.net"
    http_path: "/sql/1.0/warehouses/9196548d010cf14d"
    schema: databricks_demo
    threads: 1
    type: databricks
    auth_type: oauth
    client_id: "9729e77e-ba94-4d53-8cfb-bb609f43f881"
target: azure-oauth-u2m

OAuth uygulaması kurulumunu doğrulama

  1. OAuth uygulamanızın dbt debug doğru yapılandırıldığını doğrulamak için komutunu çalıştırın. Örneğin:

    dbt debug --target azure-oauth-u2m
    

    İstenen izinler sayfası tarayıcınızda açılır.

  2. Kabul et düğmesini tıklatın.

Aşağıda başarılı dbt debug bir çalıştırmanın örnek çıkışı verilmiştir:

...
Configuration:
  profiles.yml file [OK found and valid]
  dbt_project.yml file [OK found and valid]

Required dependencies:
  - git [OK found]

Connection:
  ...
  Connection test: OK connection ok

Ek kaynaklar

Yeni bir dbt Core projesi oluşturmak ve SSO kimlik doğrulamasını kullanarak Azure Databricks'e bağlanmak için bkz. dbt Core'a Bağlan.