Microsoft Entra hizmet sorumlularıyla kimlik doğrulaması

Microsoft Entra hizmet sorumlusu kimlik doğrulaması, kimlik doğrulaması için bir Microsoft Entra hizmet sorumlusunun kimlik bilgilerini kullanır. Azure Databricks için hizmet sorumluları oluşturmak ve yönetmek hakkında bilgi için şu adresi ziyaret edin:

Uyarı

Databricks, çoğu senaryoda OAuth makineden makineye (M2M) kimlik doğrulaması kullanılmasını önerir. OAuth M2M, yalnızca Azure Databricks ile kimlik doğrulaması yaparken daha güçlü olan OAuth erişim belirteçlerini kullanır. Microsoft Entra hizmet sorumlusu kimlik doğrulamasını yalnızca Azure Databricks ve diğer Azure kaynaklarıyla aynı anda kimlik doğrulaması yapmanız gerektiğinde kullanın.

Daha fazla bilgi için bkz . Azure Databricks ile Azure yönetilen kimlikleri kullanma ve Azure Databricksüzerinde Azure DevOps ile kimlik doğrulaması yapma.

Azure Databricks ile Microsoft Entra hizmet asıl kimlik doğrulamasını yapılandırmak için aşağıdaki ilişkili ortam değişkenlerini, .databrickscfg alanlarını, Terraform alanlarını veya Config alanlarını ayarlamanız gerekir:

  • Azure Databricks ana bilgisayarı

    • Hesap işlemleri için, https://accounts.azuredatabricks.net belirtin.
    • Databricks, çalışma alanı işlemleri için çalışma alanı başına URL belirtilmesini ve Microsoft Entra hizmet sorumlusunun çalışma alanına açıkça atanmasını önerir. Alternatif olarak, Azure kaynak kimliğini belirtin. Bu yaklaşım, Azure kaynağında Katkıda Bulunan veya Sahip izinleri ya da belirli Azure Databricks izinlerine sahip özel bir rol gerektirir.
  • Hesap işlemleri için, Azure Databricks hesap kimliği.

  • Azure kaynak kimliği.

  • Microsoft Entra hizmet sorumlusunun kiracı kimliği.

  • Microsoft Entra hizmet sorumlusunun istemci kimliği.

  • Microsoft Entra hizmet kuralının istemci gizli anahtarı.

Azure Databricks ile Microsoft Entra hizmet sorumlusu kimlik doğrulamasını gerçekleştirmek için, katılan aracı veya SDK'yı temel alarak kodunuzun içinde aşağıdakileri tümleştirin:

Ortam değişkenleri

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 veya aracın ya da SDK'nın belgelerine erişimi yetkilendirme. Ayrıca bkz . Birleşik kimlik doğrulaması veKimlik doğrulama yöntemi önceliği için ortam değişkenleri ve alanları.

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

  • DATABRICKS_HOST, Azure Databricks hesap konsolu URL'nizin değeri olan https://accounts.azuredatabricks.net ile ayarlanır.
  • DATABRICKS_ACCOUNT_ID
  • ARM_TENANT_ID
  • ARM_CLIENT_ID
  • ARM_CLIENT_SECRET

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

  • DATABRICKS_HOST, Azure Databricks çalışma alanı başına URL değerine ayarlanır, örneğin https://adb-1234567890123456.7.azuredatabricks.net.
  • ARM_TENANT_ID
  • ARM_CLIENT_ID
  • ARM_CLIENT_SECRET

Databricks, DATABRICKS_HOST kullanarak ve Microsoft Entra hizmet sorumlusunu açıkça çalışma alanına atama yapılmasını önerir. Alternatif olarak Azure kaynak kimliği ile kullanın DATABRICKS_AZURE_RESOURCE_ID . Bu yaklaşım, Azure kaynağında Katkıda Bulunan veya Sahip izinleri ya da belirli Azure Databricks izinlerine sahip özel bir rol gerektirir.

Yapılandırma profilleri

Azure Databricks yapılandırma profili oluşturun veya belirleyin ve .databrickscfg dosyanızda aşağıdaki alanları girin. Profil oluşturduğunuzda, 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 . Birleşik kimlik doğrulaması veKimlik doğrulama yöntemi önceliği için ortam değişkenleri ve alanları.

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>
azure_tenant_id     = <azure-service-principal-tenant-id>
azure_client_id     = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>

çalışma alanı düzeyinde işlemler için dosyanızda aşağıdaki değerleri ayarlayın. Bu durumda ana bilgisayar, Azure Databricks her çalışmaya özgü URL'dir, örneğin https://adb-1234567890123456.7.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host                = <workspace-url>
azure_tenant_id     = <azure-service-principal-tenant-id>
azure_client_id     = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>

