授予数据流和别名的权限
编辑授予数据流和别名的权限编辑
Elasticsearch 安全功能允许您保护针对 数据流 和 别名 执行的操作。
数据流权限编辑
使用 索引权限 控制对数据流的访问。授予数据流的权限会授予其支持索引的相同权限。
例如,my-data-stream
包含两个支持索引:.ds-my-data-stream-2099.03.07-000001
和 .ds-my-data-stream-2099.03.08-000002
。
用户被授予对 my-data-stream
的 read
权限。
{ "names" : [ "my-data-stream" ], "privileges" : [ "read" ] }
因为用户会自动获得对数据流支持索引的相同权限,所以用户可以直接从 .ds-my-data-stream-2099.03.08-000002
检索文档。
response = client.get( index: '.ds-my-data-stream-2099.03.08-000002', id: 2 ) puts response
GET .ds-my-data-stream-2099.03.08-000002/_doc/2
之后 my-data-stream
滚动。这会创建一个新的支持索引:.ds-my-data-stream-2099.03.09-000003
。因为用户仍然拥有对 my-data-stream
的 read
权限,所以用户可以直接从 .ds-my-data-stream-2099.03.09-000003
检索文档。
response = client.get( index: '.ds-my-data-stream-2099.03.09-000003', id: 2 ) puts response
GET .ds-my-data-stream-2099.03.09-000003/_doc/2
别名权限编辑
使用 索引权限 控制对 别名 的访问。索引或数据流的权限不会授予其别名的权限。有关管理别名的信息,请参阅 别名。
例如,current_year
别名仅指向 2015
索引。用户被授予对 2015
索引的 read
权限。
{ "names" : [ "2015" ], "privileges" : [ "read" ] }
当用户尝试从 current_year
别名检索文档时,Elasticsearch 会拒绝请求。
response = client.get( index: 'current_year', id: 1 ) puts response
GET current_year/_doc/1
要从 current_year
检索文档,用户必须拥有对该别名的 read
索引权限。
{ "names" : [ "current_year" ], "privileges" : [ "read" ] }