本文实现利用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中未指定的资源失败
最终的方案: