推荐答案
Kafka 支持以下 SASL 机制:
- SASL/PLAIN:基于用户名和密码的简单认证机制。
- SASL/SCRAM:基于 Salted Challenge Response Authentication Mechanism (SCRAM) 的认证机制,支持 SCRAM-SHA-256 和 SCRAM-SHA-512。
- SASL/GSSAPI:基于 Kerberos 的认证机制,适用于企业级环境。
- SASL/OAUTHBEARER:基于 OAuth 2.0 的认证机制,适用于需要 OAuth 令牌的场景。
本题详细解读
SASL/PLAIN
SASL/PLAIN 是一种简单的认证机制,客户端通过明文传输用户名和密码进行认证。虽然简单易用,但由于密码以明文形式传输,安全性较低,通常建议在加密通道(如 TLS)中使用。
SASL/SCRAM
SASL/SCRAM 是一种更安全的认证机制,使用哈希算法(如 SHA-256 或 SHA-512)对密码进行加密。SCRAM 机制通过挑战-响应模式进行认证,避免了密码在网络上明文传输的风险。Kafka 支持 SCRAM-SHA-256 和 SCRAM-SHA-512 两种变体。
SASL/GSSAPI
SASL/GSSAPI 是一种基于 Kerberos 的认证机制,适用于企业级环境。Kerberos 是一种网络认证协议,通过票据(ticket)进行身份验证,适用于需要高安全性的场景。Kafka 通过 GSSAPI 支持 Kerberos 认证。
SASL/OAUTHBEARER
SASL/OAUTHBEARER 是一种基于 OAuth 2.0 的认证机制,适用于需要 OAuth 令牌的场景。OAuth 2.0 是一种授权框架,允许客户端通过访问令牌访问受保护的资源。Kafka 通过 OAUTHBEARER 机制支持 OAuth 2.0 认证。
这些 SASL 机制为 Kafka 提供了多种认证方式,用户可以根据具体需求选择合适的机制来保障系统的安全性。