Amazon Verified Permissions 专业2022年〜
为应用提供细粒度授权管理的策略引擎服务
它能做什么
Amazon Verified Permissions 是一项为应用提供细粒度授权(Authorization)的托管策略引擎。使用 Cedar 策略语言定义访问控制规则,应用通过 API 查询是否允许特定操作。将授权逻辑从应用代码中分离,集中管理和审计。
使用场景
用于 SaaS 应用的多租户权限管理、基于角色和属性的访问控制(RBAC/ABAC)、API 的细粒度授权、合规要求下的权限审计。
日常类比
可以比作大楼的门禁规则管理系统。不是在每扇门(应用代码)上单独编程门禁逻辑,而是在中央系统(Verified Permissions)统一定义规则(谁可以在什么时间进入哪个房间),各门只需查询中央系统即可。
什么是 Verified Permissions
Amazon Verified Permissions 是一项授权即服务(Authorization as a Service)。在应用中,授权逻辑(谁可以对什么资源执行什么操作)往往散布在代码各处,难以维护和审计。Verified Permissions 将这些逻辑集中到策略存储中,应用通过 IsAuthorized API 查询授权决策。
Cedar 策略语言
Cedar 是 AWS 开发的开源策略语言,语法简洁易读。策略定义主体(Principal)、操作(Action)、资源(Resource)和条件(Condition)。支持 permit(允许)和 forbid(禁止)两种效果。策略存储中可以定义 Schema 验证策略的正确性。 如需深入了解 Cedar 策略语言,可参考相关书籍(Amazon)。
开始使用
在 Verified Permissions 控制台创建策略存储,定义 Schema(实体类型和操作)。编写 Cedar 策略定义访问规则。在应用中调用 IsAuthorized API,传入主体、操作和资源信息,获取允许/拒绝的授权决策。
注意事项
- Cedar 策略语言是 AWS 开发的开源项目
- 支持策略的静态分析,在部署前验证策略的正确性