A resposta existente não satisfez minha curiosidade e eu não queria que as pessoas conseguissem mais do que precisavam no meu diretório. Então eu fiz um pouco mais de escavação.
Informações principais aqui:
link
Repartição:
Se você quiser sincronizar o banco de dados do seu programa com o AD (como o sharepoint / FIM), você tem duas maneiras de perguntar ao AD o que mudou desde sua última consulta.
Você pode usar o controle "DirSync" (extensão do protocolo LDAP) OR , você pode ficar meio ghetto e apenas usar o comando uSNChanged - mas existem limitações nele.
"Uma pesquisa de controle DirSync retorna todas as alterações feitas em um objeto do Active Directory, independentemente das permissões definidas no objeto." Ele até retornará objetos tombstoned.
Portanto, para usar o controle LDAP do DirSync, você precisa de "Replicando alterações de diretório" ou ser um administrador de domínio.
Pelo que consegui reunir, a única coisa assustadora é que eles podem praticamente ler qualquer coisa na partição de diretório, independentemente das permissões padrão. Eles não podem alterar nada.
No entanto - você pode ter alguns atributos que são senstivite em seu diretório.
Mais sobre a extensão de controle DirSync aqui:
link
True Test: Conectando-se ao AD usando o controle DirSync
E aqui está o verdadeiro caminho para você descobrir por si mesmo. Esse cara é o cara. Se você quiser ver por si mesmo - adapte este exemplo do PowerShell, execute-o como o usuário ao qual você concedeu o direito e consulte um objeto de usuário (ou qualquer outra coisa).
link
Eu verifiquei com a nossa conta do Sharepoint para ver o que eu poderia receber de volta. Antes de conceder a permissão, recebi uma exceção de acesso negado ao tentar usar o controle DirSync.
Depois disso, recebi quase tudo em uma conta de usuário:
Atributos notáveis relacionados à segurança que retornaram em uma consulta de usuário que eu tenho certeza que você normalmente não consegue ver sem permissões elevadas:
- userAccountControl
- userparameters
- msexchuseraccountcontrol
- pwdlastset
- unicodePwd (BLANK. Portanto, nenhum domínio hash pw é retornado)
- tempo de bloqueio
- accountexpires
-
unixuserpassword (YIKES. Se você estiver usando isto - ele IS visível mas com hash. Faça algumas leituras aqui se você estiver paranóico ou use serviços para unix password sync.)
Também verifiquei uma conta de computador que tinha uma senha de recuperação de bitlocker anexada a ela e esse atributo não estava disponível nos resultados retornados.
Se você já teve o Services for Unix em seu ambiente e pws sincronizados - você pode ter dados de sobra aqui. Um dos nossos usuários que estavam por aí há muito tempo tinha isso definido em sua conta. É possível que quebrar esse pw possa levar a uma senha do dia atual apenas experimentando variações nele.
Isso foi removido do nosso ambiente, por isso os usuários mais novos não tinham dados aqui.