使用 PowerShell 控制对 Viva 中功能的访问
可以使用 Viva 中的访问策略来管理哪些用户可以使用 PowerShell 访问Viva应用中的特定功能。 功能访问管理允许你为租户中的特定组或用户启用或禁用Viva中的特定功能,从而定制部署以满足本地法规和业务要求。
租户中的授权管理员可以从 PowerShell 创建、分配和管理访问策略。 当用户登录到Viva时,将应用策略设置,并且他们只能看到尚未禁用的功能。
重要
对于组织中处于活动状态的功能,可以有多个访问策略。 这意味着用户或组可能会受到多个策略的影响。 在这种情况下,直接分配给用户或组的最严格的策略优先。 有关详细信息,请参阅访问策略在 Viva 中的工作原理。
要求
在 Viva 中创建访问策略之前,需要:
- Microsoft 365 或 Viva 套件许可证的支持版本
- 访问 Exchange Online PowerShell 版本 3.2.0 或更高版本。 如果需要使用未启用邮件的组,则必须有权访问 Exchange PowerShell 版本 3.5.1 或更高版本。
- 在 Microsoft Entra ID 中创建或同步的用户帐户
- Microsoft 365 个组,Microsoft Entra在 Microsoft Entra ID 中创建或同步到通讯组的安全组。
- 特定应用和功能所需的角色。
重要
这些功能在 GCC High 或 DoD 中尚不可用。 对于 GCC,请参阅特定应用的文档了解可用性。
创建和管理Viva功能的访问策略
Viva管理员有权在Microsoft 365 管理中心或使用 PowerShell 创建和管理策略。 获取有关创建和管理策略的所有详细信息。
获取该功能的 featureID
在创建访问策略之前,请使用 ModuleID 获取要控制访问权限的特定功能的 featureID 。
模块 ID
应用 | ModuleID |
---|---|
参与 | VivaEngage |
Glint | VivaGlint |
目标 | VivaGoals |
Insights | VivaInsights |
脉冲 | VivaPulse |
技能 | VivaSkills |
使用 Get-VivaModuleFeature PowerShell cmdlet 获取特定Viva应用及其关联 ID 中的所有可用功能的列表。
安装 Exchange Online PowerShell 版本 3.2.0 或更高版本:
Install-Module -Name ExchangeOnlineManagement
使用管理员凭据连接到Exchange Online:
Connect-ExchangeOnline
作为要为其创建策略的特定功能所需的角色完成身份验证。
运行 Get-VivaModuleFeature cmdlet 以查看可以使用访问策略管理的功能。
例如,若要查看 Viva Insights 支持哪些功能,请运行以下 cmdlet:
Get-VivaModuleFeature -ModuleId VivaInsights
找到要为其创建访问策略的功能,并记下其 featureID。
创建访问策略
现在你已获得 featureID,请使用 Add-VivaModuleFeaturePolicy PowerShell cmdlet 为该功能创建访问策略。
每个功能最多可以分配给用户和组 10 个策略。 每个策略最多可以分配给 20 个用户或组。 可以使用 -Everyone 参数为每个功能分配一个额外的策略,该参数将在整个组织中充当该功能的全局默认状态。
运行 Add-VivaModuleFeaturePolicy cmdlet 以创建新的访问策略。
注意
如果功能支持用户控件选择退出,请确保在创建策略时设置 IsUserControlEnabled 参数。 否则,策略的用户控件使用功能的默认状态。
例如,运行以下命令以创建一个名为 UsersAndGroups 的访问策略,以限制对 Viva Insights 中的反射功能的访问。
Add-VivaModuleFeaturePolicy -ModuleId VivaInsights -FeatureId Reflection -Name UsersAndGroups -IsFeatureEnabled $false -GroupIds group1@contoso.com,group2@contoso.com -UserIds user1@contoso.com,user2@contoso.com
本示例在 Viva Insights 中添加反射功能的策略。 该策略为指定的用户和组成员禁用该功能。 如果要为所有用户禁用该功能,请改用 -Everyone 参数。
管理访问策略
可以更新访问策略以更改功能是启用还是禁用,以及更改策略应用于 (每个人、用户或组) 的人员。
例如,在上一个示例的基础上,若要更新策略应用于的人员,请运行以下 cmdlet:
Update-VivaModuleFeaturePolicy -ModuleId VivaInsights -FeatureId Reflection -PolicyId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -GroupIds group1@contoso.com,group2@contoso.com
与创建策略时一样,如果策略支持用户控制,请在更改策略时包括 IsUserControlEnabled 参数。
重要
为 -UserIds 和 -GroupIds 参数或 -Everyone 参数指定的值将覆盖任何现有用户或组。 若要保留现有用户和组,需要指定要添加的这些现有用户或组 以及 任何其他用户或组。 在 命令中不包括现有用户或组会有效地从策略中删除这些特定用户或组。 如果功能已存在针对整个租户的策略,则无法更新特定用户或组的策略以包含整个租户 - 仅支持一个租户范围的策略。
若要检查为特定用户或组禁用哪些功能,请运行 Get-VivaModuleFeatureEnablement cmdlet。 此 cmdlet 返回用户或组的 启用状态 。
例如:
Get-VivaModuleFeatureEnablement -ModuleId VivaInsights -FeatureId Reflection -Identity user@contoso.com
删除访问策略
使用 Remove-VivaModuleFeaturePolicy cmdlet 删除访问策略。
例如,若要删除反射功能访问策略,请首先获取访问策略的特定 UID - 可以通过运行 Get-VivaModuleFeaturePolicy 来获取该策略。 然后,运行以下 cmdlet:
Remove-VivaModuleFeaturePolicy -ModuleId VivaInsights -FeatureId Reflection -PolicyId xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
疑难解答
- 如果在创建或使用Viva应用功能的访问策略时遇到问题,请确认你尝试为其设置策略的功能已在功能表中列出,并且可供租户使用。
- 如果在运行 PowerShell cmdlet 时看到错误消息“请求者无权完成请求”,检查是否有任何阻止特定 IP 地址的条件访问策略集。 如果是这样,请从该策略中删除 IP 地址,或创建新策略以将 IP 地址列入允许列表。 详细了解Microsoft Entra条件访问和使用 What If 工具对条件访问进行故障排除。