身份验证和细粒度授权

时间:2021-05-05 11:23:39

标签: authorization openid-connect roles policy dms

我们正在构建一个应用程序,其中的内容(即数据和文件)需要细粒度的用户访问角色和策略的工作方式。我们通过一个身份提供者使用 oAuth2 和 OpenID 连接。

我的问题是关于在提供此类细粒度授权的情况下利用平台或 AWSccloud 服务的可能性。我不想在我的应用程序中构建自定义授权矩阵,而是更喜欢使用服务的 API 和用户角色/策略进行进一步的操作。

当谈到使用 OpenID connect 的作用域时,它们更适合定义 API 访问级别。

1 个答案:

答案 0 :(得分:0)

我会从您的要求开始,例如用户只能看到他们自己的数据。细粒度授权通常通过令牌中的声明进行管理,这在需要时可以是高度动态的。

有关详细信息,请参阅这篇 Claims Best Practices 文章。它还提到了一些专业的授权系统。

云解决方案有时可能更侧重于基础设施安全,而 OAuth 则处理应用和用户级别的安全。

话虽如此,像 AWS 一样将资源策略定义为 JSON 文档可能是一种有用的声明性技术来补充声明。然后,在运行时,您可以将来自令牌(例如角色)的声明与资源策略进行比较,以查看是否应授予用户访问权限。