Aracılığıyla paylaş


OAuth kullanarak hizmet sorumlusuyla Azure Databricks kaynaklarına katılımsız erişim yetkisi verme

Bu konu başlığında, Azure Databricks CLI komutlarını otomatikleştirirken veya katılımsız bir işlemden çalıştırılacak koddan Azure Databricks REST API'lerini çağırırken Azure Databricks kaynaklarına erişim yetkisi vermeye yönelik adımlar ve ayrıntılar sağlanır.

Azure Databricks, kullanıcı arabirimi dışındaki Azure Databricks kaynaklarıyla etkileşim kurarken kullanıcı yetkilendirmesi ve kimlik doğrulaması için tercih edilen protokol olarak OAuth kullanır. Azure Databricks, OAuth kimlik doğrulama yönteminin bir parçası olarak oluşturulan erişim belirteçlerinin yenilenmesini otomatikleştirmek için birleşik istemci kimlik doğrulama aracı da sağlar. Bu hem hizmet sorumluları hem de kullanıcı hesapları için geçerlidir, ancak bir hizmet sorumlusunu işlemlerinin bir parçası olarak erişmesi gereken Azure Databricks kaynakları için uygun izinlere ve ayrıcalıklara sahip yapılandırmanız gerekir.

Daha üst düzey ayrıntılar için bkz. Azure Databricks kaynaklarına erişimi yetkilendirme.

Azure Databricks hizmet sorumlusu kullanırken yetkilendirme ve kimlik doğrulaması seçeneklerim nelerdir?

Bu konu başlığında yetkilendirme, temsilci seçme yoluyla belirli Azure Databricks kaynaklarına erişim anlaşması yapmak için kullanılan protokolü (OAuth) ifade eder. Kimlik Doğrulaması, kimlik doğrulama bilgilerinin temsili, iletimi ve doğrulamasını sağlayan mekanizmayı ifade eder; bu durumda, bu mekanizma erişim belirteçleriile çalışır.

Azure Databricks, bu kaynaklara erişim izinleri olan bir hizmet sorumlusu adına komut satırından veya koddan Azure Databricks hesabına ve çalışma alanı kaynaklarına erişimi etkinleştirmek için OAuth 2.0tabanlı yetkilendirme kullanır. Azure Databricks hizmet sorumlusu yapılandırıldıktan ve cli komutu çalıştırdığında veya REST API çağırdığında kimlik bilgileri doğrulandıktan sonra, hizmet sorumlusunun adına bundan sonra belirteç tabanlı kimlik doğrulaması gerçekleştirmek için katılan araca veya SDK'ya OAuth belirteci verilir. OAuth erişim belirtecinin bir saatlik bir ömrü vardır ve bu sürenin ardından söz konusu araç veya SDK, bir saat için de geçerli olan yeni bir belirteci almak için otomatik bir arka plan girişiminde bulunur.

Azure Databricks, OAuth ile hizmet sorumlusuna erişim yetkilendirmek için iki yolu destekler:

  • Databricks birleşik istemci kimlik doğrulaması desteğini kullanarak çoğunlukla otomatik olarak. Belirli Azure Databricks SDK'ları (Databricks Terraform SDK'sı gibi) ve araçları kullanıyorsanız bu basitleştirilmiş yaklaşımı kullanın. Desteklenen araçlar ve SDK'lar Databricks birleşik istemci kimlik doğrulamasında listelenir. Bu yaklaşım, otomasyon veya diğer katılımsız işlem senaryoları için uygundur.
  • El ile, doğrudan bir OAuth kod doğrulayıcı/sınama çifti ve yetkilendirme kodu oluşturarak ve bunları kullanarak yapılandırmanızda sağlayacağınız ilk OAuth belirtecini oluşturun. Databricks birleşik istemci kimlik doğrulaması tarafından desteklenen bir API kullanmıyorsanız bu yaklaşımı kullanın. Bu durumda, kullandığınız üçüncü taraf aracına veya API'ye özgü erişim belirteçlerinin yenilenmesini işlemek için kendi mekanizmanızı geliştirmeniz gerekebilir. Daha fazla ayrıntı için bkz. OAuth hizmet sorumlusu kimlik doğrulaması için erişim belirteçlerini el ile oluşturma ve kullanma.

