[alibaba/arthas]增加password 鉴权机制

2025-11-10 612 views
4
已支持

HTTP Authorization: https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Authorization

用户可以在 arthas.properties 配置 password 用户可以在attach时,显式 --password 指定 如果用户没有配置,则生成随机的 password ,打印到日志里,类似spring boot 默认的 security机制 在telnet连接上之后,要求输入 password,通过之后才能执行其它命令 在browser打开网页,输入密码验证之后,websocket可以直接连通,不需要重复输密码 web console网页/ websocket/ http api 做了统一的鉴权处理 一些信息 通过 tunnelserver 连接agent,不需要鉴权 在不方便设置http header时(比如在browser里创建websocket连接),可以在url里传入 ?username=xxx&password=ppp这样子的参数,服务器端会兼容处理 未支持 默认情况下,是否允许 localhost/127.0.0.1 的连接不需要鉴权?这样子本地连接时体验会好很多

关联issue: https://github.com/alibaba/arthas/issues/1142

回答

4

arthas只是一个工具,它的定位就是帮助研发、运维的同学查询或者验证服务内容使用的。归根结底arthas只是个工具,权限的问题应该交由更高层面的工具、框架、机制去处理,例如服务隔离、资源隔离等等,而不是让一个工具去关注鉴权、身份认证的事情。 如果说服务的体量比较小,一个高性能机上部署了多个服务(当然也不可能特别多),那能这样做的现状就是目前团队还比较小或管理有些混乱,这些都不是arthas增加一个password能解决的问题。 退一步讲,真的给arthas增加了password,那要不要支持SSO呢?

3

用agent这种初始化直接启动的有这个需求. 要不然启动之后的没啥意义. 我用老版本就可以绕过了

2

https://github.com/alibaba/arthas/pull/1724 已支持

8

测试版本: arthas-bin.zip

参考文档:https://github.com/alibaba/arthas/blob/master/site/src/site/sphinx/auth.md