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。 |
添加安全文件
在 Azure DevOps 项目中,转到管道>库,然后选择“安全文件”选项卡。
点击“+ 安全文件”来上传安全文件。 浏览以上传或拖拽文件。
选择“确定”。 上传文件后,可以将其删除,但无法替换它。
定义安全角色和权限
可以为库中的所有项或单个项定义安全角色限制和权限。
要为库中的所有项分配安全角色,请在“库”页面上选择“安全性”。
为单个文件定义权限:
- 从“安全文件”列表中选择文件。
- 在“安全文件”页面顶部,请选择:
- 设置可以访问该文件的用户和安全角色的安全性。
- 用于选择可以访问文件的 YAML 管道的管道权限。
- 用于设置审批人和使用文件的其他检查的审批和检查。 有关详细信息,请参阅审批和检查。
授权 YAML 管道使用安全文件
若要在 YAML 管道中使用安全文件,请授权管道使用该文件。 所有经典管道都可以访问安全文件。
授权管道或所有管道使用安全文件:
- 在安全文件的页面顶部,选择“管道”权限。
- 在“管道权限”屏幕上选择 ,然后选择要授权的项目管道。+ 或者,要授权所有管道使用该文件,请选择“更多操作”图标,选择“开放访问权限”,然后再次选择“开放访问权限”以进行确认。
在管道中使用安全文件
要在管道中使用安全文件,请使用下载安全文件实用工具任务。 管道代理必须运行 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 基本身份验证。
相关内容
要创建使用安全文件的自定义任务,请在
secureFile中使用类型 的输入。 有关详细信息,请参阅了解如何构建自定义任务。安装 Apple 预配配置文件任务是一个使用安全文件的任务的简单示例。 有关源代码,请参阅 InstallAppleProvisioningProfileV1。
要在生或发布任务期间处理安全文件,请参阅通用模块中的任务。