MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE...

25
MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD

Transcript of MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE...

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.

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.

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 3: MICROSOFT TEAMS DEEP DIVE - Portiva Content/Presentaties/ESPC18 … · MICROSOFT TEAMS DEEP DIVE FROM ARCHITECTURE TO BEST PRACTICES MAARTEN EEKELS CTO PORTIVA & MICROSOFT MVP + RD.

About me

Contact

@[email protected]

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Thank You!@maarteneekels