使用管控策略(CP:Allow)实现企业可用产品白名单

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 作为「资源目录」的核心能力,「管控策略CP:Allow」为企业构建顶层合规方案,帮助企业简单、高效实现“可用产品白名单”管理

本文介绍阿里云资源目录中管控策略能力的一种推荐实践,您可以点击了解资源目录产品背景介绍。

场景说明

企业根据自身情况,通常会限定其业务用云时允许采购的云产品,这些云产品一般经过企业的调研和挑选过程、是企业采购的最佳选项。被确认为适用于企业的产品,并非是阿里云的大量云产品种类,它只要满足企业所需又不会超出必要范围;企业一般会与阿里云签订这些产品的批量采购协议以取得优惠政策,使企业利益最大化。为了在云采用过程中落实可用产品的采购规则、使企业受益,企业需要制定一套顶层策略来限定允许采购的云产品范围,以防止企业内用户的有意或无心的“违规”操作导致企业利益受损。

这是常见的、企业启用“可用产品白名单”的情况;还有很多其他场景,例如基于安全合规考虑,企业也都需要启用这一白名单以规范用户使用行为,本文所描述的方案均适用于解决此类管控需求的问题 。


方案对比和采用

如何禁止企业用户不能订购白名单之外的云产品呢?

我们向您介绍两种方案,分别是使用访问控制(RAM)针对性授权和使用管控策略“允许”(CP:Allow)进行白名单控制。通过对方案实施过程及两者特征的比对,我们建议并推荐您使用后一种方案。

旧方案:授予用户“特定产品”的相应权限

是的,这是看起来最直接的解决方案,但操作起来却很繁琐、不易维护且容易出错。

针对用户的点对点授权,其复杂度与您所管理的用户和资源数量成正比

可以想到,您要为每个用户在相应环境内配置访问不同资源的所需权限。

当某个用户不再需要这个权限(离开这个环境时),或者需要更改权限,您都需要找到它并进行权限修改;您需要在新增用户和减少用户时进行权限的设置和回收;当“可用产品白名单”需要更新时,您不得不再次对所有已生效用户同步这个更新,策略的维护成本不可避免。

授权策略更为复杂,需要满足赋权和规避策略的双重要求

实际上,用户和资源数量的组合本身还不是最复杂的状况。当授权的因素涉及到更多维度,比如您需要考虑因 资源所在位置所在业务环境 等因素不同而设定不同权限时,例如:“某区域资源不允许用户订购”、“A项目采购产品的特定限制”、“某些用户角色可以无限制操作”,这些情况进一步加重了授权管理的复杂性。

授权和管控耦合,带来合规风险

权限管理员根据业务需要调整用户的授权以达到业务要求,这些操作需要避开对“合规类”权限的影响,他需要了解权限设计的所有细节,必要时可能需要合规管理员的协助才能完成;合规管理员也面临同样的问题。很明显,两种角色职能的操作耦合状况,无论对权限管理还是合规管控,都会存在极大地安全隐患。

如图,实线/虚线箭头分别表示允许和拒绝的策略。

为了满足业务需要,用户身份和被访问的资源间存在诸多特定限制,从而形成复杂的权限配置要求,给管理带来麻烦。

授权到每个“身份”,在业务场景比较单一时是或许可用;一旦授权的数量、维度增多以后,通过授权的方式满足企业“限定产品使用”的要求显然很难落地、管理成本会非常高。


新方案:使用管控策略(CP:Allow)进行顶层管控

近期,阿里云资源目录的管控策略(Control Policy,简称CP)支持了"Effect": "Allow",语义上可解释为“仅允许”,企业可以使用它,简单高效的解决上述问题。

先看下面的Control Policy设计:

{

 "Statement":[

   {

     "Effect": "Allow",

     "Action":[

               "ecs:*",

               "rds:*"

     ],

     "Resource": [

               "acs:*:*cn-beijing*:*:*",

              "acs:*:*cn-shanghai*:*:*"

     ]

   },

   {

     "Effect": "Allow",

     "Action": "*",

     "Resource": "*",

     "Condition": {

         "StringLike": {

                   "acs:PrincipalARN": [

                     "acs:ram:*:*:role/a-project-admin-*"

                      ]

                 }    

           }

     }

 ],

 "Version": "1"


}