Başlamadan önce bir Azure Databricks hizmet sorumlusu yapılandırmanız ve otomasyon kodunuz veya komutlarınız bunları istediğinde kullanması gereken kaynaklara erişmek için uygun izinleri atamanız gerekir.

Önkoşul: Hizmet sorumlusu oluşturma

Hesap yöneticileri ve çalışma alanı yöneticileri hizmet sorumluları oluşturabilir. Bu adım, Azure Databricks çalışma alanında hizmet sorumlusu oluşturmayı açıklar. Azure Databricks hesap konsoluyla ilgili ayrıntılar için bkz. Hesabınızda hizmet sorumlularını yönetme.

Ayrıca bir Microsoft Entra Id yönetilen hizmet sorumlusu oluşturabilir ve bunu Azure Databricks'e ekleyebilirsiniz. Daha fazla bilgi için bkz . Databricks ve Microsoft Entra ID hizmet sorumluları.

  1. Çalışma alanı yöneticisi olarak Azure Databricks çalışma alanında oturum açın.
  2. Azure Databricks çalışma alanının üst çubuğunda kullanıcı adınıza tıklayın ve ayarlarseçin.
  3. Kimlik ve erişim sekmesine tıklayın.
  4. Hizmet sorumluları'nın yanındaki Yönet'e tıklayın.
  5. Hizmet sorumlusu ekle'ye tıklayın.
  6. Arama kutusunda açılan oka tıklayın ve ardından Yeni ekle'ye tıklayın.
  7. Yönetim'in altında Databricks yönetilen'i seçin.
  8. Hizmet sorumlusu için bir ad girin.
  9. Ekle'yi tıklatın.

Hizmet sorumlusu hem çalışma alanınıza hem de Azure Databricks hesabınıza eklenir.

1. Adım: Hizmet sorumlunuza izin atama

  1. Ayrıntılar sayfasını açmak için hizmet sorumlunuzun adına tıklayın.
  2. 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.
  3. İ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.

2. Adım: Hizmet sorumlusu için OAuth sırrı oluşturma

Azure Databricks kaynaklarınıza erişim yetkisi vermek için OAuth'u kullanabilmeniz için önce kimlik doğrulaması için 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 yöneticileri ve çalışma alanı yöneticileri, hizmet sorumlusu için bir OAuth gizli dizisi oluşturabilir.

  1. Hizmet sorumlunuzun ayrıntılar sayfasında Gizli Diziler sekmesine tıklayın.

  2. OAuth gizli anahtarlarıaltında Gizli anahtar oluşturtıklayın.

    çalışma alanından OAuth gizli oluştur

  3. Görüntülenen Gizli Dizi ve İstemci Kimliği'ni kopyalayıp 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.

Hesap yöneticileri, hesap konsolundaki hizmet ilkesi ayrıntıları sayfasından bir OAuth gizli anahtarı da oluşturabilir.

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

  2. Kullanıcı yönetimi'ne tıklayın Hesap Konsolu kullanıcı yönetimi simgesi.

  3. Hizmet sorumluları sekmesinde hizmet sorumlunuzu seçin.

  4. OAuth gizli anahtarlarıaltında Gizli anahtar oluşturtıklayın.

    Hesapiçin OAuth gizli anahtarı oluştur

  5. Görüntülenen Gizli Dizi ve İstemci Kimliği'ni kopyalayıp Bitti'ye tıklayın.

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.

3. Adım: OAuth yetkilendirmesini kullanma

Birleşik istemci kimlik doğrulama aracıyla OAuth yetkilendirmesini kullanmak için aşağıdaki ilişkili ortam değişkenlerini, .databrickscfg alanları, Terraform alanlarını veya Config alanlarını ayarlamanız gerekir:

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

