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

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

问题描述

在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

相关文章
|
7月前
|
人工智能 分布式计算 安全
Azure Databricks实战:在云上轻松进行大数据分析与AI开发
【4月更文挑战第9天】探索Microsoft Azure的Databricks服务,体验其在大数据分析和AI开发中的高效性能。此平台简化流程,提升效率,适用场景包括数据湖分析、实时流处理和AI开发。核心优势在于一体化平台设计、云原生的弹性伸缩和企业级安全保障。Databricks提升研发效能,无缝集成Azure生态,且持续创新,是应对大数据挑战和加速AI创新的理想工具。
679 1
|
SQL 存储 机器学习/深度学习
【数据仓库】什么是 Azure Synapse,它与 Azure Data Bricks 有何不同?
【数据仓库】什么是 Azure Synapse,它与 Azure Data Bricks 有何不同?
|
4月前
|
机器学习/深度学习 数据采集 分布式计算
【颠覆传统!】揭秘Databricks如何助力零售业需求预测——从数据到洞察,一秒钟变销售预言家!
【8月更文挑战第9天】随着大数据技术的发展,数据驱动决策日益关键,尤其在零售业中,通过分析历史销售数据预测未来趋势变得至关重要。本文探讨如何运用Databricks平台优化零售业需求预测。Databricks是一个基于Apache Spark的统一数据分析平台,能高效处理大规模数据任务。通过示例代码展示数据读取、预处理及建模过程,相较于传统方法,Databricks在数据处理能力、可扩展性、内置机器学习库以及协作版本控制方面展现出显著优势,帮助零售商优化库存管理、提升客户体验并增加销售额。
101 8
|
存储 分布式计算 数据挖掘
【数据湖仓架构】数据湖和仓库:Databricks 和 Snowflake
【数据湖仓架构】数据湖和仓库:Databricks 和 Snowflake
|
存储 SQL 分布式计算
【数据湖仓】数据湖和仓库:Databricks 和 Snowflake
【数据湖仓】数据湖和仓库:Databricks 和 Snowflake
|
SQL 分布式计算 资源调度
使用Databricks进行零售业需求预测的应用实践【Databricks 数据洞察公开课】
本文从零售业需求预测痛点、商店商品模型预测的实践演示,介绍Databricks如何助力零售商进行需求、库存预测,实现成本把控和营收增长。
547 0
使用Databricks进行零售业需求预测的应用实践【Databricks 数据洞察公开课】
|
存储 SQL 人工智能
如何使用Delta Lake构建批流一体数据仓库【Databricks 数据洞察公开课】
Delta Lake是一个开源存储层,它为数据湖带来了可靠性。Delta Lake提供了ACID事务、可扩展的元数据处理,并统一了流式处理和批处理数据处理。Delta-Lake运行在现有数据湖之上,并且与Apache Spark API完全兼容。希望本篇能让大家更深入了解Delta Lake,最终可以实践到工作当中。
488 0
如何使用Delta Lake构建批流一体数据仓库【Databricks 数据洞察公开课】
|
SQL 存储 分布式计算
Delta Lake的演进历史及现状【Databricks 数据洞察公开课】
从大数据平台架构的演进、Delta Lake关键特性、版本迭代、重要功能等多方面,介绍Delta Lake的演进和优势。
1104 4
Delta Lake的演进历史及现状【Databricks 数据洞察公开课】
|
消息中间件 存储 SQL
使用Databricks+Confluent进行实时数据采集入湖和分析【Databricks 数据洞察公开课】
本文介绍网约车模拟数据从产生,发布到流数据服务 Confluent,通过Databricks Structured Streaming进行实时数据处理,存储到LakeHouse,并使用spark和spark sql进行分析的应用实践。
712 0
使用Databricks+Confluent进行实时数据采集入湖和分析【Databricks 数据洞察公开课】
|
机器学习/深度学习 存储 数据采集
使用 Databricks 进行营销效果归因分析的应用实践【Databricks 数据洞察公开课】
本文介绍如何使用Databricks进行广告效果归因分析,完成一站式的部署机器学习,包括数据ETL、数据校验、模型训练/评测/应用等全流程。
773 0
使用 Databricks 进行营销效果归因分析的应用实践【Databricks 数据洞察公开课】

热门文章

最新文章