Deploying and Managing Apps
Deploying and Managing Apps
The use of apps for Microsoft Teams can be challenging for the IT Team, as there is a
need to address many different topics (Security, Compliance, Access Permissions,
Connectivity, others) and this can involve several teams.
This deck was developed to support your organization in accelerating the deployment
and management of applications for Microsoft Teams by walking through how to define
a formal process for Apps for Microsoft Teams for your organization.
This deck also shares an overview of the process developed by Microsoft’s IT Team to
evaluate, authorize, deploy and manage third-party applications for Microsoft Teams for
their employees.
Note: Some slides in this deck will contain links to additional supporting content, such as
online documentation to provide more detailed information about a given topic area.
• Types of Teams Apps
• The Teams App lifecycle
• Managing how users discover and
request apps
Contents • Evaluating an app for use in your
organization
• App deployment
• End of life
• How Microsoft does it
CORE WORKLOADS
Communicate
through chat, meetings & calls
Collaborate
with deeply integrated Office 365 apps
EXTENSIBLE PLATFORM
Communicate
Collaborate
Do more
Apps in Teams
Power Platform (low/no-code)
Processes Productivity
User needs an App is requested App evaluation App deployment Managing and End of Life
app • Who approves? • Security, privacy monitoring • Removing access to
• Do you have an • Are there approved and legal review • User self service • Monitoring and an app
internal catalog? alternatives? • M365 certification installs managing Teams
• Can the user • Is licensing needed? • Internal, Microsoft, • Admin initiated apps
request an app? 3rd party or custom? installs • Upgrades
Microsoft Teams provides access to apps through the Microsoft Teams app catalog, which allows additional apps to be
used within the native Teams application for a richer, more integrated experience.
This deck was developed to support your organization in accelerating the deployment and management of applications
for Microsoft Teams by walking through how to define a formal process for Apps for Microsoft Teams for your
organization.
Managing how users discover and request apps
The Microsoft Teams Admin Center allows administrators to customize the Teams app store experience to add
branding and to manage which apps are made available to your users. We recommend that administrators
review the following controls for creating a guided experience for your users.
1. The customize store location in the Teams admin center allows administrators to select:
- Organization logo
- Logomark
- Background image
- Text color of organization name
This article provides more information about customizing your store.
2. Use app permissions policies to control which apps are available to users.
3. Proactively direct users to organizationally approved apps with app setup policies and tailored apps.
4. Set up user request alerting or redirect user requests to your existing app request process.
• Understanding app
components
• App features
Evaluating an app for • Evaluating permissions
use in your organization • Publisher information and
M365 certification
App components
Microsoft Teams apps are composed of one or more
components defined in an app manifest. Apps gain
access to some basic information when installed. The
information available to the application via the Teams
context varies by app features as noted here
Meeting extensions: Apps to make meetings Task modules Permit creation of a modal pop-up
more productive, like adding a survey to complete experiences in your Teams application.
during the meeting.
Evaluating app permissions
Access to M365 data via
Microsoft Graph leverage Azure
AD app registrations, which
allows access to other services
configured in API permissions
in Azure AD.
2. Select the app that you want to validate. You can search by
app name if needed.
Evaluating app permissions in the Teams admin center
3. Navigate to ‘Permissions’ tab. Click the ‘Review permissi…’
button.
NOTE: Resource specific permissions(RSC) are listed on this
tab. Access to these resources are granted only when an
owner of the resource (e.g. team or chat) installs the app and
provides consent for access to that resource.
From the Teams Admin Center, an app will provide the note
“This app has been granted consent for some permissions”
with a link to the Azure Active Directory location.
Evaluating app permissions in the Azure Active Directory
Portal
The Azure Active Directory Portal allows
administrators to view who has granted consent for an
app, if it was granted as in the admin or user context,
and to grant or revoke additional access.
Certification
• Audit of an app against a set of controls derived from
leading industry standard frameworks
• Provide evidence to demonstrate that they are meeting
each control prior to getting awarded a certification
• Microsoft 365 Certification have strong security and
compliance practices are in place to protect their data
security, and privacy
Trust: Microsoft 365 Certification (Teams only)
Application Security
Pen-test, SAST/DAST
Operational Security
Build Trust Malware, Patch Management
Incident Response
Vulnerability scan
Raise Visibility Risk Management
Manage access to Teams apps across Microsoft 365 - Microsoft Teams | Microsoft Learn
Managing and monitoring apps
App usage reporting is available in:
Teams Admin Center and
M365 admin portal
Additional sign in logs for specific applications is available in the Azure Active
Directory portal on the Enterprise Applications blade.
Updating apps
If app developers make certain changes to their apps, then the end-users must approve the
update of app, or an administrator can provide consent on their behalf to manage the update. A
full list of app changes trigger a new consent prompt can be reviewed here.
A Teams administrator is also required to publish or approve updates to custom apps uploaded
to an organization’s app catalog.
Dogfooding early
User scoping
commitment to you.
Product ERP
feedback
Accessibility
Security
Privacy
Product engineering & IT
compliance teams
Enablement in Teams
well as a documented process for
application review and approval.
Graph access
User scoping
Accessibility
Initial review /
consultation
The Microsoft Security
Security
Privacy
Development Lifecycle can be used
to inform your organization’s
requirements and processes.
IT IT + IT IT
Business requestor and Security
their compliance teams
Enablement in Teams
with procurement policies, Approved Governance
M365 Certification
and governance
Vendor
Review
Graph access
User scoping
requirements.
Initial review /
consultation
If a third-party app meets
Accessibility
policy requirements, app
Security
Privacy
specific review is conducted.
Microsoft leverages M365
certification to ensure a 3p
app has been vetted against
controls derived from leading
industry standard
frameworks, and that strong IT ISV/Publisher IT + IT IT
Security
security and compliance Procurement process
practices are in place to
protect customer data.
Graph access
Permission Permission Type Description
Microsoft’s third-party app review processes
email Delegated Allows the app to read your users' primary email address
consider the scope and level of graph access
that is requested by an application and Allows the app to see and update the data you gave it access
to, even when users are not currently using the app. This
require business justification where access to offline_access Delegated does not give the app any additional permissions.
data is requested.
Allows users to sign into the app with their work or school
accounts and allows the app to see basic user profile
Permissions that provide scoped access to openid Delegated information.
data and least possible privilege (basic or Allows the app to see your users' basic profile (name, picture,
profile Delegated username)
read permissions) should be preferred over
more expansive scopes. Allows users to sign-in to the app and allows the app to read
the profile of signed-in users. It also allows the app to read
User.Read Delegated basic company information of signed-in users.
This table lists examples of permissions that
Allows the app to read a basic set of profile properties of
limit data access to a specific user, and only other users in your organization on behalf of the signed-in
to limited information such as the logged in user. This includes display name, first and last name, email
user’s email address. Third-party app User.ReadBasic.All Delegated address and photo.
requests for these permissions are approved Allows the app to read terms of use agreements on behalf of
Agreement.Read.All Delegated the signed-in user.
if the app has a reasonable use for that Allows the app to read terms of use acceptance statuses on
functionality: e.g., posting notifications for AgreementAcceptance.Read Delegated behalf of the signed-in user.
business tasks. AgreementAcceptance.Read. Allows the app to read terms of use acceptance statuses on
All Delegated behalf of the signed-in user.
Graph access
Sites.Read.All Delegated behalf of the signed-in user
Chat.Read Delegated Allows an app to read 1 on 1 or group chats threads, on behalf of the signed-in user.
Allows an app to read and write 1 on 1 or group chats threads, on behalf of the
Permissions that provide access Chat.ReadWrite
Contacts.Read
Delegated
Delegated
signed-in user.
Allows the app to read user contacts.
to multiple users’ content, or Files.Read Delegated Allows the app to read the signed-in user's files.
for:
Files.Read.Selected Delegated several hours after the user selects a file.
(Preview) Allows the app to read and write files that the user selects. The app has
Files.ReadWrite.Selected Delegated access for several hours after the user selects a file.
Mail.Read Delegated Allows the app to read the signed-in user's mailbox.
Justification, AND
Mail.Read.Shared Delegated Allows the app to read mail a user can access, including their own and shared mail.
If the access can be scoped Allows the app to the read user's mailbox settings. Does not include permission to
MailboxSettings.Read Delegated send mail.
with the use of additional
controls.
Allows the app to read the titles of OneNote notebooks and sections and to create
Notes.Create Delegated new pages, notebooks, and sections on behalf of the signed-in user.
Notes.Read Delegated Allows the app to read OneNote notebooks on behalf of the signed-in user.
Allows the app to read OneNote notebooks that the signed-in user has access to in
Notes.Read.All Delegated the organization.
OnlineMeetings.Read Delegated Allows the app to read online meeting details on behalf of the signed-in user.
OnlineMeetings.ReadWrite Delegated Allows the app to read and create online meetings on behalf of the signed-in user.
OnlineMeetingRecording.Read.All Delegated
Allows the app to read tasks a user has permissions to access, including their own
Tasks.Read.Shared Delegated and shared tasks.
Allows the app to create, read, update, and delete the signed-in user's tasks and task
Tasks.ReadWrite Delegated lists, including any shared with the user.
Allows the app to create, read, update, and delete tasks a user has permissions to,
Tasks.ReadWrite.Shared Delegated including their own and shared tasks.
TeamsActivity.Read Delegated Allows the app to read the signed-in user's teamwork activity feed.
Allows the app to create new notifications in users' teamwork activity feeds on behalf
of the signed in user. These notifications may not be discoverable or be held or
TeamsActivity.Send Delegated governed by compliance policies.
Permission Type Description
Graph access
Printer.FullControl.All Delegated
SearchConfiguration.Read.All Delegated
Allows the app to read the signed-in user's activity statistics, such as how much time
Analytics.Read Delegated the user has spent on emails, in meetings, or in chat sessions.
Permissions that provide access at the AppCatalog.Read.All Delegated
cases EduAdministration.Read
EduAdministration.ReadWrite
Delegated
Delegated
EduAssignments.Read Delegated
EduAssignments.ReadBasic Delegated
EduAssignments.ReadWrite Delegated
EduAssignments.ReadWriteBasic Delegated
EduRoster.Read Delegated
EduRoster.ReadBasic Delegated
EduRoster.ReadWrite Delegated
Family.Read Delegated Allows the app to read your family information, members and their basic profile.
Allows the app to read your organization’s identity (authentication) providers’
IdentityProvider.Read.All Delegated properties on behalf of the user.
PrinterShare.Read.All Delegated
Allows the application to read basic information about printer shares on behalf of
PrinterShare.ReadBasic.All Delegated the signed-in user. Does not allow reading access control information.
Allows the application to read and update printer shares on behalf of the signed-in
PrinterShare.ReadWrite.All Delegated user.
PrintJob.ReadWrite Delegated
Allows the app to read your tenant's service health information on behalf of the
signed-in user. Health information may include service issues or service health
ServiceHealth.Read.All Delegated overviews.
Allows the app to read your tenant's service announcement messages on behalf of
the signed-in user. Messages may include information about new or changed
ServiceMessage.Read.All Delegated features.
ServicePrincipalEndpoint.Read.All Delegated Allows the app to read service principal endpoints
Any application permissions
Lessons learned
A well documented process with transparent SLAs for procurement, IT and
security reviews improves app onboarding.
A self-service app request process that lists already approved apps in the
same category can redirect users to a quicker resolution.
Got some feedback?
Click the link below or scan the QR code on the right
and let Teams Engineering know!
http://aka.ms/TeamsPlaybookFeedback
01
Thank you.
The role of shared
meeting spaces