你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在自定义 YAML 配置中,您可以使用 Azure 密钥保管库中的机密来克隆私有存储库,或用于任何需要访问令牌的任务编写。 例如,在团队自定义文件中,可以使用密钥保管库中存储的个人访问令牌(PAT)来访问专用存储库。
在自定义文件中使用密钥保管库机密
若要在自定义文件中使用机密(如 PAT),请将 PAT 存储为密钥保管库机密。
团队和用户自定义都支持从密钥保管库提取机密。 团队自定义(也称为映像定义文件)使用 image
参数定义开发框的基本映像,并列出创建开发框时运行的任务。 用户自定义项列出了创建开发框时运行的任务。 以下示例演示如何在两种类型的自定义中使用 Key Vault 密钥。
若要配置密钥保管库机密以用于团队或用户自定义,请确保开发人员中心项目的托管标识在密钥保管库上具有“密钥保管库机密用户”角色。
若要配置密钥保管库机密以用于用户自定义,你还需要:
- 请确保你的开发人员中心项目的托管标识在密钥保管库上具有 Key Vault 读取者角色和 Key Vault 机密用户角色。
- 向应在开发箱自定义期间使用机密的每个用户或用户组授予 Key Vault 机密的 Key Vault 机密用户角色。 授予该角色的用户或组必须包括开发人员中心的托管标识、管理员的用户帐户,以及开发箱自定义期间需要机密的任何用户或组。
可以将 Key Vault 机密与内置 PowerShell 任务联用:
$schema: "1.0"
image: microsoftwindowsdesktop_windows-ent-cpc_win11-24H2-ent-cpc
tasks:
- name: git-clone
description: Clone this repository into C:\Workspaces
parameters:
command: MyCommand –MyParam '{{KEY_VAULT_SECRET_URI}}'
此示例显示图像定义文件。
KEY_VAULT_SECRET_URI
是您密钥保管库中机密的 URI。
可按以下格式引用 YAML 自定义设置中的机密,以 git-clone
任务为例:
$schema: "1.0"
tasks:
- name: git-clone
description: Clone this repository into C:\Workspaces
parameters:
repositoryUrl: https://myazdo.visualstudio.com/MyProject/_git/myrepo
directory: C:\Workspaces
pat: '{{KEY_VAULT_SECRET_URI}}'
此示例显示用户自定义文件。 没有 image
指定。
通过用户自定义,可以获取 Azure DevOps 令牌以克隆专用存储库,而无需从 Key Vault 显式指定 PAT。 该服务在运行时自动将你的 Azure 令牌交换为 Azure DevOps 令牌。
$schema: "1.0"
tasks:
- name: git-clone
description: Clone this repository into C:\Workspaces
parameters:
repositoryUrl: https://myazdo.visualstudio.com/MyProject/_git/myrepo
directory: C:\Workspaces
pat: '{{ado://YOUR_ORG_NAME}}'
Dev Box VS Code 扩展和 Dev Box CLI 不支持在内循环测试工作流中水化用于自定义的机密。
配置 Key Vault 访问
开发人员中心需要访问密钥保管库。 由于开发人员中心不支持服务标记,因此如果密钥保管库是专用的,请让受信任的Microsoft服务绕过防火墙。
若要了解如何让受信任的Microsoft服务绕过防火墙,请参阅 “配置 Azure Key Vault 网络设置”。