借助访问控制RAM的RAM用户,您可以实现权限分割的目的,按需为RAM用户赋予不同权限,并避免因暴露阿里云账号密钥造成的安全风险。
背景信息
出于安全考虑,您可以为阿里云账号创建RAM用户,并根据需要为这些RAM用户赋予不同的权限,这样就能在不暴露阿里云账号密钥的情况下,实现让RAM用户各司其职的目的。在本文中,假设企业A希望让部分员工处理日常运维工作,则企业A可以创建RAM用户,并为RAM用户赋予相应权限,此后员工即可使用这些RAM用户登录控制台或调用API。
ARMS提供的系统权限策略包括完整权限和只读权限,您可以根据需求选择为RAM用户添加对应的权限:
AliyunARMSFullAccess:ARMS的完整权限,添加该权限后,RAM用户拥有对各子产品实例的查看、编辑、删除等所有操作权限。
说明添加AliyunARMSFullAccess权限后无需再添加AliyunARMSReadOnlyAccess权限。
AliyunARMSReadOnlyAccess:ARMS的只读权限,添加该权限后,RAM用户只支持查看各子产品的实例信息,不支持修改、删除等操作。
重要为了实现对ARMS所有功能的只读权限,除了添加AliyunARMSReadOnlyAccess权限策略外,还需要为特定的资源组配置ReadTraceApp权限,否则ARMS将无法展示资源组鉴权下的应用列表。
前提条件
步骤一:创建RAM用户
操作步骤
控制台
使用阿里云账号(主账号)或拥有RAM管理员权限(
AliyunRAMFullAccess)的RAM用户登录RAM控制台。在左侧导航栏,选择。
在用户页面,单击创建用户。
在创建用户页面的用户账号信息区域,设置用户基本信息。
登录名称(必填):可包含英文字母、数字、半角句号(.)、短划线(-)和下划线(_),最多64个字符。
显示名称(选填):最多包含128个字符或汉字。
标签(选填):单击
,然后输入标签键和标签值,便于后续基于标签的用户管理。
说明单击添加用户,可以批量创建多个RAM用户。
在访问方式区域,根据用户类型进行配置:
重要为了账号安全,建议您只选择以下访问方式中的一种,将人员用户和应用程序用户分离,避免混用。如果RAM用户需要同时具备控制台登录和API调用能力,可以同时勾选两种访问方式;勾选使用永久AccessKey访问后,需勾选我确认必须创建AccessKey确认框才能继续创建。
访问密钥(AccessKey)是一种长期有效的程序访问凭证。AccessKey泄露会威胁该账号下所有资源的安全。建议优先采用STS Token临时凭证方案,降低凭证泄露的风险。更多信息,请参见使用访问凭据访问阿里云OpenAPI最佳实践。
给员工使用(控制台访问)
勾选控制台访问。
设置密码:您可以选择自动生成密码或者自定义密码。自定义登录密码时,密码必须满足密码复杂度规则。更多信息,请参见设置RAM用户密码策略。
需要重置密码:选择RAM用户在下次登录时是否需要重置密码。
MFA 多因素认证:账号默认设置为强制所有用户登录时必须使用 MFA。如需修改,请参考管理RAM用户安全设置。RAM用户首次登录时需要绑定MFA设备,请参考RAM用户自行绑定MFA设备。
给程序使用(使用永久AccessKey访问)
勾选使用永久AccessKey访问。
启用后,系统会自动为RAM用户生成一个AccessKey ID和AccessKey Secret。
重要RAM用户的AccessKey Secret只在创建时显示,不支持后续查看,请务必立即下载或复制保存AccessKey Secret。泄露AccessKey将严重威胁您账号下所有资源的安全。更多信息详见创建AccessKey。
OpenAPI
创建控制台用户
调用GetDefaultDomain获取账号的默认域名,格式为
<AccountAlias>.onaliyun.com。调用CreateUser创建RAM用户,其中必传的参数建议如下:
UserPrincipalName:RAM 用户的登录名称。格式为<username>@<AccountAlias>.onaliyun.com,其中<username>为 RAM 用户名称,<AccountAlias>.onaliyun.com为默认域名。DisplayName:RAM用户的显示名称,可以与上面<username>不同。
调用CreateLoginProfile修改访问方式和MFA要求等,其中部分参数的建议如下:
UserPrincipalName:上一步已创建的用户信息。Password:根据账号的密码强度要求配置。可以调用GetPasswordPolicy查询当前账号的RAM用户密码强度策略。MFABindRequired:建议设置强制要求RAM用户开启MFA,参数建议为true。Status:是否开启控制台密码登录,保持默认值Active
创建程序用户
调用GetDefaultDomain获取账号的默认域名,格式为
<AccountAlias>.onaliyun.com。调用CreateUser创建RAM用户,其中必传的参数建议如下:
UserPrincipalName:RAM 用户的登录名称。格式为<username>@<AccountAlias>.onaliyun.com,其中<username>为 RAM 用户名称,<AccountAlias>.onaliyun.com为默认域名。DisplayName:RAM用户的显示名称,可以与上面<username>不同。
调用CreateAccessKey创建访问密钥(AccessKey),仅需传入
UserPrincipalName,即上一步已创建的用户信息即可完成AccessKey创建。重要调用
CreateAccessKey接口的返回结果中会包含AccessKeyId和AccessKeySecret。AccessKeySecret仅在本次返回中提供,无法后续查询,请务必立即保存。泄露AccessKey将严重威胁您账号下所有资源的安全。更多信息详见创建AccessKey。
步骤二:为RAM用户添加权限
控制台
RAM控制台提供两种为RAM用户授权的操作入口。两者均支持单个或批量授权,请按操作习惯选择:
从用户页面发起:在用户列表中勾选目标用户后,授权面板会自动选定授权主体。适合“以用户为中心”的视角。
从授权页面发起:需手动选择授权主体,但可看到账号下所有授权记录的总览。适合“以权限为中心”的视角。
大规模批量管理建议:当需要为多名职责相同的 RAM 用户授予相同权限时,建议先将这些用户加入同一用户组,再为用户组授权(控制台路径:身份管理 > 用户组),比为每个用户单独授权更易维护。
从用户页面发起
登录RAM控制台
在左侧导航栏选择。
在用户页面,找到已经创建好的RAM用户,单击操作列的新增授权。
您也可以选中多个RAM用户,单击用户列表下方的新增授权,为多个RAM用户新增授权。
在新增授权面板,为RAM用户添加权限。
选择资源范围:
账号级别:权限在当前阿里云账号内全部资源生效。适用于通用、无需按资源组隔离的场景。
资源组级别:权限仅在指定资源组内生效。适用于多团队共用一个账号、需按资源组隔离权限的场景。如果RAM用户被授予了资源组级别的权限,该用户登录控制台后,必须在顶部导航栏将资源范围切换到被授权的资源组,才能正常访问和管理该资源组内的资源。
说明系统会自动标识出高风险系统策略(例如:AdministratorAccess、AliyunRAMFullAccess等),这些策略通常包含对所有云资源的完全控制权限或对访问控制(RAM)的完全管理权限等,请谨慎授予。
资源组授权示例,请参见使用资源组限制RAM用户管理指定的ECS实例。
选择授权主体:
授权主体即需要添加权限的RAM用户。如果是从用户页面发起,系统会自动选择当前的RAM用户。如果是从授权页面发起,需要手动选择RAM用户,支持批量选中多个。
选择权限策略:
系统策略:可以直接搜索并选择。搜索技巧:您可以利用搜索框快速定位策略。支持按产品名称(如
ECS、OSS)、权限级别(如ReadOnly、FullAccess)或完整的策略名称进行模糊搜索。例如,为 RAM 用户授予财务管理(费用与成本)权限时,搜索BSS即可找到AliyunBSSFullAccess(管理费用与成本)等财务相关策略。以下列出部分常见云产品对应的系统策略名称,方便快速定位:
云产品
系统策略名称
权限说明
费用与成本(财务管理)
AliyunBSSFullAccess管理费用与成本
云监控
AliyunCloudMonitorReadOnlyAccess只读访问云监控
智能建站
AliyunWebsiteBuildFullAccess管理智能建站
云效
AliyunYunxiaoFullAccess管理云效
百炼
AliyunBailianFullAccess管理百炼
云解析 DNS
AliyunDNSFullAccess管理云解析 DNS
SSL 证书
AliyunYundunCertFullAccess管理 SSL 证书
无影云手机
AliyunECDFullAccess管理无影云手机
工单支持
AliyunSupportFullAccess管理工单
资源中心
AliyunResourceCenterFullAccess管理资源中心
AgentBay
AliyunAgentBayFullAccess管理 AgentBay
云安全中心
AliyunYundunSASFullAccess管理云安全中心
如果搜索不到目标产品的系统策略,可查阅系统策略参考获取完整列表,也可以创建自定义策略以满足更精细的权限控制需求。
自定义策略:需要先创建自定义权限策略后再来授权。
跨页勾选限制:权限策略列表分页显示,全选操作仅作用于当前页。翻页后,已选策略仍保留在已选列表中,但新页面中的策略不会自动选中,需逐页勾选。
快速授予管理员权限:如需授予管理员权限,可在搜索框中输入
AdministratorAccess搜索并直接勾选,无需逐页勾选。选中该策略时会触发高风险授权提醒。
(可选)填写备注:建议填写授权原因或场景描述,便于后续审计回溯,例如"OSS 上传任务专项授权"。
提交授权:单击确认新增授权。
确认授权绑定操作结果,单击关闭。
从授权页面发起
登录RAM控制台
在左侧导航栏,选择。
在授权页面,单击新增授权。
在新增授权面板,为RAM用户添加权限。具体内容同上。
确认授权绑定操作结果,单击关闭。
通过 RAM 控制台概览页快速开始功能创建的 RAM 用户,系统会根据所选场景自动授予对应的系统策略,无需手动授权:
超级用户:自动授予
PowerUserAccess策略。可管理云服务和资源,但不能管理 RAM 身份及其权限、资源目录和资金账号信息。账号管理员:自动授予
AdministratorAccess策略。可管理所有阿里云资源,包括 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用户登录域名输入RAM用户的登录密码,然后单击登录。
说明用户登录时,若系统检测到当前使用的密码属于弱密码,成功登录后将跳转至密码重置页面,建议更换为更安全的密码。密码重置步骤可跳过,不影响本次登录。具体请参见公告。
(可选)如果您开启了多因素认证(MFA),还需要进行MFA验证。更多信息,请参见多因素认证(MFA)和RAM用户自行绑定MFA设备。
使用RAM用户的AccessKey调用API
在代码中使用RAM用户的AccessKeyId和AccessKeySecret即可。