Ruby-SDK之如何实现使用STS访问?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Ruby-SDK之如何实现使用STS访问?

2017-10-19 13:55:21 1997 0
OSS可以通过阿里云STS服务,临时进行授权访问。更多有关STS的内容请参考: 阿里云STS
使用STS时请按以下步骤进行:
  1. 在官网控制台创建子账号,参考OSS STS
  2. 在官网控制台创建STS角色并赋予子账号扮演角色的权限,参考OSS STS
  3. 使用子账号的AccessKeyId/AccessKeySecret向STS申请临时token。
  4. 使用临时token中的认证信息创建OSS的Client。
  5. 使用OSS的Client访问OSS服务。

在使用STS访问OSS时,需要设置:sts_token参数,如下面的例子所示: require 'aliyun/sts'
require 'aliyun/oss'
sts = Aliyun::STS::Client.new(
  access_key_id: '<子账号的AccessKeyId>',
  access_key_secret: '<子账号的AccessKeySecret>')
token = sts.assume_role('<role-arn>', '<session-name>')
client = Aliyun::OSS::Client.new(
  endpoint: '<endpoint>',
  access_key_id: token.access_key_id,
  access_key_secret: token.access_key_secret,
  sts_token: token.security_token)
bucket = client.get_bucket('my-bucket')


在向STS申请临时token时,还可以指定自定义的STS Policy。这样申请的临时权限是[backcolor=transparent]所扮演角色的权限与Policy指定的权限的交集。下面的例子将通过指定STS Policy申请对my-bucket的只读权限,并指定临时token的过期时间为15分钟: require 'aliyun/sts'
require 'aliyun/oss'
sts = Aliyun::STS::Client.new(
  access_key_id: '<子账号的AccessKeyId>',
  access_key_secret: '<子账号的AccessKeySecret>')
policy = Aliyun::STS::Policy.new
policy.allow(['oss:Get*'], ['acs:oss:*:*:my-bucket/*'])
token = sts.assume_role('<role arc>', '<session name>', policy, 15 * 60)
client = Aliyun::OSS::Client.new(
  endpoint: 'ENDPOINT',
  access_key_id: token.access_key_id,
  access_key_secret: token.access_key_secret,
  sts_token: token.security_token)
bucket = client.get_bucket('my-bucket')


更详细的用法和参数说明请参考 API文档
取消 提交回答
全部回答(0)
相关问答

1

回答

Ruby on Rails:以表单提交数组

2020-02-10 16:02:42 574浏览量 回答数 1

1

回答

Ruby:如何将数组的数组连接成一个

2020-02-09 11:43:51 327浏览量 回答数 1

1

回答

从数组Ruby中删除元素

2020-02-09 13:45:49 343浏览量 回答数 1

1

回答

如何在Ruby中对数组进行分块

2020-02-09 14:00:01 279浏览量 回答数 1

1

回答

在Ruby中迭代数组时如何修改数组?

2020-02-08 14:24:57 272浏览量 回答数 1

1

回答

如何使用Ruby一步一步初始化数组?

2020-02-08 11:28:27 248浏览量 回答数 1

1

回答

在Ruby中,如何从数组中生成哈希?

2020-02-08 20:39:47 299浏览量 回答数 1

1

回答

如何在Ruby中返回数组的一部分?

2020-02-07 23:13:36 302浏览量 回答数 1

1

回答

如何在Ruby中对哈希数组进行排序

2020-02-07 00:48:00 240浏览量 回答数 1

1

回答

在Ruby中遍历数组的“正确”方法是什么?

2020-01-15 16:52:22 1406浏览量 回答数 1
+关注
文章
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载