Databricks, host kullanarak ve Microsoft Entra hizmet sorumlusunu açıkça çalışma alanına atama yapılmasını önerir. Alternatif olarak Azure kaynak kimliği ile kullanın azure_workspace_resource_id . Bu yaklaşım, Azure kaynağında Katkıda Bulunan veya Sahip izinleri ya da belirli Azure Databricks izinlerine sahip özel bir rol gerektirir.

Databricks Komut Satırı Arayüzü (CLI)

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

  • Ortam sekmesinde belirtildiği gibi ortam değişkenlerini ayarlayın.
  • .databrickscfg değerleri Profil sekmesinde belirtildiği gibi ayarlayın.

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

Ayrıca bkz Microsoft Entra ID service principal authentication.

Databricks Connect

Uyarı

Microsoft Entra hizmet sorumlusu kimlik doğrulaması aşağıdaki Databricks Connect sürümlerinde desteklenir:

  • Python için, Databricks Runtime 13.1 ve üzeri için Databricks Connect.
  • Scala için, Databricks Runtime 13.3 LTS ve üstü için Databricks Connect.

Databricks Connect için şunları yapabilirsiniz:

  • Yapılandırma profili kullanın: Dosyanızda .databrickscfg, Profil sekmesinde açıklandığı gibi çalışma alanı düzeyi değerleri ayarlayın. ayrıca öğesini cluster_id çalışma alanı örneği URL'niz olarak ayarlayın.
  • Ortam değişkenlerini kullanın:Ortam sekmesinde gösterildiği gibi aynı değerleri ayarlayın. ayrıca öğesini DATABRICKS_CLUSTER_ID çalışma alanı örneği URL'niz olarak ayarlayın.

içindeki .databrickscfg değerler ortam değişkenlerinden önceliklidir.

Databricks Connect'i bu ayarlarla başlatmak için bkz. Databricks Connect için işlem yapılandırması.

Visual Studio Code uzantısı

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

  1. .databrickscfg sekmesinde belirtildiği gibi Azure Databricks çalışma alanı düzeyinde işlemler için dosyanızdaki değerleri ayarlayın.
  2. Visual Studio Code için Databricks eklentisinin Yapılandırma panelinde, Databricks'i Yapılandır'a tıklayın.
  3. Komut Paleti içinde, Databricks Host için her çalışma alanı URL'nizi girin, örneğin https://adb-1234567890123456.7.azuredatabricks.net, ve ardından Enter tuşuna basın.
  4. Komut Paleti'nde, URL'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 yer tutucuları konsoldaki veya HashiCorp Vault gibi başka bir yapılandırma deposundaki değerlerle değiştirin. Ayrıca Kasa Sağlayıcısı bölümüne bkz. Bu durumda Azure Databricks hesap konsolu URL'si şöyledir https://accounts.azuredatabricks.net:

provider "databricks" {
  alias               = "accounts"
  host                = <your-account-console-url>
  account_id          = <your-account-id>
  azure_tenant_id     = <your-azure-tenant-id>
  azure_client_id     = <your-azure-client-id>
  azure_client_secret = <your-azure-client-secret>
}

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

provider "databricks" {
  alias = "workspace"
}

Doğrudan yapılandırma için yer tutucuları konsoldaki veya HashiCorp Vault gibi başka bir yapılandırma deposundaki değerlerle değiştirin. Ayrıca Kasa Sağlayıcısı bölümüne bkz. Bu durumda ana bilgisayar, Azure Databricks her çalışmaya özgü URL'dir, örneğin https://adb-1234567890123456.7.azuredatabricks.net:

provider "databricks" {
  alias               = "workspace"
  host                = <your-workspace-url>
  azure_tenant_id     = <your-azure-tenant-id>
  azure_client_id     = <your-azure-client-id>
  azure_client_secret = <your-azure-client-secret>
}

Databricks, host kullanarak ve Microsoft Entra hizmet sorumlusunu açıkça çalışma alanına atama yapılmasını önerir. Alternatif olarak Azure kaynak kimliği ile kullanın azure_workspace_resource_id . Bu yaklaşım, Azure kaynağında Katkıda Bulunan veya Sahip izinleri ya da belirli Azure Databricks izinlerine sahip özel bir rol gerektirir.

Detabricks Terraform sağlayıcısı ile kimlik doğrulama hakkında daha fazla bilgi için Kimlik Doğrulama bölümüne bakın.

Python için Databricks SDK'sı

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

from databricks.sdk import AccountClient

a = AccountClient()
# ...

Doğrudan yapılandırma için işlev çağrılarını konsolundan veya Azure KeyVault gibi başka bir yapılandırma deposundan değer alan kodla değiştirin. Bu durumda Azure Databricks hesap konsolu URL'si şöyledir https://accounts.azuredatabricks.net:

