你好,我是胡夕。今天我要分享的主题是:Kafka 的授权机制。
什么是授权机制?
我们在上一讲中花了不少时间讨论 Kafka 的认证机制,今天我们来看看 Kafka 的授权机制(Authorization)。所谓授权,一般是指对与信息安全或计算机安全相关的资源授予访问权限,特别是存取控制。
具体到权限模型,常见的有四种。
ACL:Access-Control List,访问控制列表。
RBAC:Role-Based Access Control,基于角色的权限控制。
ABAC:Attribute-Based Access Control,基于属性的权限控制。
PBAC:Policy-Based Access Control,基于策略的权限控制。
在典型的互联网场景中,前两种模型应用得多,后面这两种则比较少用。
ACL 模型很简单,它表征的是用户与权限的直接映射关系,如下图所示:
而 RBAC 模型则加入了角色的概念,支持对用户进行分组,如下图所示:
Kafka 没有使用 RBAC 模型,它用的是 ACL 模型。简单来说,这种模型就是规定了什么用户对什么资源有什么样的访问权限。我们可以借用官网的一句话来统一表示这种模型:“Principal P is [Allowed/Denied] Operation O From Host H On Resource R.” 这句话中出现了很多个主体,我来分别解释下它们的含义。