1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 你无法使用默认的 Cognito 验证器实现 RBAC,但有两种选项可以使用 Cognito 令牌在 API Gateway 中实现 RBAC:
- 使用 lambda 验证器对令牌进行验证和解码,然后检查令牌中的声明以确定是否允许或拒绝调用。你可以使用 AWS-JWT 库实现此验证器。该库原生支持验证 cognito:groups,这里有个示例。
- 另一种选择是使用从 Cognito 用户池生成的 ID-Token,使用 基于角色的访问控制 方法使用 Cognito Identity Pool 获取临时凭证。这使你能够假定令牌中定义的角色并基于该角色的权限获得临时凭证。然后,你需要在 API Gateway 方面使用 IAM 验证器,并使用 AWS SDK 或 Amplify 使用从 cognito 身份池返回的临时凭据调用 API。
我认为 #1 更容易实现,因为 API Gateway 支持 lambda 验证器。如果你需要实现访问除 API Gateway 之外的服务的 RBAC,#2 可能很有帮助。这个视频 可能有助于扩展使用方法 #2 的选项。
相关内容
- AWS 官方已更新 3 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 3 年前