在 YAML 中从 KeyVault 引用 SQL 用户名和密码
Referencing SQL Username and Password from KeyVault in YAML
下面我有一个用 YAML 编写的 Azure CI 管道,我已经创建了一个具有 2 个机密(用户名和密码)及其各自的值(管理员和密码)的 KV。现在,我一直在尝试将变量中的秘密引用到 task: SqlAzureDacpacDeployment@1
但它不起作用。
如果我在 SqlUsername 和 SqlPassword 中输入 $Username and $Password
,我会得到这个错误 Cannot validate argument on parameter 'Username'.
如果我在 SqlUsername 和 SqlPassword 中输入 '$(Username)'and '$(Password)'
,我会得到这个错误 Login failed for user '***'.
我应该把什么放在那里或者我如何正确地引用它们?谢谢!
trigger:
- master
pool:
vmImage: 'windows-latest'
variables:
$Username: ""
$Password: ""
steps:
- task: AzureKeyVault@1
displayName: 'Get credentials from Key-Vault'
inputs:
azureSubscription: 'Test-SC'
KeyVaultName: 'Test-KV'
SecretsFilter: '*'
RunAsPreJob: false
- task: SqlAzureDacpacDeployment@1
displayName: 'Reg Database DDL Script'
inputs:
SqlUsername: $Username
SqlPassword: $Password
enabled: true
找到答案,所以设置 RunAsPreJob: true
和 SqlUsername: '$(Username)'
SqlPassword: '$(Password)'
确保您添加了访问策略并且 KV 和 azureSubscription 的名称都是正确的
下面我有一个用 YAML 编写的 Azure CI 管道,我已经创建了一个具有 2 个机密(用户名和密码)及其各自的值(管理员和密码)的 KV。现在,我一直在尝试将变量中的秘密引用到 task: SqlAzureDacpacDeployment@1
但它不起作用。
如果我在 SqlUsername 和 SqlPassword 中输入 $Username and $Password
,我会得到这个错误 Cannot validate argument on parameter 'Username'.
如果我在 SqlUsername 和 SqlPassword 中输入 '$(Username)'and '$(Password)'
,我会得到这个错误 Login failed for user '***'.
我应该把什么放在那里或者我如何正确地引用它们?谢谢!
trigger:
- master
pool:
vmImage: 'windows-latest'
variables:
$Username: ""
$Password: ""
steps:
- task: AzureKeyVault@1
displayName: 'Get credentials from Key-Vault'
inputs:
azureSubscription: 'Test-SC'
KeyVaultName: 'Test-KV'
SecretsFilter: '*'
RunAsPreJob: false
- task: SqlAzureDacpacDeployment@1
displayName: 'Reg Database DDL Script'
inputs:
SqlUsername: $Username
SqlPassword: $Password
enabled: true
找到答案,所以设置 RunAsPreJob: true
和 SqlUsername: '$(Username)'
SqlPassword: '$(Password)'
确保您添加了访问策略并且 KV 和 azureSubscription 的名称都是正确的