将标签复制到资源组中的资源的策略和倡议

     2023-04-13     206

关键词:

【中文标题】将标签复制到资源组中的资源的策略和倡议【英文标题】:Policy and Initiative to copy Tags to resources in Resource Group 【发布时间】:2019-04-25 07:14:48 【问题描述】:

我正在努力创建 Azure Policy 示例的参数化版本,它将应用于资源组的标记复制到其中的任何资源。这是我用作灵感的示例:https://github.com/Azure/azure-policy/tree/master/samples/ResourceGroup/copy-resourcegroup-tag,即:


    "if": 
        "field": "tags.example",
        "exists": "false"
    ,
    "then": 
        "effect": "append",
        "details": [
            
                "field": "tags.example",
                "value": "[resourceGroup().tags.example]"
            
        ]
    

我们在资源组中添加了许多标签,出于计费目的,我需要确保将这些标签应用于其中的所有资源。我希望多次创建一个包含相同策略的倡议,每次都使用不同的参数化标签名称。我的示例策略的参数化版本如下所示:

"parameters": 
  "tagName": 
    "type": "String",
    "metadata": 
      "displayName": "Tag name",
      "description": "The tag to copy to child resources"
    
  
,
"policyRule": 
  "if": 
    "field": "[concat('tags.', parameters('tagName'))]",
    "exists": "false"
  ,
  "then": 
    "effect": "append",
    "details": [
      
        "field": "[concat('tags.', parameters('tagName'))]",
        "value": "[concat('resourceGroup().tags.', parameters('tagName'))]"
      
    ]
  

当政策适用时,我得到了不合规的结果。查看合规详情显示:

不合规原因 当前值必须存在。字段 tags.ApplicationName当前值 --

有一个名为 ApplicationName 的标签,其值为资源组。 documentation 表示“当前值必须存在”的原因是 exists 条件。这似乎与我期望它的工作方式有悖常理 - 我知道它不存在,这就是我要设置该值的原因。

除了分配策略并等待几个小时得到结果之外,还有什么方法可以调试这些?

感谢您的帮助!

【问题讨论】:

【参考方案1】:

我已经弄清楚了,我的语法错误,我需要使用键而不是属性来引用标签,即 tags['ApplicationName'] 而不是 tags。应用程序名称。 policyRule 属性必须是:

"policyRule": 
  "if": 
    "field": "[concat('tags[', parameters('tagName'), ']')]",
    "exists": "false"
  ,
  "then": 
    "effect": "append",
    "details": [
      
        "field": "[concat('tags[', parameters('tagName'), ']')]",
        "value": "[resourceGroup().tags[parameters('tagName')]]"
      
    ]
  

我也误解了此功能的工作原理,似乎具有附加效果的策略只能在资源创建时附加,而不是在现有资源上追溯。上述政策为新资源添加了标签,但导致现有资源的“不合规”报告。

此行为已记录在 here:

“当使用附加效果的策略定义作为评估周期的一部分运行时,它不会对已经存在的资源进行更改。相反,它会将满足 if 条件的任何资源标记为不合规。”

【讨论】:

如何将 C++ 项目中的资源文件构建/复制到调试目标路径?

】如何将C++项目中的资源文件构建/复制到调试目标路径?【英文标题】:Howtobuild/copytheresourcefilefromtheC++projecttoDebugTargetPath?【发布时间】:2014-12-1808:23:28【问题描述】:我在项目中有一个资源文件需要构建/复制到调试目标路径... 查看详情

kubernetes中的资源分配和限制策略

...es是一个容器集群管理平台,Kubernetes需要统计整体平台的资源使用情况,合理地将资源分配给容器使用,并且要保证容器生命周期内有足够的资源来保证其运行。同时,如果资源发放是独占的,即资源已发放给了个容器,同样的... 查看详情

将图像从项目资源复制到Objective-C中的文档文件夹时出现问题

】将图像从项目资源复制到Objective-C中的文档文件夹时出现问题【英文标题】:ProblemwhencopyingimagefromprojectresourcestodocumentsfolderinObjective-C【发布时间】:2011-03-0413:29:36【问题描述】:我在将图像从项目资源复制到Documents文件夹时遇... 查看详情

使用maven将多个资源目录复制到独立的目标目录

】使用maven将多个资源目录复制到独立的目标目录【英文标题】:Copyingmultipleresourcedirectoriestoindependenttargetdirectorieswithmaven【发布时间】:2013-10-2421:50:30【问题描述】:Mavenresourcesplugin:这个目标需要你配置要复制的资源,并指定输... 查看详情

ruby将aws堆栈中的元数据加载到puppet的facter中。包括所有导出,输出,参数,资源和标签。(代码片段)

