我需要通过Service Principal从Azure Databricks连接到Azure SQL数据库。尝试搜索论坛但无法找到正确的方法。任何帮助是极大的赞赏。
尝试使用JDBC连接使用SQL用户ID和密码进行类似的方法,并且它成功运行。现在研究服务主体方法。
P.S:SP ID和密钥应放在Azure Key Vault中,需要在Databricks上访问。
也许你可以参考这个教程:Configuring AAD Authentication to Azure SQL Databases。
摘要:
Azure SQL是一项很棒的服务 - 您可以将数据库放入云中,而无需管理所有令人讨厌的服务器内容。但是,Azure SQL的一个问题是您必须使用SQL身份验证(用户名和密码)进行身份验证。但是,您也可以通过Azure Active Directory(AAD)令牌进行身份验证。这类似于使用Windows身份验证的集成登录 - 但是您使用AAD而不是Active Directory。
AAD身份验证有许多优点:
为了实现这一目标,您需要:
但是在这篇文章中,作者将介绍创建服务主体,为AAD auth配置数据库,创建用于检索令牌和为AAD身份验证配置EF DbContext的代码。
仍希望本教程可以提供帮助。
Azure Databricks支持Azure Key Vault
https://docs.azuredatabricks.net/user-guide/secrets/secret-scopes.html#akv-ss