OAuth hizmet sorumlusu 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 azure databricks kaynaklarına erişimi yetkilendirme veya aracın ya da SDK'nın belgelerine bakın. 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'sine ayarlayın, https://accounts.azuredatabricks.net.
  • 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'siolarak ayarlayın, örneğin https://adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_CLIENT_ID
  • DATABRICKS_CLIENT_SECRET

Profil

Dosyanızda aşağıdaki alanlarla bir Azure Databricks .databrickscfg 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 Azure Databricks kaynaklarına erişimi yetkilendirme veya aracın ya da SDK'nın belgelerine bakın. 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 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 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.
  • .databrickscfg dosyanızdaki değerleri bu makalenin "Profil" bölümünde belirtildiği gibi ayarlayın.

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

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

Bağlan

Not

OAuth hizmet sorumlusu 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:

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

Databricks Connect istemcisini dosyanızdaki bu ortam değişkenleri veya değerlerle başlatmak için bkz. databricks Connectiçin işlem yapılandırması .

VS Code

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

  1. Azure Databricks çalışma alanı düzeyinde işlemler için .databrickscfg dosyanızdaki değerleri bu makalenin "Profil" bölümünde belirtildiği gibi 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ğin) girin ve tuşuna basınhttps://adb-1234567890123456.7.azuredatabricks.net.Enter
  4. Komut PaletiURL’niz için listeden hedef profilinizin adını seçin.

Daha fazla ayrıntı için bkz. Visual Studio Codeiçin Databricks uzantısı için yetkilendirmeyi ayarlama .

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 (retrieve yer tutucularını kendi uygulamanızla değiştirerek değerleri konsoldan veya HashiCorp Vaultgibi başka bir yapılandırma deposundan alın. Ayrıca bkz. Vault 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 (retrieve yer tutucularını kendi uygulamanızla değiştirerek değerleri konsoldan veya HashiCorp Vaultgibi başka bir yapılandırma deposundan alın. Ayrıca bkz. Vault 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, konsoldan veya retrievegibi başka bir yapılandırma deposundan değerleri almak için yer tutucularını kendi uygulamanızla değiştirerek aşağıdaki yapıyı 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, retrieve yer tutucularını kendi uygulamanızla değiştirerek konsoldan veya Azure KeyVaultgibi başka bir yapılandırma deposundan değerleri alın. 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 hizmet sorumlusu kimlik doğrulamasını uygulamamıştır.

Java

çalışma alanı düzeyindeki işlemlervarsayılan kimlik doğrulamasıkullanılır:

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

Doğrudan yapılandırma için (değerleri konsoldan veya retrievegibi başka bir yapılandırma deposundan almak için yer tutucularını kendi uygulamanızla değiştirin). 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 varsayılan kimlik doğrulamasıkullanılarak gerçekleştiriliyor:

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

Doğrudan yapılandırma için (değerleri konsoldan veya retrievegibi başka bir yapılandırma deposundan almak için yer tutucularını kendi uygulamanızla değiştirin). 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şlemlervarsayılan kimlik doğrulamasıkullanılır:

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

Doğrudan yapılandırma için (değerleri konsoldan veya retrievegibi başka bir yapılandırma deposundan almak için yer tutucularını kendi uygulamanızla değiştirin). 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 hizmet sorumlusu kimlik doğrulaması için erişim belirteçlerini el ile oluşturma ve kullanma

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

Databricks, istemci birleşik kimlik doğrulamasının kullanılmasını önerir, ancak Azure Databricks OAuth erişim belirteçlerini el ile oluşturmanız, yenilemeniz veya kullanmanız gerekiyorsa bu bölümdeki yönergeleri izleyin.

Hem hesap düzeyi REST API'leri hem de çalışma alanı düzeyinde REST API'leri için kimlik doğrulaması yapmak üzere OAuth erişim belirteci istemek için hizmet sorumlusunun istemci kimliğini ve OAuth gizli dizisini kullanın. Erişim belirtecinin süresi bir saat içinde dolacak. Süre sonundan sonra yeni bir 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:

  • Hizmet sorumlusunun erişimi olan hesaplar ve çalışma alanları içinde hesap düzeyinde ve çalışma alanı düzeyinde REST API'leri çağırmak hesap düzeyinde el ile bir erişim belirteci oluşturun.
  • Hizmet sorumlusunun erişimi olan çalışma alanlarından yalnızca birinde REST API'lerini çağırmak yalnızca bu çalışma alanı için çalışma alanı düzeyinde el ile bir erişim belirteci oluşturun.

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

Hesap düzeyinden oluşturulan OAuth erişim belirteci, hesaptaki Databricks REST API'lerinde ve hizmet sorumlusunun erişimi olan tüm çalışma alanlarında 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, hizmet sorumlusunun istemci kimliği (uygulama kimliği olarak da bilinir) ve oluşturduğunuz hizmet sorumlusunun OAuth gizli dizisi ile OAuth erişim belirteci istemek için gibi curl bir istemci kullanın. Kapsam, all-apis hizmet sorumlusuna erişim verilen tüm Databricks REST API'lerine erişmek için kullanılabilecek bir OAuth erişim belirteci istemektedir.

    • değerini önceki belirteç uç noktası URL'si ile değiştirin <token-endpoint-URL> .
    • değerini hizmet sorumlusunun uygulama kimliği olarak da bilinen istemci kimliğiyle değiştirin <client-id> .
    • değerini, oluşturduğunuz hizmet sorumlusunun 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…",
        "token_type": "Bearer",
        "expires_in": 3600
      }
    

    yanıttan öğesini access_token kopyalayın.

El ile çalışma alanı düzeyinde erişim belirteci oluşturma

Hizmet sorumlusu bir hesap yöneticisi veya diğer çalışma alanlarının üyesi olsa bile, çalışma alanı düzeyinden oluşturulan OAuth erişim belirteci 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, hizmet sorumlusunun istemci kimliği (uygulama kimliği olarak da bilinir) ve oluşturduğunuz hizmet sorumlusunun OAuth gizli dizisi ile OAuth erişim belirteci istemek için gibi curl bir istemci kullanın. Kapsam, all-apis 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 OAuth erişim belirteci istemektedir.

    • değerini önceki belirteç uç noktası URL'si ile değiştirin <token-endpoint-URL> .
    • değerini hizmet sorumlusunun uygulama kimliği olarak da bilinen istemci kimliğiyle değiştirin <client-id> .
    • değerini, oluşturduğunuz hizmet sorumlusunun 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…",
      "token_type": "Bearer",
      "expires_in": 3600
    }
    

    yanıttan öğesini access_token kopyalayın.

