OAuth (OAuth M2M) kullanarak hizmet sorumlusuyla Azure Databricks'e erişimin kimliğini doğrulama

Bu makalede, hedef varlıkta kimlik doğrulaması yapmak için Azure Databricks hizmet sorumlusu oluşturma ve bu hizmet sorumlusu veya Microsoft Entra ID yönetilen hizmet sorumlusu kullanma açıklanmaktadır.

Not

Hizmet sorumluları için Azure Databricks OAuth kimlik bilgilerini yönetmek için Azure Databricks hesap yöneticisi olmanız gerekir.

1. Adım: Azure hesabınızda Microsoft Entra ID hizmet sorumlusu oluşturma

Microsoft Entra ID hizmet sorumlusunu Azure Databricks hesabınıza, çalışma alanınıza veya her ikisine bağlamak istiyorsanız bu adımı tamamlayın. Aksi takdirde 2. Adıma geçin.

  1. Azure Portal’ında oturum açın.

    Not

    Kullanılacak portal, Microsoft Entra ID uygulamanızın Azure genel bulutunda mı yoksa ulusal veya bağımsız bir bulutta mı çalıştığına bağlı olarak farklılık gösterir. Daha fazla bilgi için bkz . Ulusal bulutlar.

  2. Birden çok kiracıya, aboneliğe veya dizine erişiminiz varsa, üst menüdeki Dizinler + abonelikler (filtreli dizin) simgesine tıklayarak hizmet sorumlusunu sağlamak istediğiniz dizine geçin.

  3. Kaynak, hizmet ve belge ara bölümünde Microsoft Entra ID'yi arayın ve seçin.

  4. + Ekle'ye tıklayın ve Uygulama kaydı'ı seçin.

  5. Ad alanına uygulama için bir ad girin.

  6. Desteklenen hesap türleri bölümünde Yalnızca bu kuruluş dizinindeki hesaplar (Tek kiracı) öğesini seçin.

  7. Kaydet’e tıklayın.

  8. Uygulama sayfasının Genel Bakış sayfasının Temel Parçalar bölümünde aşağıdaki değerleri kopyalayın:

    • Uygulama (istemci) kimliği
    • Dizin (kiracı) kimliği

    Azure kayıtlı uygulamaya genel bakış

  9. İstemci gizli dizisi oluşturmak için Yönet'in içinde Sertifikalar ve gizli diziler'e tıklayın.

    Not

    Azure Databricks ile Microsoft Entra ID hizmet sorumlularının kimliğini doğrulamak için Microsoft Entra Id belirteçleri oluşturmak için bu istemci gizli dizisini kullanırsınız. Azure Databricks aracının veya SDK'sının Microsoft Entra ID belirteçlerini kullanıp kullanamayacağını belirlemek için aracın veya SDK'nın belgelerine bakın.

  10. İstemci gizli dizileri sekmesinde Yeni istemci gizli dizisi'ne tıklayın.

    Yeni gizli anahtar

  11. İstemci gizli dizisi ekle bölmesinde, Açıklama için istemci gizli dizisi için bir açıklama girin.

  12. Süre Sonu için, istemci gizli dizisi için bir süre sonu süresi seçin ve ekle'ye tıklayın.

  13. Bu istemci gizli dizisi uygulamanızın parolası olduğundan istemci gizli dizisinin Değerini kopyalayın ve güvenli bir yerde depolayın.

2. Adım: Azure Databricks hesabınıza hizmet sorumlusu ekleme

