在移动端或Web端访问服务时,您可以使用STS临时授权,可以有效避免RAM用户密码泄露导致的安全风险。通过阅读本文,您可以了解STS授权的方法。
背景信息
由于RAM用户的权限启用后一直有效,一旦AccessKey泄露,可能会导致安全风险。建议您使用STS临时授权,通过自定义过期时间,并指定相对复杂的策略对不同的RAM角色进行限制,采取权限最小化原则,提高服务访问的安全性。
步骤一:创建RAM用户并授予AssumeRole接口的调用权限
使用阿里云账号(主账号)或RAM管理员登录RAM控制台。
在左侧导航栏,选择 。
在用户页面,单击创建用户。
在创建用户页面的用户账号信息区域,设置用户基本信息。
登录名称:可包含英文字母、数字、半角句号(.)、短划线(-)和下划线(_),最多64个字符。
显示名称:最多包含128个字符或汉字。
标签:单击
,然后输入标签键和标签值。为RAM用户绑定标签,便于后续基于标签的用户管理。
单击添加用户,可以批量创建多个RAM用户。
在访问方式区域,选择访问方式,然后设置对应参数。
单击确定并完成手机验证,系统会自动生成RAM用户的AccessKey。
单击操作列的复制,保存用户登录名称、登录密码、AccessKey等用户信息。
请务必保存好登录密码和AccessKey信息(AccessKey ID和AccessKey Secret),否则后续无法查询。
返回用户列表页面,单击已创建RAM用户操作列的添加权限。
在新增授权面板,为RAM用户添加权限。
选择授权应用范围。
资源范围选择账号级别,智能媒体服务暂不支持指定资源组授权。关于资源组详情,请参见资源目录、资源组与标签的区别和联系。
指定授权主体。
授权主体即需要添加权限的RAM用户。
选择权限策略。
在系统策略下输入框中输入AliyunSTS,选择权限策略为AliyunSTSAssumeRoleAccess。
单击确定新增授权,完成用户授权。
步骤二:创建RAM角色并授予IMS操作权限
使用RAM管理员登录RAM控制台。
在左侧导航栏,选择 。
在角色页面,单击创建角色。
在创建角色页面,选择信任主体类型为云账号,然后设置具体的阿里云账号,最后单击确定。
当前云账号:当您允许当前阿里云账号下的所有RAM用户和RAM角色扮演当前正在创建的RAM角色时,您可以选择当前云账号。
其他云账号:当您允许其他阿里云账号下的所有RAM用户和RAM角色扮演当前正在创建的RAM角色时,您可以选择其他云账号,然后输入其他阿里云账号(主账号)ID。该项主要针对跨阿里云账号的资源授权访问场景,相关教程,请参见跨阿里云账号的资源授权。您可以在安全设置页面查看阿里云账号(主账号)ID。
(可选)如果您想设置RAM角色只能被可信阿里云账号下的指定RAM用户或RAM角色扮演,您可以单击切换编辑器,在编辑器中修改RAM角色的信任策略。
编辑器支持可视化编辑和脚本编辑两种模式,您可以任选其一。以下示例表示当前创建的RAM角色只能被当前阿里云账号(AccountID=100******0719)下的RAM用户
Alice
扮演。可视化编辑
在主体中指定具体的RAM用户名称。
脚本编辑
在
Principal
的RAM
字段中指定具体的RAM用户。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Principal": { "RAM": "acs:ram::100******0719:user/Alice" }, "Action": "sts:AssumeRole" } ] }
单击完成,单击为角色授权。
在新增授权面板,为RAM角色授权。
选择授权范围。
授权范围选择账号级别,智能媒体服务暂不支持指定资源组授权。关于资源组详情,请参见资源目录、资源组与标签的区别和联系。
指定授权主体。
授权主体即需要授权的RAM角色,系统会自动填入当前的RAM角色,您也可以添加其他RAM角色。
选择权限策略。
使用系统策略
在系统策略下输入框中输入AliyunICE,根据实际需求选择筛选出的权限策略。
权限策略 描述 OpenAPI调用权限 权限策略 描述 OpenAPI调用权限 AliyunICEFullAccess 管理和操作IMS所有资源的权限。 可以调用智能媒体服务所有的OpenAPI。 AliyunICEReadOnlyAccess 只读访问IMS所有资源的权限。 可以调用智能媒体服务所有读取类的OpenAPI,例如Get、Describe、Search、List开头的接口。 使用自定义策略
在自定义策略下根据实际需求选择权限策略。如果没有可用的自定义权限策略, 单击新建权限策略,详情请参见创建自定义权限策略、自定义策略示例。
每次最多绑定5条策略,如需绑定更多策略,请分次操作。
为控制风险,建议采用最小权限原则。
如果需要使用智能媒体服务端侧(iOS或Android)SDK,由于需要将文件上传到OSS上,因此需要增加OSS的权限,即
AliyunOSSFullAccess
,或者您可以根据实际情况自定义OSS的权限策略。
单击确定,完成角色授权。
步骤三:使用创建的RAM用户调用AssumeRole接口获取临时AccessKey
下载并集成STS SDK。下载地址,请参见STS SDK概览。
调用AssumeRole获取扮演角色的临时身份凭证。
本文以Java示例代码举例说明,其他端代码请参见SDK示例代码。
后续步骤
获取到AccessKey信息后,您可以根据实际需求安装完服务端SDK后调用OpenAPI,实现业务功能。详情请参见调用OpenAPI流程。
相关参考
- 本页导读 (1)
- 背景信息
- 步骤一:创建RAM用户并授予AssumeRole接口的调用权限
- 步骤二:创建RAM角色并授予IMS操作权限
- 步骤三:使用创建的RAM用户调用AssumeRole接口获取临时AccessKey
- 后续步骤
- 相关参考