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

[玩转系统] Connect-MgGraph-范围

作者:精品下载站 日期:2024-12-14 13:38:15 浏览:13 分类:玩电脑

Connect-MgGraph-范围


[玩转系统] Connect-MgGraph-范围

对于许多管理员来说,“范围”的使用是 Office 365 PowerShell 的新增功能。

Scopes 参数是随 Microsoft Graph PowerShell API 引入的,但 Scopes 的概念实际上是 OAuth2 规范的一部分。

范围的使用限制了应用程序可用的用户权限。

通过在连接到 Microsoft Graph PowerShell API 时配置范围,您可以有效地限制可用于执行命令的权限。

我们将在下面的实例中看到这一点。但首先,让我们考虑以下几点:

为什么使用范围?

假设您想要运行一个从 Microsoft 365 Graph 导出一些用户信息的脚本。

由于您只会读取用户信息,因此将您的权限限制为只读(最小权限原则)是很有意义的。

这将确保您不会意外更新用户帐户。

此外,它还可以保护您免受流氓应用程序在仅应读取信息时尝试进行更改的影响。

使用 Scope 连接到 MS Graph

要与 Microsoft Graph PowerShell API 建立连接以读取用户信息,可以使用以下命令:

Connect-MgGraph -Scopes "User.Read.All" -TenantId c1493961-2ba6-41ae-b462-e3e7e4dae630

(将 TenantId 替换为您自己的租户 ID)

这将导致 OAuth2 身份验证启动(除非您已经同意 Scopes 参数中请求的权限):

[玩转系统] Connect-MgGraph-范围

请注意,您可以清楚地看到允许 Microsoft Graph PowerShell 应用程序使用哪些权限。

此外,您可以“代表您的组织同意”:

授予同意将使你的同事不会看到上述权限请求,并允许 Microsoft Graph PowerShell 立即代表你的同事运行命令。

请记住:同意并不向组织中的用户授予任何新权限。同意仅允许应用程序(在本例中为 Microsoft Graph PowerShell)使用已分配给用户的权限。请在此处阅读有关同意的更多信息。

接受权限请求后,Microsoft Graph PowerShell 应用程序将使用新的同意进行配置。

转到企业应用程序,单击 Microsoft Graph PowerShell,选择权限,然后选择用户同意以查看它:

[玩转系统] Connect-MgGraph-范围

不幸的是,上面的屏幕截图中看到的企业应用程序设置仅显示无法重新配置或删除权限的设置。

如果您想了解如何使用 PowerShell 脚本管理管理员和用户同意,请阅读本文。

在 MS Graph PowerShell 上测试范围设置

为了说明通过使用范围配置获得的保护,我们尝试通过设置UsageLocation属性来更新Azure AD用户帐户。

我们将范围设置为“User.Read.All”进行连接,正如预期的那样,这失败了:

PS C:\> Connect-MgGraph -Scopes "User.Read.All" -TenantId c1493961-2ba6-41ae-b462-e3e7e4dae630
Welcome To Microsoft Graph!
PS C:\> PS C:\> Get-MgUser -UserId lene.hau@azure.skrubbeltrang.com -Property DisplayName,UsageLocation | ft DisplayName,UsageLocation

DisplayName UsageLocation
----------- -------------
Lene Hau    DK

PS C:\> PS C:\> Update-MgUser -UserId lene.hau@azure.skrubbeltrang.com -UsageLocation "US"
Update-MgUser : Insufficient privileges to complete the operation.

为了解决这个问题,我们必须使用更广泛的范围重新连接:

Connect-MgGraph -Scopes "User.ReadWrite.All" -TenantId c1493961-2ba6-41ae-b462-e3e7e4dae630

假设我们之前没有同意这一点,我们会收到一个新的 OAuth2 身份验证对话框,说明新的同意级别:

[玩转系统] Connect-MgGraph-范围

接受后,Microsoft Graph PowerShell 企业应用程序的用户同意将更新为新的同意,我们可以在 Azure 门户中验证:

[玩转系统] Connect-MgGraph-范围

有了新的范围,我们现在可以将新信息写入 Azure AD 中的用户对象:

PS C:\> Connect-MgGraph -Scopes "User.ReadWrite.All" -TenantId c1493961-2ba6-41ae-b462-e3e7e4dae630
Welcome To Microsoft Graph!
PS C:\> Update-MgUser -UserId lene.hau@azure.skrubbeltrang.com -UsageLocation "US"
PS C:\> Get-MgUser -UserId lene.hau@azure.skrubbeltrang.com -Property DisplayName,UsageLocation | ft DisplayName,UsageLocation

DisplayName UsageLocation
----------- -------------
Lene Hau    US

直接从 Active Directory 管理 Office 365

混合 Office 365 管理可能非常耗时且繁琐。

某些属性在本地 Active Directory 中管理,而其他属性则在各种 Web 门户(例如 Microsoft 365 管理中心和 Exchange Online 管理中心)中管理。

同样,日历委托等某些设置只能通过 PowerShell 进行管理。

借助 Easy365Manager,您可以从 Active Directory 用户和计算机执行所有日常 Office 365 管理。

Easy365Manager 是一个管理单元,可通过 Office 365 选项卡和邮箱选项卡扩展用户属性。

这样可以实现超快速、超方便的 Office 365 管理:

借助 Easy365Manager,您不再需要担心大量 Office 365 Web 控制台和 PowerShell API 即将过期。

您只需几分钟即可安装 Easy365Manager,并且您的基础设施不会发生任何变化。

在此下载 30 天试用版。

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

取消回复欢迎 发表评论:

关灯