Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Het Databricks JDBC-stuurprogramma ondersteunt meerdere verificatiemethoden, afhankelijk van uw use-case. Op deze pagina wordt beschreven hoe u elke methode configureert en de vereiste verbindingseigenschappen vermeldt.
Gebruik een van de volgende methoden om verificatie te configureren voor het Databricks JDBC-stuurprogramma:
- Doorvoer van OAuth 2.0-token (inclusief token federatie met externe id-providers)
- OAuth-verificatie van gebruiker naar machine (U2M)
- OAuth-machine-naar-machine (M2M) authenticatie
- Persoonlijk toegangstoken van Databricks
Doorgeven van OAuth 2.0-token
Het JDBC-stuurprogramma accepteert OAuth-tokens in de Auth_AccessToken eigenschap. U kunt een Azure Databricks OAuth-token rechtstreeks doorgeven of een JSON-webtoken (JWT) van een externe id-provider. Als u een extern IdP-token doorgeeft, wisselt Azure Databricks dit automatisch uit voor een Azure Databricks-token met behulp van tokenfederatie.
Vervang in de volgende voorbeelden de volgende tijdelijke aanduidingen:
-
<oauth-token>met een Azure Databricks OAuth 2.0-token of een externe IdP JWT. - Zie
<server-hostname>om de waarden voor<http-path>en op te halen.
De vereiste eigenschappen zijn:
-
AuthMechingesteld op11(OAuth 2.0-verificatie) -
Auth_Flowingesteld op0(passthroughmodus voor tokens) -
Auth_AccessTokeningesteld op een Azure Databricks OAuth-token of een externe IdP JWT
Zie verificatie-eigenschappen.
Voor een JDBC-verbindings-URL:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=0;Auth_AccessToken=<oauth-token>
In Java-code:
// ...
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);
// ...
Tokenfederatie met een externe id-provider
Als u verifieert met een token van een externe id-provider, zoals Okta, Microsoft Entra ID, Keycloak of een idP die compatibel is met OIDC, voert Azure Databricks het token automatisch uit. De JDBC-configuratie is hetzelfde als tokenpassthrough. Geef het IdP-token door via Auth_AccessToken, en het stuurprogramma verwerkt de rest.
Voordat u tokenfederatie gebruikt, moet u het volgende doen:
- Maak een federatiebeleid in uw Azure Databricks-account dat de externe IdP vertrouwt. Een federatiebeleid specificeert de URL van de uitgever, verwachte doelgroepwaarden en de JWT-claim die wordt gebruikt om toe te wijzen aan een Azure Databricks-gebruiker. Zie Verificatietoegang tot Azure Databricks met behulp van OAuth-tokenfederatie.
- Controleer of er een overeenkomende Azure Databricks-gebruiker bestaat. De e-mail of andere id van de gebruiker moet overeenkomen met de
subject_claimwaarde in de JWT. - Controleer of het OIDC-detectie-eindpunt van de IdP openbaar bereikbaar is, zodat Azure Databricks ondertekeningssleutels kan ophalen om het token te verifiëren.
OAuth-verificatie van gebruikers-naar-machine (U2M)
Met OAuth U2M-verificatie kunt u zich via een browser aanmelden bij Azure Databricks. Het stuurprogramma opent een browservenster, u verifieert en het stuurprogramma ontvangt een OAuth-token. Het stuurprogramma maakt gebruik van de ingebouwde OAuth-client-id databricks-sql-jdbc.
Dit verificatietype heeft geen vereisten. Tokens hebben een standaardlevensduur van één uur en worden automatisch vernieuwd wanneer ze verlopen.
Opmerking
OAuth U2M werkt alleen met lokaal uitgevoerde toepassingen. Het werkt niet met server- of cloudtoepassingen.
Vervang in de volgende voorbeelden de volgende tijdelijke aanduidingen:
-
<passphrase>met een wachtwoordzin van uw keuze. Het stuurprogramma gebruikt deze sleutel voor het vernieuwen van tokenversleuteling. - Zie
<server-hostname>om de waarden voor<http-path>en op te halen.
De vereiste eigenschappen zijn:
-
AuthMechingesteld op11(OAuth 2.0-verificatie) -
Auth_Flowingesteld op2(U2M-browsermodus) -
TokenCachePassPhraseingesteld op de wachtwoordzin die wordt gebruikt voor het versleutelen van uw OAuth U2M-referenties in de cache. Dit voorkomt herhaalde verificaties op basis van een browser. StelEnableTokenCachein op0om het opslaan van tokens in cache uit te schakelen.
Zie verificatie-eigenschappen.
In een JDBC-verbindings-URL:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=2;TokenCachePassPhrase=<passphrase>;EnableTokenCache=0
In Java-code:
// ...
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);
// ...
machine-naar-machine (M2M) OAuth-verificatie
Het JDBC-stuurprogramma ondersteunt OAuth-machine-to-machine (M2M) authenticatie met behulp van een van de volgende principes of identiteiten. Zie Autorisatie van toegang voor de service-principal tot Azure Databricks met OAuth.
- Een Databricks-service-principal
- Een door Azure beheerde service-principal
- Een door het Azure beheerde identiteit (door het systeem toegewezen of door de gebruiker toegewezen)
M2M met een door Databricks beheerde service-principal
Verificatie configureren met behulp van een door Databricks beheerde service-principal:
Maak een door Databricks beheerde service-principal en wijs deze toe aan Databricks-accounts en -werkruimten.
Maak een Databricks OAuth-geheim voor de service-principal. Zie OAuth M2M-toegangstokens handmatig genereren.
Toegangsmachtigingen verlenen aan clusters en SQL-warehouses.
Voeg de volgende eigenschappen toe aan uw bestaande JDBC-verbindings-URL of
java.util.Properties-object:-
AuthMechingesteld op11(OAuth 2.0-verificatie) -
Auth_Flowingesteld op1(M2M-clientreferentiemodus) -
OAuth2ClientIDingesteld op de waarde van de toepassings-id (client) van de service-principal -
OAuth2Secretingesteld op het Databricks OAuth-geheim van de service-principal
-
M2M met een door Azure beheerde service-principal
Verificatie configureren met behulp van een door Azure beheerde service-principal:
Maak een Databricks OAuth-geheim voor de service-principal. Zie OAuth M2M-toegangstokens handmatig genereren.
Toegangsmachtigingen verlenen aan clusters en SQL-warehouses.
Voeg de volgende eigenschappen toe aan uw bestaande JDBC-verbindings-URL of
java.util.Properties-object:-
AuthMechingesteld op11(OAuth 2.0-verificatie) -
Auth_Flowingesteld op1(M2M-clientreferentiemodus) -
OAuth2ClientIDingesteld op de waarde van de toepassings-id (client) van de service-principal -
AzureTenantIDingesteld op de Azure-tenant-id die is gevonden in Azure Active Directory -
OAuth2Secretingesteld op het Databricks OAuth-geheim van de service-principal
-
M2M met behulp van door Azure beheerde identiteiten
Verificatie configureren met behulp van door Azure beheerde identiteiten:
Toegangsmachtigingen verlenen aan clusters en SQL-warehouses.
Voeg de volgende eigenschappen toe aan uw bestaande JDBC-verbindings-URL of
java.util.Properties-object:-
AuthMechingesteld op11(OAuth 2.0-verificatie) -
Auth_Flowingesteld op3(modus beheerde identiteit) -
OAuth2ClientIDingesteld op de client-id van de beheerde identiteit. Dit is alleen vereist als u een door de gebruiker toegewezen beheerde identiteit gebruikt. -
Azure_workspace_resource_idingesteld op de Azure-resource-id van uw Databricks-werkruimte
-
Persoonlijk toegangstoken van Databricks
Opmerking
Persoonlijke toegangstokens zijn het beste voor testscenario's. Azure Databricks raadt veiligere verificatietypen aan voor productiescenario's.
Als u een persoonlijk toegangstoken voor Databricks wilt maken, volgt u de stappen in Persoonlijke toegangstokens maken voor werkruimtegebruikers.
Vervang in de volgende voorbeelden de volgende tijdelijke aanduidingen:
-
<personal-access-token>met het persoonlijke toegangstoken van Databricks voor uw werkruimtegebruiker. - Zie
<server-hostname>om de waarden voor<http-path>en op te halen.
De vereiste eigenschappen zijn:
-
AuthMechingesteld op3(tokenverificatie) -
UIDingesteld op de letterlijke tekenreekstoken -
PWDofpasswordingesteld op de waarde van uw persoonlijke toegangstoken van Databricks.
Zie verificatie-eigenschappen.
In een JDBC-verbindings-URL:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=3;UID=token;PWD=<personal-access-token>
In Java-code:
// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "3");
p.put("UID", "token");
p.put("PWD", "<personal-access-token>");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...