如标题所示“Teams内部防火墙”这个是什么鬼?!在解释这个名称之前我先分享一个场景:
某金融行业正在使用Office365,其中核心金融数据部门能够与任何内部用户进行点对点沟通文件传输,结合我的上一篇文章Teams中的组织架构可以很轻松的找到整个组织中的任何用户,那么就带来了一个安全隐患:该部门的用户有可能会泄密到其他部门!那如何来规避这个风险呢?邮件可以通过邮件流规则来限制核心用户发送邮件权限以及审批流程,SharePoint分享文件可以通过管理员配置相应的权限。在本地Skype for Business Server环境中我们也遇到过集团领导不希望下面的员工能与之直接联系,我们可以通过导出用户数据手动添加组织联系人SIP地址然后再覆盖用户的数据文件来实现,那么现在针对云上的Teams使用怎么去规避呢?这就是这篇博客要给大家分享的Teams中的内部防火墙,这是微软4月才发布的一个预览版功能叫做:information barriers(信息障碍)就是为了实现内部关键部门之间或者团队之间不能互通信息但又不影响该部门的团队应用。
我司Office365为E3无法进行演示,所以我特意搞了个E5版本为各位演示(尽管此功能目前还是预览版,我还是去研究完了写出博客分享给大家)。
要实现information barriers需要进行如下准备:
许可条件(只需要下面任意一个许可)
Microsoft 365 E5;
Office 365 E5;
Office 365高级合规性;
Microsoft 365 E5合规性;
操作权限(只需要下面任意一个权限)
Microsoft 365 企业全局管理员;
Office 365 全局管理员;
合规性管理员;
IB 合规性管理;
在配置前需要完成以下准备:
Ø 完善用户的账号属性
可参考我上一篇博客Teams中的组织架构一文进行批量配置。用户属性中部门是唯一的!这一定要确认好一个用户只能属于一个部门!
例如我的账号部门属于技术部
Admin账号配置属于HR部门
Ø Microsoft Teams中启用范围目录搜索,启用后至少等待24小时生效
进入Teams管理中心https://admin.teams.microsoft.com 然后选择组织范围设置->团队设置。
在搜索功能中启用使用Exchange通讯录策略进行目录搜索(默认是关闭状态)。
Ø 启用Office365审核日志搜索
启用审核日志搜索必须要授予操作账号Exchange Online“审核日志”角色权限,在默认的组织管理员中已经又这个角色。
远程PowerShell连接到Exchange Online开启搜索,启用后需要等待60分钟才能最终生效。
启用命令:Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true
在使用以上命令前有可能会提示使用Enable-OrganizationCustomization,执行即可
然后继续启用搜索
Ø 准备连接到Office365安全与合规中心PowerShell。
目前, 信息屏障策略在 Office 365 Security & 合规性中心 (使用 PowerShell cmdlet) 中进行定义和管理所以一定注意这些策略不是在Teams PowerShell中配置管理的。
Set-ExecutionPolicy RemoteSigned
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.compliance.protection.outlook.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking
将以上PS命令整理到ps1文件中然后使用管理员身份运行。
完成连接。
以上所有信息准备好了之后,我们就可以开始配置信息障碍策略了。
首先我们来定义一些用户段,按照部门来划分
例如我新建的账号划分成技术
New-OrganizationSegment -Name "tech" -UserGroupFilter "Department -eq '技术部'"
Admin账号划分为HR
New-OrganizationSegment -Name "HR" -UserGroupFilter "Department -eq 'HR'"
很可惜当前此cmdlet还不支持也就是说此功能还是预览版,并未正式公布,据了解最近一次更新是2019.05.31,相信此功能很快就能正式发布到每个订阅。待此功能正式发布后我再完善此博客,不过我整理了后续需要做的事情,大家可以参考下。
把用户归类好了之后,我们开始创建策略
New-InformationBarrierPolicy -Name "tech-HR" -AssignedSegment "tech" -SegmentsBlocked "HR" -State Inactive
这条策略的目的是阻止技术部与HR部门的沟通,这个阻止是单向的,所以还需要建立一条策略阻止HR主动与技术部门沟通
New-InformationBarrierPolicy -Name "HR-Tech" -AssignedSegment "HR" -SegmentsBlocked "Tech" -State Inactive
创建好以上两条策略后HR和技术部门之间就不能互相通信了!
那么如果技术部仅能与HR部门通信而不需要和其他部门通信呢?这种场景多用于研究中心人员和特定部门沟通而不希望被其他部门打扰,如果根据上面的命令一条一条的去创建就显得非常麻烦。可以使用SegmentsAllowed参数来创建策略。如:
New-InformationBarrierPolicy -Name "Tech-HR" -AssignedSegment "Tech" -SegmentsAllowed "HR" -State Inactive
可以在一条命令中定义多个部门信息,只需要在参数中增加部门信息,只需要用逗号隔开即可如:
-AssignedSegment "Tech,sales"
-SegmentsAllowed "HR,IT"
-SegmentsBlocked "Marketing, Research"
至于是可以通信还是阻止通信通过Allowed和Blocked来控制!
在以上创建的所有策略中-State参数都是Inactive,也就是说不会生效,如果希望创建后立即生效则需要将参数修改为Active
以上操作完成后我们仅仅是定义了用户分类以及创建了策略信息,如果策略中-State参数为Inactive则这条策略并没有生效,接下来就要应用这些策略。
Get-InformationBarrierPolicy
可以获取所有的信息障碍策略信息,要记下来每一个策略的GUID值。
然后使用Set命令来激活这条策略
Set-InformationBarrierPolicy -Identity 43c3xxxx-exxx-xxxx-xxxx-xxxx9377xxxx -State Active
最后还要使用以下命令来应用到整个Office365组织,5000用户的组织大约需要1小时来完成。
Start-InformationBarrierPoliciesApplication
我整理了一些常用的命令:
如需停止某一条策略可以使用以下命令
Stop-InformationBarrierPoliciesApplication -Identity GUID
查看策略部署是否完成可以使用以下命令
Get-InformationBarrierPoliciesApplicationStatus
查看所有策略部署状态可以使用以下命令
Get-InformationBarrierPoliciesApplicationStatus -All $true
获取所有用户定义表可以使用以下命令
Get-OrganizationSegment
修改用户定义表可以使用以下命令
Set-OrganizationSegment -Identity GUID -UserGroupFilter "attribute -eq 'attributevalue'"
编辑策略阻止与其他用户通信可以使用以下命令
Set-InformationBarrierPolicy -Identity GUID -SegmentsBlocked "segmentname, segmentname"
编辑策略启用仅与某些其他用户通信可以使用以下命令
Set-InformationBarrierPolicy -Identity GUID -SegmentsAllowed "segmentname, segmentname"
删除策略可以使用以下命令
Remove-InformationBarrierPolicy -Identity GUID
删除策略后应使用以下命令应用更改
Start-InformationBarrierPoliciesApplication
将活动的策略更改为非活动状态可以使用以下命令
Set-InformationBarrierPolicy -Identity GUID -State Inactive
更改为非活动状态后应使用以下命令应用更改
Start-InformationBarrierPoliciesApplication
很遗憾没有完整的测试效果,不过也算是先替大家研究采坑了,分享给各位希望能有帮助,能把Teams用的越来越顺!