使用安全文件

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

本文介绍了安全文件以及如何在 Azure Pipelines 中使用它们。 安全文件是一种存储文件的方式,可以在管道中使用这些文件,而无需将其提交到存储库中。

可以使用安全文件来存储文件,例如:

  • 签名证书。
  • Apple 预配描述文件。
  • Android 密钥存储文件。
  • SSH 密钥。

每个安全文件的大小限制为 10 MB。

安全文件以加密形式存储在服务器上,只能从管道任务中读取。 安全文件是一种受保护的资源。 可以使用审批、检查和管道权限来限制对文件的访问权限。 安全文件还会使用库安全模型角色。

先决条件

  • 有权创建管道和添加库项目的 Azure DevOps 项目。
  • 要在管道中安全地使用的证书、密钥库或预置文件。

添加安全文件

  1. 在 Azure DevOps 项目中,转到管道>,然后选择“安全文件”选项卡。

    选择“安全文件”选项卡的屏幕截图。

  2. 要上传安全文件,请选择“+ 安全文件”,然后浏览上传或拖放文件。

    上传文件的屏幕截图。

  3. 选择“确定”。 上传文件后,可以将其删除,但不能替换它。

定义安全角色和权限

可以为库中的所有项目或单个项目定义安全角色限制和权限。

  • 要为库中的所有项分配安全角色,请在“库”页面上选择“安全性”。

  • 为单个文件定义权限:

    1. 从“安全文件”列表中选择文件。
    2. 在“安全文件”页面顶部,请选择:
      • 设置可以访问该文件的用户和安全角色的安全性
      • 用于选择可以访问文件的 YAML 管道的管道权限
      • 用于设置审批人和使用文件的其他检查的审批和检查。 有关详细信息,请参阅审批和检查

    为安全文件设置管道安全性。

授权 YAML 管道使用安全文件

要在 YAML 管道中使用安全文件,必须授权管道使用该文件。 所有经典管道都能访问安全文件。

授权管道或所有管道使用安全文件:

  1. 在安全文件的页面顶部,选择“管道”权限。
  2. 在“管道权限”屏幕上选择 +,然后选择要授权的项目管道。 或者,要授权所有管道使用该文件,请选择“更多操作”图标,选择“开放访问权限”,然后再次选择“开放访问权限”以进行确认。

在管道中使用安全文件

要在管道中使用安全文件,请使用下载安全文件实用工具任务。 管道代理必须运行 2.182.1 或更高版本。 有关详细信息,请参阅代理版本和升级

以下示例 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)

注意

如果在使用本地 Azure DevOps Server 下载安全文件时看到 Invalid Resource 错误,请确保服务器上已禁用 IIS 基本身份验证