Bu adım yalnızca hedef Azure Databricks çalışma alanınız kimlik federasyonu için etkinleştirildiğinde çalışır. Çalışma alanınız kimlik federasyonu için etkinleştirilmemişse 3. Adıma geçin.

  1. Azure Databricks çalışma alanınızda üst çubukta kullanıcı adınıza tıklayın ve Hesabı yönet'e tıklayın.

    Alternatif olarak, adresinde doğrudan Azure Databricks hesap konsolunuza https://accounts.azuredatabricks.netgidin.

  2. İstenirse Azure Databricks hesabınızda oturum açın.

  3. Kenar çubuğunda Kullanıcı yönetimi'ne tıklayın.

  4. Hizmet sorumluları sekmesine tıklayın.

  5. Hizmet sorumlusu ekle'ye tıklayın.

  6. Yönetim'in altında Databricks tarafından yönetilen veya Microsoft Entra Id managed seçeneğini belirleyin.

  7. Yönetilen Microsoft Entra Kimliği'ni seçtiyseniz, Microsoft Entra uygulama kimliği'nin altına 1. Adım'dan uygulama (istemci) kimliği değerini yapıştırın.

  8. Hizmet sorumlusu için bir Ad girin.

  9. Ekle'yi tıklatın.

  10. (İsteğe bağlı) Hizmet sorumlusuna hesap düzeyi izinleri atayın:

    1. Hizmet sorumluları sekmesinde hizmet sorumlunuzun adına tıklayın.
    2. Roller sekmesinde, bu hizmet sorumlusunun sahip olmasını istediğiniz her hedef rolü etkinleştirmek veya devre dışı bırakmak için iki durumlu düğmeyi kullanın.
    3. İzinler sekmesinde, yönetmek ve bu hizmet sorumlusunu kullanmak istediğiniz tüm Azure Databricks kullanıcılarına, hizmet sorumlularına ve hesap grubu rollerine erişim verin. Bkz. Hizmet sorumlusundaki rolleri yönetme.

3. Adım: Hizmet sorumlusunu Azure Databricks çalışma alanınıza ekleme

Çalışma alanınız kimlik federasyonu için etkinleştirildiyse:

  1. Azure Databricks çalışma alanınızda üst çubukta kullanıcı adınıza tıklayın ve ayarlar'a 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 tıklayın.
  5. 2. Adım'dan hizmet sorumlunuzu seçin ve Ekle'ye tıklayın.

4. Adıma geçin.

Çalışma alanınız kimlik federasyonu için etkinleştirilmemişse:

  1. Azure Databricks çalışma alanınızda üst çubukta kullanıcı adınıza tıklayın ve ayarlar'a 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 tıklayın.
  5. Yeni ekle'ye tıklayın.
  6. Yönetim'in altında Databricks tarafından yönetilen veya Microsoft Entra Id managed seçeneğini belirleyin.
  7. Yönetilen Microsoft Entra Kimliği'ni seçtiyseniz, Microsoft Entra uygulama kimliği'nin altına 1. Adım'dan uygulama (istemci) kimliği değerini yapıştırın.
  8. Yeni hizmet sorumlusu için görünen ad girin ve Ekle'ye tıklayın.

4. Adım: Hizmet sorumlusuna çalışma alanı düzeyinde izinler atama

  1. Çalışma alanınızın yönetici konsolu henüz açık değilse, üst çubukta kullanıcı adınıza tıklayın ve Ayarlar'a 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 sorumlunuzun adına tıklayarak ayarlar sayfasını açın.
  5. Yapılandırmalar sekmesinde, hizmet sorumlunuzun bu çalışma alanı için sahip olmasını istediğiniz her yetkilendirmenin yanındaki kutuyu işaretleyin ve güncelleştir'e tıklayın.
  6. İzinler sekmesinde, yönetmek ve bu hizmet sorumlusunu kullanmak istediğiniz tüm Azure Databricks kullanıcılarına, hizmet sorumlularına ve gruplara erişim verin. Bkz. Hizmet sorumlusundaki rolleri yönetme.

5. Adım: Hizmet sorumlusu için Azure Databricks OAuth gizli dizisi oluşturma

Azure Databricks'de kimlik doğrulaması yapmak için OAuth'u kullanabilmeniz için önce OAuth erişim belirteçleri oluşturmak için kullanılabilecek bir OAuth gizli dizisi oluşturmanız gerekir. Bir hizmet sorumlusu en fazla beş OAuth gizli dizisine sahip olabilir.

