在ECS中访问各类阿里云云资源的正确姿势

我们经常会有需要在阿里云的ECS中访问各类OSS资源,以存取在ECS中需要使用到的各种文件。

通常,我们的做法是:

把阿里云账号的Access Key ID及Access Key Secret(以下简称AK)设置在ECS中,通过这个AK来调用OSS的OPENAPI以达到从OSS中存取各类文件的目的。

 

但是,这种做法当前存在下列问题:

1)     
直接存储在ECS中的AK可能会因为各种原因出现泄漏的情况

2)     
AK的权限较大,无法更细致的限制当前ECS的具体权限,比如只允许当前的ECS以只读的方式访问某个Bucket

3)     
假设AK因为某些原因需要变更,那么您需要逐个实例手动进行修改

 

为解决上述问题,阿里云ECS推出了“ECS实例RAM角色”功能,使用该功能您可以安全快捷的在阿里云ECS中访问各类阿里云的云资源:

1)     
ECS实例RAM角色所提供的临时安全token(STS Token)可让您方便的访问已授权的云资源

2)     
STS Token会每六小时内刷新一次,大大的降低泄露所带来的风险

3)      STS Token所拥有的权限完全受您控制,您可以随时进行权限的更改/维护

 

“ECS实例RAM角色”适用于下述各类场景:

1)     
需要在当前ECS实例中读写指定OSS资源的

2)     
需要在当前ECS中获取账户下ECS资源的各种信息的,如:获取账号下其他ECS资源的外网IP信息

3)     
需要在当前ECS中自定义运维策略的:如定时开启/关闭指定的ECS实例

4)     
需要在当前ECS中获取RDS资源相关信息的

5)     
其他各类需要在ECS中完成的对各类阿里云资源的相关操作

 

下面以“在ECS中只读访问所有OSS资源”为例,说明ECS实例RAM角色具体的使用步骤:

1)     
登录阿里云访问控制控制台,进入角色管理,点击“新建角色“

2)     
选择“服务角色”->“ECS云服务器”

3)     
输入角色名称,这里我们设置为“OSSReadOnly”,点击“创建”

4)     
点击“授权”->“编辑授权策略”,对角色进行授权

5)     
选择“AliyunOSSReadOnlyAccess”,并点击“确定”。至此“ECS实例RAM角色”就创建并授权好了。

6)     
进入阿里云ECS购买页面,在“RAM角色”中选择刚刚创建的“OSSReadOnly”,设定其他购买选项后,您购买的ECS实例即拥有了“OSSReadOnly”的角色

7)     
远程连接进入实例,使用metadata(curl
http://100.100.100.200/latest/meta-data/ram/security-credentials/OSSReadOnly)即可获得该角色所提供的STS Token信息:

8)     
使用所获取的Token,在ECS中利用OSS的OPENAPI来进行OSS信息的读取

 

说明:

1.     
不只是OSS,您还可以通过角色的权限控制,设置ECS在可控权限范围内访问阿里云的其他各类云资源

2.     
若要为已创建的实例赋予RAM角色,您可在“ECS控制台的实例列表”中进行操作

3.     
更多关于ECS实例角色的文档,请参考阿里云在线帮助:

a)      
中文版

                    
i.       关于ECS实例RAM角色

                  
ii.        通过控制台使用实例RAM角色

                 
iii.       通过OPENAPI使用实例RAM角色

                 
iv.       实例RAM角色API实践

b)      
英文版

                      i.        关于ECS实例RAM角色

                   ii.        通过控制台使用实例RAM角色

                  iii.       通过OPENAPI使用实例RAM角色

                  iv.       实例RAM角色API实践

时间: 2024-12-25 00:51:21

在ECS中访问各类阿里云云资源的正确姿势的相关文章

如何利用函数计算获取临时token访问其他阿里云资源

对于一些用户来说,可能需要在网页,app等客户端可以操作阿里云资源,如上传文件到oss,但是用户又不想把自己的AK暴露出来,在本文中,实现用户不需要自己直接使用自己的AK来实现文件上传到oss的例子 主要步骤如下: 1,用户创建一个函数 get_sts,该函数如下: # -*- coding: utf-8 -*- def handler(event, context): response = { 'isBase64Encoded': False, 'statusCode': 200, 'head

iis8中写权限和脚本资源访问权限在哪里设置

