KS3如何对请求授权

最近更新时间:2019-01-14 10:10:54

当 KS3 收到请求,例如,存储空间(Bucket)或文件(Object)操作时,它首先验证请求者是否拥有必要的权限。

KS3 对所有相关访问策略、用户策略和基于资源的策略(空间策略、存储空间 ACL、对象 ACL)进行评估, 以决定是否对该请求进行授权。如果任何一个策略现实拒绝(Deny)用户的请求,无论其它的策略是否授权,KS3都会拒绝用户的这次请求。

以下是一些示例说明:

  • 如果请求者是IAM子用户,则 KS3 必须确定该IAM子用户所属的父账户是否通过用户策略(User Policy)授予该用户执行操作的必 要权限;如果父账户是资源拥有者,也可以通过空间策略(Bucket Policy)授予该IAM子用户执行操作的必 要权限。

  • IAM子用户除了需要来自父账户的授权外,还必须得到资源拥有者向IAM子用户(使用空间策略)或父账户(使用空间策略、存 储桶 ACL 或对象 ACL)授予权限。

  • 如果请求者是主账户,则KS3只需要判断是否为资源拥有者;如果不是资源拥有者,必须得到资源拥有者向该主账户(使用空间策略、存 储空间 ACL 或对象 ACL)授予权限。

  • 如果请求者是匿名用户,则KS3需要判断ACL是否公开,或者资源拥有者通过空间策略进行了匿名授权。

流程图如下:

授权流程图 1.png

  • 用户上下文:如果请求者是IAM子用户,则该子用户必须拥有来自其所属的父账户的授权,同时KS3还要判断其父账户是否也拥有对应的权利。

    注意:如果父账户同时也是资源拥有者,那么通过空间权限(bucket policy或ACL)授予该IAM子用户执行操作的必 要权限也是可以的。

  • 资源上下文:请求者必须拥有来自资源拥有者的权限才能执行特定的操作。资源拥有者可以通过空间策略、ACL向主账号和IAM子用户授予权限。

金山云,开启您的云计算之旅

注册有礼