jdbc - 从 Databricks 访问始终加密的数据
问题描述
我在 Azure SQL 托管实例中有一个带有“始终加密”列的表。我将列和主密钥存储在 Azure 密钥保管库中。
- 我的第一个问题是 - 如何从 Databricks 访问 Azure SQL 中的解密数据。为此,我通过 jdbc 连接到 Azure SQL。对于用户名和密码,我手动传递我的凭据
val jdbcHostname = "XXXXXXXXXXX.database.windows.net"
val jdbcPort = 1433
val jdbcDatabase = "ABCD"
val jdbcUrl = s"jdbc:sqlserver://${jdbcHostname}:${jdbcPort};database=${jdbcDatabase}"
// Create a Properties() object to hold the parameters.
import java.util.Properties
val connectionProperties = new Properties()
connectionProperties.put("user", s"${jdbcUsername}")
connectionProperties.put("password", s"${jdbcPassword}")
val driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
connectionProperties.setProperty("Driver", driverClass)
import java.sql.DriverManager
val connection = DriverManager.getConnection(jdbcUrl, jdbcUsername, jdbcPassword)
connection.isClosed()
val user = spark.read.jdbc(jdbcUrl, "dbo.bp_mp_user_test", connectionProperties)
display(user)
当我这样做时,我可以显示数据,但它是加密数据。如何查看解密数据
我是 Azure 和 Databricks 组合的新手,所以仍在学习 Azure/Microsoft 堆栈。是否有任何其他形式的 jdbc 连接语法允许您解密。
我在 Azure Keyvault 中有密钥。那么我如何利用这些密钥以及与这些密钥相关的安全性,这样当有人访问此表时,它会在访问时在 Databricks 中显示加密/解密的数据。
解决方案
推荐阅读
- css - 在悬停/选择时缩短 Elementor 菜单下划线
- sql - 数据透视/反透视计数
- sql - 从数据库中选择错误
- python - 为什么 numba parallel=True 比 parallel=False 慢
- spring-boot - 当属性计数很高时,SpringBoot 动态刷新加载时间过长
- r - 如何使用 for 循环在 ggplot2 中添加“stat_function()”层?
- r - 使用 map 和 map2 映射列表以构造矩阵
- css - 如何让 CodeFlask 代码编辑器样式与 Vuetify 一起正常工作
- java - ipSecurityRestrictions.ipAddress required azure cmd部署错误
- angular - 为 ngrx/data 实体创建选择器