用户授权
编辑用户授权
编辑Elastic Stack 安全功能添加了授权,这是确定传入请求背后的用户是否被允许执行该请求的过程。
此过程发生在用户被成功识别并身份验证之后。
基于角色的访问控制
编辑安全功能提供了基于角色的访问控制 (RBAC) 机制,使您可以通过将权限分配给角色,并将角色分配给用户或组来授权用户。
授权过程围绕以下构造展开
- 受保护的资源
- 访问受限的资源。索引、别名、文档、字段、用户和 Elasticsearch 集群本身都是受保护对象的示例。
- 权限
- 用户可以针对受保护的资源执行的一个或多个操作的命名组。每个受保护的资源都有其自己的一组可用权限。例如,
read
是一个索引权限,表示所有允许读取索引/存储数据的操作。有关可用权限的完整列表,请参阅安全权限。 - 许可
-
针对受保护资源的一组或多个权限。许可可以用文字轻松描述,以下是一些示例
-
对
products
数据流或索引的read
权限 -
对集群的
manage
权限 -
对
john
用户的run_as
权限 -
对匹配查询 X 的文档的
read
权限 -
对
credit_card
字段的read
权限
-
对
- 角色
- 一组命名的许可
- 用户
- 已通过身份验证的用户。
- 组
- 用户所属的一个或多个组。某些领域(如 native、file 或 PKI 领域)不支持组。
角色具有唯一的名称,并标识一组转换为资源权限的许可。您可以将用户或组与任意数量的角色关联。将角色映射到组时,该组中用户的角色是分配给该组的角色和分配给该用户的角色的组合。同样,用户拥有的全部权限由其所有角色中的权限的并集定义。
将角色分配给用户的方法因您用于验证用户的领域而异。有关更多信息,请参阅将用户和组映射到角色。
基于属性的访问控制
编辑安全功能还提供了基于属性的访问控制 (ABAC) 机制,使您可以使用属性来限制对搜索查询和聚合中文档的访问。例如,您可以将属性分配给用户和文档,然后在角色定义中实施访问策略。只有拥有所有必需属性的用户才能读取特定文档。
有关更多信息,请参阅使用 X-Pack 6.1 的文档级基于属性的访问控制。