如何使用WSO2堆栈在API中实现基于角色的访问控制

问题描述 投票:0回答:1

我们使用WSO2IS作为IAM服务器,角色和用户在WSO2IS中进行管理。 WSO2EI将成为集成服务器,公开私有API

使用来实现基于角色的访问控制的正确方法是正确的方法,例如某些API组只能由具有特定组的用户访问。如何实现这种最简单的方法?这里有WSO2AM的要求吗?

谢谢

wso2esb wso2-am wso2is
1个回答
0
投票

EI不是公开私有oauth安全API的理想方法。即使您可以使用EI来实现,但在集成时仍会花费大量精力。

使用API​​管理器将API展示给您的人群。将Identity Server配置为APIM服务器的密钥管理器(令牌管理器)。 APIM服务器知道如何与Identity Server对话以生成和验证访问令牌。因此,没有明确的努力即可将资源服务器(APIM网关)与授权服务器(IAM)集成。

  1. 在两个服务器之间共享用户存储。 (IS和APIM)
  2. 将IS配置为API服务器的密钥管理器。
  3. 在发布者/开发者门户中注册您的API。
  4. 发布时,您可以从发布者门户定义对API资源的基于角色的访问限制。 (Roe:范围映射)
  5. 一旦您定义,IS将在为您提供访问令牌后始终检查您的角色。

由于您已经定义了角色:作用域映射,因此在令牌生成请求中请求的作用域仅在您(请求者)具有预期角色时才被接受。因此,令牌的范围将仅与您分配给自​​己的角色一样好。现在,由于您已发布的API资源需要一组定义的范围,因此在尝试访问API时不会接受所有访问令牌。只有那些具有预期范围的。

Configure IS-KM with APIM

Role based scopes

© www.soinside.com 2019 - 2024. All rights reserved.