当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何简化 Microsoft Graph PowerShell 与 PIM 的使用

作者:精品下载站 日期:2024-12-14 06:53:24 浏览:14 分类:玩电脑

如何简化 Microsoft Graph PowerShell 与 PIM 的使用


与使用 Azure AD 和 MSOnline 等旧模块相比,在 Microsoft Graph PowerShell 中使用权限无疑会增加复杂性。

从历史上看,如果您想要管理 Azure AD 中的资源,您可以连接到 PowerShell 中的 Azure AD 模块,并立即获得会话权限,完全在您的用户权限上下文中。虽然 Microsoft Graph PowerShell 仍然如此,但您还需要显式指定满足当前会话要求所需的 Microsoft Graph API 权限。这通常会导致使用全局管理员帐户,并且可能对当前任务具有不必要的高权限。

一种选择可能是让管理员提前向您的 Microsoft Entra 应用程序授予所有必要的权限,但是,由于需求不断变化,这可能不可行。

在这篇文章中,我将部署一个替代解决方案,该解决方案利用 Directory.AccessAsUser.All 权限和特权身份管理 (PIM)

了解解决方案

目标是创建一个更简单的 Microsoft Graph PowerShell 使用流程,复制旧模块的类似体验,但增加了使用 PIM 的安全性。该解决方案背后的想法非常简单,企业应用程序将存在于 Microsoft Entra 中,并授予它 Directory.AccessAsUser.All 权限。用户将被分配到此应用程序,使他们能够使用 Microsoft Graph PowerShell 连接到它。用户还有资格获得 PIM 中的特权角色,因此当他们需要使用 PowerShell 时,他们可以提升自己的权限,但必须完成 MFA 挑战才能执行此操作。

[玩转系统] 如何简化 Microsoft Graph PowerShell 与 PIM 的使用

Directory.AccessAsUser.All 权限的工作原理

与其他权限(例如 Directory.ReadWrite.All)相比,Directory.AccessAsUser.All 权限本质上稍微独特一些。它不仅授予用户对所有可用目录资源的访问权限,还授予他们对与用户登录相同级别的资源的访问权限。

例如,如果用户在连接到此应用程序时分配了用户管理员角色,则他们将只能管理 Microsoft Enta 中的用户对象。这限制了权限过高的风险,而用户只能在之前批准的级别管理资源。

Directory.AccessAsUser.All 权限还有另一个区别,那就是使用它,您可以删除用户、组并重置用户密码。即使您已为登录用户分配了必要的 Entra 角色,您也无法使用 Directory.ReadWrite.All 权限执行这些任务。

创建新的 Microsoft Entra 应用程序

该过程的第一步是在 Microsoft Entra 中创建新的应用程序注册。理想情况下,您不应使用内置的 Microsoft Graph 命令行工具应用程序。虽然使用它是可行的,但我只推荐在较小的组织中使用它,这些组织可能只有一个管理员。如果您是一个较大的组织,为了更好的控制和治理,请改用独特的应用程序。请按照以下步骤注册新应用程序:

  1. 登录 Microsoft Entra。
  2. 展开身份 > 应用程序,然后选择应用注册
  3. 点击新注册
  4. 定义应用程序的名称,然后在重定向 URI 下,从下拉列表中选择公共客户端/本机(移动和桌面),并输入值 http:// /localhost 在文本框中。
  5. 点击注册

[玩转系统] 如何简化 Microsoft Graph PowerShell 与 PIM 的使用

接下来,您需要将 Directory.AccessAsUser.All 权限分配给您的应用程序。为此,请按照以下步骤操作:

  1. 在新应用程序的管理菜单标题下,选择API 权限
  2. 点击添加权限
  3. 选择Microsoft Graph,然后选择委派权限
  4. 选择Directory.AccessAsUser.All,然后单击添加权限
  5. 配置的权限页面上,选择向 %您的组织%授予管理员同意

最后,您需要在 Microsoft Entra 的企业应用程序页面下将要使用该应用程序的用户分配给该应用程序。请按照以下步骤分配您的用户:

  1. 在 Microsoft Enta 中,展开应用程序并选择企业应用程序
  2. 从列表中选择您的新应用程序。
  3. 管理下,选择用户和组
  4. 点击添加用户/组,然后搜索并添加您的用户。

您现在已成功准备好新的 Microsoft Entra 应用程序。从应用程序概述选项卡中,复制应用程序 ID目录 ID,因为您将使用它通过 PowerShell 连接到它。

权限和 PIM

Microsoft Entra ID 中的特权身份管理(或 PIM)使您能够通过使用特权角色的批准和基于时间的分配来管理对目录中重要资源的访问。由于向您展示如何配置 PIM 并不是本文的目标,因此我将详细介绍一些关于为此解决方案配置 PIM 的建议:

  • 在 PIM 中的管理标题下,使用设置选项修改激活分配 >将分配的必要角色的通知设置,请勿将其保留为默认值。
  • 将条件访问与 PIM 结合使用,以确保在激活角色之前需要额外的 MFA 质询。这将确保在账户接管期间(包括通过代币盗窃)无法提升权利。
  • 作为管理员,选择管理> 分配> 合格分配,并确保所有用户仅符合与其工作和任务相关的角色。需要完成。

提升访问权限并连接到 Microsoft Graph

现在您已配置 PIM 和 Entra 应用程序,用户只需通过 PIM 门户提升其权限并连接到 Microsoft Graph PowerShell。虽然每个步骤不需要按任何特定顺序进行,但您可以按照以下步骤来完成此任务:

  1. 通过 Microsoft Entra 登录 PIM,adpim.cmd.ms
  2. 选择我的角色,然后单击合格分配选项卡。
  3. 单击激活,然后在所需角色上再次激活

[玩转系统] 如何简化 Microsoft Graph PowerShell 与 PIM 的使用

现在,您的访问权限已提升,请使用我们在前面的步骤中详细介绍的tenantid 和clientid 连接到Microsoft Graph PowerShell。

Connect-MgGraph -TenantID $tenantid -ClientID $clientid

下面我将验证我是否可以使用 PIM 激活的帐户连接到 Microsoft Graph PowerShell 并在 Microsoft Entra 目录中执行特权任务。

[玩转系统] 如何简化 Microsoft Graph PowerShell 与 PIM 的使用

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