企业多账号组织全局访问边界控制
方案概述
当一家企业尝试使用多账号来规划、部署业务。如果对各成员的行为不加以管控,就会破坏运维规则,带来安全风险和成本浪费。资源目录提供管控策略功能,企业可以通过管理账号集中制定管理规则,并将这些管理规则应用于资源目录的各级资源结构(资源夹、成员)上,管控各成员内资源的访问规则,确保安全合规和成本可控。例如:禁止成员申请域名、禁止成员删除日志记录等。
方案优势
集中式管控
管理员能够在管控策略后台编写管控策略,并应用到不同的成员账号,不需要在多处进行管控策略配置,能够做到集中式管理。
客户场景
管控企业多账号组织全局访问边界
场景描述
随着客户业务的大量上云,员工(user)被密集且复杂的授予各种资源、服务的权限以运作这些业务,企业管理端很难非常细致地考量每个业务的具体授权,但希望能够从顶层做出企业的全局管控,即制定企业“大规范”以限定用户权限边界,以免超出公司的合规范围。客户可以创建基于预期的管控策略,以满足企业顶层管控需要。
适用客户
使用资源目录管理云上多个账号的企业客户
中心安全合规团队,制订统一的管控策略
方案架构
工作原理
基于资源目录实现从上至下的管控
架构如下:
管控策略工作原理如下:
使用管理账号开启管控策略功能。开启管控策略功能后,系统策略FullAliyunAccess将默认绑定到资源目录内的所有资源夹及成员,此策略允许所有操作,以防止管控策略的不当配置造成意料之外的访问失败。
使用管理账号创建管控策略。更多信息,请参见创建自定义管控策略。
使用管理账号将管控策略绑定到资源目录节点(资源夹、成员)。更多信息,请参见绑定自定义管控策略。管控策略允许绑定到资源目录中的任何资源夹或成员。管控策略具备向下继承的特点,例如:为父资源夹设置管控策略A,为子资源夹设置管控策略B,则管控策略A和管控策略B都会在子资源夹及其下的成员中生效。说明 请先进行局部小范围测试,确保策略的有效性与预期一致,然后再绑定到全部目标节点(资源夹、成员)。
当成员中的RAM用户或RAM角色访问阿里云服务时,阿里云将会先进行管控策略检查,再进行账号内的RAM权限检查。具体如下:
管控策略鉴权从被访问资源所在账号开始,沿着资源目录层级逐级向上进行。
在任一层级进行管控策略鉴权时,命中拒绝(Deny)策略时都可以直接判定结果为拒绝(Explicit Deny),结束整个管控策略鉴权流程,并且不再进行账号内基于RAM权限策略的鉴权,直接拒绝请求。
在任一层级进行管控策略鉴权时,如果既未命中拒绝(Deny)策略,也未命中允许(Allow)策略,同样直接判定结果为拒绝(Explicit Deny),不再进入下一个层级鉴权,结束整个管控策略鉴权流程,并且不再进行账号内基于RAM权限策略的鉴权,直接拒绝请求。
在某一层级鉴权中,如果未命中拒绝(Deny)策略,而命中了允许(Allow)策略,则本层级鉴权通过,继续在父节点上进行管控策略鉴权,直至Root资源夹为止。如果Root资源夹鉴权结果也为通过,则整个管控策略鉴权通过,接下来进入账号内基于RAM权限策略的鉴权。更多信息,请参见权限策略判定流程。
管控策略对服务关联角色不生效。关于服务关联角色的详情,请参见服务关联角色。
阿里云将会评估被访问的账号自身及其所在的每一层级上绑定的管控策略,从而确保绑定在较高层级上的管控策略可以在其下的所有账号上生效。
产品费用及名词
产品费用
产品名称 | 产品说明 | 产品费用 |
资源目录RD | 资源目录(Resource Directory)是阿里云面向企业客户提供的一套多级账号和资源关系管理服务。 | 免费,详情参见产品定价。 |
管控策略 | 管控策略是一种基于资源结构(资源夹或成员账号)的访问控制策略,可以统一管理资源目录各层级内资源访问的权限边界,建立企业整体访问控制原则或局部专用原则。管控策略只定义权限边界,并不真正授予权限,您还需要在某个成员账号中使用访问控制(RAM)设置权限后,相应身份才具备对资源的访问权限。 | 免费 |
名词解释
名称 | 说明 |
管控策略语言 | 管控策略语法和结构与RAM的基本相同。详情可以查看链接 |
企业管理主账号 | 在企业拥有多个阿里云账号时,特指拥有管理其他账号资源权限的管理员账号。用于管理多账号,统一配置多账号身份权限,统一查看各云账号账单,统一配置审计规则并下发到各成员账号。 |
安全性
强烈建议在测试环境中验证Policy策略,可以在一个测试账号中进行验证。比如在资源管理主账号中开通了资源目录,然后在资源目录中创建一个测试账号,然后写一段Policy下发到这个测试账号上进行验证。
请先进行局部小范围测试,确保策略的有效性与预期一致,然后再绑定到全部目标节点(资源夹、成员)。
本方案是需要客户在资源管理账号中进行。建议在资源管理账号中开设RAM 子用户,并授以下的权限:
配置RAM用户的访问权限:
授权范围为整个云账号,然后选择权限策略。
系统策略:从权限策略名称列表,选择需要的权限。
权限策略名称 | 说明 |
AliyunResourceDirectoryFullAccess | 能够管理资源目录 |
注意事项
使用限制
限制项 | 最大值 |
资源目录内最多允许创建自定义管控策略的数量 | 1500个 |
每个节点(资源夹、成员)最多允许绑定自定义管控策略的数量 | 10个 |
每个自定义策略的最大长度 | 2048个字符 |
支持管控策略的云服务
目前不是全部云产品都支持管控策略,需要先查看支持管控策略的云服务判断一下当前业务中是否都在这个列表中。
实施步骤
实施准备
确保已在「企业管理账号」开通了资源目录。
确保在资源目录中已经明确要对哪些组织或成员账号实施管控策略。
操作步骤
步骤一:开启管控策略
登录资源管理控制台。
在左侧导航栏,选择资源目录 > 管控策略。
单击开启管控策略。
单击确定。
单击刷新,查看开启状态。
步骤二:创建自定义管控策略
登录资源管理控制台。
在左侧导航栏,选择资源目录 > 管控策略。
在策略列表页签,单击创建策略。
输入策略名称和策略描述。
示例:禁止 安全账号 购买域名:策略名称定为 denySecAccountBuyDomain禁止 集团官网账号 使用杭州区域的ECS服务,策略名称定为:denyPageAccountEcsRegion
编辑JSON格式的策略内容。
denySecAccountBuyDomain策略内容:
{ "Version": "1", "Statement": [ { "Action": [ "domain:CreateOrderActivate" ], "Resource": "*", "Effect": "Deny" } ] }
denyPageAccountEcsRegion策略内容:
{ "Version": "1", "Statement": [{ "Effect": "Deny", "Action": [ "ecs:*" ], "Resource": "acs:ecs:us-east-1:*:*" }] }
单击确定。
步骤三:绑定自定义管控策略
登录资源管理控制台。
在左侧导航栏,选择资源目录 > 管控策略。
在策略绑定页签下的左侧组织结构树中,单击目标资源夹或成员。
在右侧页面,单击绑定策略。
在绑定策略页面,选择需要绑定的管控策略。
单击确定。
步骤四:验证
通过RAM用户或RAM角色登录这2个成员账号。集团官网账号是无法购买美东地域的ECS服务。安全账号是无法购买域名服务。
故障排除
为什么无法配置Action中应用通配符* ?
原因:
目前因为接入度的问题,还无法确保通配符 * 能够满足。
方案卸载
解绑自定义管控策略
您可以随时解绑自定义管控策略,解绑成功后,成员对资源的操作将不受该管控策略限制。
注意:系统策略FullAliyunAccess会默认绑定在每个资源夹和成员上,且不允许解绑。
操作步骤:
登录资源管理控制台。
在左侧导航栏,选择资源目录 > 管控策略。
在策略绑定页签下的左侧组织结构树中,单击目标资源夹或成员。
在右侧的管控策略列表中,单击目标管控策略操作列的解绑。
单击确定。
删除自定义管控策略
对于未绑定任何资源夹或成员的自定义管控策略,您可以随时删除。
注意:
系统管控策略不支持删除。
对于已绑定了资源夹或成员的自定义管控策略,需要先解绑,然后才能删除。具体操作,请参见解绑自定义管控策略。
操作步骤:
登录资源管理控制台。
在左侧导航栏,选择资源目录 > 管控策略。
在策略列表页签,单击目标管控策略操作列的删除。
单击确定。
关闭管控策略功能
如果您不想限制资源目录内资源夹和成员的权限,则可以关闭管控策略功能。
注意:
关闭管控策略功能后,您绑定到资源夹和成员上的管控策略会全部自动解绑。但管控策略本身不会被删除,只能不能再绑定到任何目标对象上。
操作步骤:
登录资源管理控制台。
在左侧导航栏,选择资源目录 > 管控策略。
在管控策略页面上方的文字描述区域,单击关闭管控策略。
单击确定。
单击刷新,查看关闭状态。当状态显示管控策略已关闭时,表示管控策略功能已关闭。