active-directory - 一般来说,对于 Active Directory,大多数公司使用什么作为人员的唯一标识符?

标签 active-directory ldap

我正在尝试构建一个数据库来存储用户/员工的 Active-Directory 条目。

  1. 假设查询是否安全:(objectClass=person)

  2. 我应该将什么属性存储为 DN 之外的唯一标识符?例如我应该使用 mail 还是 uid

此外,当员工被停用时,是否会添加新属性,或者只是将其从 AD 中完全删除?

最佳答案

您提出的问题似乎有些基于意见,但我将从 AD 中可用的一般选项和遵循的通常做法的背景来讨论它。

  1. Is it safe to assume to query on: (objectClass=person)?

创建的所有用户都属于(objectClass=person)类别。但是,如果您创建一个通用用户来在系统上进行文件共享访问(通过 ADUC(dsa.msc)/powershell/C# 等),而该用户不是员工,那么在这种情况下它将违反您的搜索尽管是一个人阶层的状况。我可以想到很多其他场景,至少从中型及以上公司的角度来看,不可能避免通用用户的创建(这又位于个人对象类中)。

因此,在这种情况下,最好遵循您的环境中的命名约定,以避免任何此类混淆。一个示例示例是,假设将非员工用户的 UPN/sAMAccountName 设置为从 genXXXX 开始,此后您就可以轻松搜索所有员工用户。

  1. What attribute should I store as a unique identifier that isn't the DN? e.g. should I use mail or uid?

AD 中已有可用的唯一标识符,例如 objectGUIDobjectSid。在域中,sAMAccountName/UPN 值也是唯一的。但是,您不能依赖它来进行森林级搜索。

当用户迁移到另一个域时,用户的 objectSid 可能会更改,但 objectGUID 永远不会更改。您可以阅读更多关于 SIDs versus GUIDs here .

Also when an employee gets de-activated is there a new attribute that gets added or are they simply removed entirely from AD?

AD侧没有自动触发。有一个名为 lastLogontimeStamp 的属性,它有助于跟踪用户或计算机帐户何时登录到域(不是实时场景,而是最近的场景 - 取决于它是否保持正确更新)。

如果员工/用户离开组织,则必须有人手动禁用/删除该帐户。公司有流程设置来处理这种情况,其中访问管理解决方案与AD模块链接,并负责用户的进入和退出并在AD中执行相关操作。


希望能够针对您提出的疑问提供一个大概的管理思路。

关于active-directory - 一般来说,对于 Active Directory,大多数公司使用什么作为人员的唯一标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54279138/

相关文章:

django - python_ldap |在变量中提供证书内容

java - Spring-Security-Ldap - 如何报告锁定帐户

java - 通过java检查Ldap服务器中的用户名和密码

windows - WAAD 使用图形 API 获取 ObjecId

c# - 事件目录是否防止不在域中的客户端进行修改?

active-directory - PowerShell 中的网络用户

dns - SQL 可用性组监听器创建失败

sql-server-2005 - 从 sql server 2005 查询 AD

java - 拦截 LDAP 以收集统计信息

windows - 通过.Net应用程序将用户添加到Windows Azure Active Directory