实现 STS 方式访问 OSS

本文涉及的产品
对象存储 OSS,标准 - 本地冗余存储 20GB 3个月
对象存储 OSS,内容安全 1000 次 1年
对象存储OSS,敏感数据保护2.0 200GB 1年
简介: 具体看文章

角色是基于子账号的维度上进行调用,所以需要客户预先准备好一个子账号,具体流程如下

一、创建子账号

image.png

如上图,主账号登陆控制台,创建一个子账号 “xiaoqiang”

二、创建角色

由于 STS 令牌访问是基于角色方式实现的,所以需要创建一个角色,如果只是登陆控制台的话,不需要用到 STS token ,只用角色登陆即可,文章最后有备注。
1、登陆主账号后,到访 RAM 控制台,角色管理,点击创建角色

image.png

2、如下图进行操作即可,创建一个测试角色(role)

image.png

image.png

image.png

三、了解角色的基本属性

image.png

image.png

如上图查看角色基础信息

1、是你创建的角色名称(开发调用,和控制台登陆都会用到)
2、ARN 是角色的身份ID,在开发调用时会用到。
3、可以给角色绑定一个策略,如果不绑定策略,现在就是一个空角色,什么权限也没有。(注意,只能通过绑定策略方式给角色授权,角色本身无法直接修改权限)

四、为角色创建一个单独策略

image.png

image.png

如上图方法创建一个自定义策略,我这里是给的 OSS 管理权限,客户如果要定义不同的场景权限,需要自己去学习下文档自行编写,有些参考例子可以自己看下 教程

五、将权限策略和角色进行绑定

image.png

image.png

image.png

如上图,将之前创建的权限策略 zhangsan_policy 和角色 testzhangsan 绑定在一起。这样角色就具备的访问 OSS 的相关操作权限,剩下的就是让其他的子账号来扮演角色,对应的子账号就有了角色对应的权限。类似面向对象的 “继承” 概念一样。

六、子账号扮演角色

image.png

image.png

image.png

如上图,给子账号授权一个 “AliyunSTSAssumeRoleAccess” 的策略后,zhang san_policy 就能扮演角色 testzhangsan 了,也就能具备角色对应的 OSS 访问权限了。

后续

如果客户要在开发中调用,可以通过 子账号 AccesskeyID 和 Access secretly 、ARN、RoleName 组合去生成 STS token 访问 OSS,具体的生成方法可以用 ossutil 自己去模拟下。

如果客户要登陆控制台,需要在阿里云控制台上通过切换角色的方式登陆。

image.png

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
目录
相关文章
|
存储 安全 对象存储
OSS对接-STS认证模式接入参考文档
背景之前项目中用到文件上传的场景中,都是由服务端做转发到OSS,存在着性能损耗。我们在 高德文件直传能力建设 项目中需要探索使用客户端直连OSS的方式来做,了解到OSS提供了STS认证的方式,通过子账号生成的临时AK作为客户端短期访问OSS的凭证,也不同担心AK安全的问题。具体方案见官方文档:STS临时授权访问OSSOSS可以通过阿里云STS(Security Token Service)进行临时
2887 0
OSS对接-STS认证模式接入参考文档
|
8月前
|
微服务
什么是微服务?微服务的优缺点是什么?
微服务就是一个独立的职责单一的服务应用程序,一个模块 1.优点:松耦合,聚焦单一业务功能,无关开发语言,团队规模降低 , 扩展性好, 天然支持分库2.缺点:随着服务数量增加,管理复杂,部署复杂,服务器需要增多,服务通信和调用压力增大
|
消息中间件 存储 Java
吃透 RocketMQ 消息中间件,看这篇就够了!
本文详细介绍 RocketMQ 的五大要点、核心特性及应用场景,涵盖高并发业务场景下的消息中间件关键知识点。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
吃透 RocketMQ 消息中间件,看这篇就够了!
|
10月前
|
存储 容灾 API
云端问道19期方案教学-将本地冗余转换同城冗余,提升业务稳定性
本文介绍了阿里云对象存储OSS如何将本地冗余转换为同城冗余,以提升业务稳定性。内容分为五部分:背景介绍、存储冗余概述、创建同城冗余存储Bucket、转换Bucket的存储冗余类型及补充内容。重点讲解了本地冗余与同城冗余的区别、创建和转换同城冗余的具体操作步骤及注意事项。同城冗余能提供更高的数据持久性和服务可用性,确保业务连续性,且在转换过程中不会对业务产生影响。
291 0
|
Ubuntu Go 开发工具
Unbuntu 一键安装制定版本的Go环境
该文章提供了在Ubuntu系统上一键安装指定版本的Go语言环境的详细步骤,包括删除旧版本Go、下载并解压新版本Go到指定目录、配置Go环境变量,以及安装其他必要的开发工具。
624 2
|
SQL 关系型数据库 数据库
PostgreSQL将边界geometry转换为坐标
【8月更文挑战第5天】PostgreSQL将边界geometry转换为坐标
658 10
|
JavaScript API
NodeJs——使用axios下载上传文件
NodeJs——使用axios下载上传文件
387 4
|
分布式计算 DataWorks 数据库
DataWorks操作报错合集之遇到跨账号连通性问题,并收到错误消息“You are not authorized to do this action. You should be authorized by RAM.”,如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
JavaScript
【vue3】vue3中路由hash与History的设置
【vue3】vue3中路由hash与History的设置
602 0
|
存储 安全 Java
Java多线程实战-从零手搓一个简易线程池(一)定义任务等待队列
Java多线程实战-从零手搓一个简易线程池(一)定义任务等待队列