0

我们正在实施联合身份管理,并且存在用户需要针对唯一标识的项目进行身份验证的场景。例如,Bob 可能对记录 12345、34444、23443 和 23443 具有读取权限,而 Jane 可能对记录 12345、34444 和 23443 具有读取/写入权限以及对记录 56445 的读取权限。

我有两个问题:

  1. 假设某人可以访问一百或一千个单独且唯一的记录。使用基于声明的安全性,我了解传入的安全令牌将包含所有这些声明。代币的大小会成为问题吗?

  2. 我没有看到很多关于创建用于管理授权的管理系统的指导,即在我们的案例中,将用户分配给经过身份验证的记录。我看到了很多关于尽可能使授权声明性的建议,但没有太多关于在不可能时该怎么做的建议。

非常感谢任何建议或方向。

4

1 回答 1

1

关于#1:是的,如果您将权利建模为声明(例如,用户有权访问的每条记录的声明),您最终可能会得到一个非常大的令牌。如果您有 100,000 条记录,那么您最终可能会收到 100,000 条索赔。

声明的“粒度”是那些“取决于”主题之一。一般来说,建议保持声明“粗略”(例如组、角色、组织等),然后将它们与应用程序中的细粒度权限相关联(仍然可以以声明方式实现)。

另外,我建议您问一个问题:“谁是令牌中传达的信息的权威?” 如果“用户 x 有权读取记录 23455 和 2456”的知识是特定于应用程序的,那么它属于应用程序,而不是 STS。

于 2011-08-31T15:46:29.423 回答