Logstash 參考指南(安全設置的Secrets Keystore)

安全設置的Secrets Keystore

在配置Logstash時,你可能須要指定敏感設置或配置,好比密碼,與依賴文件系統權限來保護這些值不一樣,你可使用Logstash keystore來安全地存儲用於配置設置的secret值。segmentfault

在向keystore中添加key及其secret值以後,你能夠在配置敏感設置時使用key代替secret值。安全

引用key的語法與環境變量的語法相同:${KEY}KEY是key的名稱。elasticsearch

例如,假設keystore包含一個名爲ES_PWD的key,其值爲yourelasticsearchpassword佈局

  • 在配置文件中使用:output { elasticsearch {...password => "${ES_PWD}" } } }
  • logstash.yml中使用:xpack.management.elasticsearch.password: ${ES_PWD}

注意,Logstash keystore與Elasticsearch keystore不一樣,雖然Elasticsearch keystore容許你按名稱存儲elasticsearch.yml值,可是Logstash keystore容許你指定可在Logstash配置中引用的任意名稱。加密

當前不支持從 pipelines.yml或命令行(-e)引用keystore數據。
從集中式管道管理引用keystore數據須要每一個Logstash部署都有keystore的本地副本。

當Logstash解析設置(Logstash.yml)或配置(/etc/logstash/conf.d/*.conf)時,它會在解析環境變量以前解析keystore中的key。命令行

keystore密碼

你能夠經過在名爲LOGSTASH_KEYSTORE_PASS的環境變量中存儲密碼來保護對Logstash keystore的訪問,若是在設置此變量後建立Logstash keystore,它將受到密碼保護。這意味着環境變量須要被正在運行的Logstash實例訪問,這個環境變量還必須爲須要發出keystore命令(添加、列表、刪除等)的任何用戶正確設置。code

建議使用keystore密碼,但這是可選的,即便你沒有設置密碼,數據也會被加密。可是,強烈建議配置keystore密碼並對任何可能包含環境變量值的文件授予限制性權限,若是你選擇不設置密碼,那麼你能夠跳過本節的其他部分。ip

例如:rem

set +o history
export LOGSTASH_KEYSTORE_PASS=mypassword
set -o history
bin/logstash-keystore create

這個設置要求運行Logstash的用戶定義環境變量LOGSTASH_KEYSTORE_PASS=mypassword,若是沒有定義環境變量,Logstash就沒法訪問keystore。文檔

當你從RPM或DEB包安裝中運行Logstash時,環境變量來自/etc/sysconfig/logstash

你可能須要建立 /etc/sysconfig/logstash,這個文件應該由具備 600權限的 root用戶擁有, /etc/sysconfig/logstash的格式應該是 ENVIRONMENT_VARIABLE=VALUE,每行一個條目。

對於其餘發行版,如Docker或ZIP,請參閱運行時環境(Windows、Docker等)的文檔,瞭解如何爲運行Logstash的用戶設置環境變量,確保該環境變量(以及密碼)只能被該用戶訪問。

keystore位置

keystore必須位於Logstash的path.settings目錄,這是包含logstash.yml文件的同一個目錄。在對keystore執行任何操做時,建議爲keystore命令設置path.settings,例如,在RPM/DEB安裝上建立keystore :

set +o history
export LOGSTASH_KEYSTORE_PASS=mypassword
set -o history
sudo -E /usr/share/logstash/bin/logstash-keystore --path.settings /etc/logstash create

有關默認目錄位置的更多信息,請參閱Logstash目錄佈局

若是 path.settings沒有指向與 logstash.yml相同的目錄,你將看到一個警告。

建立keystore

要建立keystore,請使用create

bin/logstash-keystore create

path.settings配置設置中定義的目錄中建立密鑰存儲庫。

建議在建立keystore時設置keystore密碼。

添加key

要存儲敏感值,好比Elasticsearch的身份驗證憑證,可使用add命令:

bin/logstash-keystore add ES_PWD

當提示時,爲key輸入一個值。

key列表

要列出在keystore中定義的key,請使用:

bin/logstash-keystore list

移除key

要從keystore中移除key,請使用:

bin/logstash-keystore remove ES_PWD
相關文章
相關標籤/搜索