【发布时间】:2021-11-24 13:53:53
【问题描述】:
为了使使用密钥库的参数可用于我的 azure webapp,我执行了以下操作
identity=`az webapp identity assign \
--name $(appName) \
--resource-group $(appResourceGroupName) \
--query principalId -o tsv`
az keyvault set-policy \
--name $(keyVaultName) \
--secret-permissions get \
--object-id $identity
现在我想创建一个 azure postgres 服务器,从密钥库中获取管理员密码:
az postgres server create \
--location $(location) \
--resource-group $(ResourceGroupName) \
--name $(PostgresServerName) \
--admin-user $(AdminUserName) \
--admin-password '$(AdminPassWord)' \
--sku-name $(pgSkuName)
如果我的 AdminPassWord 的值在这里类似于
@Microsoft.KeyVault(SecretUri=https://<myKv>.vault.azure.net/secrets/AdminPassWord/)
我需要单引号(如上)来创建 postgres 服务器。但这是否意味着密码将是整个字符串 '@Microsoft.KeyVault(SecretUri=https://<myKv>.vault.azure.net/secrets/AdminPassWord/)' 而不是存储在 <myKv> 中的秘密?
在不带引号的情况下运行我的管道(即仅--admin-password $(AdminPassWord) \)时,我收到了错误消息syntax error near unexpected token ('。我认为这可能是因为我没有为资源 postgres 服务器设置策略--secret-permissions get。但是在创建 postgres 服务器之前如何设置呢?
【问题讨论】:
标签: postgresql azure-devops azure-keyvault