【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret

发布时间:2023年12月29日

本文属于【Azure 架构师学习笔记】系列
本文属于【Azure Databricks】系列。
接上文 【Azure 架构师学习笔记】- Azure Databricks (3) - 再次认识DataBricks

前言

Azure Databricks有access token,是具有ADB内部最高权限的token。在云环境中这些高级别权限的secret都需要很好地被保护起来。
ADB提供了两种Secret Scopes:

  • Azure Key Vault-backed: secret 存储在Azure Key Vault, ADB 通过创建于AKV支持的Secret Sope来实现引用Secret。
  • Databricks-backed:Databricks自带有一个数据库,也可以通过存储在这个数据库来引用secret。 这种scope的好处在于可以不依赖于具体平台的设置, 在迁移过程中起到比较大的便利作用。

创建Key Vault和Secret

简单创建一个KV:
在这里插入图片描述
这里使用默认配置即可:
在这里插入图片描述

这里使用"Vault access policy"而不用RBAC, 虽然RBAC是推荐选项。
在这里插入图片描述

创建成功后,要记录好DNS 名字(也就是Vault URI)和Resource ID, 这个在后续步骤中需要使用。
在这里插入图片描述

创建Key Vault Secret

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在Databricks中创建Azure Key Vault Secret Scope

进入ADB 之后,复制URL, 即下方蓝色部分,并用它替换成这样格式:https://<Databricks_url>#secrets/createScope
在这里插入图片描述
但是注意是大小写敏感,比如Scope的S必须是大写。如下图

在这里插入图片描述

填写信息并创建,创建完毕后ADB即可连接到这个Key Vault了。下面的Creator意味着只有创建者能用,而all users意味着这个workspace下的用户都能用。正式环境下需要根据ADB 的使用情况决定。
在这里插入图片描述

在Notebook中使用Azure Key Vault Secret Scope和Secret

接下来试一下如何使用这个Secret Scope进行访问,我们进入ADB,创建一个notebook。

在这里插入图片描述

根据上面的信息,输入下面的Pyhon代码并执行:

dbutils.secrets.get(scope = "akv_secret_scope_test", key = "adlsaccesskey") 

#azurekeyvault_secret_scope --> Azure Key Vault based scope which we created in Databricks 
#BlobStorageAccessKey --> Secret name which we created in Azure Key Vault 

如果出现[REDACTED]那么意味着成功访问。

在这里插入图片描述
我们也可以在notebook里面执行下面命令来查看当前已经创建了的secretscope:

dbutils.secrets.listScopes()

在这里插入图片描述

文章来源:https://blog.csdn.net/DBA_Huangzj/article/details/134986412
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。