关于通过Azure Policy禁止Cosmos DB启用Synapse Link的技术咨询
如何通过Azure Policy拒绝Cosmos DB启用Synapse Link
- 你之前的策略无效,核心原因是选错了资源类型和控制属性:Synapse Link的启用是在Cosmos DB账户层面配置的,和
Microsoft.Synapse/privateLinkHubs资源无关。 - Cosmos DB启用Synapse Link对应的是
Microsoft.DocumentDB/databaseAccounts资源的enableAnalyticalStorage属性,当该属性设为true时,就代表启用了Synapse Link的分析存储功能。 - 正确的自定义策略应该针对这个属性和资源类型,示例规则如下:
{ "mode": "Indexed", "policyRule": { "if": { "allOf": [ { "field": "type", "equals": "Microsoft.DocumentDB/databaseAccounts" }, { "field": "Microsoft.DocumentDB/databaseAccounts/enableAnalyticalStorage", "equals": true } ] }, "then": { "effect": "Deny" } }, "parameters": {} } - 这个策略会拒绝所有创建或更新Cosmos DB账户时启用Synapse Link的操作,包括新创建账户时勾选启用,以及对已有账户修改属性开启Synapse Link的行为。
- 补充说明:如果需要更精细控制(比如限制分析存储的吞吐量配置),还可以结合
analyticalStorageConfiguration下的子属性,但仅阻止启用的话,控制enableAnalyticalStorage这一个属性就足够。
内容的提问来源于stack exchange,提问作者cavematt
相关产品推荐
相关产品推荐