Hesap konsolundan bir hizmet sorumlusu için OAuth gizli dizisi oluşturmak için:

  1. Adresinde Azure Databricks hesap konsolunda https://accounts.azuredatabricks.netoturum açın.
  2. İstenirse Azure Databricks hesabınızda oturum açın.
  3. Kenar çubuğunda Kullanıcı yönetimi'ne tıklayın.
  4. Hizmet sorumluları sekmesine tıklayın.
  5. Hizmet sorumlusunun adına tıklayın.
  6. Asıl bilgiler sekmesinin OAuth gizli dizileri bölümünde Gizli dizi oluştur'a tıklayın.
  7. Gizli dizi oluştur iletişim kutusunda Gizli dizi değerini kopyalayın ve güvenli bir yerde depolayın. Bu OAuth gizli dizisi, hizmet sorumlusunun parolasıdır.
  8. Bitti'ye tıklayın.

Çalışma alanından bir hizmet sorumlusu için OAuth gizli dizisi oluşturmak için:

  1. Çalışma alanı yöneticisi olarak üst çubukta kullanıcı adınıza tıklayın ve ardından Ayarlar'a 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 sorumlunuzun adına tıklayarak ayarlar sayfasını açın.

  5. Gizli Diziler sekmesine tıklayın.

  6. OAuth gizli dizileri'nin altında Gizli dizi oluştur'a tıklayın.

  7. Görüntülenen Gizli Dizi ve İstemci Kimliğini kopyalayın, ardından Bitti'ye tıklayın.

    Gizli dizi, oluşturma sırasında yalnızca bir kez açığa çıkar. İstemci kimliği, hizmet sorumlusunun uygulama kimliğiyle aynıdır.

Not

Hizmet sorumlusunun kümeleri veya SQL ambarlarını kullanmasını sağlamak için hizmet sorumlusuna bunlara erişim vermeniz gerekir. Bkz. İşlem izinleri veya SQL ambarı yönetme.

OAuth M2M kimlik doğrulamasını yapılandırmayı bitirme

OAuth M2M kimlik doğrulamasını yapılandırmayı tamamlamak için aşağıdaki ilişkili ortam değişkenlerini, alanları, .databrickscfg Terraform alanlarını veya Config alanları ayarlamanız gerekir:

  • Hesap işlemleri için olarak https://accounts.azuredatabricks.net belirtilen Azure Databricks konağı veya çalışma alanı işlemleri gibi https://adb-1234567890123456.7.azuredatabricks.net çalışma alanı başına hedef URL'si.
  • Azure Databricks hesap işlemleri için Azure Databricks hesap kimliği.
  • Hizmet sorumlusu istemci kimliği.
  • Hizmet sorumlusu gizli dizisi.

OAuth M2M kimlik doğrulamasını gerçekleştirmek için, katılan aracı veya SDK'yı temel alarak aşağıdakileri kodunuzla tümleştirin:

Ortam

Belirli bir Azure Databricks kimlik doğrulama türü için ortam değişkenlerini bir araç veya SDK ile kullanmak için bkz . Azure Databricks kaynaklarına erişimin kimliğini doğrulama veya aracın ya da SDK'nın belgeleri. Ayrıca bkz. İstemci birleşik kimlik doğrulaması için ortam değişkenleri ve alanları ve istemci birleşik kimlik doğrulaması için Varsayılan yöntemler.

Hesap düzeyinde işlemler için aşağıdaki ortam değişkenlerini ayarlayın:

  • DATABRICKS_HOST, Azure Databricks hesap konsolu URL'si olarak https://accounts.azuredatabricks.netayarlayın.
  • DATABRICKS_ACCOUNT_ID
  • DATABRICKS_CLIENT_ID
  • DATABRICKS_CLIENT_SECRET

Çalışma alanı düzeyinde işlemler için aşağıdaki ortam değişkenlerini ayarlayın:

  • DATABRICKS_HOST, çalışma alanı başına Azure Databricks URL'sine ayarlayın, örneğin https://adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_CLIENT_ID
  • DATABRICKS_CLIENT_SECRET

Profil

Dosyanızda .databrickscfg aşağıdaki alanlarla bir Azure Databricks yapılandırma profili oluşturun veya tanımlayın. Profili oluşturursanız yer tutucuları uygun değerlerle değiştirin. Profili bir araç veya SDK ile kullanmak için Bkz . Azure Databricks kaynaklarına erişimin kimliğini doğrulama veya aracın ya da SDK'nın belgeleri. Ayrıca bkz. İstemci birleşik kimlik doğrulaması için ortam değişkenleri ve alanları ve istemci birleşik kimlik doğrulaması için Varsayılan yöntemler.

