小编Rua*_*fer的帖子

ABAC 与 Monorepo 微服务:最好的方法是什么?

在我的工作中,我的任务是搜索并找到解决方案,以在 monorepo 中组织的微服务中实施 ABAC 授权。我们有一些产品,我们使用领域的概念在同一数据库中组织不同客户端的数据。我们的要求可能是:

  • 用户(即其公司的经理)只能看到来自您公司和您员工的数据。
  • 同一个公司可以有N个地方,每个地方可以有一个经理。每个地方的管理者只能看到那里的数据。

首先,我想构建一些代码,供每个 API 的每个路由器使用,以验证授权并允许或拒绝请求。像这样的东西: 在此输入图像描述

我想到的另一件事是创建一个 API 而不是 lib。 在此输入图像描述

因此,基于这个问题,我发现 ABAC 可以从应用程序(API)中外部化,并且对我来说很有意义,请参见下图。

在此输入图像描述

但接下来我有一些问题。

  1. 按照我在第一张图片或第二张图片中的想法去做是不好的吗?

  2. PDP 如何知道用户想要做什么?根据他呼叫的路线?但通过这种方法,单一责任将会受到损害,因为 PDP 需要内化(步骤 2)其他应用程序的行为,对吧?

  3. PIP需要调用数据库来让PDP验证授权。因此,这可能会很慢,因为相同的查询将执行两次,一次用于检查策略,另一次在服务内部使用业务逻辑。

authorization microservices abac monorepo

1
推荐指数
1
解决办法
383
查看次数

标签 统计

abac ×1

authorization ×1

microservices ×1

monorepo ×1