有没有一种方法可以在用户单击创建之前通过 ARM 模板为用户创建存储帐户?
Is there a way we can create a storage account for a user through ARM Templates before user clicks create?
我的部署模板中目前有存储帐户创建资源,但我需要用户提供的存储访问密钥。是否可以创建存储帐户并获取访问密钥?
此部署是在 Azure 门户上完成的。我目前正在使用自定义模板进行部署。
更新
我在 CreateUIDefinition 文件中有一个部分要求用户创建一个新的存储帐户,如下所示
screenshot of preview
现在,一旦我在验证后移至“查看 + 创建”选项卡并点击“创建”,就会创建此存储帐户。
但我需要用户正在创建的此存储帐户的访问密钥,以便我可以将其值存储到 Key Vault Secret 中供以后使用。
这可能吗?
如果您只是想确保您的存储帐户已创建,以便您可以通过以下方式获取其访问密钥:
[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName')), providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).keys[0].value]
对于您的子序列资源,您可以通过 dependsOn
元素在您的 ARM 模板中定义其创建顺序。详情 see here.
更新:
如果您想先创建一个存储帐户,以便您可以获取其访问密钥并将其保存到密钥保管库,我认为您可以做 that.First 您应该定义您的密钥保管库是dependson
Azure 存储帐户。因此将首先创建 Azure 存储帐户。基于 this doc,我们可以从第一个创建的 Azure 存储帐户读取访问密钥并将其保存到您的 Azure Key Vault 中。当然在 Microsoft.KeyVault/vaults/secrets
你还需要设置 :
"dependsOn": [
"[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
]
以确保您的密钥保管库已创建。
我的部署模板中目前有存储帐户创建资源,但我需要用户提供的存储访问密钥。是否可以创建存储帐户并获取访问密钥?
此部署是在 Azure 门户上完成的。我目前正在使用自定义模板进行部署。
更新
我在 CreateUIDefinition 文件中有一个部分要求用户创建一个新的存储帐户,如下所示 screenshot of preview
现在,一旦我在验证后移至“查看 + 创建”选项卡并点击“创建”,就会创建此存储帐户。
但我需要用户正在创建的此存储帐户的访问密钥,以便我可以将其值存储到 Key Vault Secret 中供以后使用。
这可能吗?
如果您只是想确保您的存储帐户已创建,以便您可以通过以下方式获取其访问密钥:
[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName')), providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).keys[0].value]
对于您的子序列资源,您可以通过 dependsOn
元素在您的 ARM 模板中定义其创建顺序。详情 see here.
更新:
如果您想先创建一个存储帐户,以便您可以获取其访问密钥并将其保存到密钥保管库,我认为您可以做 that.First 您应该定义您的密钥保管库是dependson
Azure 存储帐户。因此将首先创建 Azure 存储帐户。基于 this doc,我们可以从第一个创建的 Azure 存储帐户读取访问密钥并将其保存到您的 Azure Key Vault 中。当然在 Microsoft.KeyVault/vaults/secrets
你还需要设置 :
"dependsOn": [
"[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
]
以确保您的密钥保管库已创建。