【问题标题】:How to create a Key Vault Managed Storage Account in an ARM template?如何在 ARM 模板中创建 Key Vault 托管存储帐户?
【发布时间】:2021-01-31 19:46:30
【问题描述】:

我有一个 ARM 模板,用于创建存储帐户和密钥保管库:

...
{
    "apiVersion": "2019-04-01",
    "type": "Microsoft.Storage/storageAccounts",
    "name": "mystorageaccountname",
    "location": "canadacentral",
    "sku": {
        "name": "Standard_LRS"
    },
    "kind": "StorageV2",
    "properties": {
        "supportsHttpsTrafficOnly": true
    }
}
...

...

{
    "apiVersion": "2019-09-01",
    "type": "Microsoft.KeyVault/vaults",
    "name": "mykeyvault",
    "location": "canadacentral",
    "properties": {
        "tenantId": "[subscription().tenantId]",
        "sku": {
            "family": "A",
            "name": "standard"
        },
        "accessPolicies": []
    }
}
...

我想要我的Key Vault to manage the storage account。对我来说不幸的是,到目前为止我拥有的found examples 是 Powershell 脚本。

ARM template documentation 中,我不清楚如何实现这样的事情。

问题

如何在 ARM 模板中配置密钥保管库来管理存储帐户?

【问题讨论】:

    标签: azure azure-resource-manager azure-keyvault arm-template


    【解决方案1】:

    直到某个时候,因为 ARM 模板不支持直接从它们创建 Azure KV 密钥,所以不可能做这样的事情。最近发布了一个更新,它终于可用了:

    {
                "type": "Microsoft.KeyVault/vaults/keys",
                "name": "[concat(parameters('vaultName'), '/', parameters('keyName'))]",
                "apiVersion": "2019-09-01",
                "location": "[resourceGroup().location]",
                "dependsOn": [
                    "[resourceId('Microsoft.KeyVault/vaults', parameters('vaultName'))]"
                ],
                "properties": {
                    "kty": "[parameters('keyType')]",
                    "keyOps": "[parameters('keyOps')]",
                    "keySize": "[if(equals(parameters('keySize'), -1), json('null'), parameters('keySize'))]",
                    "curveName": "[parameters('curveName')]"
                }
            }
    

    您可以在此处查看完整示例 - https://docs.microsoft.com/en-us/azure/key-vault/keys/quick-create-template?tabs=CLI。这样,您就可以引用存储帐户密钥值并将其直接放入 Azure Key Vault。您可以尝试使用该结构来做到这一点:

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

    【讨论】:

      猜你喜欢
      • 2018-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-02
      • 2020-09-04
      • 2020-10-01
      • 2019-12-24
      • 1970-01-01
      相关资源
      最近更新 更多