Hesap düzeyinde işlemler için dosyanızda .databrickscfg aşağıdaki değerleri ayarlayın. Bu durumda Azure Databricks hesap konsolu URL'si şöyledir https://accounts.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host          = <account-console-url>
account_id    = <account-id>
client_id     = <service-principal-client-id>
client_secret = <service-principal-secret>

Çalışma alanı düzeyinde işlemler için dosyanızda .databrickscfg aşağıdaki değerleri ayarlayın. Bu durumda konak, çalışma alanı başına Azure Databricks URL'sidir, örneğin https://adb-1234567890123456.7.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host          = <workspace-url>
client_id     = <service-principal-client-id>
client_secret = <service-principal-secret>

CLI

Databricks CLI için aşağıdakilerden birini yapın:

  • Ortam değişkenlerini bu makalenin "Ortam" bölümünde belirtildiği gibi ayarlayın.
  • Dosyanızdaki .databrickscfg değerleri bu makalenin "Profil" bölümünde belirtildiği gibi ayarlayın.

Ortam değişkenleri her zaman dosyanızdaki .databrickscfg değerlerden önceliklidir.

Ayrıca bkz. OAuth makineden makineye (M2M) kimlik doğrulaması.

Bağlan

Not

OAuth M2M kimlik doğrulaması aşağıdaki Databricks Connect sürümlerinde desteklenir:

  • Python için Databricks Runtime 14.0 ve üzeri için Databricks Connect.
  • Scala için Databricks Runtime 13.3 LTS ve üzeri için Databricks Connect. Databricks Runtime 13.3 LTS ve üzeri için Databricks Connect'e dahil olan Java için Databricks SDK'sı, Java 0.17.0 veya üzeri için Databricks SDK'sına yükseltilmelidir.

Databricks Connect için aşağıdakilerden birini yapabilirsiniz:

  • Bu makalenin "Profil" bölümünde belirtildiği gibi Azure Databricks çalışma alanı düzeyinde işlemler için dosyanızdaki .databrickscfg değerleri ayarlayın. Ayrıca profilinizdeki ortam değişkenini cluster_id çalışma alanı başına URL'nize ayarlayın, örneğinhttps://adb-1234567890123456.7.azuredatabricks.net.
  • Bu makalenin "Ortam" bölümünde belirtildiği gibi Azure Databricks çalışma alanı düzeyinde işlemler için ortam değişkenlerini ayarlayın. Ayrıca ortam değişkenini DATABRICKS_CLUSTER_ID çalışma alanı başına URL'nize ayarlayın, örneğinhttps://adb-1234567890123456.7.azuredatabricks.net.

Dosyanızdaki .databrickscfg değerler her zaman ortam değişkenlerinden önceliklidir.

Databricks Connect istemcisini dosyanızdaki .databrickscfg bu ortam değişkenleri veya değerlerle başlatmak için aşağıdakilerden birine bakın:

  • Python için bkz . Python için bağlantı özelliklerini yapılandırma.
  • Scala için bkz . Scala için bağlantı özelliklerini yapılandırma.

VS Code

Visual Studio Code için Databricks uzantısı için aşağıdakileri yapın:

  1. Bu makalenin "Profil" bölümünde belirtildiği gibi Azure Databricks çalışma alanı düzeyinde işlemler için dosyanızdaki .databrickscfg değerleri ayarlayın.
  2. Visual Studio Code için Databricks uzantısının Yapılandırma bölmesinde Databricks'i Yapılandır'a tıklayın.
  3. Komut Paleti'nde, Databricks Konağı için çalışma alanı başına URL'nizi (örneğinhttps://adb-1234567890123456.7.azuredatabricks.net) girin ve tuşuna basınEnter.
  4. Komut Paleti'nde, URL'niz için listeden hedef profilinizin adını seçin.

Diğer ayrıntılar için bkz . Visual Studio Code için Databricks uzantısı için kimlik doğrulaması kurulumu.

Terraform

Hesap düzeyinde işlemler için, varsayılan kimlik doğrulaması için:

provider "databricks" {
  alias = "accounts"
}

Doğrudan yapılandırma için (değerleri konsoldan veya HashiCorp Vault gibi başka bir yapılandırma deposundan almak için yer tutucuları kendi uygulamanızla değiştirinretrieve). Ayrıca bkz. Kasa Sağlayıcısı). Bu durumda Azure Databricks hesap konsolu URL'si şöyledir https://accounts.azuredatabricks.net:

