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

本文属于【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:
【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret_第1张图片
这里使用默认配置即可:
【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret_第2张图片

这里使用"Vault access policy"而不用RBAC, 虽然RBAC是推荐选项。
【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret_第3张图片

创建成功后,要记录好DNS 名字(也就是Vault URI)和Resource ID, 这个在后续步骤中需要使用。
【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret_第4张图片

创建Key Vault Secret

【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret_第5张图片
【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret_第6张图片

【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret_第7张图片

在Databricks中创建Azure Key Vault Secret Scope

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

【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret_第8张图片

填写信息并创建,创建完毕后ADB即可连接到这个Key Vault了。下面的Creator意味着只有创建者能用,而all users意味着这个workspace下的用户都能用。正式环境下需要根据ADB 的使用情况决定。
【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret_第9张图片

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

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

【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret_第10张图片

根据上面的信息,输入下面的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]那么意味着成功访问。

【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret_第11张图片
我们也可以在notebook里面执行下面命令来查看当前已经创建了的secretscope:

dbutils.secrets.listScopes()

【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret_第12张图片

你可能感兴趣的:(Azure,架构师学习笔记,Databrics,azure,Databrikcs)