RSC 权限的预批准
Resource-Specific 同意 (RSC) 权限预批准使管理员能够精细控制应用在安装时可以请求的 RSC 权限。 安装应用时向应用授予 RSC 权限。 通过使用预批准策略,管理员可以提前声明应用可从最终用户请求的最大权限,并在安装期间获得许可。
若要使 RSC 权限预批准策略对应用生效,管理员必须确保在其组织中启用应用 (可安装) 。 如果应用不可安装,则该特定应用的权限预批准将变得无关紧要。 有关在 Teams 管理中心启用应用的详细信息,请参阅 在 Teams 管理中心中管理应用。
管理员可以根据应用 ID、权限和访问数据的敏感性创建详细的预批准策略。 RSC 权限的预批准专为寻求为其组织创建高级自定义策略的管理员而设计。
默认情况下,预批准策略由Microsoft管理,我们建议组织保持 ManagedByMicrosoft
状态。 此状态允许Microsoft的安全团队为组织提供最佳安全性。
注意
- RSC 权限的预批准仅在 公共开发人员预览版中可用。
- RSC 权限及其操作过程的预批准可能会更改。
设置 PowerShell 以管理 RSC 权限的预批准
RSC 权限的预批准通过 Microsoft Graph PowerShell 进行管理。 可 在此处详细了解如何使用 PowerShell 管理 Microsoft Teams。
若要创建、管理和删除 RSC 预批准策略,必须向 PowerShell cmdlet 授予以下权限:
TeamworkAppSettings.ReadWrite.All
Policy.ReadWrite.Authorization
AppCatalog.Read.All
Policy.ReadWrite.PermissionsGrant
InformationProtectionPolicy.Read
Application.ReadWrite.All
注意
首次将 Graph 与组织连接时,需要全局管理员级别权限。
下面是用于管理 RSC 权限预批准策略的 PowerShell 设置示例:
Connect-MgGraph -Scopes @('TeamworkAppSettings.ReadWrite.All', 'Policy.ReadWrite.Authorization', 'AppCatalog.Read.All', 'Policy.ReadWrite.PermissionGrant', 'InformationProtectionPolicy.Read', 'Application.ReadWrite.All')
允许组织中应用的 RSC 权限
对于特定于团队和聊天的 RSC 权限,管理员可以为其组织设置四种不同的状态。 除了 DisabledForAllApps
状态,所有其他状态都允许不同程度的 RSC 权限。 可以通过 和 Set-MgBetaTeamRscConfiguration
cmdlet 设置Set-MgBetaChatRscConfiguration
这些状态。
例如,若要允许组织中所有未阻止的应用具有 RSC 权限,请使用 Set-MgBetaTeamRscConfiguration -State EnabledForAllApps
cmdlet。
以下是允许和禁止组织中的 RSC 权限的不同状态:
配置 | 说明 |
---|---|
ManagedByMicrosoft |
由 Microsoft 管理的动态策略。 它可能会根据最佳安全做法进行更新。 默认情况下,此状态为组织中所有未阻止的应用启用 RSC。 |
EnabledForAllApps |
用户可以同意组织中任何未阻止的应用的 RSC 权限。 |
EnabledForPreApprovedAppsOnly |
组织中的用户只能同意那些未阻止的应用,这些应用也具有与之关联的显式预批准策略。 仅当管理员希望基于每个应用显式限制允许的 RSC 权限时,才必须使用此选项。 |
DisabledForAllApps |
用户无法同意任何应用所需的 RSC 权限,即使该应用在组织中被解除阻止也是如此。 警告: 此状态不允许安装需要 RSC 权限的应用。 |
警告
如果将聊天或团队 RSC 配置更改为 DisabledForAllApps
,则会在租户中禁用预批准,用户在安装已启用 RSC 的应用时会遇到错误。
为组织中所有未阻止的应用启用 RSC 权限
可以通过将 RSC 权限设置状态 EnabledForAllApps
更改为 ,使用 PowerShell cmdlet 为组织中所有未阻止的应用启用 RSC。 可以在组织中设置聊天和团队 RSC 设置的状态,如下所示:
Set-MgBetaTeamRscConfiguration -State EnabledForAllApps
Set-MgBetaChatRscConfiguration -State EnabledForAllApps
仅为一组特定应用启用 RSC
可以使用你希望预批准的数据的权限和敏感度标签为特定应用创建预批准策略。 以下部分演示如何创建带有和不附加敏感度标签的预批准策略。
基于应用 ID 和权限创建预批准策略
预批准策略允许组织中的用户同意一组特定应用的 RSC 权限。 这意味着你可以确定组织可以访问哪些已启用 RSC 的应用,而不会限制组织内所有应用的 RSC 权限。
若要创建不带敏感度标签的预批准策略,请确保具有以下信息:
- Teams 应用 ID。
- 与应用关联的 RSC 权限。
- 租户中的团队或全局管理员权限。
可以使用 PowerShell cmdlet 创建预批准策略。 若要创建 cmdlet,必须使用 命令获取前面 New-MgBetaTeamAppPreApproval
提到的信息,并指定要在 cmdlet 中预批准的以下 RSC 权限之一:
配置 | 说明 |
---|---|
ResourceSpecificApplicationPermissionsAllowedForChats |
为聊天的 RSC 权限创建预批准策略时使用此配置。 有关所有权限的列表,请参阅 RSC 权限。 |
ResourceSpecificApplicationPermissionsAllowedForTeams |
为团队创建 RSC 权限的预批准策略时使用此配置。 有关所有权限的列表,请参阅 RSC 权限。 |
使用团队 RSC 权限预批准应用
New-MgBetaTeamAppPreapproval -TeamsAppId c626ce8b-6d15-4c07-bfb1-a5fd0bc3c20e -ResourceSpecificApplicationPermissionsAllowedForTeams @('ChannelMessage.Read.Group') -TeamLevelSensitivityLabelCondition AnySensitivityLabel
使用聊天 RSC 权限预批准应用
New-MgBetaTeamAppPreapproval -TeamsAppId c626ce8b-6d15-4c07-bfb1-a5fd0bc3c20e -ResourceSpecificApplicationPermissionsAllowedForChats @('OnlineMeeting.ReadBasic.Chat')
使用团队和聊天 RSC 权限预批准应用
New-MgBetaTeamAppPreapproval -TeamsAppId c626ce8b-6d15-4c07-bfb1-a5fd0bc3c20e -ResourceSpecificApplicationPermissionsAllowedForChats @('OnlineMeeting.ReadBasic.Chat') -ResourceSpecificApplicationPermissionsAllowedForTeams @(‘ChannelMessage.Read.Group’) -TeamLevelSensitivityLabelCondition AnySensitivityLabel
警告
如果将错误的权限链接到 cmdlet 中的错误权限类型,则预批准策略创建可能会失败。 确保聊天 RSC 权限以 结尾 .Chat
,团队 RSC 权限以 结尾 .Group
。
基于应用 ID、权限和敏感度标签创建预批准策略
可以创建预批准策略,以针对租户中的某些敏感度标签预批准 RSC 权限。 这使你可以控制已启用 RSC 的应用可以访问的数据。 在这里,你可以了解根据数据的敏感性创建预批准策略的过程。
除了特定敏感度标签之外,还可以为特定权限创建预批准策略。 可以允许批准特定权限的所有 RSC 同意请求。 若要创建预批准策略,请确保具有以下信息:
- Teams 应用 ID。
- 与应用关联的 RSC 权限。
- 与敏感度标签关联的敏感度标签 ID。 如果希望策略应用于所有敏感度标签,或者仅预批准聊天 RSC 权限,则不需要这样做。
- 租户中的团队或全局管理员权限。
可以使用 PowerShell cmdlet 创建预批准策略。 若要创建 cmdlet,必须使用 命令获取前面 New-MgBetaTeamAppPreApproval
提到的信息,并指定要在 cmdlet 中预批准的以下 RSC 权限之一:
配置 | 说明 |
---|---|
ResourceSpecificApplicationPermissionsAllowedForChats |
为聊天的 RSC 权限创建预批准策略时使用此配置。 有关所有权限的列表,请参阅 RSC 权限。 |
ResourceSpecificApplicationPermissionsAllowedForTeams |
为团队创建 RSC 权限的预批准策略时使用此配置。 有关所有权限的列表,请参阅 RSC 权限。 |
可以使用 SpecificSensitivityLabel
参数来定义要对其应用 RSC 预批准策略的特定敏感度标签。
下面是使用这些参数的 cmdlet 示例:
New-MgBetaTeamAppPreapproval -TeamsAppId c626ce8b-6d15-4c07-bfb1-a5fd0bc3c20e -ResourceSpecificApplicationPermissionsAllowedForTeams @('ChannelMessage.Read.Group') -TeamLevelSensitivityLabelCondition SpecificSensitivityLabel -SpecificSensitivityLabelIdsApplicableToTeams @('4de11089-adb9-4be8-9b7a-8336be68f3c4')
将 RSC 配置更改为仅允许具有自定义定义的预批准策略的应用
创建预批准策略后,将组织的 RSC 设置更改为使用新策略。 此设置更具限制性,可能会导致某些应用对最终用户不起作用。 若要进行此更改,请更改组织的 RSC 设置的状态。 以下示例显示了所需的 PowerShell cmdlet:
Set-MgBetaTeamRscConfiguration -State EnabledForPreApprovedAppsOnly
Set-MgBetaChatRscConfiguration -State EnabledForPreApprovedAppsOnly
管理现有的预批准策略
创建预批准策略后,可以修改策略以更改策略的权限和敏感度标签。 使用其他权限发布应用时,必须更新该应用的预批准策略以添加新权限,确保可以在租户中安装该应用。 需要相同的信息来管理现有的预批准策略并创建新的预批准策略。
如果想要停止预验证现有应用的 RSC 权限,还可以删除现有的预批准策略。
更新现有的预批准策略
可以使用 cmdlet 更新预批准策略 Update-MgBetaTeamAppPreApproval
。 指定要更新的权限时,必须区分 RSC 权限的类型。
以下 RSC 配置可用于管理现有的预批准策略:
配置 | 说明 |
---|---|
ResourceSpecificApplicationPermissionsAllowedForChats |
为聊天的 RSC 权限创建预批准策略时使用此配置。 有关所有权限的列表,请参阅 RSC 权限。 |
ResourceSpecificApplicationPermissionsAllowedForTeams |
为团队创建 RSC 权限的预批准策略时使用此配置,请使用此配置。 有关所有权限的列表,请参阅 RSC 权限。 |
更新聊天 RSC 的预批准策略
Update-MgBetaTeamAppPreapproval -TeamsAppId c626ce8b-6d15-4c07-bfb1-a5fd0bc3c20e -ResourceSpecificApplicationPermissionsAllowedForChats @('OnlineMeeting.ReadBasic.Chat', 'TeamsAppInstallation.Read.Chat')
更新团队 RSC 的预批准策略
Update-MgBetaTeamAppPreapproval -TeamsAppId c626ce8b-6d15-4c07-bfb1-a5fd0bc3c20e -ResourceSpecificApplicationPermissionsAllowedForTeams @('ChannelMessage.Read.Group', 'TeamsAppInstallation.Read.Group') -TeamLevelSensitivityLabelCondition AnySensitivityLabel
如果要将预批准策略从定义的敏感度标签更改为所有敏感度标签,则必须在预批准策略中重置参数的值 SpecificSensitivityLabel
。 为此,可将 参数设置为 null, AnySensitivityLabel
如下所示:
Update-MgBetaTeamAppPreapproval -TeamsAppId c626ce8b-6d15-4c07-bfb1-a5fd0bc3c20e -ResourceSpecificApplicationPermissionsAllowedForTeams @('ChannelMessage.Read.Group') -TeamLevelSensitivityLabelCondition AnySensitivityLabel -SpecificSensitivityLabelIdsApplicableToTeams $null
注意
必须在 cmdlet 中包含 Update-MgBetaTeamAppPreApproval
所有相关权限,即使已在现有预批准中声明了这些权限。
删除现有的预批准策略
如果想要停止预先证明现有应用的 RSC 权限,可以删除该应用的预批准策略。 若要删除预批准策略,请确保具有应用 ID。
可以使用以下 PowerShell cmdlet 删除与应用关联的预批准策略:
Remove-MgBetaTeamAppPreapproval
Remove-MgBetaTeamAppPreapproval -TeamsAppId c626ce8b-6d15-4c07-bfb1-a5fd0bc3c20e