如何使用 Azure DevOps 中的 "ARM Template Deployment" 任务覆盖 ARM 模板中的密钥保管库引用参数
How to override the key vault reference parameters in ARM Template using "ARM Template Deployment" task in Azure DevOps
我使用 VS2019 开发了逻辑应用程序。因为我正在使用以下代码行从 Azure Key Vault 读取秘密值:
logicapp.parameters.json
"azuretables_sharedkey": {
"reference": {
"keyVault": {
"id": "/subscriptions/XXXXXXXXX/resourceGroups/XXXXXXXXXXX/providers/Microsoft.KeyVault/vaults/XXXX-KV-NonProd"
},
"secretName": "StorageAccountSharedKey"
}
},
我已经配置构建和发布管道,使用 Azure DevOps 中的“ARM 模板部署”任务将逻辑应用程序部署到 Azure。但我想在 Azure DevOps Build and Release Pipeline 中覆盖上述密钥保管库参考参数。
那么,有人可以建议我怎么做吗?
在 ARM 模板部署 任务中,有一个选项“Override template parameters
”可用于覆盖模板参数.
[更新]
这是同一问题的案例:
我已从 template
文件中删除密钥保管库参考代码。然后按照此 documentation.
在 Azure DevOps CI/CD 管道中将 Azure Key Vault 与 Common Library
集成
您可以从 Azure DevOps 库传递 keyVaultName、keyVaultSecretName 和 keyVaultSecretValue,并使用以下 ARM 模板代码更新密钥保管库。
{
"type": "Microsoft.KeyVault/vaults/secrets",
"apiVersion": "2019-09-01",
"name": "[concat(parameters('keyVaultName'), '/', parameters('keyVaultSecretName'))]",
"location": "[resourceGroup().location]",
"dependsOn": [
"[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
],
"properties": {
"value": "[parameters('keyVaultSecretValue')]"
}
}
您可以使用以下代码语句访问 function/webapp 的 ARM 模板中的密钥保管库机密值。它指的是当前秘密版本中的值。
"value": "[concat('@Microsoft.KeyVault(SecretUri=', 'https://',parameters('keyVaultName'),'.vault.azure.net/secrets/',parameters('keyVaultSecretName'))')]"
我使用 VS2019 开发了逻辑应用程序。因为我正在使用以下代码行从 Azure Key Vault 读取秘密值:
logicapp.parameters.json
"azuretables_sharedkey": {
"reference": {
"keyVault": {
"id": "/subscriptions/XXXXXXXXX/resourceGroups/XXXXXXXXXXX/providers/Microsoft.KeyVault/vaults/XXXX-KV-NonProd"
},
"secretName": "StorageAccountSharedKey"
}
},
我已经配置构建和发布管道,使用 Azure DevOps 中的“ARM 模板部署”任务将逻辑应用程序部署到 Azure。但我想在 Azure DevOps Build and Release Pipeline 中覆盖上述密钥保管库参考参数。
那么,有人可以建议我怎么做吗?
在 ARM 模板部署 任务中,有一个选项“Override template parameters
”可用于覆盖模板参数.
[更新]
这是同一问题的案例:
我已从 template
文件中删除密钥保管库参考代码。然后按照此 documentation.
Common Library
集成
您可以从 Azure DevOps 库传递 keyVaultName、keyVaultSecretName 和 keyVaultSecretValue,并使用以下 ARM 模板代码更新密钥保管库。
{
"type": "Microsoft.KeyVault/vaults/secrets",
"apiVersion": "2019-09-01",
"name": "[concat(parameters('keyVaultName'), '/', parameters('keyVaultSecretName'))]",
"location": "[resourceGroup().location]",
"dependsOn": [
"[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
],
"properties": {
"value": "[parameters('keyVaultSecretValue')]"
}
}
您可以使用以下代码语句访问 function/webapp 的 ARM 模板中的密钥保管库机密值。它指的是当前秘密版本中的值。
"value": "[concat('@Microsoft.KeyVault(SecretUri=', 'https://',parameters('keyVaultName'),'.vault.azure.net/secrets/',parameters('keyVaultSecretName'))')]"