...
Le serveur (ou cluster) ne sera accessible que par la machine kibana et celle effectuant les traitements logstash.
Mise en pratique
Configuration du frontal
| Bloc de code | ||||||
|---|---|---|---|---|---|---|
| ||||||
$user_roles = array('ROLE_ADMIN', 'ROLE_MANAGER', 'ROLE_USER');
$user_roles_mapping = array(
"ROLE_ADMIN" => "nom_du_groupe_ldap_ADMIN",
"ROLE_MANAGER" => "nom_du_groupe_ldap_MANAGER",
"ROLE_USER" => "nom_du_groupe_ldap_USER"
); |
| Info |
|---|
| Nous vous proposons pour le moment une configuration avec apache mais n'hésitez à nous transmettre d'autres propositions pour compléter |
...
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
RewriteEngine on
RewriteRule "^/$" "/kibana4/" [R]
RewriteRule "^/kopf/?$" "/elasticsearch/_plugin/kopf/" [R]
CustomLog logs/access.agimus.log combined
ErrorLog logs/error.agimus.log
# Configuration du module mod_cas
include conf.modules.d/00-cas.conf
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
<Location "/kibana4/">
<RequireAny>
# Autorisation d'appel du serveur kibana sur lui même sans authentification (123.456.789.012)
Require ip 123.456.789.012 127.0.0.1
# Autorisation des comptes CAS
AuthType CAS
CASScope /
#### 2 types d'autorisation possibles
### On utilise uniquement le CAS et une autorisation par utilisateurs
require user login1 login2 login3
### On autorise en se basant sur un attribut LDAP qui peut également être utilisé dans la configuration du frontal
# AuthLDAPURL "ldap://ldap.univ.fr:389/ou=people,dc=univ,dc=fr?uid??"
# AuthLDAPBindDN "cn=app-agimus,ou=system,dc=univ,dc=fr"
# AuthLDAPBindPassword "XXXXXXXXX"
## Groupe englobant l'ensemble des groupes utilisés dans le frontal
# require ldap-filter group=Agimus-user
</RequireAny>
ProxyPass http://localhost:5601/
ProxyPassReverse http://localhost:5601/
</Location>
##############
# Cas où elasticsearch est sur le même serveur que kibana
##############
#<Location "/elasticsearch">
# <RequireAny>
# # Autorisation d'appel du serveur kibana sur lui même sans authentification (123.456.789.012)
# Require ip 123.456.789.012 127.0.0.1
# # Autorisation des comptes CAS (ici on limite aux utilisateurs suivant le cluster, les informaticiens)
# AuthType CAS
# CASScope /
# require user login1
# </RequireAny>
# ProxyPass http://localhost:9200/
# ProxyPassReverse http://localhost:9200/
#</Location>
#
###############
##############
# Cas où elasticsearch est un cluster
##############
<Proxy balancer://EScluster>
BalancerMember http://es1.univ.fr:9200 route=es1
BalancerMember http://es2.univ.fr:9200 route=es2
</Proxy>
Header add Set-Cookie "AgimusRoute=route.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
<Location "/elasticsearch">
<RequireAny>
# Autorisation d'appel du serveur kibana sur lui même sans authentification (123.456.789.012)
Require ip 123.456.789.012 127.0.0.1
# Autorisation des comptes CAS (ici on limite aux utilisateurs suivant le cluster, les informaticiens)
AuthType CAS
CASScope /
require user login1
</RequireAny>
ProxyPass balancer://EScluster stickysession=AgimusRoute
ProxyPassReverse balancer://EScluster
</Location>
ProxyPreserveHost on
#Empêche le proxy apache (nous on ne fait que du reverse proxy)
ProxyRequests Off
|
...