【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

 

 

 


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

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
Informer:用于长序列时间序列预测的新型Transformer
Informer:用于长序列时间序列预测的新型Transformer
2475 0
Informer:用于长序列时间序列预测的新型Transformer
|
传感器 数据采集 数据格式
RS485和Modbus通信协议,让工业自动化更高效!
RS485和Modbus通信协议,让工业自动化更高效!
|
存储 缓存
什么是TS流?
什么是TS流?
598 0
|
6月前
|
存储 SQL 大数据
告别 Count Distinct 慢查询:StarRocks 高效去重全攻略
在大数据分析中,去重计算(如 Count Distinct)因高计算开销常成为性能瓶颈,尤其在高基数和高并发场景下更为明显。本文以 StarRocks 为分析平台,深入探讨多种去重优化策略,包括使用函数、数据类型转换(如 String 转 Int)、高效数据结构(如 Bitmap 和 HLL),以及物化视图的预计算方案。通过实际案例分析,对比不同方法在性能、精度和易用性方面的优劣,帮助用户在不同业务场景下选择最合适的优化手段。此外,文章还详细解析了如何结合 SQL 查询构建物化视图,以提升去重计算效率,并讨论了精确与近似去重的适用场景。最终目标是为复杂数据分析提供高效、灵活的解决方案。
|
3月前
|
开发框架 Java .NET
【App Service】Java应用上传文件功能部署在App Service Windows上报错 413 Payload Too Large
Java应用在Azure App Service(Windows)部署时,因IIS默认限制上传文件不超过30MB,导致大文件上传出现413错误。虽无web.config文件,可通过Kudu工具手动创建并配置maxAllowedContentLength和maxRequestLength,突破限制,实现大文件上传。
245 3
|
6月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
302 5
|
8月前
|
NoSQL 网络协议 Java
【Azure Redis】Redis服务端的故障转移(Failover)导致客户端应用出现15分钟超时问题的模拟及解决
在使用 Azure Cache for Redis 服务时,因服务端维护可能触发故障转移。Linux 环境下使用 Lettuce SDK 会遇到超时 15 分钟的已知问题。本文介绍如何通过重启 Primary 节点主动复现故障转移,并提供多种解决方案,包括调整 TCP 设置、升级 Lettuce 版本、配置 TCP_USER_TIMEOUT 及使用其他 SDK(如 Jedis)来规避此问题。
287 1
|
8月前
|
C++ Windows
【Function App】本地通过VS Code调试Function时候遇见无法加载文件错误Microsoft.Extensions.Diagnostics.Abstractions
在使用 VS Code 调试 Azure Functions 时,执行 `func host start` 可能因版本冲突报错。错误信息显示 Rpc Initialization Service 启动失败,可能是由于缺少文件或组件导致。解决方法包括:1) 使用 npm 卸载并重新安装 Azure Functions Core Tools;2) 若问题未解决,重新下载安装包(如 func-cli-x64.msi)修复旧版本工具;3) 退出并重启 VS Code,重新加载项目即可恢复正常运行。参考资料链接提供了更多背景信息。
308 0
|
10月前
|
Java 开发工具 Spring
【Azure Application Insights】为Spring Boot应用集成Application Insight SDK
本文以Java Spring Boot项目为例,详细说明如何集成Azure Application Insights SDK以收集和展示日志。内容包括三步配置:1) 在`pom.xml`中添加依赖项`applicationinsights-runtime-attach`和`applicationinsights-core`;2) 在main函数中调用`ApplicationInsights.attach()`;3) 配置`applicationinsights.json`文件。同时提供问题排查建议及自定义日志方法示例,帮助用户顺利集成并使用Application Insights服务。
275 8
|
10月前
|
Linux
【Function App】记录一次 "OSError: Could not find a suitable TLS CA certificate bundle" 错误
错误信息:We get an error in function app. Exception: OSError: Could not find a suitable TLS CA certificate bundle, invalid path: /home/site/wwwroot/.python_packages/lib/site-packages/certifi/cacert.pem This issue happened by chance. This appears to be a platform issue with Function Apps running on Linux
251 6