Aracılığıyla paylaş


MS Entra hizmet sorumlusu kimlik doğrulaması

MS Entra hizmet sorumlusu kimlik doğrulaması, kimlik doğrulaması için MS Entra hizmet sorumlusunun kimlik bilgilerini kullanır. Azure Databricks için hizmet sorumluları oluşturmak ve yönetmek için bkz:

Not

Databricks, çoğu senaryoda MS Entra hizmet sorumlusu kimlik doğrulaması yerine OAuth makineden makineye (M2M) kimlik doğrulamasını kullanmanızı önerir. Bunun nedeni, OAuth M2M kimlik doğrulamasının yalnızca Azure Databricks ile kimlik doğrulaması yaparken daha güçlü olan Azure Databricks OAuth erişim belirteçlerini kullanmasıdır.

MS Entra hizmet sorumlusu kimlik doğrulamasını yalnızca Azure Databricks ve diğer Azure kaynaklarıyla aynı anda kimlik doğrulaması yapmanız gereken durumlarda kullanmanız gerekir.

MS Entra hizmet sorumlusu kimlik doğrulaması yerine OAuth M2M kimlik doğrulamasını kullanmak için bu makaleyi atlayın ve OAuthkullanarak hizmet sorumlusuyla Azure Databricks kaynaklarına katılımsız erişim yetkilendirme bölümüne bakın.

MS Entra hizmet sorumluları, Azure databricks'in kimlik doğrulaması için de desteklediği Azure kaynakları için yönetilen kimliklerden farklıdır. Azure Databricks kimlik doğrulaması için MS Entra hizmet sorumluları yerine Azure kaynakları için yönetilen kimliklerin nasıl kullanılacağını öğrenmek için, Azure Databricks otomasyonu için Azure yönetilen kimliklerini ayarlama ve kimlik doğrulamasını kullanmabölümüne bakın.

Özellikle Azure DevOps ile Databricks'te Microsoft Entra kimlik doğrulaması hakkında ayrıntılı bilgi için bkz . Databricks üzerinde Azure DevOps ile kimlik doğrulaması.

Azure Databricks ile MS Entra hizmet sorumlusu 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 konağı.

    • Hesap işlemleri için belirtin https://accounts.azuredatabricks.net.

    • Çalışma alanı işlemleri için çalışma alanı başına URL'yi.

      MS Entra hizmet sorumlusu çalışma alanına henüz eklenmemişse, bunun yerine Azure kaynak kimliğini belirtin. Bu durumda, MS Entra hizmet sorumlusunun Azure kaynağında en az Katkıda Bulunan veya Sahip izinlerine sahip olması gerekir.

  • Hesap işlemleri için Azure Databricks hesap kimliği.

  • Azure kaynak kimliği.

  • MS Entra hizmet sorumlusunun kiracı kimliği.

  • MS Entra hizmet sorumlusunun istemci kimliği.

  • MS Entra hizmet sorumlusunun istemci gizli dizisi.

Azure Databricks ile MS Entra 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:

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'nizin değeri olarak https://accounts.azuredatabricks.netayarlayın.

    • 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 URLdeğerine ayarlayın, örneğin https://adb-1234567890123456.7.azuredatabricks.net.
    • ARM_TENANT_ID
    • ARM_CLIENT_ID
    • ARM_CLIENT_SECRET

    Çalışma alanı düzeyindeki işlemler için, MS Entra hizmet sorumlusu çalışma alanına henüz eklenmemişse, çalışma alanı URL'si yerine DATABRICKS_AZURE_RESOURCE_ID Azure Databricks çalışma alanı için Azure kaynak kimliğiyle birlikte belirtinHOST. Bu durumda, MS Entra hizmet sorumlusunun Azure Databricks çalışma alanı için Azure kaynağında en az Katkıda Bulunan veya Sahip izinlerine sahip olması gerekir.

Dosyanızda aşağıdaki alanlarla bir Azure Databricks .databrickscfg oluşturun veya tanımlayın. 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. İ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>
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 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>
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üzeyindeki işlemler için, MS Entra hizmet sorumlusu çalışma alanına henüz eklenmemişse, çalışma alanı URL'si yerine azure_workspace_resource_id Azure Databricks çalışma alanı için Azure kaynak kimliğiyle birlikte belirtinhost. Bu durumda, MS Entra hizmet sorumlusunun Azure Databricks çalışma alanı için Azure kaynağında en az Katkıda Bulunan veya Sahip izinlerine sahip olması gerekir.

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. Microsoft Entra ID hizmet sorumlusu kimlik doğrulaması.

