Web Analytics
Back
Featured image of post 如何加入憑證或安全相關檔案至 Azure Pipeline

如何加入憑證或安全相關檔案至 Azure Pipeline

適用於 Azure Pipeline 執行過程中,需要加入憑證或其他安全相關檔案

前言

其實個人在使用安全檔案 (Security File) 功能的情境在呼叫私有憑證的服務,尤其是 Container 需要加入 ca 信任憑證,才能成功使用 HTTPS 連線到某些網站或服務。此時我們即需要在 Build Image 階段 (即在 Dockerfile 內) 將憑證放入相對應的位置,並執行相關指令完成目的。Security File 會將敏感檔案放置在 Azure DevOps 伺服器上而不需要逐一的加入 Azure Repos 內,讓管理上更為方便。本篇文章將提供實作說明,讓有興趣朋友參考。

Security 檔案上限為 10 MB

 
 
 

如何實作

步驟 1. 登入 Azure DevOps Service,點選 Azure Pipeline > Library > Add Security,將檔案上傳。

 
 

步驟 2. 若您要在 Azure Pipeline 中使用 Security File,只需要在 YAML 檔案中加入 DownloadSecureFile@1 task,即可將憑證下載至代理程式 (Agent) 內,後續進行信任憑證指令即可

依據您情境與作業系統不同,請使用不同的方式信任 CA 憑證 請確定代理程式版本為 2.116.0 版(或更高)

- task: DownloadSecureFile@1
  name: caCertificate
  displayName: 'Download CA certificate'
  inputs:
    secureFile: '001.crt'

- script: |
    echo 安裝 $(caCertificate.secureFilePath) 至 trusted CA 目錄...
    sudo chmod a+r $(caCertificate.secureFilePath)
    sudo ln -s -t /etc/ssl/certs/ $(caCertificate.secureFilePath)

 
 

若您的使用 Classic Pipeline,可以參考下圖使用 Download secure file task 下載憑證檔案,後續再使用命令列 Task (如: bash) 進行信任憑證

 
 

步驟 3. 當您第一次執行 Pipeline 時,會需要允許使用 (permit) 這個 Security file。

 
 

後續您可以到此 Security file,點選上方 Pipeline Permissions,檢視那些 pipeline 有存取此檔案權限。

所有 Classic pipeline 可以存取 Security file

Built with Hugo   Theme Stack designed by Jimmy