Azure Data Factory(五)Blob Storage 密钥管理问题

一,引言

  之前讲解的ADF 集成Azure DevOps 实现CI/CD,在 Releases Pipeline 阶段,我们是将两个 Blob Storage 的链接字符串复制、粘贴到 ”Override template parameters“,这样虽然说实现了对应的功能,但是也暴露出一定的问题,就是将 “UAT”,甚至 “Pro” 环境的链接字符串暴露出来了,这样是很危险的。也是不允许的。

这个时候,有人就说了,可以使用共享访问签名,设定有效期等限制。

确实是可以的,但是今天我们使用另外一个方式—–使用 Key Vault 托管 Blob Storage 的密钥信息。OK,开始今天的表演!!!!!

——————–我是分割线——————–

1,Azure Data Factory(一)入门简介

2,Azure Data Factory(二)复制数据

3,Azure Data Factory(三)集成 Azure Devops 实现CI/CD

4,Azure Data Factory(四)集成 Logic App 的邮件通知提醒

5,Azure Data Factory(五)Blob Storage 密钥管理问题

二,正文

  关于密钥创建配置等问题,我之前有介绍过—–Azure Kay Vault(一).NET Core Console App 获取密钥保管库中的机密信息 大家可以进行参考,创建Azure Key Vault,并且将两个 Blob Storage 的链接字符串配置到 Azure Key Vault 中

为Azure DevOps 关联的 sp 配置访问权限,点击图中圈中的 “+ Add Access Policy” 

Configure from template(optional)选择:“Secret Management”

Key permissions 选择:“List,Get”

Select principal 选择:Azure DevOps 管理的 sp

其他选择默认,点击 “Add” 添加操作

紧接着点击 “Save” 进行保存操作

接着回到Azure DevOps 中,需要在 Releases Pipeline 配置添加 Key Vault 步骤。

修改当前步骤的相关参数

Display name:“Azure Key Vault: cnbateblog-keyvault-UAT”

Azure subscription:选择当前 UAT 环境的 Key Vault 所在的订阅 

Key vault:“cnbateblog-keyvault-UAT”

Secrets filter(机密过滤器):“from-db1-uat,to-db2-uat”(两个机密名称用 “,"进行分割开)

以逗号分隔的机密名称列表,或留下*从选定的密钥库下载所有机密

接下来修改 ARM 模板部署中的覆盖参数,将原有的两个 Blob 的连接字符串改为 key vault 的两个机密 key 了

-factoryName "ADF-CnBateBlogWeb-UAT" -CnBateBlogFromBlobStorage_connectionString $(from-db1-uat) -CnBateBlobToBlobStorage_connectionString $(to-db2-uat)

修改完成后,点击 ”Save“ 进行保存

最后,我们可以手动触发 Releases Pipeline,测试以下结果

 

 Success!!!!!

 

 

 Bingo,今天的分享到此结束

三,结尾

  今天的内容其实很简单,就是将之前接触的 Azure Key Vault 结合 Azure Devops 运用起来,这就是一个很好的例子,同时里面还牵扯到 sp 的内容,虽然说整个 sp 不是我们手动创建的,是Azure Devops 帮我们创建的,但是我们还是需要回顾一下,想想其中的原理。当然,还有很多不完善的地方以及需要持续演进优化的,但是它目前已经满足了演示的需要。此外,本文所分享的内容也存在着很多我自己的一些理解,因为每个人的经历和认知都不同吧。

最后,谢谢大家的阅读!!!!!*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。

作者:Allen 

版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。