查看详情

数据存储区 - 单个实体组中的资源争用 -

...理,因为Datastore不支持连接查询。这意味着在多个实体中复制相同的信息非规范化意味着每当您必须更新数据,必须在不同的实体中更新但单个实体组有1次写入/秒的限制。 查看详情

MobileFirst:将文件从本机资源文件夹复制到 Android 环境中的本机文件夹

】MobileFirst:将文件从本机资源文件夹复制到Android环境中的本机文件夹【英文标题】:MobileFirst:copyfilesfromnativeresourcesfoldertonativefolderinAndroidenvironment【发布时间】:2015-09-0812:15:34【问题描述】:我试图在MobileFirst项目中的应用程... 查看详情

iOS - 将特定图像从捆绑资源路径复制到 Documents Dir

】iOS-将特定图像从捆绑资源路径复制到DocumentsDir【英文标题】:iOS-CopyspecificimagesfrombundleresourcepathtoDocumentsDir【发布时间】:2013-09-2316:17:34【问题描述】:我正在尝试在应用程序启动时从bundleresourcePath中获取选定的文件。我能够... 查看详情

子目录中的资源文件被复制到 app bundle 的根目录

】子目录中的资源文件被复制到appbundle的根目录【英文标题】:Resourcefilesinsubdirectoryarecopiedtorootdirectoryoftheappbundle【发布时间】:2012-06-1014:35:27【问题描述】:我不确定这是预期的还是错误的。我正在尝试在磁盘中创建与XCode中... 查看详情

keycloak 中的资源、范围、权限和策略

】keycloak中的资源、范围、权限和策略【英文标题】:Resources,scopes,permissionsandpoliciesinkeycloak【发布时间】:2017-06-3009:42:27【问题描述】:我想使用Keycloak的授权系统创建一个相当简单的基于角色的访问控制系统。Keycloak正在取代... 查看详情

如何使用 Terraform 将资源动态附加到内联策略?

】如何使用Terraform将资源动态附加到内联策略?【英文标题】:HowtodynamicallyattacharesourcetoaninlinepolicyusingTerraform?【发布时间】:2021-02-1717:11:56【问题描述】:我正在创建一个内联策略并且我想动态附加一个资源。这是我的政策:r... 查看详情

7html中img标签的图片资源处理

...oader处理了css中背景图片的引用的问题;html中直接使用img标签src加载图片的话,使用copy-webpack-plugin插件是将图片复制到dist目录下,因为没有被依赖,图片将不会被打包,html-withimg-loader是另一种解决这个问题的方式,图片会被打... 查看详情

如何将 sdf 文件从资源复制到临时文件夹 C#

】如何将sdf文件从资源复制到临时文件夹C#【英文标题】:HowtocopysdffilefromresourcestoTemporaryFolderC#【发布时间】:2015-04-2714:46:24【问题描述】:我有一个C#中的Windows窗体应用程序。在这个.resx文件中,我添加了一个名为Database1.sdf的.... 查看详情

将 API 密钥放在哪里?清单中的资源、元数据还是静态变量? [复制]

...PI密钥放在哪里?清单中的资源、元数据还是静态变量?[复制]【英文标题】:WheretoputtheAPIkey?Resources,Meta-datainManifestorstaticvariable?[duplicate]【发布时间】:2015-05-0121:52:33【问题描述】:我正在尝试找出将API密钥添加到我的Android应... 查看详情

Azure Databricks - 导出和导入 DBFS 文件系统

...从这个旧的Databricks实例开始,我会将存储在dbfs中的数据复制到最 查看详情

将文件从应用程序拖到资源管理器。我的应用程序可以复制吗?

】将文件从应用程序拖到资源管理器。我的应用程序可以复制吗?【英文标题】:Dragfilefromapplicationtoexplorer.Canmyapplicationdothecopying?【发布时间】:2016-01-1510:00:32【问题描述】:在Qml中,我可以使用text/uri-listmime类型开始拖动,以... 查看详情

审核包含资源的资源组的策略

...配置策略来审核包含资源的资源组,无论是否具有特定的标签名称。策略不应审核空资源组。如果资源组包含资源,我的要求只是对标签执行审计。是否可以创建策略?【问题讨论】:【参考方案1】:确实,AzurePolicy可以审核,... 查看详情

关于 azure 标签和策略

】关于azure标签和策略【英文标题】:Aboutazuretagsandpolicies【发布时间】:2020-11-0516:22:08【问题描述】:我想为在我的Azure订阅中自动创建的每个新资源添加标签。我希望该标签为------id-“createdby”和value-“关联的id或创建该资源... 查看详情