Databricks REST API'sini çağırma

Azure Databricks hesap düzeyinde REST API'lerinde kimlik doğrulaması yapmak ve çalışma alanı düzeyinde REST API'lerini için OAuth erişim belirtecini kullanabilirsiniz. Hizmet sorumlusunun hesap düzeyi REST API'lerini çağırmak için hesap yöneticisi ayrıcalıklarına sahip olması gerekir.

Bearer kimlik doğrulamasını kullanarak erişim belirtecini yetkilendirme üst bilgisine ekleyin. Bu yaklaşımı veya oluşturduğunuz herhangi bir istemciyle curl kullanabilirsiniz.

Örnek hesap düzeyinde REST API isteği

Bu örnekte, bir hesapla ilişkili tüm çalışma alanlarının listesini almak için Bearer kimlik doğrulaması gerçekleştirilir.

  • değerini, önceki adımda kopyaladığınız hizmet sorumlusunun OAuth erişim belirteciyle 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, belirtilen çalışma alanında kullanılabilir tüm kümeleri listelemek için Bearer kimlik doğrulaması gerçekleştirilir.

  • değerini, önceki adımda kopyaladığınız hizmet sorumlusunun OAuth erişim belirteciyle değiştirin <oauth-access-token> .
  • değerini, biçimine <workspace-URL>benzer olan temel çalışma alanı URL'nizle değiştirindbc-a1b2345c-d6e7.cloud.databricks.com.
export OAUTH_TOKEN=<oauth-access-token>

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

Ek kaynaklar