本文实现利用Azure Management Group 和Policy 控制指定的订阅的指定资源的创建。

 

案例背景:

某个连锁教育组织为每个分校创建了一个订阅,每个分校有若干员工;

现在要控制每个分校的员工只能创建指定类型的资源。

 

 

简单实现步骤:

在Management Groups 中为每个分校创建 一个管理组,例如命名为“上海浦东分校管理组”;

在Management Groups中为“上海浦东分校管理组”添加受控的”上海浦东分校订阅“;

在“上海浦东分校管理组”中添加Policy,使用内置的“Allowed resource types” 选择允许创建的资源;

 

在AAD中为每个分校创建Group:例如“上海浦东分校”;

在“上海浦东分校订阅“中,添加Access Control,将Contributor角色分配给“上海浦东分校Group”;

在AAD中为该分校创建Users,并指定Group为“上海浦东分校Group”;

测试:使用“上海浦东分校”的员工账号登录Azure,检查该员工只有“上海浦东分校订阅”,尝试创建资源,如果资源不在policy中,则创建失败。

 

视频演示


 

 

 

 

 

第一步:


在Management Groups 中为每个分校创建 一个管理组,例如命名为“上海浦东分校管理组”;

 

在Azure portal中选择 Management Groups,进入管理组页面:

 

然后添加一个Management Group,管理组名称为pudong-group

 

 

 

如果第一次使用管理组页面,可能存在警告提示,需要进入AAD-Properties中将设置“Access Management for Azure Resources”设置为“YES”

 

 

 

 

 

第二步:


在Management Groups中为“上海浦东分校管理组”添加受控的”上海浦东分校订阅“;

在Management Groups页面中,选择 上海浦东分校的订阅,点击最右侧的图标,选择move

在下拉列表中,选择上海浦东分校的管理组

 

第三步


在“上海浦东分校管理组”中添加Policy,使用内置的“Allowed resource types” 选择允许创建的资源

 

在上海浦东分校管理组的页面,点击detail按钮:

选择Assign Policy

 

在search中选择“Allow” 关键字,并找到Allowed Resources Types

 

在Parameters中输入 iothubs,搜索iot hub相关的资源类型,如果需要虚拟机,也可以在此处设定虚拟机相关的资源类型

注意,policy仅针对之后新创建的资源生效。

可以设定如果创建违规的资源的提示信息。

 

第四步


在AAD中为每个分校创建Group:例如“上海浦东分校”;

 

在AAD中,创建一个security group,浦东分校的所有员工均在该组中

 

 

 

第五步


在“上海浦东分校订阅“中,添加Access Control,将Contributor角色分配给“上海浦东分校Group”

 

 

 

将Contributor角色授权给浦东分校的security group,则浦东分校group下的所有员工均具备了 上海浦东分校订阅的 contributor角色

 

 

 

第六步


在AAD中为该分校创建Users,并指定Group为“上海浦东分校Group”;

 

 

设置必要的用户名,密码,选择所在的group为 pudong-group;

 

 

 


 

测试:使用“上海浦东分校”的员工账号登录Azure,检查该员工只有“上海浦东分校订阅”,尝试创建资源,如果资源不在policy中,则创建失败。

 

浦东分校的用户,只能看到浦东分校的订阅

浦东分校的用户创建policy中未指定的资源失败

 

最终的方案: