Pesquisar entrada do Active Directory por UPN implícito

2

Em nossa empresa existe um sufixo UPN de floresta inteira company.com e quase todas as contas de usuário têm o UPN explícito definido como [email protected] . Esse valor também é definido no atributo userPrincipalName do Active Directory.

Agora, temos um aplicativo no qual os usuários realizam a autenticação por meio do Kerberos. Assim, recebemos o principal do Kerberos, ou seja, o UPN implícito. Gostaríamos de procurar esse usuário e recuperar vários atributos do LDAP. Como o iUPN e o userPrincipalName não correspondem mais, a pesquisa não é possível.

Existe alguma maneira "oficial" de recuperar um mapeamento do Active Direcory? Minha solução é executar uma ligação LDAP no componente de território e procurar o atributo sAMAccountName , que corresponde ao componente id do usuário do iUPN. A pesquisa pelo mero sAMAccountName na floresta não é possível porque o valor é exclusivo apenas no domínio.

    
por Michael-O 09.04.2012 / 15:57

1 resposta

3

A maneira de fazer isso é fazer uma consulta LDAP no sAMAccountName e no userPrincipalName. Por exemplo: (& (sAMAccountName = uname) (userPrincipalName = * @ example.com)) consultaria o usuário [email protected] se seu sAMAccountName ("suposto UPN implícito", suponho) fosse uname.

Programas como o adfind permitem que você execute consultas LDAP arbitrárias, como esta, no AD.

No caso em que você não pode confiar no sufixo UPN para corresponder ao domínio porque ele também foi substituído, você pode criar uma lista de partes do SID para cada domínio (cada parte do SID do usuário, exceto a última parte) e procure por isso. Se um domínio example.net tivesse uma parte SID de 1234-5678-9012, os usuários do domínio teriam um SID começando com S-1-5-21-1234-5678-9012-. Se você tem esse mapeamento, você poderia escrever uma pesquisa LDAP

( &(sAMAccountName=uname)(objectSID=S-1-5-21-1234-5678-9012-*) )
    
por 12.07.2012 / 18:00