22条军规之Azure Policy

随着IT上云的日益推进,现在如何上好云、用好云已成为企业上云的关键。所以,今年Azure将云治理、安全等作为了重点;其中,Azure Policy是一个重要环节。

Azure Policy简介

在正规企业的IT环境,有一系列的规章制度保障IT的正常运行,例如哪些服务器需要备份,是否做了定时更新,防火墙等配置是否完善等。但在很多企业,这些规章制度的执行和检查都是靠人工完成,随着企业IT规模的扩大,很容易有遗漏。

Azure Policy(策略)提供了一个自动化的管理方式,定期扫描Azure的各种资源,检查是否符合规定的策略。这样减轻了人工工作量,同时也避免人为遗漏错误。

Azure Policy配置

我们可以通过一个Demo展示Azure Policy的工作方式。

本Demo中,我们有两个资源组(rg01、rg02),rg01是生产环境,虚机需要日常备份;rg02是测试环境,虚机无需备份。Demo通过Policy进行检查,如果发现rg01中有未配置备份的虚机,则不合规。

首先创建两个空的资源组rg01和rg02:

image-20200819105741831

在Azure的所有服务中选择Policy(策略):

image-20200819105910901

Azure Policy的工作原理是选择或新建一个策略或计划(计划是一组策略的集合),分配给指定范围的资源,然后定期(24小时左右)Policy会检查这些资源是否符合策略或计划,并列出不合规项。

首先进入定义,可以看到已经内置了一系列的策略和计划:

image-20200819110510876

可以看到,是否启用了备份就是一个内置的策略。当然,如果内置策略不满足要求,也可以通过策略定义自己创建:

image-20200819110618302

或者根据需要将若干已有策略组合成一个计划:

image-20200819110709401

现在进入分配页面,按Demo需求,通过分配策略将检查是否备份分配到rg01:

image-20200819110801629

点击分配策略:

image-20200819110926752

首先选择范围,指定订阅和资源组:

image-20200819111004656

如果rg01里有vm无需备份,可以在排除里填入,这里忽略。

在策略定义里按需选择策略,包括内置和自定义的,这里选择启用备份:

image-20200819111219620

分配名称和说明按需填写即可,基本信息完成如下:

image-20200819111315262

参数和修正保持默认即可,点击创建即可完成分配:

image-20200819111514228

现在分别在rg01和rg02里各创建两台虚机(vm01,vm02,vm03,vm04),均不启用备份:

image-20200819112408498

由于Azure Policy的检查是定期执行,所以这里我们可以通过Azure CLI手工启动检查:

image-20200819115249379

执行完成,到Policy可以看到,有一条不符合的策略,两个资源(虚机)不符合:

image-20200819115403246

进入详细信息可以看到,vm01和vm02不符合策略:

image-20200819115457063

vm03和vm04虽然也没配置备份,但是因为策略并没有分配给这两台vm所在的rg02,所以不对其进行策略检查。

现在为vm01启用备份:

image-20200819115637676

再次手工执行策略检查后,可以看到只有vm02不合规:

image-20200819121159196

小结

Azure Policy虽然不是直接可使用的计算存储网络等资源,但其能帮我们做环境合规检查,特别是大型复杂的环境,很容易出现纰漏,完全靠人工的方式存在太多瑕疵,而Policy弥补上了这个问题,是用好云,合规化的重要助手。

Demo只是用内置的策略做简单演示,实际环境中可以根据需要自定义各种复杂的策略和计划来满足需求。抛砖引玉,希望对大家有所帮助。