我創建了一個demoTester具有以下角色的用戶:
/usr/share/elasticsearch/bin/elasticsearch-users useradd demoTester -p demoTester -r kibana_admin,logstash_admin,beats_admin,logstash_system,monitoring_user,watcher_admin,editor,machine_learning_admin
當我運行我的部署腳本時,我可以看到 Logstash 正在偵聽埠5044并且正在發送日志,但是用戶 demoTester 無法索引到 ES。我已閱讀有關如何創建權限的檔案,但這些示例對我來說并不清楚。我不是通過 Kibana UI 創建的,而是通過腳本自動化一切。
error=>{"type"=>"security_exception", "reason"=>"action [indices:admin/auto_create] is unauthorized for user [demotester] with roles [watcher_admin,editor,monitoring_user,logstash_system,beats_admin,machine_learning_admin,kibana_admin,logstash_admin] on indices [demo-2022.10.27], this action is granted by the index privileges [auto_configure,create_index,manage,all]"}}
這是我的logstash conf檔案:
input {
beats {
port => 5044
}
}
output {
elasticsearch {
ssl => true
ssl_certificate_verification => true
cacert => '/etc/logstash/certs/http_ca.crt'
user => demoTester
password => demoTester
hosts => ["https://10.0.8.19:9200"]
index =>"demo-%{ YYYY.MM.dd}"
}
}
uj5u.com熱心網友回復:
demoTester 用戶沒有 demo-2022.10.27 索引的 create_index 權限。
簡單的方法是將角色超級用戶添加到 demoTester 用戶,但僅用于演示目的。
安全的方法是為 demo* 索引創建一個具有 create_index 權限的角色,并將該角色分配給您的 demoTester 用戶。
要創建角色,您可以使用 re 呼叫 _security/role api ( https://www.elastic.co/guide/en/elasticsearch/reference/8.4/security-api-put-role.html )
POST /_security/role/my_admin_role
{
"indices" : [
{
"names" : [
"demo*"
],
"privileges" : [
"create_index",
"write",
"create"
],
"allow_restricted_indices" : false
}
],
"applications" : [ ],
"run_as" : [ ],
"metadata" : { },
"transient_metadata" : {
"enabled" : true
}
}
然后將角色分配給 de demoTester 用戶。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/526567.html
標籤:弹性搜索日志存储木花麋鹿
