在Elastic Stack中,run_as属性指的是允许一个用户以另一个用户的身份执行操作的功能。这个功能可以帮助您模拟其他用户的行为,并测试他们的权限和访问控制设置。
在Kibana中,您可以使用“Dev Tools”界面来执行REST API请求,并使用`run_as`参数指定要模拟的用户身份。例如:
```
POST /_security/user/user1/_password
{
"password": "new_password",
"run_as": "admin"
}
```
在此示例中,我们使用`run_as`参数将当前请求模拟为`admin`用户,以便更改`user1`用户的密码。如果没有`run_as`参数,请求将使用当前登录用户的身份进行处理。
在REST API中,您可以使用以下API来执行`run_as`操作:
```
POST /{index_name}/_search
{
"query": {
"match_all": {}
},
"request_cache": true,
"run_as": "user1"
}
```
在此示例中,我们使用`run_as`参数将查询请求模拟为`user1`用户。这将允许我们测试该用户对索引的访问权限,并查看他们是否能够检索特定的文档。
请注意,只有具有适当权限的用户才能使用`run_as`功能。此外,建议仅在测试环境中使用此功能,并避免在生产环境中使用它。