V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
sbex
V2EX  ›  问与答

微服务的服务间调用到底需不需要鉴权?

  •  
  •   sbex · 91 天前 · 1983 次点击
    这是一个创建于 91 天前的主题,其中的信息可能已经有所发展或是发生改变。

    或者说加了鉴权到底是不是一种明智的选择?有没有什么意义?

    想听一下大家的看法。

    23 条回复    2023-03-07 01:31:59 +08:00
    dobelee
        1
    dobelee  
       91 天前   ❤️ 1
    内部通信鉴权干嘛?
    Chad0000
        2
    Chad0000  
       91 天前
    可鉴可不鉴
    kop1989smurf
        3
    kop1989smurf  
       91 天前
    如果是暴露的 API ,鉴权还是有意义的。关键就是值不值得的问题。
    wangpugod2003
        4
    wangpugod2003  
       91 天前
    Internal 的 microservices 之间当然不用鉴权,只在 API Gateway 的入口需要。
    xiangxiangxiang
        5
    xiangxiangxiang  
       91 天前
    我司应该是核心的 RPC 需要鉴权,比如说 IM 消息、交易这些场景
    sbex
        6
    sbex  
    OP
       91 天前
    @xiangxiangxiang 这个场景鉴权方案选的是什么?如果是那种带有效期的 token ,怎么能维持住鉴权状态的?
    777777
        7
    777777  
       91 天前
    核心系统还是要鉴权一下,给黑客内网横向设道坎
    PHPer233
        8
    PHPer233  
       91 天前
    建议鉴权,防止内鬼搞破坏。
    w292614191
        9
    w292614191  
       91 天前
    走网关啊,我是直接在微服务通过网关去调用其他微服务,这样网关自然鉴权了。
    w292614191
        10
    w292614191  
       91 天前
    直接注入 @FeignClient("gateway")

    然后就可以了
    xiangxiangxiang
        11
    xiangxiangxiang  
       91 天前
    @sbex 不是针对用户或者会话的,相当于是对主调方的一个授权,注册中心集成的能力 应该是
    YadongZhang
        12
    YadongZhang  
       91 天前 via Android
    JWT 鉴权

    https://redis.com/blog/json-web-tokens-jwt-are-dangerous-for-user-sessions/

    直接跳到上面链接 blog 里的 Where can I use it 一节
    mejee
        13
    mejee  
       91 天前
    需不需要看情况。
    mejee
        14
    mejee  
       91 天前
    比如某个系统很核心,比如交易、推送,这种还是鉴权比较好。对黑客攻击、内部人员捣鬼、甚至其他主调方的 bug 都有明显的好处。
    比如你们公司很小,人员简单,那么可能也没必要。总之就是看情况,看值不值得搞
    nothingistrue
        15
    nothingistrue  
       91 天前
    如果能内网隔离或者指定 IP 白名单,那么能不鉴权就不鉴权——在基础设施做要比在上层应用做成本更低。如果是公网上裸奔,那还是老老实实做鉴权。以上是仅限安全控制,不涉及业务上鉴权的时候。如果系统架构设计或者业务上,龟腚就是不同服务之间需要认证授权才能调用,那么也得老老实实做鉴权。
    nicebird
        16
    nicebird  
       91 天前
    看公司多大,如果你是一个大公司,服务多,集群大,需要鉴权的会很多。如果公司小,就那么些服务,不要整这些。
    miv
        17
    miv  
       91 天前 via Android
    一般不用啊,微服务是内部服务,自己调。又不是对外的。
    luomao
        18
    luomao  
       91 天前
    我这边是实现了一个鉴权 jar 包依赖,所有需要鉴权的服务引入,自动在拦截器中做鉴权,微服务间调用时传递用户 token ,不仅方便鉴权,还能在各个服务中获取用户信息
    IDAEngine
        19
    IDAEngine  
       91 天前
    集群部署走内部 VPN 或虚拟内网没必要鉴权,不然增加额外性能消耗
    keppelfei
        20
    keppelfei  
       91 天前
    正规公司只有运维有权限拉取生产环境的登录权限,所以鉴权反而增加链路复杂性,要知道鉴权也要时间不是?
    dddd1919
        21
    dddd1919  
       91 天前
    @PHPer233 家贼难防,零信任基本等同于给自己没事找事
    securityCoding
        22
    securityCoding  
       91 天前
    敏感业务接口要鉴权
    qfdk
        23
    qfdk  
       90 天前 via iPhone
    小公司 Gateway 鉴权就好. 大点儿的 服务间不在同一机器 那就加个端对端的鉴权
    关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2431 人在线   最高记录 5634   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 15:46 · PVG 23:46 · LAX 08:46 · JFK 11:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.