我想添加基於LDAP的授權給Kibana 3而不使用Shield或其他第三方工具。Apache的httpd重寫規則使用LDAP用戶組
鑑於指數名稱是logstash-*
,我原來的想法是利用在httpd的重寫規則,改寫kibana請求轉換成logstash-[ldap-usergroup]-*
,並在elasticsearch準備一組指數的別名,與不同的過濾器,從而在LDAP實現授權用戶組級別。
我目前面臨的問題是如何在認證模塊後獲得usergroup
值並將其用於重寫?
假設我有類似
<Location />
AuthLDAPBindDN "CN=username, CN=Users, DC=domain, DC=com"
AuthLDAPBindPassword "Password for Kerberos auth user"
AuthLDAPURL "ldap(or ldaps)://fqdns or ip of ldap/adserver/CN=users,DC=domain,DC=com"
AuthType Basic
AuthBasicProvider ldap
AuthName "some text for login prompt"
require valid-user
</Location>
RewriteCond %{LA-U:REMOTE_USER} !^$
RewriteRules /es/(.*)logstash-([0-9]+.[0-9]+.[0-9]+)(.*) /es/$1%{LA-U:REMOTE_USER}-$2$3 [N]
即。我如何確定而不是用戶名,我可以在重寫之前有一個用戶組名稱值?
借用這裏的一些代碼:感謝他們 https://gist.github.com/kakbit/6192679 http://elasticsearch-users.115913.n3.nabble.com/LDAP-authentication-in-Kibana-td4057946.html
謝謝,但這不是我的問題的答案。我已經說過,我試圖在過濾器中使用'index alias'來隔離ldap用戶,以便根據他們的組來查看不同的elasticsearch文檔。 'Require ldap-group'只對組用戶進行身份驗證,但不能將該組名稱作爲變量來進一步幫助URL重寫(我在尋求幫助) –