provider "databricks" {
  alias         = "accounts"
  host          = <retrieve-account-console-url>
  account_id    = <retrieve-account-id>
  client_id     = <retrieve-client-id>
  client_secret = <retrieve-client-secret>
}

Çalışma alanı düzeyindeki işlemler için, varsayılan kimlik doğrulaması için:

provider "databricks" {
  alias = "workspace"
}

Doğrudan yapılandırma için (değerleri konsoldan veya HashiCorp Vault gibi başka bir yapılandırma deposundan almak için yer tutucuları kendi uygulamanızla değiştirinretrieve). Ayrıca bkz. Kasa Sağlayıcısı). Bu durumda konak, çalışma alanı başına Azure Databricks URL'sidir, örneğin https://adb-1234567890123456.7.azuredatabricks.net:

provider "databricks" {
  alias         = "workspace"
  host          = <retrieve-workspace-url>
  client_id     = <retrieve-client-id>
  client_secret = <retrieve-client-secret>
}

Databricks Terraform sağlayıcısıyla kimlik doğrulaması hakkında daha fazla bilgi için bkz . Kimlik doğrulaması.

Python

Hesap düzeyinde işlemler için, varsayılan kimlik doğrulaması için aşağıdakileri kullanın:

from databricks.sdk import AccountClient

a = AccountClient()
# ...

Doğrudan yapılandırma için, değerleri konsoldan veya Azure KeyVault gibi başka bir yapılandırma deposundan almak için yer tutucuları kendi uygulamanızla değiştirerek retrieve aşağıdakileri kullanın. Bu durumda Azure Databricks hesap konsolu URL'si şöyledir https://accounts.azuredatabricks.net:

from databricks.sdk import AccountClient

a = AccountClient(
  host          = retrieve_account_console_url(),
  account_id    = retrieve_account_id(),
  client_id     = retrieve_client_id(),
  client_secret = retrieve_client_secret()
)
# ...

Çalışma alanı düzeyindeki işlemler için, özellikle varsayılan kimlik doğrulaması:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

Doğrudan yapılandırma için, değerleri konsoldan veya Azure KeyVault gibi başka bir yapılandırma deposundan almak için yer tutucuları kendi uygulamanızla değiştirinretrieve. Bu durumda konak, çalışma alanı başına Azure Databricks URL'sidir, örneğin https://adb-1234567890123456.7.azuredatabricks.net:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(
  host          = retrieve_workspace_url(),
  client_id     = retrieve_client_id(),
  client_secret = retrieve_client_secret()
)
# ...

Python kullanan ve Databricks istemcisi birleşik kimlik doğrulamasını uygulayan Databricks araçları ve SDK'ları ile kimlik doğrulaması hakkında daha fazla bilgi için bkz:

Not

Visual Studio Code için Databricks uzantısı Python kullanır ancak henüz OAuth M2M kimlik doğrulamasını uygulamamıştır.

Java

Çalışma alanı düzeyindeki işlemler için, varsayılan kimlik doğrulaması için:

import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...

Doğrudan yapılandırma için (değerleri konsoldan veya Azure KeyVault gibi başka bir yapılandırma deposundan almak için yer tutucuları kendi uygulamanızla değiştirinretrieve). Bu durumda konak, çalışma alanı başına Azure Databricks URL'sidir, örneğin https://adb-1234567890123456.7.azuredatabricks.net:

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveWorkspaceUrl())
  .setClientId(retrieveClientId())
  .setClientSecret(retrieveClientSecret());
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

Java kullanan ve Databricks istemcisi birleşik kimlik doğrulamasını uygulayan Databricks araçları ve SDK'ları ile kimlik doğrulaması hakkında daha fazla bilgi için bkz:

Go

