microsoft teams deep dive - portiva content/presentaties/espc18 … · microsoft teams deep dive...
TRANSCRIPT
![Page 1: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/1.jpg)
MICROSOFT TEAMS DEEP DIVEFROM ARCHITECTURE TO BEST PRACTICES
MAARTEN EEKELS
CTO PORTIVA & MICROSOFT MVP + RD
![Page 2: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/2.jpg)
Make every ESPC18 session count…
1. Connect:Meet someone new at the start of each session
2. Feedback:Don’t forget to rate this session on the conference app
3. Q&A:We will allow time to get some of your questions answered
![Page 4: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/4.jpg)
Teams logical architecture
TeamOffice 365
GroupsChat
ChannelSharePoint
Reply ChainMessage
Images, Emojis, Stickers, Giphy,
Recordings
OneDrive for Business
Tabs
Folder
Tabs
Activity FeedMeetings
Calling
Apps
Apps
Contacts
Teams
Chats
Voice
Voice mail
![Page 5: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/5.jpg)
Where is everything stored?
Image
Files
Voicemail
Message
Recording
Calendar meeting
Contacts
Media service on Azure (using Blob storage)
Team files → SharePointChat files → OneDrive for Business
Individual mailbox in Exchange
Chat service table storage (moving to Cosmos DB)
Media service on Azure (using Blob storage) (<24 hours)
Individual mailbox in Exchange
Exchange
Ingested to Exchange to enable compliance
Ingested to Exchange to enable compliance
Encoded to Microsoft Stream
Telemetry Microsoft Data warehouse (No customer content)
![Page 6: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/6.jpg)
Teams high level architectureMicrosoft Teams
Intelligent Communications
Microsoft 365 Core services
Most recent files
Telemetry
Files
Files
Web
C
om
pan
ion
s
No
tes
Calendar
AAD
MessagingSettings and
O365 access
On
eN
ote
On
eD
rive f
or
Bu
sin
ess
WA
C
Oth
er
Wo
rklo
ad
s
Connectors
Audio / video
SearchNotification
service
SMTP
Sh
are
Po
int
Publish /
Subscribe
Push
Notifications
Experimentation
MRU
Calling /
Meeting
PSTN
DesktopiOS
App
Android
AppElectronWeb
Chat &
Presence
services
Exchange
Information
Protection
Graph
Webhook
Stream
Recording
Bots
Graph API
Email service
PolicyTeams
services
![Page 7: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/7.jpg)
Outside the compliancy perimeter
User Browser, Desktop ,Mobile
compliance boundary
Microsoft Teams
Guest user
Anonymous join to a meeting
Federation communication
Email a channel
Connectors
Apps/Bots
Tabs
Calling Plan (PSTN)
Push Notifications (Mobile)
Other Cloud storage (3rd party)
Graph API
Giphy
2-way communication Inbound data Outbound data
Data posted to a channel
Data posted to a channel
Query to Giphy
Push notifications to Apple or Google to notify mobile client
Optional Box, Dropbox, Google drive, Citrix Fileshare
Any third-party tab is hosted outside the compliance boundary
Any third-party App/bot or line of business app is hosted outside the compliance boundary
Graph APIs can be exposed to line of business apps or 3rd party apps
Enables inbound/outbound calling outside the organization
Standard Teamsuser
Guest added via AAD B2B
Anonymous userjoining a meeting
Communication between multiple tenants
URL PreviewGet a preview of a URL that is posted to a message
![Page 8: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/8.jpg)
Teams client
Browsers: Edge, IE11, latest Chrome, latest Firefox | Desktop: Windows 10, 8.1, 7(SP1), Mac OS X 10.10+
IOS Android
Swift Java
Angular → React
jQuery, lodash etc.. (200+ Open Source Components)
TypeScript, Node, SASS
HTML5/CSS
C++ Objective C
Windows MacWeb AndroidiPhone/iPad
Desktop Mobile
Electron
React Native
![Page 9: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/9.jpg)
Memberships and RolesTeam Owner Team Member Team Guest
Create team ✓ - -
Leave team ✓ ✓ ✓
Edit team name/description
✓ - -
Delete team ✓ - -
Add channel ✓ ✓* ✓*
Edit channel name/description
✓ ✓* ✓*
Delete channel ✓ ✓* ✓*
Add members ✓ - -
Add tabs ✓ ✓* -
Add connectors ✓ ✓* -
Add bots ✓ ✓* -
* Can be restricted through Team Settings by the owner
![Page 10: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/10.jpg)
Teams Admin Roles
• Teams Service Administrator: The overall Teams workload admin, who can also manage and create O365 Groups.
• Teams Communication Administrator: This role can manage meetings and calling functionality in Microsoft Teams.
• Teams Communications Support Engineering: Users who are assigned this role have access to advanced call analytics tools.
• Teams Communications Support Specialist: This role has access to basic call analytics tools.
![Page 11: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/11.jpg)
Teams Settings on Tenant Level
![Page 12: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/12.jpg)
Settings on Team Level
![Page 13: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/13.jpg)
Manage Teams with PowerShell
Install-Module -Name MicrosoftTeams
Get-Team
$groupId = (Get-AzureADGroup -SearchString “<group name>").objectId
Get-TeamFunSettings -GroupId $groupId
Get-TeamMemberSettings -GroupId $groupId
Get-TeamGuestSettings -GroupId $groupId
![Page 14: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/14.jpg)
Allow only specific people to create Teams
Azure Active Directory versie 2 PowerShell module required
Connect-AzureAD
Get-AzureADDirectorySetting
$Policy = Get-AzureADDirectorySettingTemplate –Id 62375ab9-6b52-47ed-826b-58e47e0e304b
$Setting = $Policy.CreateDirectorySetting()
$Setting[“EnableGroupCreation”] = “false”
$Setting[“GroupCreationAllowedGroupId”] = “your group ID”
New-AzureADDirectorySetting -DirectorySetting $Setting
https://docs.microsoft.com/en-us/powershell/azure/overview?view=azureadps-2.0
![Page 15: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/15.jpg)
External guest access
• Default setting: Off for tenants / On for individual Teams
• Disabling or enabling external guest user access for individual Teams is only possible through PowerShell
![Page 16: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/16.jpg)
External Sharing per Team
Disabling or enabling external guest user access is only possible throughPowerShell
$template = Get-AzureADDirectorySettingTemplate | ? {$_.displayname -eq"group.unified.guest"}
$settings = $template.CreateDirectorySetting()
$settings["AllowToAddGuests"]=$False
$groupID = (Get-AzureADGroup -SearchString “<your group name").ObjectId
Get-AzureADObjectSetting -TargetObjectId $groupID -TargetType Groups | flValues
New-AzureADObjectSetting -TargetObjectId $groupID -TargetType Groups-DirectorySetting $settings
Get-AzureADObjectSetting -TargetObjectId $groupId -TargetType Groups | Set-AzureADObjectSetting -TargetObjectId $groupId -TargetType Groups -DirectorySetting $settings
![Page 17: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/17.jpg)
DEMO
![Page 18: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/18.jpg)
Office 365 Connectors
• Actionable Messages in Outlook and/or Teams
• 90+ Connectors available today
• Incoming Webhooks
• Possibility to create your own Connectorshttps://dev.outlook.com/connectors
![Page 19: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/19.jpg)
DEMO
![Page 20: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/20.jpg)
Group expiration
![Page 21: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/21.jpg)
Naming conventions
• Get-AzureADDirectorySetting
• $directorySetting = Get-AzureADDirectorySetting -Id92efeacc-89c6-4c16-b1cf-107aaf87f7dc
• $directorySetting.Values
• $directorySetting["PrefixSuffixNamingRequirement"] ="Grp_[Department]_[GroupName]"
• $directorySetting["CustomBlockedWordsList"]="Payroll,CEO,HR"
• Set-AzureADDirectorySetting -Id (Get-AzureADDirectorySetting| where -Property DisplayName -Value "Group.Unified" -EQ).id -DirectorySetting $directorySetting
•
![Page 22: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/22.jpg)
Retention policies
![Page 23: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/23.jpg)
Archiving Teams
![Page 24: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/24.jpg)
DEMO
![Page 25: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD](https://reader033.vdocuments.site/reader033/viewer/2022050116/5f4d270f74dc29288f23ba34/html5/thumbnails/25.jpg)
Thank You!@maarteneekels