首页 > 其他分享 >【Azure Key Vault】在Azure Databricks上获取Azure Key Vault中所存储的机密(secret)的两种方式

【Azure Key Vault】在Azure Databricks上获取Azure Key Vault中所存储的机密(secret)的两种方式

时间:2023-10-09 19:44:26浏览次数:50  
标签:Databricks azure secret Key Azure Vault

问题描述

在Azure Databricks上获取Azure Key Vault中所存储的机密(secret)的两种方式?

 

问题解答

方式一: 在Databricks的Notebook 中,直接编写Python代码读取Key Vault的Secret

实例代码如下:

import os
from azure.keyvault.secrets import SecretClient
from azure.identity import DefaultAzureCredential

KVUri = f"https://<your key vault name>.vault.azure.cn/"

credential = DefaultAzureCredential()
client = SecretClient(vault_url=KVUri, credential=credential)

retrieved_secret = client.get_secret("<your secret name>")

print(f"Your secret is '{retrieved_secret.value}'.")

在执行中,会先后遇见

  1. azure.keyvault.secrets 和 azure.identity module没有安装
  2. 当前环境使用的Application ID 没有权限访问key vault的问题。

> 没有安装Module的解决办法可以直接使用 %pip install <module name> 解决

%pip install azure.keyvault.secrets

%pip install azure.identity

dbutils.library.restartPython()

执行效果截图:

 

> Application ID没有权限访问的问题可以通过Key Vault的Access Policy页面,为Application ID赋予读取权限来解决

解决以上两个问题后,再次执行Python Code,可以成功获取到Key Vault中的机密信息。

 

 

方式二:为Databricks定义Key Vault backend-secret scope,然后使用Databricks的工具包获取secret

当Azure Databricks和Azure Key Vault资源都创建成功后。

首先在Databricks的页面中添加 key Vault backed-secret scope,使用如下的URL打开Create Secret Scope

URL : https://<Azure Databricks Service URL>.databricks.azure.cn/#secrets/createScope

在保存中如果遇见权限问题,可以在Key Vault的 Access Policy中为 AzureDatabricks 添加权限(GET, SET等权限)

设置完成后,回到Databricks的Notebook页面,使用如下语句进行验证:

ENCODED_AUTH_KEY = dbutils.secrets.get(scope = "scope name in databricks", key = "the secret name in key value")
print(f"this result is:'{ENCODED_AUTH_KEY}'")

执行效果截图:

 


参考资料:

Databricks Secrets scopes: https://learn.microsoft.com/zh-cn/azure/databricks/security/secrets/secret-scopes

Databricks Secrets: https://learn.microsoft.com/zh-cn/azure/databricks/security/secrets/secrets

Databricks Escrets redaction: https://learn.microsoft.com/zh-cn/azure/databricks/security/secrets/redaction

 

【END】

标签:Databricks,azure,secret,Key,Azure,Vault
From: https://www.cnblogs.com/lulight/p/17752994.html

相关文章

  • OpenSatck-Keystone
     什么是keyStonekeyStone是OpenStack中负责管理身份服务(IdentityService),即KeyStone,是OpenStack早期版本就独立出来的一个核心项目,在OpenStack的整体框架中,KeyStone的作用类似于一个服务总线,将Nova,Cinder,Horzion,Swift,Glance以及Neutron等其他服务逐渐都通过KeyStone来注册其服......
  • gitHub项目显示tree结构方便查阅Octotree和github中文化Tampermonkey
    1.google,安装Octotree插件,这个自行搜索,安装完成2.打开项目会出现这样的界面,安装https://blog.csdn.net/Mango_Bin/article/details/111612142,这里面链接地址去设置 1.Tampermonkey,在github中搜索github-chinese,找到相应的仓库 2.往下划拉点击Tampermonkey去安装,安装完......
  • 【Azure Logic App】在Logic App中使用 Transfer XML组件遇见错误 undefined
    问题描述在AzureLogicApp中,使用TransformXML组件进行XML内容的转换,但是最近这个组件运行始终失败。 问题解答点击TransformXML组件上的错误案例,并不能查看到详细的错误消息。最后在AzureLogicApp的产品团队确认下,发现这是LogicApp自身升级后,当前LogicApp 依旧是旧版所引......
  • 【Azure Logic App】在Logic App中使用 Transfer XML组件遇见错误 undefined
    问题描述在AzureLogicApp中,使用TransformXML组件进行XML内容的转换,但是最近这个组件运行始终失败。 问题解答点击TransformXML组件上的错误案例,并不能查看到详细的错误消息。最后在AzureLogicApp的产品团队确认下,发现这是LogicApp自身升级后,当前LogicApp 依旧是......
  • springAMQP--DirectExchange(在监听方法上用注解声明交换机队列和key,发送消息时会带一
         ......
  • ts的keyof
    keyof 是TypeScript中的一种类型操作符,用于获取一个类型的所有键(属性名)作为联合类型。它的语法如下:typeKeysOfType=keyofObjectType;其中:keyof 是TypeScript的关键字,用于指定要获取键的类型操作。ObjectType 是你想要获取键的对象类型。这将返回一个联合类型,包......
  • [Microsoft Azure] 如何查看 Azure App Services 的根证书 Windows
    在本文中,我们将介绍如何在Windows操作系统中查看AzureAppServices的根证书,以确保您的应用程序可以安全地与云服务通信。在当今的互联网环境中,安全性是至关重要的。为了确保您的应用程序与云服务之间的通信安全可靠,了解如何查看和管理根证书非常重要。本文将为您介绍如何在......
  • [Microsoft Azure] 创建你的第一个Azure Functions 应用
    随着云计算和Serverless架构的普及,微服务变得越来越受欢迎。AzureFunctions是MicrosoftAzure提供的一种Serverless服务,可以让你在Azure上快速部署和运行代码,而无需管理底层服务器。在这篇文章中,我们将带你创建一个简单的AzureFunctions应用,并了解其基本概念和工作原理。一......
  • 【Azure Function App】Python Function调用Powershell脚本在Azure上执行失败的案例
    问题描述编写PythonFunction,并且在Function中通过 subprocess 调用powershell.exe执行powershell脚本。importazure.functionsasfuncimportloggingimportsubprocessapp=func.FunctionApp(http_auth_level=func.AuthLevel.FUNCTION)defrun(cmd):completed......
  • 【Azure Function App】Python Function调用Powershell脚本在Azure上执行失败的案例
    问题描述编写PythonFunction,并且在Function中通过 subprocess 调用powershell.exe执行powershell脚本。importazure.functionsasfuncimportloggingimportsubprocessapp=func.FunctionApp(http_auth_level=func.AuthLevel.FUNCTION)defrun(cmd):compl......