一,引言

  之前讲解的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

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

Azure Data Factory(五)Blob Storage 密钥管理问题的更多相关文章

  1. Azure Data Factory(二)复制数据

    一,引言 上一篇主要只讲了Azure Data Factory的一些主要概念,今天开始新的内容,我们开始通过Azure DevOps 或者 git 管理 Azure Data Factory 中的源代 ...

  2. Azure Data Factory(三)集成 Azure Devops 实现CI/CD

    一,引言 由于上一节文章内容过长,无法分享Azure Data Factory 的持续集成,持续发布.今天将着重介绍一下在使用 Azure DevOps Pipeline 发布,自动进行持续集成,并且 ...

  3. Azure Data Factory(一)入门简介

    一,引言 今天分享一个新的Azure 服务-----Azure Data Factory(Azure 数据工厂),怎么理解,参考根据官方解释-----数据工厂解释:大数据需要可以启用协调和操作过程以将 ...

  4. ADF 第一篇:Azure Data Factory介绍

    Azure Data Factory(简写 ADF)是Azure的云ETL服务,简单的说,就是云上的SSIS.ADF是基于云的ETL,用于数据集成和数据转换,不需要代码,直接通过UI(code-fre ...

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

    一,引言 上一篇有介绍到使用Azure Data Factory 复制数据,然后有集成 Azure DevOps 实现CI/CD,但是对于真正的项目来说,这些肯定是不够的,比如说在执行 Azure P ...

  6. Windows Azure入门教学:使用Blob Storage

    对于.net开发人员,这是一个新的领域,但是并不困难.本文将会介绍如何使用Blob Storage.Blob Storage可以看做是云端的文件系统.与桌面操作系统上不同,我们是通过REST API来 ...

  7. [转]windows azure How to use Blob storage from .NET

    本文转自:http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/?rnd=1 ...

  8. Azure Blob Storage从入门到精通

    今天推荐的是一个系列文章,让读者阅读完成后可以对Azure Blob Storage的开发有一个全面的了解,可谓是从入门到精通. Azure在最初的版本里面就提供了非结构化数据的存储服务,也即Blob ...

  9. Azure Functions(二)集成 Azure Blob Storage 存储文件

    一,引言 上一篇文章有介绍到什么是 SeverLess ,ServerLess 都有哪些特点,以及多云环境下 ServerLess 都有哪些解决方案.在这众多解决方案中就包括 Function App ...

随机推荐

  1. 多测师讲解selenium—自动化测试课堂面试题总结—高级讲师肖sir

    1.你有做过自动化?你用什么语言? python2.自动化中如何使用语言打开一个网址?浏览器,浏览器对应驱动,导入库,类,get,url3.在一个浏览器中打开多个窗口?open_windows dri ...

  2. 编程体系结构(08):Spring.Mvc.Boot框架

    本文源码:GitHub·点这里 || GitEE·点这里 一.Spring框架 1.框架概述 Spring是一个开源框架,框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 ...

  3. 99%的Android开发不得不面对的三道坎,到底该怎么破?

    今年比往年要特殊一些,受疫情的影响,很多公司都出现了裁员现象.以至于最近很多技术同学也在纷纷向我倒苦水. 王鹏便是其中的一员,王鹏之前是在一线城市的一家小型互联网公司做Android应用开发.从毕业实 ...

  4. pytest文档42-fixture参数化params

    前言 参数化是自动化测试里面必须掌握的一个知识点,用过 unittest 框架的小伙伴都知道使用 ddt 来实现测试用例的参数化. pytest 测试用例里面对应的参数可以用 parametrize ...

  5. SQL SERVER备份数据库文件(使用SSMS)

    微软的SQL SERVER是市面占有率比较大的数据库,在平时的使用与维护中,备份数据是一件十分重要的! 备份操作,用微软自带的ssms(SQL Server Management Studio)工具即 ...

  6. Linux ALSA音频库(二) 环境测试+音频合成+语音切换 项目代码分享

    1. 环境测试 alsa_test.c #include <alsa/asoundlib.h> #include <stdio.h> // 官方测试代码, 运行后只要有一堆信息 ...

  7. 线程池SingleThreadPool

    只有一个核心线程,当被占用时,其他的任务需要进入队列等待 public class MainActivity extends AppCompatActivity { @Override protect ...

  8. Zookeeper(2)---节点属性、监听和权限

    之前通过客户端连接之后我们已经知道了zk相关的很多命令(Zookeeper(1)---初识). 节点属性: 现在我们就通过stat指令来看看节点都有哪些属性,或者使用get 指令和-s参数来查看节点数 ...

  9. 编写优美代码的七条规范(Python版)

    编程是一种与计算机系统通信的语言.交流就是与某人分享思想.二进制语言是计算机的最核心的语言.但是在前端,我们有很多种语言.这些语言使用解释器将前端代码转换为二进制代码.基本上,系统对一行代码执行大量内 ...

  10. OpenCascade拓扑对象之:有向边和共边

    @font-face { font-family: "Times New Roman" } @font-face { font-family: "宋体" } @ ...