Hesap düzeyinde işlemler için, varsayılan kimlik doğrulaması için:

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

Doğrudan yapılandırma için (değerleri konsoldan veya Azure KeyVault gibi başka bir yapılandırma deposundan almak için yer tutucuları kendi uygulamanızla değiştirinretrieve). Bu durumda Azure Databricks hesap konsolu URL'si şöyledir https://accounts.azuredatabricks.net:

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:         retrieveAccountConsoleUrl(),
  AccountId:    retrieveAccountId(),
  ClientId:     retrieveClientId(),
  ClientSecret: retrieveClientSecret(),
}))
// ...

Çalışma alanı düzeyindeki işlemler için, varsayılan kimlik doğrulaması için:

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...

Doğrudan yapılandırma için (değerleri konsoldan veya Azure KeyVault gibi başka bir yapılandırma deposundan almak için yer tutucuları kendi uygulamanızla değiştirinretrieve). Bu durumda konak, çalışma alanı başına Azure Databricks URL'sidir, örneğin https://adb-1234567890123456.7.azuredatabricks.net:

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:         retrieveWorkspaceUrl(),
  ClientId:     retrieveClientId(),
  ClientSecret: retrieveClientSecret(),
}))
// ...

Go kullanan ve Databricks istemcisi birleşik kimlik doğrulaması uygulayan Databricks araçları ve SDK'ları ile kimlik doğrulaması hakkında daha fazla bilgi için bkz . Azure Databricks hesabınız veya çalışma alanınızla Go için Databricks SDK'sının kimliğini doğrulama.

OAuth M2M kimlik doğrulaması için erişim belirteçlerini el ile oluşturma ve kullanma

Databricks istemcisi birleşik kimlik doğrulama standardını uygulayan Azure Databricks araçları ve SDK'ları, OAuth M2M kimlik doğrulaması için gerektiğinde sizin yerinize Azure Databricks OAuth erişim belirteçlerini otomatik olarak oluşturur, yeniler ve kullanır.

OAuth M2M kimlik doğrulaması için Azure Databricks OAuth erişim belirteçlerini el ile oluşturmanız, yenilemeniz veya kullanmanız gerekiyorsa, bu bölümdeki yönergeleri izleyin.

1. Adım: Hizmet sorumlusu ve OAuth gizli dizisi oluşturma

Azure Databricks yönetilen hizmet sorumlunuz veya Microsoft Entra Id yönetilen hizmet sorumlunuz ve buna karşılık gelen Azure Databricks OAuth gizli dizisi yoksa, bu makalenin başındaki 1-5 arası adımları tamamlayarak bunları oluşturun.

2. Adım: El ile erişim belirteci oluşturma

Azure Databricks OAuth erişim belirtecinin hem hesap düzeyinde REST API'lerinde hem de çalışma alanı düzeyinde REST API'lerinde kimlik doğrulaması yapmak üzere bir Azure Databricks OAuth erişim belirteci istemek için Azure Databricks yönetilen hizmet sorumlusunun veya Microsoft Entra Id yönetilen hizmet sorumlusunun istemci kimliğini ve Azure Databricks OAuth gizli dizisini kullanın. Belirtecin süresi bir saat içinde dolacak. Süre dolduktan sonra yeni bir Azure Databricks OAuth erişim belirteci istemeniz gerekir. OAuth erişim belirtecinin kapsamı, belirteci oluşturduğunuz düzeye bağlıdır. Hesap düzeyinde veya çalışma alanı düzeyinde aşağıdaki gibi bir belirteç oluşturabilirsiniz:

  • Azure Databricks yönetilen hizmet sorumlusunun veya Microsoft Entra Id yönetilen hizmet sorumlusunun erişimi olduğu hesaplar ve çalışma alanları içinde hesap düzeyinde ve çalışma alanı düzeyinde REST API'leri çağırmak için hesap düzeyinde el ile bir erişim belirteci oluşturun.
    • Azure Databricks yönetilen hizmet sorumlusunun veya Microsoft Entra Id yönetilen hizmet sorumlusunun erişimi olan tek bir çalışma alanında REST API'leri çağırmak için, yalnızca bu çalışma alanı için çalışma alanı düzeyinde el ile bir erişim belirteci oluşturabilirsiniz.

