MSK安全配置

到目前的实验为止,我们的集群没有使用任何加密/认证的手段,这会带来以下问题:

  1. 只要能和MSK的网络通讯,任何客户端都可以连接到Kafka集群——没有做认证(Authentication)
  2. 任何客户端都可以发布/接收所有topic的消息——没有做授权(Authorization)
  3. 所有的数据都是明文传输,可能会被监听——没有做加密(encryption)

这将带来潜在的安全风险:

  1. 某个客户端恶意发送垃圾数据到topic、订阅敏感topic里的数据
  2. 某个客户端可以恶意删除topic
  3. 同网络下的用户可以截获并窃听数据

这就是本章的出发点。我们将介绍如何对MSK集群做加密/认证和授权

Encryption

MSK可以保证client和broker之间的数据传输是安全加密的,就像HTTPS传输:

image-20220102180042247

Authentication

客户端只有凭借某种方式的认证(例如帐号密码)才能连接到MSK集群:

image-20220102180134465

Authorization

当client连接到集群后,Kafka可以对其权限进行控制:

image-20220102180915414