WSO2标识服务器-内部角色与外部角色

WSO2标识服务器-内部角色与外部角色,wso2,wso2is,Wso2,Wso2is,我们正在考虑将我们在WSO2中的角色临时存储在内部数据库中 据我所知,这些内部角色存储在表UM_HYBRID_ROLE中。我想确认的是,在XACML策略、索赔管理等方面,这些角色的处理方式与外部LDAP中配置的角色相同 换句话说,我们是否可以假设与内部角色关联的策略/声明的行为与与与外部角色关联时的行为相同 WSO2处理内部/外部角色的方式(除了在哪些方面保持它们)之间有什么区别,我应该注意到吗 谢谢, Mike当用户存储不支持角色(例如只读LDAP)时,使用此选项。根据我的经验,这在使用外部角

我们正在考虑将我们在WSO2中的角色临时存储在内部数据库中

据我所知,这些内部角色存储在表UM_HYBRID_ROLE中。我想确认的是,在XACML策略、索赔管理等方面,这些角色的处理方式与外部LDAP中配置的角色相同

换句话说,我们是否可以假设与内部角色关联的策略/声明的行为与与与外部角色关联时的行为相同

WSO2处理内部/外部角色的方式(除了在哪些方面保持它们)之间有什么区别,我应该注意到吗

谢谢,
Mike

当用户存储不支持角色(例如只读LDAP)时,使用此选项。根据我的经验,这在使用外部角色时表现相同。您可能只需要重写xml策略中的role字段,这样IS就知道您正在将其引用到一个外部字段。只要作为策略信息点的用户存储被正确配置,用户数据是存储在内部还是外部并不重要。

内部和外部角色在API级别都被视为相同的。唯一不同的是,您会看到带有内部角色的前缀
Internal
。比方说,如果您创建了一个名为
foo
的角色。它将被命名为
Internal/foo

当涉及到XACML时,您不想做任何事情,您可以使用相同的声明uri检索这两种类型的角色。i、 e
http://wso2.org/claims/role
。它将返回分配给用户的所有角色,而不考虑用户存储(内部或外部)

另外,让我进一步介绍一下
内部
角色

内部角色是由Carbon server在内部维护的角色。这意味着这些角色不会与用户存储中的组映射。它们是在Carbon Server的内部数据库表中创建的。内部角色用于以下用例中

  • 当Carbon server想要在内部创建一个角色时,它总是创建一个内部角色。例如,“每个人”角色是一个内部角色。它是由Carbon server在服务器启动时创建的。因为,Carbon server无法始终在用户存储中创建角色。由于无意中在协作用户存储中创建角色是不好的,并且如果协作用户存储已以只读模式连接,则Carbon服务器无法创建角色

  • 如果用户存储已以只读模式连接。不能使用Identity Server管理控制台或API将用户分配到角色。在这种情况下,您可以使用内部角色

  • 当多用户商店配置了Carbon服务器时,您可能需要将来自不同用户商店的用户分配到一个角色中。这可以通过创建内部角色来完成。可以将来自不同用户存储的用户分配给内部角色。(因为您不能将一个用户存储中的用户分配给另一个用户存储中的组)