from databricks.sdk import AccountClient

a = AccountClient(
  host                = get_account_console_url(),
  account_id          = get_account_id(),
  azure_tenant_id     = get_azure_tenant_id(),
  azure_client_id     = get_azure_client_id(),
  azure_client_secret = get_azure_client_secret()
)
# ...

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

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

Doğrudan yapılandırma için işlev çağrılarını konsolundan veya Azure KeyVault gibi başka bir yapılandırma deposundan değer alan kodla değiştirin. Bu durumda ana bilgisayar, Azure Databricks her çalışmaya özgü URL'dir, örneğin https://adb-1234567890123456.7.azuredatabricks.net:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(
  host                = get_workspace_url(),
  azure_tenant_id     = get_azure_tenant_id(),
  azure_client_id     = get_azure_client_id(),
  azure_client_secret = get_azure_client_secret()
)
# ...

Databricks, host kullanarak ve Microsoft Entra hizmet sorumlusunu açıkça çalışma alanına atama yapılmasını önerir. Alternatif olarak Azure kaynak kimliği ile kullanın azure_workspace_resource_id . Bu yaklaşım, Azure kaynağında Katkıda Bulunan veya Sahip izinleri ya da belirli Azure Databricks izinlerine sahip özel bir rol gerektirir.

Python kullanan ve Databricks 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:

Java için Databricks SDK'sı

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

import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...

Doğrudan yapılandırma için işlev çağrılarını konsolundan veya Azure KeyVault gibi başka bir yapılandırma deposundan değer alan kodla değiştirin. Bu durumda Azure Databricks hesap konsolu URL'si şöyledir https://accounts.azuredatabricks.net:

import com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(getAccountConsoleUrl())
  .setAccountId(getAccountId())
  .setAzureTenantId(getAzureTenantId())
  .setAzureClientId(getAzureClientId())
  .setAzureClientSecret(getAzureClientSecret())
AccountClient a = new AccountClient(cfg);
// ...

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

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

Doğrudan yapılandırma için işlev çağrılarını konsolundan veya Azure KeyVault gibi başka bir yapılandırma deposundan değer alan kodla değiştirin. Bu durumda ana bilgisayar, Azure Databricks her çalışmaya özgü URL'dir, örneğin https://adb-1234567890123456.7.azuredatabricks.net:

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(getWorkspaceUrl())
  .setAzureTenantId(getAzureTenantId())
  .setAzureClientId(getAzureClientId())
  .setAzureClientSecret(getAzureClientSecret())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

Databricks, setHost kullanarak ve Microsoft Entra hizmet sorumlusunu açıkça çalışma alanına atama yapılmasını önerir. Alternatif olarak Azure kaynak kimliği ile kullanın setAzureWorkspaceResourceId . Bu yaklaşım, Azure kaynağında Katkıda Bulunan veya Sahip izinleri ya da belirli Azure Databricks izinlerine sahip özel bir rol gerektirir.

Java kullanan ve Databricks 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 için Databricks SDK'sı

Hesap düzeyinde 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 işlev çağrılarını konsolundan veya Azure KeyVault gibi başka bir yapılandırma deposundan değer alan kodla değiştirin. Bu durumda Azure Databricks hesap konsolu URL'si şöyledir https://accounts.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:              getAccountConsoleUrl(),
  AccountId:         getAccountId(),
  AzureTenantId:     getAzureTenantId(),
  AzureClientId:     getAzureClientId(),
  AzureClientSecret: getAzureClientSecret(),
}))
// ...

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

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

Doğrudan yapılandırma için işlev çağrılarını konsolundan veya Azure KeyVault gibi başka bir yapılandırma deposundan değer alan kodla değiştirin. Bu durumda ana bilgisayar, Azure Databricks her çalışmaya özgü URL'dir, örneğin https://adb-1234567890123456.7.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:              getWorkspaceUrl(),
  AzureTenantId:     getAzureTenantId(),
  AzureClientId:     getAzureClientId(),
  AzureClientSecret: getAzureClientSecret(),
}))
// ...

Databricks, Host kullanarak ve Microsoft Entra hizmet sorumlusunu açıkça çalışma alanına atama yapılmasını önerir. Alternatif olarak Azure kaynak kimliği ile kullanın AzureWorkspaceResourceId . Bu yaklaşım, Azure kaynağında Katkıda Bulunan veya Sahip izinleri ya da belirli Azure Databricks izinlerine sahip özel bir rol gerektirir.

Databricks araçları ve Go kullanan SDK'lar ile Databricks istemci birleşik kimlik doğrulaması uygulamak hakkında daha fazla bilgi için Azure Databricks hesabınız veya çalışma alanınızla Databricks SDK for Go'yu kimlik doğrulama konusuna bakın.

Ek kaynaklar