上方CP中有两个Statement。第一个,定义仅允许“北京”“上海”的ECS和RDS可以操作(即允许订购和使用),其他不符合条件的产品操作将被禁止;第二个,定义名为“a-project-admin-*”的role可以无限制操作。

CP具备基于资源目录树形结构从上向下继承的特点

您只需要将CP绑定到需要管控的节点(Folder或Account)上,它将沿着资源目录树向下(当前节点及其下方所有节点)影响所有账号,无论用户在哪里访问这些账号中的资源,都将受到CP的管控、实现预期管控的结果。在需要更新允许使用的产品清单时,您只需要维护这份CP即可。

CP并不会进行授权,它只定义权限的“边界”,可以在不改变用户原有授权的基础上叠加影响

假设用户zhangsan具有访问ecs、eip的权限,当他被此CP影响后,由于CP的许可范围不包含eip,即使zhangsan拥有访问eip的权限也不能对eip进行任何操作;同时他也不能访问rds,因为CP并不会为他进行授权。

CP与授权策略分开管理、共同生效

使用CP让合规管理与授权管理职能分开,从而保护企业合规安全。CP属于顶层管控决策,高于授权,是企业的基本原则,所有业务规范都必须在企业基本原则之内进行制定。

了解了CP方案的原理之后,您在执行时,还需要做以下两件事。

  • RD推荐您使用ram user通过sts方式登录到成员账号进行管理,所以此时您需要在CP内增加对sts:AssumeRole的许可策略以确保管理用户的登录权限可用。Control Policy修改如下:

{

 "Statement":[

   {

     "Effect": "Allow",

     "Action":[

               "ecs:*",

               "rds:*"

     ],

     "Resource": [

               "acs:*:*cn-beijing*:*:*",

              "acs:*:*cn-shanghai*:*:*"

     ]

   },

   {

     "Effect": "Allow",

     "Action": "*",

     "Resource": "*",

     "Condition": {

         "StringLike": {

                   "acs:PrincipalARN": [

                     "acs:ram:*:*:role/a-project-admin-*"

                      ]

                 }    

           }

     },

   {

     "Effect": "Allow",

     "Action":[

               "sts:AssumeRole"

     ],

     "Resource": "*"

   }

 ],

 "Version": "1"


}

  • 在某个节点上绑定了您自定义的CP后,需要解绑这个节点上的默认系统策略“FullAliyunAccess”。这个系统策略在您未绑定任何CP时“放行所有访问”,避免CP启用后因为没有显式Allow而直接导致“隐式拒绝”所有操作。所以在您使用了自定义的allow CP后,需要解绑它,否则它会使您的allow CP无效。如需了解管控策略的详细工作原理,可以点击产品文档查看。

延伸阅读

灵活使用CP的Allow和Deny,简化策略的编写。

在上述例子中,企业需要对ecs、rds之外的所有产品实施“禁用”,如果使用Deny语句,您将不得不列出ecs、rds之外所有阿里云产品,这个数量目前已经达到260多款,可想而知这一难度之大,使用Allow可以很大程度让实现变得简单可行。

在CP中除了可以使用allow来简化策略内容,也可以使用deny进行配合,进一步使您的CP语句简洁易读。

何时使用Deny?

如果您有明确的禁用操作项,且数量不多,您可以使用Deny来“显式拒绝”这类操作。

例如,明确不允许订购地域为“香港”和“广州”的产品,您可以增加下面的Statement,用deny来处理。如果使用allow,反而更加复杂了。

{

     "Effect": "Deny",

     "Action":[

               "*"

     ],

     "Resource": [

               "acs:*:*cn-hongkong*:*:*",

              "acs:*:*cn-guangzhou*:*:*"

     ]

   }

