Aracılığıyla paylaş


Databricks JDBC Sürücüsü (Simba) için kimlik doğrulama ayarları

Uyarı

Bu sayfa, sürüm 3'ün altındaki Databricks JDBC sürücü sürümleri için geçerlidir. Databricks JDBC sürücüsü sürüm 3 ve üzeri için bkz. Databricks JDBC Sürücüsü.

Bu sayfada Databricks JDBC Sürücüsü için Azure Databricks kimlik doğrulama ayarlarının nasıl yapılandırıldığı açıklanır.

Databricks JDBC Sürücüsü aşağıdaki Azure Databricks kimlik doğrulama türlerini destekler:

Microsoft Entra Id belirteci

ODBC ve JDBC sürücüleri 2.6.15 ve üzeri bir Azure Databricks kullanıcısı veya Microsoft Entra ID hizmet sorumlusu için Microsoft Entra Id belirteçlerini destekler.

Microsoft Entra ID erişim belirteci oluşturmak için aşağıdakileri yapın:

Microsoft Entra Id erişim belirteçlerinin varsayılan ömrü yaklaşık bir saattir. Mevcut bir oturum için erişim belirtecini bağlantıyı kesmeden yenilemek amacıyla, Yenileme belirteçleri bölümünde kodu program aracılığıyla çalıştırın. Yönergeler için Databricks JDBC Sürücü Kılavuzu'nda OAuth 2.0 kullanma bölümüne bakın.

Microsoft Entra Id belirtecini kullanarak kimlik doğrulaması yapmak için aşağıdaki yapılandırmayı ayarlayın.

Eklenmiş genel yapılandırma özelliklerine ve hassas kimlik bilgileri özelliklerine sahip bir JDBC bağlantı URL'si için:

jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=0;Auth_AccessToken=<microsoft-entra-id-token>

JDBC bağlantı URL'si dışında ayarlanmış genel yapılandırma özellikleri ve hassas kimlik bilgileri özelliklerine sahip Java kodu için:

// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "0");
p.put("Auth_AccessToken", "<microsoft-entra-id-token>");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...

Daha fazla bilgi için Databricks JDBC Sürücü Kılavuzu'ndaki Belirteç Geçişi bölümüne (HTML veya PDF) bakın.

OAuth 2.0 belirteçleri

JDBC sürücüsü 2.6.36 ve üzeri bir Microsoft Entra ID hizmet sorumlusu için OAuth 2.0 belirtecini destekler. Bu, OAuth 2.0 belirteci geçiş kimlik doğrulaması olarak da bilinir.

  • Microsoft Entra ID hizmet sorumlusu için belirteç geçiş kimlik doğrulaması için OAuth 2.0 belirteci oluşturmak için bkz. OAuth M2M erişim belirteçlerini el ile oluşturma. Hizmet sorumlusunun OAuth access_token değerini not edin.
  • Microsoft Entra ID yönetilen bir hizmet ilkesi oluşturmak için bkz. Hizmet ilkeleri.

Önemli

JDBC sürücüsü 2.6.36 ve üzeri, OAuth 2.0 belirteçleri oluşturmak için Azure Databricks OAuth gizli dizilerinin kullanılmasını destekler. Microsoft Entra ID sırları desteklenmiyor.

OAuth 2.0 belirteçlerinin varsayılan ömrü 1 saattir. Yeni bir OAuth 2.0 belirteci oluşturmak için bu işlemi yineleyin.

OAuth 2.0 belirteci geçiş kimlik doğrulamasını kullanarak kimlik doğrulaması yapmak için aşağıdaki yapılandırmayı ayarlayın.

Eklenmiş genel yapılandırma özelliklerine ve hassas kimlik bilgileri özelliklerine sahip bir JDBC bağlantı URL'si için:

jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=0;Auth_AccessToken=<oauth-token>

JDBC bağlantı URL'si dışında ayarlanmış genel yapılandırma özellikleri ve hassas kimlik bilgileri özelliklerine sahip Java kodu için:

// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "0");
p.put("Auth_AccessToken", "<oauth-token>");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
  • Önceki URL veya Java kodunda <oauth-token> öğesini Azure Databricks OAuth belirteci ile değiştirin. (Microsoft Entra ID belirteçleri, OAuth 2.0 belirteci geçişi kimlik doğrulaması için desteklenmez.)
  • Değerleri almak için <server-hostname> ve <http-path> bkz. Databricks JDBC Sürücüsü (Simba) için işlem ayarları.

Daha fazla bilgi için Databricks JDBC Sürücü Kılavuzu'ndaki Belirteç Geçişi bölümüne (HTML veya PDF) bakın.

OAuth kullanıcı-makine arası (U2M) kimlik doğrulaması

JDBC sürücüsü 2.6.36 ve üzeri bir Azure Databricks kullanıcısı için OAuth kullanıcıdan makineye (U2M) kimlik doğrulamasını destekler. Bu, OAuth 2.0 tarayıcı tabanlı kimlik doğrulaması olarak da bilinir.

OAuth U2M veya OAuth 2.0 tarayıcı tabanlı kimlik doğrulamasının önkoşulları yoktur. OAuth 2.0 belirteçlerinin varsayılan ömrü 1 saattir. OAuth U2M veya OAuth 2.0 tarayıcı tabanlı kimlik doğrulaması, süresi dolan OAuth 2.0 belirteçlerini sizin için otomatik olarak yenilemelidir.

Uyarı

OAuth U2M veya OAuth 2.0 tarayıcı tabanlı kimlik doğrulaması yalnızca yerel olarak çalışan uygulamalarla çalışır. Sunucu tabanlı veya bulut tabanlı uygulamalarla çalışmaz.

OAuth kullanıcıdan makineye (U2M) veya OAuth 2.0 tarayıcı tabanlı kimlik doğrulamasını kullanarak kimlik doğrulaması yapmak için aşağıdaki yapılandırmayı ayarlayın.

Eklenmiş genel yapılandırma özelliklerine ve hassas kimlik bilgileri özelliklerine sahip bir JDBC bağlantı URL'si için:

jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=2;TokenCachePassPhrase=<passphrase>;EnableTokenCache=0

JDBC bağlantı URL'si dışında ayarlanmış genel yapılandırma özellikleri ve hassas kimlik bilgileri özelliklerine sahip Java kodu için:

// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "2")
p.put("TokenCachePassPhrase", "<passphrase>");
p.put("EnableTokenCache", "0");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...

Daha fazla bilgi için Databricks JDBC Sürücü Kılavuzu'ndaki Tarayıcı Tabanlı Kimlik Doğrulamasını Kullanma bölümüne (HTML veya PDF) bakın.

Microsoft Entra Id OAuth kullanıcıdan makineye (U2M) kimlik doğrulaması

JDBC sürücüsü 2.7.1 ve üzeri bir Azure Databricks kullanıcısı için Microsoft Entra ID OAuth kullanıcıdan makineye (U2M) kimlik doğrulamasını destekler. Bu, OAuth 2.0 tarayıcı tabanlı kimlik doğrulaması olarak da bilinir.

OAuth U2M veya OAuth 2.0 tarayıcı tabanlı kimlik doğrulamasının önkoşulları yoktur. OAuth 2.0 belirteçlerinin varsayılan ömrü 1 saattir. OAuth U2M veya OAuth 2.0 tarayıcı tabanlı kimlik doğrulaması, süresi dolan OAuth 2.0 belirteçlerini sizin için otomatik olarak yenilemelidir.

Uyarı

OAuth U2M veya OAuth 2.0 tarayıcı tabanlı kimlik doğrulaması yalnızca yerel olarak çalışan uygulamalarla çalışır. Sunucu tabanlı veya bulut tabanlı uygulamalarla çalışmaz.

Microsoft Entra Id OAuth kullanıcıdan makineye (U2M) kullanarak kimlik doğrulaması yapmak için OAuth istemcisinin (uygulama) Microsoft Entra Id'ye kayıtlı olması gerekir. Bkz. Microsoft Entra Id'ye istemci uygulaması kaydetme. Ardından aşağıdaki yapılandırmayı ayarlayın:

Eklenmiş genel yapılandırma özelliklerine ve hassas kimlik bilgileri özelliklerine sahip bir JDBC bağlantı URL'si için:

jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=2;TokenCachePassPhrase=<passphrase>;EnableTokenCache=0;OIDCDiscoveryEndpoint=<endpoint>;EnableOIDCDiscovery=true

JDBC bağlantı URL'si dışında ayarlanmış genel yapılandırma özellikleri ve hassas kimlik bilgileri özelliklerine sahip Java kodu için:

// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "2")
p.put("TokenCachePassPhrase", "<passphrase>");
p.put("EnableTokenCache", "0");
p.put("OIDCDiscoveryEndpoint", "https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration");
p.put("EnableOIDCDiscovery", "true");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...

Daha fazla bilgi için Databricks JDBC Sürücü Kılavuzu'ndaki Tarayıcı Tabanlı Kimlik Doğrulamasını Kullanma bölümüne (HTML veya PDF) bakın.

OAuth makineler arası (M2M) kimlik doğrulaması

JDBC sürücüsü 2.6.36 ve üzeri bir Microsoft Entra ID hizmet sorumlusu için OAuth makineden makineye (M2M) kimlik doğrulamasını destekler. Bu, OAuth 2.0 istemci kimlik bilgileri kimlik doğrulaması olarak da bilinir.

Uyarı

JDBC 2.6.40.1071, özel bağlantı çalışma alanları için M2M kullanılarak bağlanmanın desteklenmediği eski sürümlerdeki sorunu giderir.

OAuth M2M veya OAuth 2.0 istemci kimlik bilgileri kimlik doğrulamasını yapılandırmak için aşağıdakileri yapın:

  1. Microsoft Entra ID yönetilen bir hizmet ilkesi oluşturun ve ardından bunu Azure Databricks hesaplarına ve çalışma alanlarına atayın. Bunu yapmak için bkz. Hizmet sorumluları.

  2. Hizmet ilkesi için bir Azure Databricks OAuth gizli anahtarı oluşturun. Bunu yapmak için bkz. OAuth M2M erişim belirteçlerini el ile oluşturma.

  3. Hizmet sorumlusuna kümenize veya ambarınıza erişim verin. Bkz Hesaplama izinleri veya SQL veri deposu yönetme.

OAuth makineden makineye (M2M) veya OAuth 2.0 istemci kimlik bilgileri kimlik doğrulaması kullanarak kimlik doğrulaması yapmak için aşağıdaki yapılandırmayı ayarlayın.

Eklenmiş genel yapılandırma özelliklerine ve hassas kimlik bilgileri özelliklerine sahip bir JDBC bağlantı URL'si için:

jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=1;OAuth2ClientId=<service-principal-application-id>;OAuth2Secret=<service-principal-oauth-secret>

JDBC bağlantı URL'si dışında ayarlanmış genel yapılandırma özellikleri ve hassas kimlik bilgileri özelliklerine sahip Java kodu için:

// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "1");
p.put("OAuth2ClientId", "<service-principal-application-id>");
p.put("OAuth2Secret", "<service-principal-oauth-secret>");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
  • Yukarıdaki URL veya Java kodunda aşağıdaki yer tutucuları değiştirin:
    • değerini hizmet sorumlusunun <service-principal-application-id> değeriyle değiştirin.
    • <service-principal-oauth-secret> öğesini hizmet sorumlusunun Azure Databricks OAuth gizli dizisiyle değiştirin. (Microsoft Entra ID sırları, OAuth M2M veya OAuth 2.0 istemci kimlik bilgileri doğrulaması için desteklenmez.)
    • Değerleri almak için <server-hostname> ve <http-path> bkz. Databricks JDBC Sürücüsü (Simba) için işlem ayarları.

Daha fazla bilgi için Databricks JDBC Sürücü Kılavuzu'ndaki (HTML veya PDF) M2M Tabanlı Kimlik Doğrulamasını Kullanma bölümüne bakın.

Microsoft Entra Id OAuth makineden makineye (M2M) kimlik doğrulaması

JDBC sürücüsü 2.7.1 ve üzeri bir Microsoft Entra ID hizmet sorumlusu için Microsoft Entra ID OAuth makineden makineye (M2M) kimlik doğrulamasını destekler. Bu, OAuth 2.0 istemci kimlik bilgileri kimlik doğrulaması olarak da bilinir.

Entra Id OAuth M2M kimlik doğrulamasını yapılandırmak için aşağıdakileri yapın:

  1. Microsoft Entra ID yönetilen bir hizmet ilkesi oluşturun ve ardından bunu Azure Databricks hesaplarına ve çalışma alanlarına atayın. Bunu yapmak için bkz. Hizmet sorumluları.

  2. Hizmet asıl kimliği için bir Entra ID OAuth gizli anahtar oluşturun. Bunu yapmak için bkz. OAuth M2M erişim belirteçlerini el ile oluşturma.

  3. Hizmet sorumlusuna kümenize veya ambarınıza erişim verin. Bkz Hesaplama izinleri veya SQL veri deposu yönetme.

Entra ID OAuth makineden makineye (M2M) kullanarak kimlik doğrulaması yapmak için aşağıdaki yapılandırmayı ayarlayın.

Eklenmiş genel yapılandırma özelliklerine ve hassas kimlik bilgileri özelliklerine sahip bir JDBC bağlantı URL'si için:

jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=1;OAuth2ClientId=<service-principal-application-id>;OAuth2Secret=<service-principal-oauth-secret>;OIDCDiscoveryEndpoint=<endpoint>;EnableOIDCDiscovery=true

JDBC bağlantı URL'si dışında ayarlanmış genel yapılandırma özellikleri ve hassas kimlik bilgileri özelliklerine sahip Java kodu için:

// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "1");
p.put("OAuth2ClientId", "<entra-id-service-principal-application-id>");
p.put("OAuth2Secret", "<entra-id-service-principal-client-secret>");
p.put("OIDCDiscoveryEndpoint", "https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration");
p.put("EnableOIDCDiscovery", "true");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
  • Yukarıdaki URL veya Java kodunda aşağıdaki yer tutucuları değiştirin:
    • <entra-id-service-principal-application-id>'i Entra'daki hizmet sorumlusunun uygulama kimliği değeriyle değiştirin.
    • <entra-id-service-principal-client-secret> dizisini Entra'da hizmet sorumlusunun anahtarını kullanarak değiştirin. Bu, Microsoft Entra ID'deki Sertifikalar ve gizli anahtarlar bölümünde oluşturduğunuz istemci gizli anahtarıdır.
    • Değerleri almak için <server-hostname> ve <http-path> bkz. Databricks JDBC Sürücüsü (Simba) için işlem ayarları.