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.
1 - Extraire la configuration avec sas-bootstrap-config
/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
grep group /tmp/identities.confCe 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) ) )
2 - Vérifier le BaseDN
Cette commande doit retourner la liste des groupes :ldapsearch -x -v -h ldap.franihviya -p 389 -b "ou=groups,dc=nicolashousset,dc=com"
3 - Vérifier objectClass
ldapsearch -x -v -h ldap.franihviya -p 389 -b "ou=groups,dc=nicolashousset,dc=com" | grep objectClassObjectClass 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)
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)ldapsearch -x -v -h ldap.franihviya -p 389 -b "ou=groups,dc=nicolashousset,dc=com" | grep memberDoit retourner les uid des membres de chaque groupe
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 :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) ) )'Cette commande retourne la liste de membre d'un groupe