Hesap düzeyinde erişim belirtecini el ile oluşturma

Hesap düzeyinden oluşturulan bir Azure Databricks OAuth erişim belirteci, hesaptaki ve Azure Databricks tarafından yönetilen hizmet sorumlusunun veya Microsoft Entra Id yönetilen hizmet sorumlusunun atandığı tüm çalışma alanlarındaki Databricks REST API'lerine karşı kullanılabilir.

  1. Hesap yöneticisi olarak hesap konsolunda oturum açın.

  2. Sağ üst köşedeki kullanıcı adınızın yanındaki aşağı oka tıklayın.

  3. Hesap Kimliğinizi kopyalayın.

  4. Aşağıdaki URL'yi kopyaladığınız hesap kimliğiyle değiştirerek <my-account-id> belirteç uç noktası URL'sini oluşturun.

    https://accounts.azuredatabricks.net/oidc/accounts/<my-account-id>/v1/token
    
  5. Belirteç uç noktası URL'si, Azure Databricks yönetilen hizmet sorumlusunun istemci kimliği (uygulama kimliği olarak da bilinir) veya Microsoft Entra ID yönetilen hizmet sorumlusu ve Azure Databricks yönetilen hizmet sorumlusu veya Microsoft Entra ID yönetilen hizmet sorumlusu için oluşturduğunuz Azure Databricks OAuth gizli dizisi ile bir Azure Databricks OAuth erişim belirteci istemek için gibi curl bir istemci kullanın. Kapsam, all-apis Azure Databricks tarafından yönetilen hizmet sorumlusuna veya Microsoft Entra ID yönetilen hizmet sorumlusuna erişim izni verilen tüm Databricks REST API'lerine erişmek için kullanılabilecek bir Azure Databricks OAuth erişim belirteci ister.

    • değerini yukarıdan belirteç uç noktası URL'si ile değiştirin <token-endpoint-URL> .
    • değerini Azure Databricks yönetilen hizmet sorumlusunun veya Microsoft Entra Id yönetilen hizmet sorumlusunun uygulama kimliği olarak da bilinen istemci kimliğiyle değiştirin <client-id> .
    • değerini, Azure Databricks yönetilen hizmet sorumlusu veya Microsoft Entra Id yönetilen hizmet sorumlusu için oluşturduğunuz Azure Databricks OAuth gizli dizisiyle değiştirin <client-secret> .
    export CLIENT_ID=<client-id>
    export CLIENT_SECRET=<client-secret>
    
    curl --request POST \
    --url <token-endpoint-URL> \
    --user "$CLIENT_ID:$CLIENT_SECRET" \
    --data 'grant_type=client_credentials&scope=all-apis'
    

    Bu, şuna benzer bir yanıt oluşturur:

    {
      "access_token": "eyJraWQiOiJkYTA4ZTVjZ…",
      "scope": "all-apis",
      "token_type": "Bearer",
      "expires_in": 3600
    }
    

    yanıttan öğesini access_token kopyalayın.

    Azure Databricks OAuth erişim belirtecinin süresi bir saat içinde dolacak. Süre sonundan sonra el ile yeni bir Azure Databricks OAuth erişim belirteci oluşturmanız gerekir.

  6. 3. Adım: Databricks REST API'sini çağırma adımına geçin.

Çalışma alanı düzeyinde erişim belirtecini el ile oluşturma

