本文介绍了如何使用访问控制RAM(Resource Access Management)在账号级别上控制对OOS资源的访问,具体通过创建RAM用户(组)并授予特定权限策略实现。
应用场景
访问控制RAM是便宜云服务器提供的资源访问控制服务。以下列举了访问控制RAM的典型场景:
系统运维管理管理员:您可以创建一个系统运维管理管理员,给该管理员组授予系统运维管理的完全权限,包括创建编辑模板和执行。
模板开发者:该用户组需要编辑模板的权限。您可以给开发者组授予一个权限策略,该策略授予用户组成员调用CreateTemplate,UpdateTemplate等权限。
模板执行:您可以限制一部分用户只能执行OOS模板,而不能创建修改OOS模板。
模板鉴权:您可以限制某个模板只能被指定的用户(组)执行。
子账户PassRole权限
帮助文档"为OOS服务设置RAM权限"一节,介绍了创建RAM角色,并授信给系统运维管理的过程。但是,系统运维管理有权访问这个RAM角色,并不代表执行系统运维管理的子账户,有权使用这个RAM角色。只有对子账户和目标RAM角色进行PassRole鉴权通过之后,该子账户才能通过系统运维管理,使用目标RAM角色。
如果允许某子账户,灵活的使用已经授信给系统运维管理的所有RAM角色,那么,可以创建如下的权限策略并授权给该子账户:
{
"Version": "1",
"Statement": [
{
"Action": "ram:PassRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"acs:Service": "oos.aliyuncs.com"
}
}
}
]
}
出于安全考虑,您可能需要限制子账户只能使用某个特定的RAM Role(比如默认的OOSServieRole)来进行系统运维管理,在此情况下,您可以做如下授权:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "ram:PassRole",
"Resource": "acs:ram::{parent_uid}:role/OOSServiceRole"
}
]
}
如果RAM角色是在模板内部固定的(包括使用默认OOSServiceRole),输入参数不包含角色,那么,在执行该模板的时候,不需要PassRole授权。但是,在创建或者修改该模板的时候,子账户需要PassRole授权。
如果RAM角色是在执行模板时通过输入参数Parameters动态获取的,模板本身并没有指定RAM Role,那么,在创建或者修改该模板时,不需要PassRole的权限。但相应的,执行该模板并指定RAM Role的子账户,需要PassRole权限。
如上示例中的{parent_uid}为您所使用的便宜云服务器主账号ID。
权限策略
步骤一
请按以下流程在访问控制RAM控制台创建一个自定义权限策略:
登录RAM控制台。
在左侧导航栏,单击
。单击创建权限策略。
单击脚本编辑,输入策略。
策略示例一:允许用户执行模板,但不允许编辑模板。
{ "Version": "1", "Statement": [ { "Action": [ "oos:List*", "oos:Get*", "oos:StartExecution", "oos:CancelExecution", "oos:NotifyExecution" ], "Resource": "*", "Effect": "Allow" } ] }
策略示例二:允许RAM用户创建编辑模板。不包含执行权限。
{ "Version": "1", "Statement": [ { "Action": [ "oos:List*", "oos:Get*", "oos:CreateTemplate", "oos:UpdateTemplate", "oos:ValidateTemplateContent" ], "Resource": "*", "Effect": "Allow" } ] }
策略示例三:系统运维管理的管理员权限。
{ "Version": "1", "Statement": [ { "Action": "oos:*", "Effect": "Allow", "Resource": "*" }, { "Action": "ram:PassRole", "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "acs:Service": "oos.aliyuncs.com" } } } ] }
单击继续编辑基本信息,填写基本信息后单击确定。
步骤二
请按以下流程在访问控制RAM控制台授权RAM用户相关权限:
在左侧导航栏,单击
。找到已创建的RAM用户,在操作列中,选择添加权限。在选择权限处,选择一个或多个系统权限策略或者自定义权限策略。
单击确认新增授权。