...
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 |
...