-1

如何使用 ARM 模板从 azure Vault 获取秘密?

我的模板:

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {},
    "resources": [],
    "outputs": {
        "referenceOutput": {
            "type": "object",
            "value": "[listSecrets(resourceId('my-resource-group', 'Microsoft.KeyVault/vaults/secrets', 'myKeyVault','mySecret'), '2016-10-01')]"
        }
    }
}

然后运行:

az group deployment create -g some-rg --template-file ./arm.json

错误:

Deployment failed. Correlation ID: f76de3f2-a9ff-427c-9ae0-b7b24c3fde5d. {
  "error": {    "code": "BadRequest",    "message": "<!DOCTYPE html P

....

<h2>404 - File or directory not found.</h2>\r\n  <h3>The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.</h3>\r\n </fieldset></div>\r\n</div>\r\n</body>\r\n</ht
ml>\r\n"
4

1 回答 1

0

使用 ARM 模板无法做到这一点,但您可以在 ARM 模板中引用秘密以将其作为值传递。

"password": {
    "reference": {
        "keyVault": {
            "id": "vaultId"
        },
        "secretName": "secretName"
    }
}

但是你要知道这个表达式不能直接在模板中使用。您可以在参数文件中和\或在调用嵌套模板时使用它。

此外,您可以对某些资源的某些属性(如 VM 密码)使用类似的表达式

于 2017-12-28T12:01:14.687 回答