事件总线EventBridge支持云账户(主账号)给RAM用户(子账号)授予资源级别的权限,避免因暴露阿里云账号(主账号)密钥造成的安全风险。仅限有权限的RAM用户在事件总线EventBridge的控制台上管理资源,以及通过SDK/API发布事件。
应用场景
企业A购买了事件总线EventBridge服务,企业A的员工需要操作这些服务所涉及的资源,例如事件规则、事件总线(EventBus)等资源。由于每个员工的工作职责不一样,需要的权限也不一样。
具体场景说明如下:
出于安全或信任的考虑,企业A不希望将云账号密钥直接透露给员工,而希望能给员工创建相应的用户账号。
用户账号只能在授权的前提下操作资源,不需要对用户账号单独计量计费,所有开销都计入企业A云账号名下。
企业A随时可以撤销用户账号的权限,也可以随时删除其创建的用户账号。
此种场景下,A的云账号可以将需要员工进行操作的资源进行细粒度的权限分隔。
为RAM用户新增授权
控制台
RAM控制台提供两种为RAM用户授权的操作入口。两者均支持单个或批量授权,请按操作习惯选择:
从用户页面发起:在用户列表中勾选目标用户后,授权面板会自动选定授权主体。适合“以用户为中心”的视角。
从授权页面发起:需手动选择授权主体,但可看到账号下所有授权记录的总览。适合“以权限为中心”的视角。
大规模批量管理建议:当需要为多名职责相同的 RAM 用户授予相同权限时,建议先将这些用户加入同一用户组,再为用户组授权(控制台路径:身份管理 > 用户组),比为每个用户单独授权更易维护。
从用户页面发起
登录RAM控制台
在左侧导航栏选择。
在用户页面,找到已经创建好的RAM用户,单击操作列的新增授权。
您也可以选中多个RAM用户,单击用户列表下方的新增授权,为多个RAM用户新增授权。
在新增授权面板,为RAM用户添加权限。
选择资源范围:
账号级别:权限在当前阿里云账号内全部资源生效。适用于通用、无需按资源组隔离的场景。
资源组级别:权限仅在指定资源组内生效。适用于多团队共用一个账号、需按资源组隔离权限的场景。如果RAM用户被授予了资源组级别的权限,该用户登录控制台后,必须在顶部导航栏将资源范围切换到被授权的资源组,才能正常访问和管理该资源组内的资源。
说明系统会自动标识出高风险系统策略(例如:AdministratorAccess、AliyunRAMFullAccess等),这些策略通常包含对所有云资源的完全控制权限或对访问控制(RAM)的完全管理权限等,请谨慎授予。
资源组授权示例,请参见使用资源组限制RAM用户管理指定的ECS实例。
选择授权主体:
授权主体即需要添加权限的RAM用户。如果是从用户页面发起,系统会自动选择当前的RAM用户。如果是从授权页面发起,需要手动选择RAM用户,支持批量选中多个。
选择权限策略:
系统策略:可以直接搜索并选择。搜索技巧:您可以利用搜索框快速定位策略。支持按产品名称(如
ECS、OSS)、权限级别(如ReadOnly、FullAccess)或完整的策略名称进行模糊搜索。自定义策略:需要先创建自定义权限策略后再来授权。
(可选)填写备注:建议填写授权原因或场景描述,便于后续审计回溯,例如"OSS 上传任务专项授权"。
提交授权:单击确认新增授权。
确认授权绑定操作结果,单击关闭。
从授权页面发起
登录RAM控制台
在左侧导航栏,选择。
在授权页面,单击新增授权。
在新增授权面板,为RAM用户添加权限。具体内容同上。
确认授权绑定操作结果,单击关闭。
OpenAPI
授予自定义策略
调用CreatePolicy创建一个自定义策略,可以参考权限策略基本元素和权限策略示例库概览。
调用AttachPolicyToUser为RAM用户授予账号级别的权限,注意此处
PolicyType选择Custom。或者调用AttachPolicy为RAM用户授予资源组级别的权限。
授予系统策略
直接调用AttachPolicyToUser将权限策略绑定至指定RAM用户,注意此处
PolicyType选择System,PolicyName详见系统策略参考 。或者调用AttachPolicy为RAM用户授予资源组级别的权限。
更多信息
后续步骤
使用阿里云账号(主账号)创建好RAM用户后,即可将RAM用户的登录名称及密码或者AccessKey信息分发给其他用户。其他用户可以按照以下步骤使用RAM用户登录控制台或调API。
登录控制台。
在浏览器中打开RAM用户登录入口。
在RAM用户登录页面上,输入RAM用户登录名称,单击下一步,并输入RAM用户密码,然后单击登录。
说明RAM用户登录名称的格式为
<$username>@<$AccountAlias>或<$username>@<$AccountAlias>.onaliyun.com。<$AccountAlias>为账号别名,如果没有设置账号别名,则默认值为阿里云账号(主账号)的ID。在阿里云控制台页面上单击有权限的产品,即可访问控制台。
使用RAM用户的AccessKey调用API。
在代码中使用RAM用户的AccessKeyId和AccessKeySecret即可。