Çalışma alanı düzeyinden oluşturulan bir Azure Databricks OAuth erişim belirteci, Azure Databricks tarafından yönetilen hizmet sorumlusu veya Microsoft Entra ID yönetilen hizmet sorumlusu bir hesap yöneticisi veya diğer çalışma alanlarının üyesi olsa bile yalnızca bu çalışma alanında REST API'lerine erişebilir.

  1. öğesini Azure Databricks dağıtımınızın çalışma alanı URL'si ile değiştirerek https://<databricks-instance> belirteç uç noktası URL'sini oluşturun:

    https://<databricks-instance>/oidc/v1/token
    
  2. Belirteç uç noktası URL'si, Azure Databricks yönetilen hizmet sorumlusunun istemci kimliği (uygulama kimliği olarak da bilinir) veya Microsoft Entra ID yönetilen hizmet sorumlusu ve Azure Databricks yönetilen hizmet sorumlusu veya Microsoft Entra ID yönetilen hizmet sorumlusu için oluşturduğunuz Azure Databricks OAuth gizli dizisi ile bir Azure Databricks OAuth erişim belirteci istemek için gibi curl bir istemci kullanın. Kapsam, all-apis Azure Databricks tarafından yönetilen hizmet sorumlusuna veya Microsoft Entra ID yönetilen hizmet sorumlusuna, belirteci istediğiniz çalışma alanı içinde erişim izni verilen tüm Databricks REST API'lerine erişmek için kullanılabilecek bir Azure Databricks OAuth erişim belirteci ister.

    • değerini yukarıdan belirteç uç noktası URL'si ile değiştirin <token-endpoint-URL> .

    • değerini Azure Databricks yönetilen hizmet sorumlusunun veya Microsoft Entra Id yönetilen hizmet sorumlusunun uygulama kimliği olarak da bilinen istemci kimliğiyle değiştirin <client-id> .

    • değerini, Azure Databricks yönetilen hizmet sorumlusu veya Microsoft Entra Id yönetilen hizmet sorumlusu için oluşturduğunuz Azure Databricks OAuth gizli dizisiyle değiştirin <client-secret> .

      export CLIENT_ID=<client-id>
      export CLIENT_SECRET=<client-secret>
      
      curl --request POST \
      --url <token-endpoint-URL> \
      --user "$CLIENT_ID:$CLIENT_SECRET" \
      --data 'grant_type=client_credentials&scope=all-apis'
      

      Bu, şuna benzer bir yanıt oluşturur:

      {
        "access_token": "eyJraWQiOiJkYTA4ZTVjZ…",
        "scope": "all-apis",
        "token_type": "Bearer",
        "expires_in": 3600
      }
      

      yanıttan öğesini access_token kopyalayın.

3. Adım: Databricks REST API'sini çağırma

Artık Azure Databricks hesap düzeyi REST API'lerinde ve çalışma alanı düzeyinde REST API'lerinde kimlik doğrulaması yapmak için Azure Databricks OAuth erişim belirteci kullanabilirsiniz. Azure Databricks yönetilen hizmet sorumlusu veya Microsoft Entra ID yönetilen hizmet sorumlusu, hesap düzeyinde REST API'leri çağırmak için bir hesap yöneticisi olmalıdır.

Kimlik doğrulamasını kullanarak Bearer üst bilgide belirteci ekleyebilirsiniz. Bu yaklaşımı veya oluşturduğunuz herhangi bir istemciyle curl kullanabilirsiniz.

Örnek hesap düzeyinde REST API isteği

Bu örnek, bir hesapla ilişkili tüm çalışma alanlarının listesini almak için kimlik doğrulamasını kullanır Bearer .

  • değerini Azure Databricks yönetilen hizmet sorumlusu veya Microsoft Entra Id yönetilen hizmet sorumlusu için Azure Databricks OAuth erişim belirteci ile değiştirin <oauth-access-token> .
  • değerini hesap kimliğiniz ile değiştirin <account-id> .
export OAUTH_TOKEN=<oauth-access-token>

curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
'https://accounts.azuredatabricks.net/api/2.0/accounts/<account-id>/workspaces'

Örnek çalışma alanı düzeyinde REST API isteği

Bu örnekte kimlik doğrulaması, belirtilen çalışma alanında kullanılabilir tüm kümeleri listelemek için kullanılır Bearer .

  • değerini Azure Databricks yönetilen hizmet sorumlusu veya Microsoft Entra Id yönetilen hizmet sorumlusu için Azure Databricks OAuth erişim belirteci ile değiştirin <oauth-access-token> .

  • değerini, biçimine adb-1111111111111111.1.azuredatabricks.netbenzer olan temel çalışma alanı URL'nizle değiştirin<workspace-URL>.

    export OAUTH_TOKEN=<oauth-access-token>
    
    curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
    'https://<workspace-URL>/api/2.0/clusters/list'
    

Ek kaynaklar