Contexte :

Nous allons comment restreinte l'accès à un lookup à l'App qui le porte.

Mise en place de l'environnement :

Il faut d'abord créer une Apps via la GUI, ici elle s'appelle testlookup.

On va préparer un jeu de données pour le test :

1 | makeresults count=10
2 | eval plop="AAAAA", toto="TITI"
3 | outputlookup mylk.csv

On vérifie que le lookup est bien créé sur disque :

 1 cd $HOME_SPLUNK/etc
 2 cat apps/testlookup/lookups/mylk.csv
 3 "_time",plop,toto
 4 1573155613,AAAAA,TITI
 5 1573155613,AAAAA,TITI
 6 1573155613,AAAAA,TITI
 7 1573155613,AAAAA,TITI
 8 1573155613,AAAAA,TITI
 9 1573155613,AAAAA,TITI
10 1573155613,AAAAA,TITI
11 1573155613,AAAAA,TITI
12 1573155613,AAAAA,TITI
13 1573155613,AAAAA,TITI

On teste l'affichage du lookup via la commande :

1 | inputlookup mylk.csv

Résultat dans notre App de test : resultat app 01

Résultat dans notre App Search: resultat app 02

Mise en place des modifications pour restreindre la portée :

Voyons la configuration par défaut qui autorise cela :

 1 cat apps/testlookup/metadata/default.meta
 2 
 3 # Application-level permissions
 4 []
 5 access = read : [ * ], write : [ admin, power ]
 6 
 7 ### EVENT TYPES
 8 [eventtypes]
 9 export = system
10 
11 ### PROPS
12 [props]
13 export = system
14 
15 ### TRANSFORMS
16 [transforms]
17 export = system
18 
19 ### LOOKUPS
20 [lookups]
21 export = system    <==== ICI
22 
23 ### VIEWSTATES: even normal users should be able to create shared viewstates
24 [viewstates]
25 access = read : [ * ], write : [ * ]
26 export = system

Plutôt que de modifier le default.meta, nous allons modifier le local.meta.
On passera le export à none ce qui aura comme effet de limiter la portée du lookup à l'aap.

 1 cat apps/testlookup/metadata/local.meta
 2 [app/ui]
 3 version = 7.3.1.1
 4 modtime = 1573155243.045214000
 5 
 6 [app/launcher]
 7 version = 7.3.1.1
 8 modtime = 1573155243.047991000
 9 
10 ### LOOKUPS
11 [lookups]
12 export = none   <=== ICI

Il faut normalement relancer Splunkd via un restart du service ou un refresh debug (http[s]://[splunkweb hostname]:[splunkweb port]/debug/refresh).

Résultat dans notre App de test : resultat app 03

Résultat dans notre App Search: resultat app 04

Note :
On peut aussi limiter l'accès à l'App en modifiant l'attribut access dans le stanza [].

Annexes :

Doc Officielle sur les ACL de l'App.
Doc Officielle - Set permissions for objects in a Splunk app.