有没有一种方法可以将对 SharePoint 文件夹的访问权限限制为仅 Microsoft 团队的内部组织成员

Is there a way to restrict access to a SharePoint folder to only internal Organization Members of a Microsoft Team

我在我的组织内创建了一个名为 Foobar 的 Microsoft 团队。在这个团队中,我添加了以下成员:

Alfie 和 Brenda 是员工并且拥有一个组织帐户。 Charlie 和 Dalton 是客户,应邀作为嘉宾加入团队。

现在在 SharePoint 中,我有以下用户组来限制对库的访问:

前两个 Everyone 选项不可行,因为我还想将组织内的访问权限限制为仅当前团队成员,并且 Foobar Members 选项不可行,因为 来宾被视为会员

有没有办法创建满足以下访问限制的用户组?

我针对我的问题制定了以下解决方案。

  • Foobar 团队在以下 url https://myorganization.sharepoint.com/sites/foobar
  • 上有一个 Sharepoint 站点
  • 当您在此团队中添加私人频道时,SharePoint 将在以下 url https://myorganization.sharepoint.com/sites/foobar-privatechannelname 上创建一个子网站。
    • 只有私人频道的成员才能访问此子站点。
    • 私人频道只能包含已经在团队中的成员。

将 PowerShell Cmdlet 与 Microsoft Teams module 结合使用 我已将此解决方案自动化解决我的问题。

  1. 检索 Foobar 团队的所有用户。
  2. 仅使用组织成员的 UPN 过滤用户。
  3. 创建私人频道。
  4. 将团队的组织成员添加到私人频道。
# Get the team 
$MyTeam = Get-Team -DisplayName "Foobar"

# Get the team users 
$MyTeamUsers = Get-TeamUsers -GroupId $MyTeam.GroupId

# Filter on organization users 
$MyOrganizationUsers = $MyTeamUsers | Where-Object { $_.User -match ".*@organization.com"

# Filter on team owner
$TeamOwner = $MyOrganizationUsers | Where-object { $_.Role -eq "Owner" } | Select-Object -first 1

# Create a private channel
$Channel = New-TeamChannel -GroupId $Team.GroupId -DisplayName $PrivateChannelName -MembershipType Private -Owner $TeamOwner.User

# Loop through team users and add them to the private channel
$MyOrganizationUsers | Foreach-Object -Process {
    Add-TeamChannelUser -GroupId $Team.GroupId -DisplayName $PrivateChannelName -user $_.User -role $_.Role
}