再次提醒,在一个CP中可以包含多组Allow和Deny的内容,您需要合并评估其产生的最终结果,在设计时避免它们之间差生冲突;一旦冲突,请参考Deny优先原则。同一层级上绑定的所有CP,会被合并在一起进行鉴权,只要命中拒绝(Deny)策略,系统会直接判定结果为拒绝(Explicit Deny),结束整个鉴权流程。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
存储 监控 负载均衡
Redis如何处理大量数据?
Redis高效处理大数据依赖内存存储、多样数据结构及优化策略:选择适合的数据结构,利用批量操作减少网络开销,控制批量大小避免性能下降,通过Redis Cluster分布式存储扩展处理能力,优化内存使用和序列化,监控系统性能并持续调优。
482 4
|
Linux
Win或Linux系统下用conda安装Open Babel
Win或Linux系统下用conda安装Open Babel
2448 0
Win或Linux系统下用conda安装Open Babel
|
小程序 JavaScript Java
微信小程序的后端开发需要使用什么语言?
【8月更文挑战第22天】微信小程序的后端开发需要使用什么语言?
2928 65
|
12月前
|
SQL 分布式计算 监控
Dataphin 评测报告
作为一名数据开发工程师,我有幸体验了阿里云的Dataphin工具。它提供一站式数据生命周期管理,涵盖采集、建模、治理到使用全流程,显著提升效率。开通试用简单友好,离线管道任务开发通过可视化拖拽组件降低门槛,SQL计算任务实用但调度依赖配置稍复杂。补数据功能出色,即席分析准确,数据分析可视化直观。优点包括全流程覆盖、易用性强、灵活性高;改进建议涉及文档优化、模板丰富度和性能监控增强。总之,Dataphin是构建企业级数据中台的理想选择,值得尝试!
|
9月前
|
开发工具
【HarmonyOS】鸿蒙应用蓝牙功能实现(一)
【HarmonyOS】鸿蒙应用蓝牙功能实现(一)
302 8
【HarmonyOS】鸿蒙应用蓝牙功能实现(一)
|
11月前
|
数据采集 分布式计算 监控
智能数据建设与治理 Dataphin:阿里云的一站式数据治理利器
阿里云Dataphin是一款企业级数据治理与智能建设平台,专注于解决数据孤岛、质量低下和开发效率低等问题。它提供从数据集成、规范建模、智能开发到质量监控及资产管理的全生命周期解决方案,特别适用于中大型企业构建数据中台或推进数字化转型。Dataphin通过自动化生成代码、内置质量规则模板和全局血缘追踪等功能,显著提升数据开发效率与跨团队协作能力。尽管学习曲线较陡峭且资源消耗较高,但其深度集成阿里云生态的优势,使其成为追求规范化数据治理企业的理想选择。推荐已采用阿里云技术栈并具备一定数据团队规模的企业使用。
659 1
|
12月前
|
存储 数据可视化 前端开发
DataPhin 深度评测
本文基于会员画像系统搭建场景,对阿里云DataPhin进行深度评测。其数据资产目录将需求确认周期缩短80%,智能标签体系提升建模效率50%,数据服务API优化接口响应至0.4秒,协作功能减少代码冲突。但存在标签更新延迟、可视化工具卡顿等问题。建议增加行业模板、数据沙箱、BI集成及资产交易市场等功能,进一步提升业务适配性和易用性。
237 3
|
供应链 监控 安全
业务上云的主要安全风险及网络安全防护建议
业务上云面临数据泄露、配置错误、IAM风险、DDoS攻击、合规与审计、供应链及内部威胁等安全挑战。建议采取全生命周期加密、自动化配置检查、动态权限管理、流量清洗、合规性评估、供应链可信验证及操作审批等措施,构建“预防-检测-响应”一体化安全体系,确保数据保护、权限收敛、合规审计和弹性防护,保障云端业务安全稳定运行。
1535 2
|
弹性计算 监控 安全
打造安全云环境:深入理解阿里云权限体系
本文将探讨阿里云上的权限管理,帮助理解其背后原理并掌握实践方法。主要内容分为三部分:一是访问控制基本原理,强调避免使用root身份,介绍权限策略语言和类型;二是五种典型的授权方式,包括服务级、操作级和资源级授权等;三是多账号环境下的集中化权限管理,重点介绍如何使用管控策略实现安全合规的集中管控。通过这些内容,用户可以更好地理解和应用阿里云的权限管理体系,确保云资源的安全与高效管理。
|
人工智能 安全 物联网

热门文章

最新文章