# 令牌认证
# 支持版本
7.0.0 以上
# 为什么在我们拥有TLS之后还需要令牌身份验证
TLS 是关于传输安全的, 用于确保网络是可信的。令牌身份验证是关于监控应用数据是可信的。
# 令牌
当前版本,令牌考虑使用一个简单的字符串。
# 设置令牌
# 1. 在 agent.config 中设置令牌
# 认证由后台设定激活,更多详情查看 application.yml 。
agent.authentication = ${SW_AGENT_AUTHENTICATION:xxxx}
# 2. 在 application.yml
中设置令牌
······
receiver-sharing-server:
default:
authentication: ${SW_AUTHENTICATION:""}
······
# 认证失败
Skywalking OAP 验证每个来自 agent 的请求,只允许令牌与 application.yml
中配置一致请求通过。
如果令牌不正确,将会在 agent 端看到如下日志
org.apache.skywalking.apm.dependencies.io.grpc.StatusRuntimeException: PERMISSION_DENIED
# FAQ
# 可以使用令牌认证替代 TSL 吗
不能,在技术方面,你当然可以,但是令牌和 TLS 用于不受信任的网络环境。在这种情况下, TLS 具有更高的优先级。令牌只能在 TLS 保护下受信任。如果你在 非 TLS 的网络中发送,令牌很容易被窃取。
# 是否支持其他身份验证机制? 例如 ak/sk
现在没有,但是我们希望有人可以贡献这个特性。