Azure 实战之Policy定义资源创建时间
Governance,中文即治理,其描述了制定规则和策略的过程,并确保强制实施这些规则和策略。企业业务系统运行在云端时,好的治理策略可以帮助管理员保持对云中管理的应用程序和资源的控制。保持对环境的控制可确保满足以下标准:行业标准,如 PCI DSS;公司或组织标准,如确保网络数据已加密的标准。
治理在以下情况中最有用:
- 有多个项目团队在 Azure 中工作。
- 需要管理多个订阅。
- 具有必须强制实施的法规或者企业合规要求。
- 具有所有云资源必须遵循的标准。
- 满足某些特定需求的企业管理。
Microsoft Azure Policy就是一个治理和管理云环境的服务。
用过Microsoft Azure云平台的都知道,当我们创建资源和对象时并不记录具体资源创建时间,通过Azure Monitor审核日志方式也仅保留90天记录,并且需要通过写查询语言获取,随着时间的推移,作为运维管理者很难把控资源创建时间以及统一标识资源管理,谁创建了这些资源以及估计的每月成本是多少,都比较难以统计。因此,今天我将借助Azure Policy和Azure Tags来实现这一问题。通过使用 Azure 策略,我们将实现一个策略,该策略应用于所有资源(包括资源组),该策略在创建资源时自动创建日期标记。
使用您的有效账户登录Azure Portal,选择”所有服务”,选择”管理与治理“,选择”policy”
点击”Definitions“,然后点击”Poiicy definition”
“ New Policy Definition“页面,定义将应用该策略的位置,最佳做法是创建租户根下的管理组(多个订阅的时候)并应用于该权限。当然您也可以应用于单个订阅。
键入策略名称以及策略描述
根据自己的需要,为自定义策略创建新类别,或使用现有类别。
Policy Rule里键入需要的策略
{
“mode”: “All”, “policyRule”: { “if”: { “allOf”: [ { “field”: “tags[‘CreatedOnDate’]”, “exists”: “false” } ] }, “then”: { “effect”: “append”, “details”: [ { “field”: “tags[‘CreatedOnDate’]”, “value”: “[utcNow()]” } ] } }, “parameters”: {} } |
点击”Save”
返回” Definitions“,然后在”Type“下找到”Custom”
点击创建的自定义策略,点击”Assign”
根策略可以分配给原始范围下任何级别的资源(这是租户根下的顶级管理组)。如果存在不希望策略应用于的特定资源,还可以筛选资源。如果您愿意,可以更改分配名称。
单击”分配”后,范围内的任何订阅将在几分钟后遵守新策略。
点击”Assignments“,查看分配的策略
我们新建资源查看策略是否生效
可以发现,基于Azure Policy创建的Tag已经生效
资源组下的资源也会应答该策略
注意:这个策略只能基于新建资源生效,对Azure云中已存在资源不起作用,因此最好是在Azure评估规划阶段定义是否使用该策略。