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