使用安全檔案

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

安全檔案可提供一種檔案儲存方式,讓您在管線之間共用檔案。 安全檔案庫可儲存的檔案類型包括:

  • 簽署憑證
  • Apple 佈建設定檔
  • Android Keystore 檔案
  • SSH 金鑰

這些檔案可以儲存在伺服器上,而不需要將它們認可到您的存放庫。

安全檔案的內容會經過加密,並且只能透過工作取用。 安全檔案是受保護的資源。 您可以為其新增核准和檢查,並設定管線權限。 安全檔案也可以使用程式庫安全性模型

每個安全檔案的大小限制為 10 MB。

新增安全檔案

  1. 移至 [管線連結>庫>安全檔案]。

    選取 [安全檔案] 索引標籤。

  2. 選取 [ 保護檔案 ] 以上傳新的安全檔案。 瀏覽以上傳或拖放您的檔案。 您可以刪除此檔案,但無法取代它。

    上傳您的檔案。

  3. 將權限新增至您的檔案。

    1. [管線>連結庫] 的 [安全性] 索引標籤套用所有檔案的安全性角色限制。
    2. 若要新增個別檔案的許可權,請在檔案的編輯檢視中,選取 [管線許可權 ] 以設定每個管線許可權。 或者,選取 [ 安全性 ] 以設定安全性角色。
      • 您也可以設定 核准 和檢查檔案。 如需詳細資訊,請參閱 核准 和檢查

    設定安全檔案的管線安全性。

取用管線中的安全檔案

使用下載 安全檔案 公用程式工作來取用管線中的安全檔案。

下列 YAML 管線範例會下載安全的憑證檔案,並將其安裝在 Linux 環境中。

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

- script: |
    echo Installing $(caCertificate.secureFilePath) to the trusted CA directory...
    sudo chown root:root $(caCertificate.secureFilePath)
    sudo chmod a+r $(caCertificate.secureFilePath)
    sudo ln -s -t /etc/ssl/certs/ $(caCertificate.secureFilePath)

常見問題集

問:如何使用安全檔案建立自定義工作?

答:建置您自己的工作,以使用輸入搭配 中的 task.json型別secureFile,使用安全檔案。 瞭解如何建置自定義工作

安裝Apple 布建配置檔工作是使用安全檔案的工作簡單範例。 請參閱參考檔和原始程式碼

若要在建置或發行期間處理安全檔案,您可以參考這裡提供的通用模組。

問:我的工作無法存取安全檔案。 我該如何處理?

答:請確定您的代理程式正在執行 2.116.0 版或更高版本。 請參閱 代理程式版本和升級

問:如何? 授權安全檔案以用於特定管線?

答:

  1. Azure Pipelines 中,選取 [連結 庫] 索引標籤
  2. 選取頂端的 [ 安全檔案 ] 索引標籤。
  3. 選取您要授權的安全檔案。
  4. 選取 [ 管線許可權] 按鈕。
  5. 檢閱和修改每個可用管線的存取權。

問:為什麼我在使用 Azure DevOps Server/TFS 內部部署下載安全檔案時看到 Invalid Resource 錯誤?

答:請確定 TFS 或 Azure DevOps Server 上的 IIS 基本身份驗證 已停用。

問:如何保護安全檔案?

答:在 Azure DevOps 中,以相同方式保護檔案、變數群組和服務連線的安全。 它們也是所有 受保護的資源

秘密會加密並儲存在資料庫中。 解密秘密的金鑰會儲存在 Azure 金鑰保存庫 中。 這些索引鍵是每個縮放單位特有的。 因此,兩個區域不會共用相同的密鑰。 密鑰也會隨著 Azure DevOps 的每個部署輪替。

擷取安全密鑰的許可權只會提供給 Azure DevOps 服務主體和(特殊場合)視需要診斷問題。 安全記憶體沒有任何認證。

Azure 金鑰保存庫 是保護敏感性資訊的另一個更安全選項。 如果您決定使用 Azure 金鑰保存庫,您可以將它與變數群組搭配使用。