You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Graph创建联邦Azure用户时如何生成immutableID?

解决联合身份环境下Graph创建Azure用户的immutableID生成问题

你陷入误区的核心是搞混了两个GUID的来源:immutableID对应的是本地AD用户的对象GUID,而非Azure AD新建用户的GUID——这根本不是“先有鸡还是先有蛋”的问题,因为本地AD的用户GUID(或你自行生成的测试用GUID)是在创建Azure用户之前就能拿到的。

具体生成步骤如下:

1. 获取用于生成immutableID的GUID

  • 如果是对接现有本地AD用户:
    在本地AD环境中用PowerShell获取目标用户的对象GUID:
    Get-ADUser -Identity "你的本地AD用户名" | Select-Object ObjectGUID
    
  • 如果是预创建Azure用户用于后续本地AD同步:
    先在本地AD中创建好用户,再按上面的方法获取该用户的GUID。
  • 如果是测试场景(无本地AD):
    直接生成一个符合标准格式的GUID即可,比如用PowerShell生成:
    $newGuid = [guid]::NewGuid()
    

2. 将GUID转换为Base64编码(生成immutableID)

拿到GUID后,必须将其字节数组形式转换为Base64编码,而不是直接对GUID字符串编码——这是很多人出错的关键点。

PowerShell示例代码:

# 替换为你拿到的GUID
$userGuid = [guid]"12345678-1234-1234-1234-1234567890AB"
# 转换为Base64编码,得到immutableID
$immutableId = [Convert]::ToBase64String($userGuid.ToByteArray())

3. 为什么UPN不能作为immutableID?

Azure AD对immutableID的格式有严格要求:必须是标准GUID字节数组的Base64编码结果,UPN不符合这个格式规范,所以会被系统拒绝。

内容的提问来源于stack exchange,提问作者Brian Hofmeister

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 12:35:02