使用安全文件

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022

本文介绍如何使用安全文件库在 Azure Pipelines 中安全地存储和使用敏感文件,例如证书和密钥。 安全文件通过在服务器上加密敏感数据并限制对授权管道的访问,确保凭据和其他关键文件保持安全,从而帮助保护敏感数据。

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

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

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

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

先决条件

要求 详细信息
Azure DevOps 项目 - Azure DevOps 项目
- 创建管道和添加库项的权限。
- 所需角色:
     - 具有管理库项的权限的项目管理员、参与者或自定义角色。
     - 若要管理库安全性和权限,需要项目管理员或等效的权限。
- 设置:
     - 确保 Azure DevOps 组织允许管道资源访问。
     - 验证项目的管道设置是否不限制安全文件使用。
安全文件 - 要在管道中安全使用的证书、密钥存储或预配文件。
- 文件大小不得超过 10 MB。

添加安全文件

  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 基本身份验证