如果系统权限策略不能满足您的要求,您可以创建自定义权限策略实现最小授权。使用自定义权限策略有助于实现权限的精细化管控,是提升资源访问安全的有效手段。本文介绍Serverless 应用引擎 SAE(Serverless App Engine)使用自定义权限策略的场景和策略示例。
什么是自定义权限策略
在基于RAM的访问控制体系中,自定义权限策略是指在系统权限策略之外,您可以自主创建、更新和删除的权限策略。自定义权限策略的版本更新需由您来维护。
创建自定义权限策略后,需为RAM用户、用户组或RAM角色绑定权限策略,这些RAM身份才能获得权限策略中指定的访问权限。
已创建的权限策略支持删除,但删除前需确保该策略未被引用。如果该权限策略已被引用,您需要在该权限策略的引用记录中移除授权。
自定义权限策略支持版本控制,您可以按照RAM规定的版本管理机制来管理您创建的自定义权限策略版本。
操作文档
常见自定义权限策略场景及示例
场景一:命名空间级别的授权配置
示例:以华东2(上海)地域为例,如下需求列表展示了在本例中期望针对不同的命名空间允许执行不同的操作,下方代码块展示了对应的权限策略。如您需要查看SAE支持的操作集合,请参考授权信息。
命名空间
允许的操作
全部命名空间
名称以Query、List、Describe开头的操作,以及名称中包含Ingress、ChangeOrder、Pipeline的操作
名为test的命名空间
全部操作
{ "Version": "1", "Statement": [ { "Action": [ "sae:Query*", "sae:List*", "sae:Describe*", "sae:*Ingress*", "sae:*ChangeOrder*", "sae:*Pipeline*" ], "Resource": "acs:sae:cn-shanghai:*:*", "Effect": "Allow" }, { "Action": [ "sae:*" ], "Resource": [ "acs:sae:cn-shanghai:*:application/test/*" ], "Effect": "Allow" } ] }
场景二:应用级别的授权配置
示例:以华东2(上海)地域为例,如下需求列表展示了在本例中期望针对不同的应用允许执行不同的操作,下方代码块展示了对应的权限策略。如您需要查看SAE支持的操作集合,请参考授权信息。
应用
应用所在的命名空间
允许的操作
全部应用
全部命名空间
名称以Query、List、Describe开头的操作,以及名称中包含Ingress、ChangeOrder、Pipeline的操作
ID为0c815215-46a1-46a2-ba1e-102a740****的应用
名为test的命名空间
全部操作
ID为e468a92b-1529-4d20-8ab1-9d1595dc****的应用
默认命名空间
全部操作
{ "Version": "1", "Statement": [ { "Action": [ "sae:Query*", "sae:List*", "sae:Describe*", "sae:*Ingress*", "sae:*ChangeOrder*", "sae:*Pipeline*" ], "Resource": "acs:sae:cn-shanghai:*:*", "Effect": "Allow" }, { "Action": [ "sae:*" ], "Resource": [ "acs:sae:cn-shanghai:*:application/test/0c815215-46a1-46a2-ba1e-0102a740****", "acs:sae:cn-shanghai:*:application/_default/e468a92b-1529-4d20-8ab1-9d1595dc****" ], "Effect": "Allow" } ] }