【问题标题】:Is there a way we can create a storage account for a user through ARM Templates before user clicks create?有没有一种方法可以在用户单击创建之前通过 ARM 模板为用户创建存储帐户?
【发布时间】:2021-02-22 13:15:21
【问题描述】:

我的部署模板中目前有存储帐户创建资源,但我需要用户提供的存储访问密钥。是否可以创建存储帐户并获取访问密钥?

此部署正在 Azure 门户上完成。我目前正在使用自定义模板进行部署。

更新

我在 CreateUIDefinition 文件中有一个部分要求用户创建一个新的存储帐户,如下所示 screenshot of preview

现在,一旦我在验证后移至“查看 + 创建”选项卡并点击“创建”,就会创建此存储帐户。

但我需要用户正在创建的此存储帐户的访问密钥,以便我可以将其值存储到 Key Vault Secret 中以供以后使用。

这可能吗?

【问题讨论】:

  • 我不明白你想要什么。使用自定义模板是指 ARM 模板吗?你想用访问密钥做什么?
  • 您绝对可以通过ARM模板创建存储帐户。您也可以通过 ARM 模板获取访问密钥并输出密钥。 “在用户点击创建之前”是什么意思?

标签: azure azure-storage arm-template azure-storage-account


【解决方案1】:

如果您只是想确保您的存储帐户已创建,以便您可以通过以下方式获取其访问密钥:

[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName')), providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).keys[0].value]

对于您的子序列资源,您可以在您的 ARM 模板中通过 dependsOn 元素定义其创建顺序。详情see here.

更新

如果您想先创建一个存储帐户,以便您可以获取其访问密钥并将其保存到密钥保管库,我认为您可以这样做。首先您应该定义您的密钥保管库是dependsonAzure存储帐户。以便首先创建 Azure 存储帐户。基于this doc,我们可以从第一个创建的 Azure 存储帐户中读取访问密钥并将其保存到您的 Azure Key Vault 中。当然在Microsoft.KeyVault/vaults/secrets 你还需要设置:

"dependsOn": [
        "[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
      ]

确保您的密钥保管库已创建。

【讨论】:

  • 嗨,斯坦利。我刚刚更新了原始问题。有时间可以看看吗?谢谢
猜你喜欢
  • 1970-01-01
  • 2020-09-04
  • 2020-10-01
  • 2020-10-02
  • 2019-11-30
  • 2021-01-31
  • 1970-01-01
  • 2018-02-15
  • 2020-07-18
相关资源
最近更新 更多