Not

MS 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 üzeri için Databricks Connect.

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ı .

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 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 .

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, konsoldan veya retrievegibi başka bir yapılandırma deposundan değerleri almak amacıyla, yer tutucularını kendi uygulamanızla değiştirin. 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>
  azure_tenant_id     = <retrieve-azure-tenant-id>
  azure_client_id     = <retrieve-azure-client-id>
  azure_client_secret = <retrieve-azure-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, konsoldan veya retrievegibi başka bir yapılandırma deposundan değerleri almak amacıyla, yer tutucularını kendi uygulamanızla değiştirin. 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>
  azure_tenant_id     = <retrieve-azure-tenant-id>
  azure_client_id     = <retrieve-azure-client-id>
  azure_client_secret = <retrieve-azure-client-secret>
}

Çalışma alanı düzeyindeki işlemler için, MS Entra hizmet sorumlusu çalışma alanına henüz eklenmemişse, çalışma alanı URL'si yerine azure_workspace_resource_id Azure Databricks çalışma alanı için Azure kaynak kimliğiyle birlikte belirtinhost. Bu durumda, MS Entra hizmet sorumlusunun Azure Databricks çalışma alanı için Azure kaynağında en az Katkıda Bulunan veya Sahip izinlerine sahip olması gerekir.

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

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 (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:

from databricks.sdk import AccountClient

a = AccountClient(
  host                = retrieve_account_console_url(),
  account_id          = retrieve_account_id(),
  azure_tenant_id     = retrieve_azure_tenant_id(),
  azure_client_id     = retrieve_azure_client_id(),
  azure_client_secret = retrieve_azure_client_secret()
)
# ...

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

from databricks.sdk import WorkspaceClient

w = 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:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(
  host                = retrieve_workspace_url(),
  azure_tenant_id     = retrieve_azure_tenant_id(),
  azure_client_id     = retrieve_azure_client_id(),
  azure_client_secret = retrieve_azure_client_secret()
)
# ...

Çalışma alanı düzeyindeki işlemler için, MS Entra hizmet sorumlusu çalışma alanına henüz eklenmemişse, çalışma alanı URL'si yerine azure_workspace_resource_id Azure Databricks çalışma alanı için Azure kaynak kimliğiyle birlikte belirtinhost. Bu durumda, MS Entra hizmet sorumlusunun Azure Databricks çalışma alanı için Azure kaynağında en az Katkıda Bulunan veya Sahip izinlerine sahip olması gerekir.

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:

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 (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 com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveAccountConsoleUrl())
  .setAccountId(retrieveAccountId())
  .setAzureTenantId(retrieveAzureTenantId())
  .setAzureClientId(retrieveAzureClientId())
  .setAzureClientSecret(retrieveAzureClientSecret())
AccountClient a = new AccountClient(cfg);
// ...

Ç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 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())
  .setAzureTenantId(retrieveAzureTenantId())
  .setAzureClientId(retrieveAzureClientId())
  .setAzureClientSecret(retrieveAzureClientSecret())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

Çalışma alanı düzeyindeki işlemler için, MS Entra hizmet sorumlusu çalışma alanına henüz eklenmemişse, çalışma alanı URL'si yerine setAzureWorkspaceResourceId Azure Databricks çalışma alanı için Azure kaynak kimliğiyle birlikte belirtinsetHost. Bu durumda, MS Entra hizmet sorumlusunun Azure Databricks çalışma alanı için Azure kaynağında en az Katkıda Bulunan veya Sahip izinlerine sahip olması gerekir.

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:

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 (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"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:              retrieveAccountConsoleUrl(),
  AccountId:         retrieveAccountId(),
  AzureTenantId:     retrieveAzureTenantId(),
  AzureClientId:     retrieveAzureClientId(),
  AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...

Çalışma alanı düzeyindeki 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 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"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:              retrieveWorkspaceUrl(),
  AzureTenantId:     retrieveAzureTenantId(),
  AzureClientId:     retrieveAzureClientId(),
  AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...

Çalışma alanı düzeyindeki işlemler için, MS Entra hizmet sorumlusu çalışma alanına henüz eklenmemişse, çalışma alanı URL'si yerine AzureWorkspaceResourceId Azure Databricks çalışma alanı için Azure kaynak kimliğiyle birlikte belirtinHost. Bu durumda, MS Entra hizmet sorumlusunun Azure Databricks çalışma alanı için Azure kaynağında en az Katkıda Bulunan veya Sahip izinlerine sahip olması gerekir.

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.