OSS可以通过阿里云STS服务,临时进行授权访问。更多有关STS的内容请参考:
阿里云STS。
使用STS时请按以下步骤进行:
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')
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')
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云STS(Security Token Service)服务为用户提供了一种临时授权访问阿里云资源的方式,这对于需要按需或有限时间权限访问如OSS(对象存储服务)等资源的场景非常有用。您提到的流程和代码示例很好地概述了如何使用STS来安全地控制对OSS的访问。下面是对关键步骤和概念的简要总结:
总之,通过STS服务,您可以灵活且安全地管理OSS资源的访问权限,特别是在需要临时或第三方访问时,这种方式能够有效提升系统的安全性与灵活性。记得在实际应用中根据业务需求调整角色权限和STS Policy,确保遵循最小权限原则。