你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure CLI 中的 Microsoft Graph 迁移的影响

由于已弃用 Azure Active Directory (Azure AD) Graph,因此在 Azure CLI 2.37.0 中,基础 Active Directory Graph API 被 Microsoft Graph API 替换。

中断性变更

有关基础 API 和输出 JSON 中断性变更的差异,请参阅 Azure AD Graph 和 Microsoft Graph 之间的属性差异

例如,最突出的更改是 Graph 对象的输出 JSON 中的 objectId 属性被 id 替代。

以下部分列出了命令参数和行为的中断性变更。

az ad app create/update

  • --reply-urls 拆分为 --web-redirect-uris--public-client-redirect-uris
  • --homepage 替换为 --web-home-page-url
  • --available-to-other-tenants 替换为 --sign-in-audience
  • --native-app 替换为 --is-fallback-public-client
  • --oauth2-allow-implicit-flow 替换为 --enable-access-token-issuance
  • 添加 --enable-id-token-issuance 以设置 web/implicitGrantSettings/enableIdTokenIssuance
  • 删除 --password--credential-description。 使用 az ad app credential reset 让 Graph 服务为你创建密码 (https://github.com/Azure/azure-cli/issues/20675)
  • 添加 --key-display-name 以设置 keyCredentialdisplayName

az ad app permission grant

  • 删除了 --expires
  • --scope 不再默认为 user_impersonation,且它现在是必需的

az ad app credential reset

az ad sp delete

az ad sp credential

az ad sp credential reset

az ad user create

  • --force-change-password-next-login 替换为 --force-change-password-next-sign-in

az ad user update

  • --force-change-password-next-login 替换为 --force-change-password-next-sign-in

az ad group get-member-groups

  • 删除了 --additional-properties

az ad group member add

  • 删除了 --additional-properties

已知问题

  • 关于通用更新参数,唯一支持的操作是在 Graph 对象的根级别进行的 --set。 目前,由于底层基础结构发生了更改,因此无法在子级别使用 --add--remove--set。 对于不受支持的方案,可以使用 az rest 直接调用 Microsoft Graph API。 可以在 https://github.com/Azure/azure-cli/issues/22580 中查找示例。
  • Microsoft Graph 相关命令(如 az adaz role)在不支持 Microsoft Graph 的 Azure Stack 环境中会失败。 请在 Azure Stack 环境中使用 Azure CLI 2.36.0 或更低版本。

安装历史版本

如果尚未准备好进行迁移,例如缺少 Microsoft Graph 权限,可继续使用 <= 2.36.0 的 Azure CLI 版本。 如果已安装 2.37.0,可按照安装文档下的“安装特定版本”部分回滚到以前的版本(不支持安装历史版本的 Homebrew 除外)。

故障排除

Graph 命令失败,提示 AADSTS50005AADSTS53000

你的租户可能有阻止使用设备代码流访问 Microsoft Graph 的条件访问策略。 在这种情况下,请改用授权代码流或服务主体登录。 有关登录方法的详细信息,请参阅使用 Azure CLI 登录

Microsoft 租户 (72f988bf-86f1-41af-91ab-2d7cd011db47) 已配置此类条件访问策略。

更多信息

可以在 https://github.com/Azure/azure-cli/issues/22580 中找到有关 Microsoft Graph 迁移的详细信息。

提供反馈

如果有任何问题,请向 https://github.com/Azure/azure-cli/issues/22580 反馈或使用 az feedback 命令新建问题。