active-directory - 本地 AD objectGUID 与 Microsoft Graph 中的对象 ID 不同
问题描述
我有一个类似的问题:本地 Active Directory ObjectId is different than Azure Active Directory ObjectId
我们objectGUID
在 AD 中用于唯一标识用户和组。我们还使用objectGUID
. 使用 Microsoft Graph 查询 Microsoft 租户时,我们id
从用户或组对象中看到的内容与我们从本地 AD 中获得的不同。这使得关联 AAD 和 AD 资源变得困难。
我尝试使用onPremisesImmutableId
下面的请求,却发现这个id是我的员工id。
/v1.0/me?$select=id,userPrincipalName,onPremisesSecurityIdentifier,displayName,onPremisesImmutableId
知道如何objectGUID
在 AAD 世界中检索相同的内容吗?通过查看用户文档,我找不到任何接近的东西。
同样对于 Group 对象,我找不到属性onPremisesDomainName
,类似于 User 对象中的属性。这是设计使然吗?
解决方案
这是写的时候的正确答案,但从那以后情况发生了一些变化。Azure AD Connect上有一篇很棒的博客文章:objectGUID vs. mS-DS-ConsistencyGuid讨论了这一变化。特别是这一点:
在 Azure AD Connect 版本 1.1.524.0 之前,Azure AD Connect(还有 Azure AD Sync 和 DirSync)默认将
objectGUID
对象的属性作为源锚点。Azure AD Connect 版本 1.1.553.0 及更高版本默认mS-DS-ConsistencyGuid
为用户对象,但objectGUID
组和计算机对象。
在您的情况下,听起来您的特定租户映射配置不同(即您的员工 ID)。
鉴于博文中提出的问题,我建议objectGUID
完全不要用于此目的。如果您正在寻找跨用户和组资源的单个属性,我建议您onPremisesSecurityIdentifier
改为查看。这包含来自您的本地 AD 的 SID。
推荐阅读
- javascript - 如何在 NodeJs 中修改数组中的 JSON 键名
- node.js - NodeJS子进程在同一个shell中执行2个命令
- c# - 如何使用 C# 舍入到最接近的千分之一
- sql - 如果总数量为 0,则使用删除行对每一行进行分组/汇总
- asp.net - 如何将 Azure 服务调用添加到 appsettings.json
- javascript - 创建或删除新用户后更新用户列表
- excel - 如何使用 VBA 从它的第一个行字段中获取实际的可透视数据
- fortran - 关于 MPI_SEND 和 MPI_RECV 命令的问题
- java - 无法插入到 mysql 中的枚举类型
- linux - net.DialTCP 在 Linux 上产生“连接被拒绝”错误,但在 Windows 上没有