如何在Visual Studio中自动创建加密存储账户并在下拉菜单选择?
关于Azure加密存储账户创建与ARM模板部署的解答
嘿,我来帮你逐一解答这两个问题:
1. 能否自动创建加密的存储账户?
当然可以!而且其实Azure存储账户默认就会启用加密(Azure存储服务加密,SSE),不管你是通过Azure Portal、ARM模板、Azure CLI还是PowerShell来创建,默认状态下数据都会自动加密,无需额外手动开启。
如果你的需求是使用**客户管理的密钥(CMK)**来替代默认的微软管理密钥,也可以通过自动化方式配置。比如在ARM模板里,你可以在Microsoft.Storage/storageAccounts资源的encryption节点中指定密钥信息,示例代码片段如下:
{ "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2023-01-01", "name": "[variables('storageAccountName')]", "location": "[resourceGroup().location]", "sku": { "name": "Standard_LRS" }, "kind": "StorageV2", "properties": { "encryption": { "services": { "blob": { "keyType": "Account", "enabled": true }, "file": { "keyType": "Account", "enabled": true } }, "keySource": "Microsoft.KeyVault", "keyVaultProperties": { "keyName": "[parameters('keyVaultKeyName')]", "keyVersion": "", "keyVaultUri": "[parameters('keyVaultUri')]" } } } }
通过这类模板,你可以批量、自动创建符合自定义加密要求的存储账户。
2. Visual Studio部署ARM模板时,能否自动创建加密存储账户并在工件存储账户下拉菜单选择?
首先要明确:当你在VS中部署ARM模板,选择“创建新”存储账户作为工件存储时,VS默认创建的存储账户是启用了默认SSE加密的,理论上应该符合大多数禁止未加密存储的策略要求。但如果你的组织策略要求使用**客户管理的密钥(CMK)**这种更严格的加密方式,默认创建的账户可能不满足。
针对这种情况,有两个可行的解决办法:
- 提前创建符合要求的存储账户:用ARM模板、CLI或PowerShell先创建好满足加密策略的存储账户,然后在VS的工件存储账户下拉菜单中直接选择这个已有的账户即可。
- 自定义部署流程:如果需要完全自动化,可以跳过VS的可视化选择步骤,改用Azure CLI或PowerShell来执行ARM模板部署,同时指定预先配置好加密的存储账户作为工件存储。比如使用
az deployment group create命令时,通过--storage-account参数指定已有的加密存储账户。
另外,如果你希望VS自动创建带CMK加密的存储账户,目前VS本身没有直接的可视化配置选项,不过你可以通过修改VS用于创建存储账户的底层模板(或者自定义部署脚本)来实现,但操作起来不如提前创建账户来得直接简便。
内容的提问来源于stack exchange,提问作者itye1970
相关产品推荐
相关产品推荐

