亚马逊AWS官方博客

AWS Team

Author: AWS Team

认证授权专题(五) : API Gateway + Custom Authorizer 精细化权限控制

大多数移动应用或者 Web 应用都有自己的用户身份认证体系。用户的身份信息存储在应用的自有数据库中, API Gateway定义的不同的资源操作,需要根据应用的用户身份判断是否允许该用户访问这些不同的操作. 例如,一个 bookstore app, 资源URI有/books, /books/{usesrid}, 具体的操作有/books/get, books/{userid}/get, books/{userid}/post等等。 在这个应用中,如果用户的身份为admin,则该用户可以执行所有操作。对于身份为user的用户,则只能访问 /books/{userid}下的所有操作。对于这样的基于用户身份进行API级别的权限控制需求,需要通过自定义授权函数,通过应用的身份认证系统获取用户身份,基于用户身份以及当前执行的操作相结合,在自定义授权函数中判断用户是否有权限执行操作,并构建相应的权限策略返回给 API Gateway。