ECS实例RAM角色实践

简介:

ECS实例RAM角色快速入门

概述

以往部署在ECS实例中的应用程序如果需要访问阿里云其他云产品的API,通常需要借助于AccessKeyId和AccessKeySecret(下文简称AK)来实现。AK是用户访问阿里云API的密钥,具有相应账户的完整权限。但是为了方便应用程序对AK的管理,用户通常需要将AK保存在应用程序的配置文件中或以其他方式保存在实例中。这在一定程度上增加了AK管理上的复杂性且降低了AK的保密性,尤其是对有多地域一致性部署需求的用户,AK将随着镜像及镜像创建的实例扩散出去。在需要更换AK时,也需要逐台实例(和镜像)进行更新和重新部署。此外,使用AK虽然简单,但AK的权限过大,无法做到精细的权限控制。

现在借助于ECS实例RAM角色,我们可以将[RAM角色]和ECS实例关联起来,实例内部的应用程序则通过STS临时凭证访问其他云产品的API。其中临时凭证由系统自动生成和更新,应用程序可以通过访问实例元数据的指定URL获取临时凭证,而无须特别的管理。同时借助于RAM,用户可以通过对角色和授权策略的管理,达到不同实例对不同云产品或相同云产品具有各自访问权限的目的。

本文接下来将详细介绍ECS实例使用RAM角色的正确姿势,为了方便读者随本篇样例快速入门,全文将基于OpenAPI Explorer操作(OpenAPI Explorer将各产品的API及参数以可视化的方式展现出来,并能自动生成Java,Python等SDK的样例代码)。具体分为以下几个步骤:

  1. 通过RAM创建角色,并配置授权策略
  2. 指定RAM角色创建ECS实例
  3. 在实例内部访问实例元数据URL获取STS临时凭证
  4. 基于临时凭证,使用Python SDK访问OSS
注:OpenAPI Explorer通过已登录用户信息获取当前账号临时AK,对当前账号线上资源发起线上资源操作,请小心操作。同时创建实例操作也会产生一定的费用!操作完成后请及时释放实例。

创建RAM角色&配置策略

  1. 创建RAM角色。找到OpenAPI Explorer RAM产品下CreateRole API。其中RoleName参数可以根据自己的需要填写,如本文填“RamRoleTest”。AssumeRolePolicyDocument填如下内容,表示该角色为一个服务角色,受信云服务(此处为ECS)可以扮演该角色:

    {
    "Statement": [
    {
    "Action": "sts:AssumeRole",
    "Effect": "Allow",
    "Principal": {
     "Service": [
       "ecs.aliyuncs.com"
     ]
    
    }
    }
    ],
    "Version": "1"
    }

    1.png
  2. 创建授权策略。找到CreatePolicy API。其中PolicyName本文填“RamRolePolicyTest”。PolicyDocument填以下内容,表示该角色具有OSS只读权限。

    {
    "Statement": [
    {
    "Action": [
     "oss:Get\*",
     "oss:List\*"
    
    ],
    "Effect": "Allow",
    "Resource": "*"
    }
    ],
    "Version": "1"
    }

    当希望通过子账号创建指定RAM角色的ECS实例时,还需要在上述“Statement”节点中额外增加ECS相关的权限和PassRole权限,如下所示。其中“...”需要替换成具体的[ECS RAM Action],或替换成“ecs:*”表示所有Action。

    {
    "Action": ...,
    "Resource": "*",
    "Effect": "Allow"
    },
    {
    "Action": "ram:PassRole",
    "Resource": "*",
    "Effect": "Allow"
    }

    2.png
  3. 为角色附加授权。找到AttachPolicyToRole API。其中PolicyType填“Custom”,PolicyName填第2步创建的“RamRolePolicyTest”,RoleName填第1步创建的“RamRoleTest”。
    3.png

