开发者社区 > 云存储 > 对象存储OSS > 正文

RAM角色绘画策略

问题描述

RAM角色的会话策略是什么,怎么在控制台进行设置?

期望结果

期望了RAM角色的会话策略

已尝试的方法

查看了文档和控制台的设置,没有比较详细的解释。

展开
收起
GDUT-seven 2022-10-18 18:29:37 83 0
2 条回答
写回答
取消 提交回答
    1. RAM角色的会话策略是什么?

    会话策略(Session Policy)是在以编程方式扮演RAM角色(调用AssumeRole API)的过程中创建临时会话时,在参数中传递的策略,用于进一步限制会话的权限。如果发起访问请求的身份是RAM角色,并且拥有会话策略,判定程序会按照最小单元判定流程执行会话策略判定。否则,判定程序会跳过此步。

    详情请参见权限策略判定流程

    1. 怎么在控制台设置RAM角色的会话策略?

    你可以在RAM控制台创建自定义权限策略。

    具体操作请参见创建自定义权限

    2022-10-19 10:20:02
    赞同 展开评论 打赏
  • 鉴权流程如下,其他细节请访问:https://help.aliyun.com/document_detail/212436.html

    带身份验证的鉴权流程如下:

    1. 检查身份验证是否成功

    用户请求进入OSS后,OSS会对请求携带的签名和服务端计算的签名进行比对。

    • 请求签名不匹配,则拒绝访问。
    • 请求签名匹配,则继续判断是否为基于角色的会话策略。
    • 判断是否为基于角色的会话策略

    如果判断结果是基于角色的会话策略,则OSS会对Session Policy进行权限比对。

    • 比对结果为Explicit Deny或Implicit Deny,则拒绝访问。
    • 比对结果为Allow,则继续检查RAM Policy和Bucket Policy。

    如果判断结果不是基于角色的会话策略,也会继续检查RAM Policy和Bucket Policy。

    1. 分别检查RAM Policy和Bucket Policy

    RAM Policy是基于身份的策略。您可以使用RAM Policy控制用户可以访问您名下哪些资源的权限。对于用户级别的访问,需要根据请求的账号类别判断允许或拒绝访问请求。

    • 如果使用阿里云账号AccessKey访问,直接返回Implicit Deny。
    • 如果使用RAM用户AccessKey或STS的AccessKey访问,但是访问的Bucket不属于阿里云账号或者RAM角色Owner,直接返回Implicit Deny。
    • 调用RAM服务提供的鉴权接口对普通请求进行身份鉴权,OSS支持RAM服务通过账号和Bucket所属资源组进行鉴权。检查返回结果为Allow、Explicit Deny或Implicit Deny。

    Bucket Policy是基于资源的授权策略,Bucket Owner可以通过Bucket Policy为RAM用户或其他账号授权Bucket或Bucket内资源精确的操作权限。

    • 如果未设置Bucket Policy,则直接返回Implicit Deny。
    • 如果设置了Bucket Policy,则检查Bucket Policy返回结果是Allow、Explicit Deny或者Implicit Deny。
    • 合并结果中是否存在Explicit Deny策略

    如果存在,则拒绝访问。如果不存在,则检查是否存在Allow策略。

    1. 检查RAM Policy或Bucket Policy中是否存在Allow策略。

    如果存在Allow策略,则允许访问。如果不存在Allow策略,则判断请求来源。

    1. 判断请求来源。

    如果是管控类API请求,则拒绝访问。如果为数据类API请求,则继续Object ACL或Bucket ACL的鉴权。

    管控类API请求包括Service操作(GetService (ListBuckets))、Bucket相关操作(例如PutBucket、GetBucketLifecycle等)、LiveChannel相关操作(例如PutLiveChannel、DeleteLiveChannel等)。

    数据类API请求包括Object相关操作,例如PutObject、GetObject等。

    1. 鉴权Object ACL和Bucket ACL

    根据Object ACL进行鉴权时,需要结合请求用户是否为Bucket Owner,以及请求类型为读请求或写请求进行判断。

    • 如果判断结果是Allow,则允许访问。
    • 如果判断结果是Deny,则拒绝访问。

    如果Object ACL为继承Bucket,则继续检查Bucket ACL。

    根据Bucket ACL进行鉴权时,需要结合请求用户是否为Bucket Owner进行判断。

    • 如果判断结果是Allow,则允许访问。
    • 如果判断结果是Deny,则拒绝访问。
    2022-10-18 22:39:27
    赞同 展开评论 打赏
问答分类:

对象存储 OSS 是一款安全、稳定、高性价比、高性能的云存储服务,可以帮助各行业的客户在互联网应用、大数据分析、机器学习、数据归档等各种使用场景存储任意数量的数据,以及进行任意位置的访问,同时通过丰富的数据处理能力更便捷地使用数据。

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载