ECS实例RAM角色功能发布,安全易维护的云资源获取方式
一般而言,如果用户想要访问阿里云ECS中的各类OSS资源,往往需要把阿里云账号的Access Key ID及Access Key Secret(简称AK)设置在ECS中,再通过这个AK来调用OSS的OPENAPI以达到从OSS中存取各类文件的目的——然而这种做法经常会带来资源泄露、权限限制、维护和更改程序繁琐等问题。
为了改变传统的把用户AK直接写死在ECS实例中的模式,以及为用户提供安全、权限可控、容易维护的访问阿里云各类云资源的方式,2017年10月31日,阿里云ECS推出了“ECS实例RAM角色”这一全新功能。
研发背景
通过AK调用OSS的OPENAPI来获取OSS中存取的各类文件,这种传统的做法容易带来以下这些问题:
l 直接存储在ECS中的AK可能会因为各种原因出现泄漏的情况;
l AK的权限较大,无法更细致的限制当前ECS的具体权限,比如只允许当前的ECS以只读的方式访问某个Bucket;
l 假设AK因为某些原因需要变更,那么您需要逐个实例手动进行修改。
ECS实例RAM角色的运用,能够为运行于ECS实例中的应用赋予可控的访问权限,通过MetaData获取的一个临时STS Token,即可访问“RAM角色”中授权过的各类云资源:
l ECS实例RAM角色所提供的临时安全token(STS Token)可以更方便地访问已授权的云资源;
l STS Token会每六小时内刷新一次,大大地降低了泄露所带来的风险;
l STS Token所拥有的权限完全可控,用户可以随时进行权限的更改和维护。
场景应用
安全、易维护、精细化的权限控制,“ECS实例RAM角色”功能可以方便快捷地在阿里云ECS中访问各类阿里云云资源,它适用于各种需要在ECS实例中访问阿里云云产品OPENAPI的场景,包括:
l 需要在当前ECS实例中读写指定OSS资源的情况;
l 需要在当前ECS中获取账户下ECS资源的各种信息的,如获取账号下其他ECS资源的外网IP信息;
l 需要在当前ECS中自定义运维策略的,如定时开启/关闭指定的ECS实例;
l 需要在当前ECS中获取RDS资源相关信息的;
l 其他各类需要在ECS中完成的对各类阿里云资源的相关操作。
实操示例
目前阿里云是国内第一家推出“ECS实例RAM角色”功能的云厂商,点击此处即可免费试用。以“在ECS中只读访问所有OSS资源”为例,以下介绍ECS实例RAM角色具体的使用步骤:
1. 登录阿里云访问控制控制台,进入角色管理,点击“新建角色”;
2. 选择“服务角色”->“ECS云服务器”;
3. 输入角色名称,这里设置为“OSSReadOnly”,点击“创建”;
4. 点击“授权”->“编辑授权策略”,对角色进行授权;
5. 选择“AliyunOSSReadOnlyAccess”,并点击“确定”,至此“ECS实例RAM角色”就创建并授权好了;
6. 进入阿里云ECS购买页面,在“RAM角色”中选择刚刚创建的“OSSReadOnly”,设定其他购买选项后,购买的ECS实例即拥有了“OSSReadOnly”的角色;
7. 远程连接进入实例,使用metadata即可获得该角色所提供的STS Token信息;
8. 使用所获取的Token,在ECS中利用OSS的OPENAPI来进行OSS信息的读取。
更多“ECS实例RAM角色”功能的使用,点击此处即可了解:https://yq.aliyun.com/articles/261926。