ECS实例RAM角色实践

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于网站搭建
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
简介:

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"
     ]
    
    AI 代码解读
    }
    }
    ],
    "Version": "1"
    }

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

    {
    "Statement": [
    {
    "Action": [
     "oss:Get\*",
     "oss:List\*"
    
    AI 代码解读
    ],
    "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)
AI 代码解读

7.png

相关文档

  1. [支持RAM的云服务列表]
  2. RAM产品文档
  3. [RAM中可对ECS资源进行授权的Action]
  4. ECS实例元数据
  5. OSS STS授权访问
  6. OSS python SDK管理文件
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
玄岳
+关注
目录
打赏
0
0
0
0
31
分享
相关文章
阿里云服务器ECS实例选型与性能监控指南:从场景匹配到优化参考
随着云服务器的普及应用,越来越多的企业和个人用户选择将业务迁移到云端,以享受其带来的灵活性、可扩展性和成本效益。阿里云服务器(Elastic Compute Service,简称ECS)以其丰富的实例规格、卓越的性能和稳定的运行环境,赢得了广大用户的信赖。然而,对于很多初次接触云服务器产品的新手用户来说,面对阿里云多达几十种的云服务器实例规格,往往感到无从下手,不知道如何选择最适合自己业务需求的实例规格。本文旨在通过详细解析阿里云ECS实例规格的选择策略,并介绍如何有效监控云服务器性能,确保业务的高效运行。
253 63
阿里云服务器经济型e与通用算力型u1实例怎么选?二则性能及适用场景区别参考
在当今数字化时代,云服务器已成为众多个人开发者、学生、小微企业以及中小企业开展业务、搭建网站、运行应用程序等不可或缺的基础设施。阿里云推出了多种类型的云服务器实例,以满足不同用户的需求。其中,经济型e实例和通用算力型u1实例备受关注。经济型e实例ECS云服务器2核2G3M带宽新购和续费同价99元1年,通用算力型u1实例2核4G5M带宽新购和续费同价199元1年(限企业用户)、4核8G云服务器955元1年。本文将为大家介绍阿里云服务器中的经济型e实例和通用算力型u1实例的特点、区别以及新手选择参考。
阿里云服务器通用型实例怎么选?g7/g8y/g8i适用场景、性能对比与选择参考
在选择云服务器实例规格时,对于需要平衡计算、存储和网络性能的应用场景来说,一般会选择通用型实例规格,在阿里云目前的活动中,属于通用型实例的主要有通用型g7、通用型g8y和通用型g8i实例。为了帮助大家更好地了解这三款实例的区别,并为选择提供参考,本文将详细对比它们的实例规格、CPU、内存、计算、存储、网络等方面的性能,并附上活动价格对比,以便用户能够全面了解它们之间的不同,以作参考选择。
133 14
阿里云服务器ECS实例选购参考:vCPU到云盘IOPS等指标详解
阿里云服务器ECS实例可以分为多种实例规格族,而根据CPU、内存等配置的不同,一种实例规格族又进一步细分为多种实例规格。这些实例规格包含了众多关键的性能指标,如 vCPU、处理器、内存、vTPM、本地存储、网络带宽、网络收发包 PPS、连接数、弹性网卡、云盘带宽、云盘 IOPS 等。深入理解这些性能指标,对于用户在阿里云服务器购买过程中选择最适合自己业务需求的实例规格至关重要。
阿里云服务器实例规格怎么选?经济型、通用算力型、计算型、通用型、内存型场景化选购指南
阿里云服务器的实例规格有经济型、通用型、计算型、内存型、通用算力型、大数据型、本地SSD型、高主频型、突发型、共享型等不同种类的实例规格,以满足不同用户和业务场景的需求。对于初次接触阿里云服务器的用户来说,如何选择合适的实例规格成为了一个重要的问题。本文将为大家解析阿里云的经济型、通用算力型、计算型、通用型和内存型实例规格的主要性能和适用场景情况,帮助用户根据实际需求选择合适的云服务器实例。
406 10
阿里云服务器计算型c8i与通用型g8i实例性能、适用场景及价格参考
阿里云不断推陈出新,致力于为用户提供高性能、高可靠性和高安全性的云服务器实例,以满足不同用户在各种复杂场景下的需求。其中,计算型c8i与通用型g8i实例凭借其卓越的性能和灵活的配置,成为了企业级用户的热门选择。本文将深入探讨这两款实例的性能特点、最新收费标准以及适用场景和活动价格情况,以供大家了解和选择。
阿里云经济型e实例云服务器评测:企业官网搭建的性价比之选
阿里云服务器经济型e实例可以用来搭建企业网站吗?云服务器作为搭建企业官网的基础设施,其性能、稳定性、成本等因素直接影响着官网的运营效果。阿里云经济型e实例云服务器作为一款性价比较高的产品,备受用户关注。许多企业在选择云服务器搭建官网时,都会将其纳入考虑范围。本文将详细探讨阿里云经济型e实例云服务器的特点、性能表现、稳定性与可靠性,以及成本考量,最终解答是否适合用它来搭建企业官网。
阿里云九代云服务器c9i/g9i/r9i实例性能、适用场景解析及活动价格参考
阿里云九代云服务器c9i、g9i、r9i实例是其最新推出的高性能企业级云服务器,凭借其卓越的性能和丰富的功能,广泛应用于机器学习推理、数据分析、高网络包收发等众多场景。接下来,我们将深入探讨这三款实例的性能、适用场景以及价格等方面的详细信息。
154 15
阿里云服务器通用型实例解析:g7/g8a/g8y/g8i性能对比与场景化选型参考
在阿里云服务器的通用型实例规格中,通用型g7、通用型g8a、通用型g8y和通用型g8i,凭借其强大的性能和灵活的配置,成为了众多企业和开发者的首选。这几个实例规格相比经济型e和通用算力型u1等实例规格,性能更为强劲,尽管它们的处理器与内存配比通常为1:4,但在处理器架构、存储能力、网络性能及安全特性等方面各有千秋,因此适用场景也各有侧重。以下是对通用型g7、g8a、g8y、g8i实例的详细性能对比、适用场景分析及选择建议。
阿里云服务器2核8G、4核16G、8核32G配置热门实例性能、适用场景对于与选择参考
2025年,阿里云针对2核8G、4核16G、8核32G这三种主流配置,推出了一系列极具吸引力的活动,为用户提供了多样化的选择。目前,2核8G配置的云服务器活动价格为522.79元/年起,4核16G配置的云服务器活动价格为2149.92元/年起,而8核32G配置的云服务器活动价格则为4249.44元/年起。这些价格涵盖了经济型e、通用算力型u1、通用型g8i、通用型g7和通用型g8y等不同实例规格,为用户提供了多样化的选择。本文将对这些配置热门实例规格的实例性能、适用场景和活动价格做个对比,以供选择和参考。

热门文章

最新文章

相关产品

  • 云服务器 ECS
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等

    登录插画

    登录以查看您的控制台资源

    管理云资源
    状态一览
    快捷访问