【Azure Policy】使用Azure Policy来精准控制资源的创建类型

简介: 本文介绍了如何在 Azure 中使用 Azure Policy 的 Deny 策略,阻止创建 AI 服务中的 Document Intelligence 资源。通过定义策略规则,结合资源类型和 Kind 属性,实现精准限制,并附有示例代码及验证结果。

问题描述

在 Azure 中使用 Azure Policy 来禁止创建某些资源,是一种非常有效的治理手段。可以通过定义策略(Policy Definition)并分配(Assignment)到订阅或资源组,来实现对资源创建的限制。

下面将介绍使用Deny策略来阻止创建 Azure AI services 中的 Document intelligence资源。

 

问题解答

在使用Deny的策略中,用 if 条件来匹配需要禁止的资源类型,比如 虚拟机的资源类型为 Microsoft.Compute/virtualMachines。它的PolicyRule设置就非常简单,只需要一个条件就可以。


示例如下:

"policyRule": {
      "if": {
        "field": "type",
        "equals": "Microsoft.Compute/virtualMachines"
      },
      "then": {
        "effect": "deny"
      }
    }

对于Azure AI services 中的 Document intelligence资源, 只根据类型 type 为 Microsoft.CognitiveServices/accounts 就无法实现精准判断 Document Intelligence资源,因为Anomaly detector,Content moderator等资源的类型都是Microsoft.CognitiveServices/accounts。

根据对Document Intelligence的资源文件进行分析,发现他们之间使用Kind属性值进行区分。比如:

  • Document intelligence 的Kind值为FormRecognizer
  • Anomaly detector 的Kind值为AnomalyDetector
  • Content moderator 的Kind值为ContentModerator


所以,可以使用如下的PolicyRule来实现禁止创建Document intelligence资源:

{
  "mode": "All",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": "Microsoft.CognitiveServices/accounts"
        },
        {
          "field": "Kind",
          "equals": "FormRecognizer"
        }
      ]
    },
    "then": {
      "effect": "deny"
    }
  },
  "parameters": {}
}

创建好策略并分配后,验证效果如下:

 

参考资料

What are the resource providers for Azure services : https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/azure-services-resource-providers

Azure Policy 定义结构策略规则 : https://docs.azure.cn/zh-cn/governance/policy/concepts/definition-structure-policy-rule

 

 

 


当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
vscode ctrl+/ 注释快捷键失效
首次安装vscode 不知道为何会快捷键失效,首先想到的就是键位冲突! 于是解决了。
7407 0
vscode ctrl+/ 注释快捷键失效
|
存储 SQL 大数据
告别 Count Distinct 慢查询:StarRocks 高效去重全攻略
在大数据分析中,去重计算(如 Count Distinct)因高计算开销常成为性能瓶颈,尤其在高基数和高并发场景下更为明显。本文以 StarRocks 为分析平台,深入探讨多种去重优化策略,包括使用函数、数据类型转换(如 String 转 Int)、高效数据结构(如 Bitmap 和 HLL),以及物化视图的预计算方案。通过实际案例分析,对比不同方法在性能、精度和易用性方面的优劣,帮助用户在不同业务场景下选择最合适的优化手段。此外,文章还详细解析了如何结合 SQL 查询构建物化视图,以提升去重计算效率,并讨论了精确与近似去重的适用场景。最终目标是为复杂数据分析提供高效、灵活的解决方案。
|
存储 安全 Java
2025 年一线互联网大厂最新高质量 Java 面试八股文整理及答案汇总
本文整理了一线互联网大厂最新的高质量Java面试八股文及其答案,涵盖Java基础、集合框架与多线程三大核心模块。内容包括面向对象与面向过程的区别、`equals`与`==`的差异、`final`和`static`的用法、集合类如`ArrayList`与`LinkedList`的对比、`HashMap`的工作原理及其与`Hashtable`的区别,以及多线程中的线程创建方式、生命周期、上下文切换和死锁等知识点。通过系统化的梳理与解析,帮助读者高效备考Java面试,掌握核心技术要点。资源可从文末链接下载。
3147 40
|
easyexcel
easyExcel自定定义类型转换
easyExcel自定定义类型转换
1253 0
|
资源调度 JavaScript 前端开发
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
16174 23
|
Linux 网络安全 开发工具
IDEA如何配置git和github
【11月更文挑战第14天】本指南详细介绍了如何在 IntelliJ IDEA 中配置 Git 和 GitHub,包括检查和设置 Git 路径、测试配置,以及通过 SSH 或 HTTPS 方式配置 GitHub 仓库的具体步骤。完成配置后,用户可在 IDEA 中轻松进行版本控制操作。
3901 0
|
安全 Linux 开发者
Windows系统历史版本简介
Windows系统历史版本简介
1485 0
|
存储 C++
C++从入门到精通:1.1.4基础语法之控制流
C++从入门到精通:1.1.4基础语法之控制流
325 0
|
IDE Java Nacos
IntelliJ Idea如何将设置tab设置为4个空格
IntelliJ Idea如何将设置tab设置为4个空格
2726 0
IntelliJ Idea如何将设置tab设置为4个空格
|
存储 JavaScript 测试技术
vue中利用.env文件存储全局环境变量,以及配置vue启动和打包命令
分享一下vue项目存储全局环境变量及命令配置。
2373 0
vue中利用.env文件存储全局环境变量,以及配置vue启动和打包命令