指定角色创建实例

  1. 创建实例。找到OpenAPI Explorer ECS产品下的CreateInstance API,参数可根据实际情况进行填写,主要需要填写的参数有:RegionId、ImageId、ecs.n1.tiny、VSwitchId和RamRoleName。由于ECS实例RAM角色目前只支持VPC实例,所以VSwitchId是必须的,RamRoleName则填之前创建的RamRoleTest。
    5.png
  2. 设置密码和启动实例。从ECS控制台“实例标签页”重置实例密码,并启动实例。

获取STS临时凭证

从ECS控制台远程连接实例,并登陆到实例中,获取STS临时凭证,其中路径最后为实例名。
6.png

基于临时凭证访问OSS

  1. 命令行输入pip install oss2安装OSS python SDK
  2. 执行下述命令进行测试,其中oss2.StsAuth中的前三个参数分别对应于上述URL返回的AccessKeyId、AccessKeySecret和SecurityToken。
import oss2
from itertools import islice

auth = oss2.StsAuth(<AccessKeyId>, <AccessKeySecret>, <SecurityToken>)
bucket = oss2.Bucket(auth, "oss-cn-qingdao.aliyuncs.com", "bozhi-qd")

for b in islice(oss2.ObjectIterator(bucket), 10):
    print(b.key)

7.png

相关文档

  1. [支持RAM的云服务列表]
  2. RAM产品文档
  3. [RAM中可对ECS资源进行授权的Action]
  4. ECS实例元数据
  5. OSS STS授权访问
  6. OSS python SDK管理文件
