权限(Permission)是访问控制的一个基本概念,它表示允许或拒绝一个请求者(Requester)对资源(Resource)执行某种操作(Action)。用语句(Statement)来表示单个权限的形式化描述,而用策略(Policy)来表示语句的集合。

访问策略(Access Policy)主要包括如下的访问控制元素:主体(Principal)、操作(Action)、资源(Resource)、访问限制(Access Restriction)和效力(Effect)。下面分别对这几个基本实体进行简要描述。

主体(Principal)

主体(Principal)是指访问策略中的权限被指派的对象。例如,访问策略允许张三在2017年12月31日之前对资源SampleBucket执行CreateObject操作中的主体是张三。

操作(Action)

操作(Action)是指主体对资源的访问方法。例如,访问策略允许张三在2017年12月31日之前对资源SampleBucket执行CreateObject操作中的操作是CreateObject。

资源(Resource)

资源(Resource)是指主体请求访问的对象。例如,访问策略允许张三在2017年12月31日之前对资源SampleBucket执行CreateObject操作中的资源是SampleBucket。

访问限制(Access Restriction)

访问限制(Access Restriction)是指权限生效的限制条件。例如,访问策略允许张三在2017年12月31日之前对资源SampleBucket执行CreateObject操作中的限制条件是在2011年12月31日之前。

效力(Effect)

授权效力包括两个方面:允许操作(Allow)和拒绝操作(Deny)。通常,Deny有更高的效力,在权限检查时会优先使用。

注意 拒绝操作和撤销授权是完全独立的两个概念,撤销授权通常包括撤销对Allow和Deny这两种不同效力的授权。例如传统数据库一般支持Revoke和Revoke Deny两种操作。