求助:通过SSMS创建的Azure SQL数据库不遵守Azure策略的解决方法
Azure SQL数据库创建权限与策略生效问题
- 通过SSMS右键选择“新建数据库”创建的Azure SQL数据库,默认会以General Purpose 5(Gen5)、2 vCores的配置部署,该配置成本过高。
- 我们已创建并分配了如下Azure策略,仅允许Basic、Standard和ElasticPool这几种SKU:
{ "parameters": { "allowedSkuNames": { "type": "Array", "metadata": { "displayName": "Allowed SKU Names", "description": "List of allowed SKU names for SQL databases." }, "allowedValues": [ "Basic", "Standard", "Premium", "ElasticPool", "GP_Gen5_2", "BC_Gen5_2" ] } }, "policyRule": { "if": { "allOf": [ { "field": "type", "equals": "Microsoft.Sql/servers/databases" }, { "field": "Microsoft.Sql/servers/databases/sku.name", "notIn": "[parameters('allowedSkuNames')]" } ] }, "then": { "effect": "deny" } } } - 该策略可阻止Azure门户中不符合要求的数据库部署,但通过SSMS创建数据库仍能成功,且依然采用Gen5 2 vCores配置;迁移不存在的数据库时也会出现相同问题。
我们有以下疑问:
- 是否有办法强制所有数据库创建操作遵守该策略?
- 能否修改Azure SQL数据库的默认SKU?
- 若以上方案均无法实现,是否只能通过限制账户权限(禁止账户部署数据库)来解决此问题?
内容的提问来源于stack exchange,提问作者jarrad_obrien
相关产品推荐
相关产品推荐