相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
弹性计算 关系型数据库 MySQL
阿里云服务器搭建网站教程:经济型e实例2核2G快速搭建网站图文教程参考
目前在阿里云的活动中,轻量应用服务器2核2G3M带宽只要68元1年,2核4G4M带宽只要298元1年。云服务器ECS经济型e实例2核2G 3M固定带宽,价格只要99元/1年,新老用户都可购买,企业用户购买2核4G5M带宽199元一年,为用户提供长期权益。这些都是个人和普通企业用户搭建网站使用较多的云服务器,本文为大家展示使用经济型e实例2核2G3M带宽快速搭建网站的相关教程,以供参考。
173 18
|
2月前
|
存储 缓存 运维
阿里云服务器经济型e与通用算力型u1实例各自性能、适用场景区别及选择参考
在选择阿里云服务器实例规格时,经济型e实例和通用算力型u1实例因其高性价比和广泛适用性,备受个人开发者、中小企业的青睐。在同地域、相同配置的情况下,经济型e和通用算力型u1实例的价格相对于其他实例规格要低一些,很多个人和初创企业用户都会优先考虑选择这两个实例规格的云服务器,那么它们之间有什么区别?各自的性能、适用场景上有何区别?我们应该如何选择呢?本文将详细解析这两款实例的性能特点、适用场景、价格优势及购买建议,帮助用户更好地理解并选择合适的云服务器实例。
178 17
|
2月前
|
存储 弹性计算 数据挖掘
阿里云服务器ECS经济型e实例与通用算力u1区别、特性优势、使用场景及租赁费用对比
阿里云ECS云服务器的经济型e实例和通用算力型u1实例各有特点。e实例适合个人开发者和小微企业,适用于中小型网站、开发测试和轻量级应用,性价比高。u1实例则更适合中小企业,提供更高的性能和稳定性,适用于企业级应用、数据分析和中小型数据库。同等配置下,u1实例在计算、存储和网络性能上优于e实例。
284 86
|
26天前
|
存储 运维 资源调度
阿里云服务器经济型e实例解析:性能、稳定性与兼顾成本
阿里云经济型e云服务器以其高性价比、稳定可靠的性能以及灵活多样的配置选项,成为了众多企业在搭建官网时的首选。那么,阿里云经济型e云服务器究竟怎么样?它是否能够满足企业官网的搭建需求?本文将从性能表现、稳定性与可靠性、成本考虑等多个方面对阿里云经济型e云服务器进行深入剖析,以供大家参考选择。
106 37
|
27天前
|
存储 人工智能 安全
阿里云服务器五代、六代、七代、八代实例简介及性能提升介绍参考
随着技术的不断进步,阿里云服务器实例也经历了多代升级,从五代实例到最新的八代实例,每一代都在性能、稳定性、能效比等方面取得了显著提升。有的用户由于是初次接触阿里云服务器,所以不是很清楚阿里云服务器五代、六代、七代、八代实例有哪些,它们各自在云服务器性能上有哪些提升。本文将详细介绍阿里云服务器五代、六代、七代、八代实例的特点及性能提升,以供了解及选择。
阿里云服务器五代、六代、七代、八代实例简介及性能提升介绍参考
|
1月前
|
存储 安全 数据安全/隐私保护
阿里云服务器五代、六代、七代、八代实例简介及性能提升介绍
随着技术的不断进步,到2025年,阿里云服务器实例也经历了多代升级,从五代实例到最新的八代实例,每一代都在性能、稳定性、能效比等方面取得了显著提升。有的用户由于是初次接触阿里云服务器,所以不是很清楚阿里云服务器五代、六代、七代、八代实例有哪些,它们各自在云服务器性能上有哪些提升。本文将详细介绍阿里云服务器五代、六代、七代、八代实例的特点及性能提升,帮助用户更好地了解并选择适合自己的云服务器实例。
132 29
|
30天前
|
存储 弹性计算 应用服务中间件
阿里云轻量应用服务器出新品通用型实例了,全球26个地域可选
近日,阿里云再度发力,推出了首款全新升级的轻量应用服务器——通用型实例。这款服务器实例不仅标配了200Mbps峰值公网带宽,更在计算、存储、网络等基础资源上进行了全面优化,旨在为中小企业和开发者提供更加轻量、易用、普惠的云计算服务,满足其对于通用计算小算力的迫切需求。目前,这款新品已在全球26个地域正式上线,为全球用户提供了更加便捷、高效的上云选择。
307 27
|
22天前
|
存储 弹性计算 数据挖掘
阿里云服务器ECS通用算力型u1和ECS经济型e实例性能特点、使用及常见问题解答FAQ
阿里云ECS云服务器的经济型e实例和通用算力型u1实例深受开发者和中小企业青睐。e实例适合中小型网站、开发测试等轻量级应用,采用共享CPU调度模式,性价比高;u1实例则适用于中小型企业级应用,提供更高的性能保障和稳定性,支持固定CPU调度模式,计算性能更稳定。同等配置下,u1实例在网络带宽、IOPS等方面表现更优,价格也相对较高。个人用户可选择e实例,中小企业建议选择u1实例以确保业务稳定性。
|
1月前
|
存储 弹性计算 安全
阿里云服务器经济型e实例4核16G和8核32G特惠云服务器测评参考
阿里云有两款特惠云服务器——4核16G10M带宽和4核32G10M带宽,系统盘都是100G ESSD Entry,价格分别仅需70元1个月和160元1个月。那么,这两款云服务器到底性能如何?适用于哪些场景?是否值得购买?本文将全方位深入测评这两款特惠云服务器,并为您提供详细的购买建议。
|
1月前
|
存储 人工智能 网络协议
浅聊阿里云倚天云服务器:c8y、g8y、r8y实例性能详解与活动价格参考
选择一款高性能、高性价比的云服务器对于企业而言至关重要,阿里云推出的倚天云服务器——c8y、g8y、r8y三款实例,它们基于ARM架构,采用阿里自研的倚天710处理器,并基于新一代CIPU架构,通过芯片快速路径加速手段,实现了计算、存储、网络性能的大幅提升。2025年,计算型c8y云服务器活动价格860.65元一年起,通用型g8y云服务器活动价格1187.40元一年起,内存型r8y云服务器活动价格1454.32元一年起。本文将为大家详细解析这三款实例的性能特点、应用场景以及最新的活动价格情况,帮助大家更好地了解阿里云倚天云服务器。

相关产品

  • 云服务器 ECS