1. 程式人生 > >Azure Data Factory(五)Blob Storage 金鑰管理問題

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 

版權:轉載請在文章明顯位置註明作者及出處。如發現錯誤,歡迎批評指正。