【问题标题】:Permission Handling in Inter-Service Calls. (Micro Services)服务间调用中的权限处理。 (微服务)
【发布时间】:2021-11-29 23:46:31
【问题描述】:

我的任务是找出处理服务间通信授权的最佳实践,我浏览了很多互联网文章,但不幸的是到目前为止没有运气。

用例 - 如果它是一个服务间调用并且如果它是一个客户端调用它应该按原样工作(即启用权限检查),则要求是禁用权限检查(授权)。

迫切地等待上帝之手帮助我解决这个问题。

感谢和问候, C.

【问题讨论】:

  • 可能的答案取决于您的项目中使用的授权类型
  • Ola Andrew,谢谢您的回复,解决这个问题的一种方法,我们想出的是为此创建一个独立的权限,例如“Interservice Permission”,并在此基础上进行检查,但是我仍然想知道是否还有其他更好的方法可以解决这个问题。没问题,再次谢谢你。????
  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。

标签: asp.net-core asp.net-web-api permissions microservices


【解决方案1】:

我实际上正在处理与您的用例非常相似的事情,其中​​我有从主应用程序客户端到我的前端服务的 API 调用,我有用于配置和实时操作管理的后台客户端 API,我有我的内部微服务生态系统相互通信。

我可以推荐的最佳方式是有一个专门的地方来发行令牌(建议使用 JWT 令牌)。您可以在您的令牌中构建权限/角色检查机制。然后,您将能够轻松地在您的微服务生态系统中传播这些令牌,并且每个服务都可以验证其内部的令牌和角色以允许访问。

我不喜欢通用服务间权限的想法,因为您基本上说您要么拥有访问权限(无论用户是谁以及他拥有什么级别的访问权限),在哪里在现实生活中,您可能会遇到限制访问某些 API 或特定 API 上的某些信息的情况,即使在您的下游服务中也是如此。

【讨论】:

  • 感谢 Lior,感谢您的富有洞察力的建议。非常感谢!
猜你喜欢
  • 2018-02-20
  • 2021-07-07
  • 2021-02-04
  • 1970-01-01
  • 2017-03-20
  • 2018-10-30
  • 1970-01-01
  • 2017-11-09
  • 2019-03-26
相关资源
最近更新 更多