我正在尝试使用弹性云托管的elasticsearch服务https://www.elastic.co/cloud
我正在使用python和elasticsearch-py包连接我的flaks app:
es_connection = Elasticsearch(
["https://myuser:mysecret@xxxxxxx.us-west-1.aws.found.io:9243"]
)
es_connection.indices.create(index="myindex", ignore=400, body=mapping_dict)
但我一直收到这个错误:
08:55:56,240 elasticsearch DEBUG < {"error":{"root_cause":[{"type":"security_exception","reason":"action [indices:admin/create] is unauthorized for user [myuser]"}],"type":"security_exception","reason":"action [indices:admin/create] is unauthorized for user [myuser]"},"status":403}
在盾牌编辑器中,我为这些用户设置了以下角色:
admin: admin
myuser: admin
并且这些角色在编辑器中定义为 //这是所有角色的编辑器。 //以下是一些示例角色。要实际使用角色,请在上面的编辑器中映射用户。
//管理员可以做任何事情
admin:
cluster: all
indices:
'*': all
这意味着,myuser
设置为admin
角色,因此它应该能够创建index..right?那么我为什么会收到错误?
答案 0 :(得分:0)
我通过将两个用户名放在同一行来修复它。像这样:
admin: admin, myuser