【问题标题】:How to use secureObject or securestring returned from a linked ARM template如何使用从链接的 ARM 模板返回的安全对象或安全字符串
【发布时间】:2019-02-08 01:58:14
【问题描述】:

如何使用从链接的 ARM 模板返回的 securestringsecureObject 的值?

例如,一个名为CreateStorage的子链接模板

  1. 创建 Azure 存储帐户
  2. 在该帐户上创建 blob 容器
  3. 为容器创建一个 SAS 密钥
  4. 返回模板outputs 部分中的SAS 密钥。

例如在模板输出中返回 SAS:

"outputs": {
    "createdContainerSas": {
        "type": "string",
        "value": "[concat('https://', variables('storageAccountName'), '.blob.core.windows.net/', variables('containerName'), '?', listServiceSas(variables('storageAccountName'), '2018-07-01', variables('importSasInputs')).serviceSasToken)]"
    }
}

然后,主模板会将 SAS 密钥添加到 KeyVault,以便应用程序的其余部分可以使用它。主模板获取值如下:

"value": "[reference('CreateStorage').outputs.createdContainerSas.value]"

问题是当前 SAS 密钥返回为 string,这意味着它以纯文本形式显示在 Azure 部署 UI 中。

但是,当我将返回对象的类型更改为securestringsecureObject 时,当调用createdContainerSas.value 时,会遇到以下错误:

{\r\n \"code\": \"InvalidTemplate\",\r\n \"message\": \"Unable to process template language expressions for resource '/subscriptions/<my-subscription-id>/resourceGroups/<my-resource-group>/providers/Microsoft.Resources/deployments/CreateKeyVault' at line '310' and column '9'. 'The language expression property 'value' doesn't exist, available properties are 'type'.'\"\r\n }

因此,当从子链接的 ARM 模板返回 securestringsecureObject 时,.value 属性似乎不存在。

https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-templates-outputs 上的 Microsoft 文档说

输出值支持与模板输入参数相同的类型。

securestringsecureObject 作为模板输入参数工作正常,所以我一定是做错了什么。

如何使用从链接的 ARM 模板返回的 securestringsecureObject 的值?

【问题讨论】:

    标签: azure arm-template securestring azure-template


    【解决方案1】:

    输入\输出中省略了secureString\secureObject 类型。你不能“得到”它们。他们只是被通过了,就是这样。这就是为什么它们被称为secure。他们没有被记录在任何地方。没有真正的解决方法。

    在您的情况下,您只需在需要的地方拉取键,您不必在嵌套模板中拉取它们并将它们传递给父模板。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-19
      • 1970-01-01
      • 2017-02-03
      • 2015-10-08
      • 2020-10-23
      • 1970-01-01
      • 2015-08-19
      相关资源
      最近更新 更多