问题描述 iis8中写权限和脚本资源访问权限在哪里设置 iis6中可以设置虚拟目录或应用程序的"写权限"和"脚本资源访问权限",ii8在哪里设置这两个权限呢?

访问动态链接库中的C++类和资源

面我们来介绍如何访问动态链接库中的C++类和资源.其具体操作步骤如下:(1)创建一个基于对话框的工程,工程名称为"AccessDll".设计对话框资源如图1所示. 图1  对话框资源设计窗口(2)定义一个名称为CTextDlg的抽象类,因为需要访问动态链接库中的CTextDlg类,因此客户端需要定义一个框架,即抽象类CTextDlg.class CTextDlg             //定义抽象类CTextDlg{public: virtual void __stdcall Sho

轻松使用阿里云资源编排,方便你的API管理

11月初,阿里云ROS正式发布API 网关(API Gateway)资源,为云计算用户提供高性能.高可用的 API 托管服务,帮助用户对外开放其部署在 ECS.容器服务等阿里云产品上的应用,提供完整的 API 发布.管理.维护生命周期管理.用户只需进行简单的操作,即可快速.低成本.低风险地开放数据或服务. 用户只需要按照自己的需求,根据ROS的模板规范,定义自己的API管理模板,就可以轻轻松松实现API组的创建/更新,API的创建/更新,API的发布或者版本切换,以及API授权,签名,流控等等的

告别繁荣缛节,阿里云资源编排支持API网关

阿里云ROS的API 网关资源11月初正式上线,资源编排(ROS) 支持在模板中定义API 网关资源,助力用户快速.便捷管理发布自己的API.目前,阿里云ROS 产品免费提供给广大用户. 资源编排服务 (Resource Orchestration Service 简称 ROS) 是一款帮助阿里云用户简化云计算资源管理和自动化运维的服务.用户遵循 ROS 定义的模板规范,编写模板文件,在模板中定义所需云计算资源的集合及资源间的依赖关系.资源配置细节等,ROS 通过编排引擎自动完成所有资源的创建和

阿里云资源编排服务正式商业化 基础设施迎来自动化运维时代

近日,阿里云资源编排ROS(Resource Orchestration)服务正式商业化,阿里云产品家族再添管理利器. 资源编排服务(以下简称ROS)支持用户通过模板文件定义所需的云资源,描述资源间的依赖关系和配置详情,并自动完成资源的创建和配置,以达到自动化部署.运维等目的. 作为一种自动化运维工具,阿里云ROS屏蔽了底层资源操作的复杂性,使得对基础设施资源的管理通过简单的代码就可以实现. 告别手工运维 DevOps加速普及 云服务的一大优势是能够按需获取IT资源,所以越来越多的用户把应用系统

通过命令行工具使用阿里云资源编排服务

资源编排ROS 是一种简单易用的云计算资源管理和自动化运维服务.用户通过模板描述多个云计算资源的依赖关系.配置等,并自动完成所有资源的创建和配置,以达到自动化部署.运维等目的. 了解更多 通过命令行工具使用阿里云资源编排服务 资源编排服务(ROS)支持用户通过模板文件定义所需的云资源,描述资源间的依赖关系和配置详情,并自动完成资源的创建和配置,以达到自动化部署.运维等目的. 作为一种自动化运维工具,阿里云ROS屏蔽了底层资源操作的复杂性,使得对基础设施资源的管理通过简单的代码就可以实现. 命令行

阿里云资源编排服务Python SDK使用入门

阿里云资源编排服务(ROS)为我们维护云计算资源提供了一个低成本.可靠.标准化的方案.基于ROS提供的能力,我们只要编写和维护资源模板文件,就可以达到维护云计算资源的目的,而不再需要花费很多的时间通过控制台来人肉配置.ROS为一些场景下的资源维护提供了不同的思路和可能性,比如很多需要大量临时计算资源的场景,使用ROS将使整个资源申请.应用构建.资源释放过程非常简单. ROS同时提供RESTful API和SDK,这使得我们可以很容易的把ROS对于资源的操作能力集成到我们的应用中.下面我们通过示例

阿里云资源编排服务 Java SDK使用入门

阿里云资源编排服务 Java SDK使用入门 安装依赖 添加Maven库 <repositories> <repository> <id>sonatype-nexus-staging</id> <name>Sonatype Nexus Staging</name> <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> &