一、環(huán)境
- Elasticsearch 版本:8.8
- fluentd版本:1.14.3
Elasticsearch 并沒有專門為 Fluentd 預定義的內(nèi)置賬戶,但可以創(chuàng)建一個具有適當權(quán)限的用戶來專門用于 Fluentd。雖然沒有預定義的內(nèi)置賬戶,但可以參考 Elasticsearch 的內(nèi)置角色和權(quán)限來創(chuàng)建一個適合 Fluentd 的用戶。
1. 創(chuàng)建自定義角色
/_security/role/fluentd_writer 請求可以更新或者創(chuàng)建角色及其權(quán)限。
創(chuàng)建一個自定義角色,該角色具有創(chuàng)建索引和寫入數(shù)據(jù)的權(quán)限。以下是一個示例,創(chuàng)建一個名為 fluentd_writer 的角色:
curl -u elastic:xxxxxx -k -X POST "https://localhost:9200/_security/role/fluentd_writer" -H "Content-Type: application/json" -d '
{
"cluster": ["monitor"], // 授予用戶執(zhí)行集群監(jiān)控操作的權(quán)限,例如獲取集群狀態(tài)、節(jié)點信息等
"indices": [ // 定義用戶對特定索引的操作權(quán)限
{
"names": [ "fluentd_*" ], // 指定用戶可以操作的索引名稱模式,這里表示所有以 "fluentd." 開頭的索引
"privileges": [ "create_index", "write" ] // 授予用戶創(chuàng)建索引和寫入數(shù)據(jù)的權(quán)限
}
]
}

image.png
2. 創(chuàng)建 Fluentd 用戶
創(chuàng)建一個用戶,并將其分配給 fluentd_writer 角色。以下是一個示例,創(chuàng)建一個名為 fluentd_user 的用戶:
curl -u elastic:xxxxxx -k -X POST "https://localhost:9200/_security/user/fluentd_user" -H "Content-Type: application/json" -d '
{
"password" : "fluentd_password",
"roles" : [ "fluentd_writer" ]
}

image.png