VIYA – Méthode pour diagnostiquer un problème de configuration LDAP
Dans cet article, je vous présente la méthode à suivre pour diagnostiquer un problème de configuration ldap dans Viya.
Les commandes et la méthode ci-dessous permettent de vérifier le bon mapping des champs entre la configuration VIYA et la structure de votre annuaire LDAP.
Pour cette exemple, nous allons vérifier la définition des groupes.
Ce qui donne :
config/identities/sas.identities.providers.ldap.group/accountId=name
config/identities/sas.identities.providers.ldap.group/baseDN=ou=groups,dc=nicolashousset,dc=com
config/identities/sas.identities.providers.ldap.group/createdDate=createTimestamp
config/identities/sas.identities.providers.ldap.group/description=description
config/identities/sas.identities.providers.ldap.group/distinguishedName=none
config/identities/sas.identities.providers.ldap.group/member=member
config/identities/sas.identities.providers.ldap.group/memberOf=memberOf
config/identities/sas.identities.providers.ldap.group/modifiedDate=modifyTimestamp
config/identities/sas.identities.providers.ldap.group/name=displayName
config/identities/sas.identities.providers.ldap.group/objectClass=groupOfNames
config/identities/sas.identities.providers.ldap.group/objectFilter=(objectClass=groupOfNames)
config/identities/sas.identities.providers.ldap.group/searchFilter=dn={0}
config/identities/sas.identities.providers.ldap.user/objectFilter=(& (objectClass=inetOrgPerson) (|(memberOf=cn=SASAdministrators,ou=groups,dc=nicolashousset,dc=com)(memberOf=cn=Marketing,ou=groups,dc=nicolashousset,dc=com)(memberOf=cn=Sales,ou=groups,dc=nicolashousset,dc=com) ) )
ObjectClass est un élément AttributeType d'un schéma LDAP. Chaque entrée LDAP a un attribut ObjectClass. L' attribut ObjectClass spécifie les classes d'objets d'une entrée, qui sont utilisées conjointement avec le schéma de contrôle pour déterminer les attributs autorisés d'une entrée.
Doit retourner la valeur indiquée dans votre configuration, ici groupOfNames. ( config/identities/sas.identities.providers.ldap.group/objectClass=groupOfNames)
Doit retourner les uid des membres de chaque groupe
Cette commande retourne la liste de membre d'un groupe
1 - Extraire la configuration avec sas-bootstrap-config
1 |
/opt/sas/viya/home/bin/sas-bootstrap-config --token-file /opt/sas/viya/config/etc/SASSecurityCertificateFramework/tokens/consul/default/client.token kv read --recurse config/identities > /tmp/identities.conf |
1 |
grep group /tmp/identities.conf |
2 - Vérifier le BaseDN
Cette commande doit retourner la liste des groupes :
1 |
ldapsearch -x -v -h ldap.franihviya -p 389 -b "ou=groups,dc=nicolashousset,dc=com" |
3 - Vérifier objectClass
1 |
ldapsearch -x -v -h ldap.franihviya -p 389 -b "ou=groups,dc=nicolashousset,dc=com" | grep objectClass |
4 - Vérifier member
Indiquez la valeur du paramètre member en se basant sur le contenu de l'extraction (/tmp/identities.conf- config/identities/sas.identities.providers.ldap.group/member=member)
1 |
ldapsearch -x -v -h ldap.franihviya -p 389 -b "ou=groups,dc=nicolashousset,dc=com" | grep member |
5 - Vérifier objectFilter
On utilise un filtre sur "memberOf", il s'agit d'une propriété users et nom groups, il faut donc changer le baseDN pour ne pas limiter la recherche dans l'OU groups :
1 |
ldapsearch -x -v -h ldap.franihviya -p 389 -b "dc=nicolashousset,dc=com" '(& (objectClass=inetOrgPerson) (|(memberOf=cn=SASAdministrators,ou=groups,dc=nicolashousset,dc=com)(memberOf=cn=Marketing,ou=groups,dc=nicolashousset,dc=com)(memberOf=cn=Sales,ou=groups,dc=nicolashousset,dc=com) ) )' |