Microsoft 365 Client Credentials
Important:This Microsoft 365 Client Credentials integration requires the authentication method OAuth2 with client credentials.
The following sections explain prerequisites, resources, and instructions for integrating with SaaS Management.
• | Stored Microsoft 365 Client Credentials Information |
• | Required Minimum Permissions for Microsoft 365 Client Credentials |
• | Authentication Method for Microsoft 365 Client Credentials |
• | Required Credentials for Microsoft 365 Client Credentials |
• | Microsoft 365 Client Credentials License Types |
• | Obtaining Client Credentials and Directory (Tenant) ID for Microsoft 365 Client Credentials |
• | Integrating Microsoft 365 Client Credentials With SaaS Management |
• | Auto-Populated License Information for Microsoft 365 Client Credentials |
• | Managing Available Licenses for Microsoft 365 Client Credentials |
• | Viewing the Hybrid Microsoft 365 Client Credentials Position |
• | Microsoft Power BI Reporting for Microsoft 365 Client Credentials |
• | Microsoft 365 Client Credentials API Endpoints |
Stored Microsoft 365 Client Credentials Information
The following table describes the available integration tasks and stored data within SaaS Management.
Available Integration Tasks |
Information Stored |
|||||||||||||||||||||||||||||||||||||||||||||
Application Roster |
Note:For existing Microsoft 365 integrations with SaaS Management, you need to reauthorize the integration by granting the additional UserAuthenticationMethod.Read.All permission to retrieve the multifactor authentication details for the Users tab.
Important:When the AuditLog.Read.All permission is not granted, the Application Roster integration task will not fail, rather it will skip the Sign in to M365 Domain and retrieve the remaining Application Roster fields. |
|||||||||||||||||||||||||||||||||||||||||||||
Application Access |
Last Activity Date of the following applications:
Note:Consider the following:
Important:When the AuditLog.Read.All permission is not granted, the Application Access integration task will not fail, rather it will skip the activities for the Dynamics 365, Power BI, Project, and Visio applications and retrieve the activities for the remaining Microsoft 365 applications. |
|||||||||||||||||||||||||||||||||||||||||||||
License Differentiation |
See Microsoft 365 Client Credentials License Types and Tracking Application Activity by License Type for License Differentiation. |
|||||||||||||||||||||||||||||||||||||||||||||
License Information |
Note:The SaaS Management License Information integration task retrieves information once every 24 hours. Therefore, the data in the Microsoft Portal may not match the data in SaaS Management. |
|||||||||||||||||||||||||||||||||||||||||||||
Reclamation |
Reclaiming SaaS licenses affects all the users’ licenses within a SaaS integration. For example, a user has licenses for Office 365 Exchange, Outlook, and Yammer. However, the Software Asset Manager is only managing licenses for Office 365 Exchange and Outlook. Reclamation removes all three (Office 365 Exchange, Outlook, and Yammer) licenses from the user. To reclaim Microsoft 365 Client Credentials SaaS licenses, see Reclaiming SaaS Licenses. Note:Reclamation will only work when licenses are assigned individually. |
Note:The information stored is subject to change as enhancements are made to the SaaS application.
Required Minimum Permissions for Microsoft 365 Client Credentials
The minimum API required permissions are based on the Required Application Permissions for Microsoft 365 Client Credentials and the Required User Role for Microsoft 365 Client Credentials.
Required Application Permissions for Microsoft 365 Client Credentials
Application Permission |
Description |
Integration Task Name |
AuditLog.Read.All |
Enables you to read the user sign ins for your tenant. |
Application Access Application Roster |
Reports.Read.All |
Enables you to read the user access event details in your Microsoft account. |
Application Access |
UserAuthenticationMethod.Read.All |
Is required for retrieving the multifactor authentication details for the user. |
Application Roster |
Directory.Read.All and Reports.Read.All |
Enables you to read the list of users in your Microsoft account. |
Application Roster License Information |
LicenseAssignment.ReadWrite.All |
Is required for modifying the license assigned to the user. |
Reclamation |
Required User Role for Microsoft 365 Client Credentials
Note:The following SaaS application user role is not applicable to Flexera One roles.
User Role |
Description |
Global Administrator |
To grant the application permissions, the user must have Global Administrator access. For more information, see Microsoft’s documentation topic, Microsoft Entra Built-In Roles. |
Authentication Method for Microsoft 365 Client Credentials
The required authentication method is OAuth 2.0 With Client Credentials. For more information, see Microsoft’s documentation topic, Microsoft Identity Platform and the OAuth 2.0 Client Credentials Flow.
Required Credentials for Microsoft 365 Client Credentials
The following credentials are required:
• | Application (Client) ID |
• | Client Secrets Value |
• | Directory (Tenant) ID. |
Microsoft 365 Client Credentials License Types
To learn more about the product names and service plan identifiers for Microsoft 365 licenses, see Microsoft’s documentation topic, Product Names and Service Plan Identifiers for Licensing.
Obtaining Client Credentials and Directory (Tenant) ID for Microsoft 365 Client Credentials
Before Integrating Microsoft 365 Client Credentials With SaaS Management, you need to obtain client credentials and the directory (tenant) ID by completing the following steps.
To obtain Client Credentials and Directory (Tenant) ID:
1. | Sign in to your Microsoft Azure Portal. |
2. | In the Search box at the top of the page, enter App registrations and click App registrations in the search results to select it. The App registrations page opens. |
3. | Click New Registration. The Register an application page opens. |
4. | Enter a Name and choose the Accounts in this organizational directory only option. |
5. | Click Register. |
6. | On the Overview tab, copy and paste the Application (client) ID and the Directory (tenant) ID to a file. You will later enter these values in SaaS Management. |
7. | To generate a client secrets value, do the following: |
a. | Click the Certificates & secrets tab. |
b. | Under Client secrets, click New client secret. The Add a client secret dialog box opens. |
c. | In the Description field, enter a name for the new secret. |
d. | Under Expires, choose an expiration value. |
e. | Click Add. |
f. | Under Client secrets, copy and paste the client secret value to a file. You will later enter this value in SaaS Management. |
8. | Click the API permissions tab and complete the following: |
a. | Click Microsoft Graph. The Request API permissions panel opens. |
b. | Click Application permissions. |
Note:Do not select Delegated permissions. Delegated permissions will not work.
c. | In the Select permissions search box, enter Directory, and then click the arrow to expand Directory and select the Directory.Read.All permission checkbox. |
d. | In the Select permissions search box, enter Reports. Then click the arrow to expand Reports and select the Reports.Read.All permission checkbox. |
e. | Click Update permissions. |
f. | In the Select permissions search box, enter AuditLog. Click the arrow to expand AuditLog, and select the AuditLog.Read.All permission checkbox. |
9. | After the permissions are added, grant admin consent. |
Important:If you modify any permissions in the Microsoft Azure Portal that are used to create the directory (tenant) ID and client secrets value, you need to reauthorize the Microsoft 365 Client Credentials integration in SaaS Management by completing all the steps in the Integrating Microsoft 365 Client Credentials With SaaS Management section.
10. | Proceed to Integrating Microsoft 365 Client Credentials With SaaS Management. |
Integrating Microsoft 365 Client Credentials With SaaS Management
To integrate Microsoft 365 Client Credentials with SaaS Management, perform the following steps.
Best Practice:Flexera recommends creating the Microsoft 365 Client Credentials integration to view your organization’s Office 365 Client Credentials, Dynamics 365 Client Credentials, Power BI Client Credentials, Project Client Credentials, and Visio Client Credentials license usage data. Any existing Office 365 Client Credentials, Dynamics 365 Client Credentials, Power BI Client Credentials, Project Client Credentials, and Visio Client Credentials integrations in SaaS Management will be superseded by this new Microsoft 365 Client Credentials integration. To deactivate an existing integration, see Avoiding Duplicate Microsoft 365 Client Credentials Licenses between SaaS Management and IT Asset Management.
To integrate Microsoft 365 Client Credentials with SaaS Management:
1. | Complete the prerequisite steps in Obtaining Client Credentials and Directory (Tenant) ID for Microsoft 365 Client Credentials. |
2. | Add the Microsoft 365 Client Credentials application in SaaS Management. For more information, see Adding an Application. |
3. | In the Add Application page for Microsoft 365 Client Credentials: |
a. | Select the Application Roster and Application Access integration tasks checkboxes. |
b. | Copy and paste the Application (Client) ID, Client Secrets Value, and Directory (Tenant) ID values from Obtaining Client Credentials and Directory (Tenant) ID for Microsoft 365 Client Credentials into the respective SaaS Management fields. |
c. | Click Authorize. |
After you have successfully integrated Microsoft 365 Client Credentials with SaaS Management, the following Microsoft information is available in the Users tab.
Users Tab Column |
Description |
||||||
UPN |
This User Principal Name (UPN) column is a user filtering option. |
||||||
Licenses |
This column filters discovered and assigned Microsoft licenses. |
||||||
Activations |
This column lists the names of the on-premises products the user has activated. |
||||||
Mail Usage |
This column displays the user’s mailbox storage consumption in MB. |
||||||
OneDrive Usage |
This column displays the user’s OneDrive for Business (OD4B) storage consumption in MB. |
||||||
Windows |
Is the user using a Windows desktop machine? (Yes or No is displayed.) |
||||||
Mac |
Is the user using a Mac device? (Yes or No is displayed.) |
||||||
Mobile |
Is the user using a mobile device? (Yes or No is displayed.) |
||||||
Web |
Has the user accessed Microsoft 365 applications via a browser? (Yes or No is displayed.) |
||||||
onPremisesSync |
The following deployment options are displayed:
|
||||||
Block Credentials |
Are the user’s Microsoft 365 credentials blocked? (Yes or No is displayed.) Users with blocked credentials cannot access their Microsoft 365 account, which limits their account activity. Limited account activity due to blocked credentials may inaccurately reflect license downgrading or license reclamation opportunities. |
||||||
Is MFA Turned On |
Has the user turned on multifactor authentication (MFA) for their Microsoft 365 account? (Yes or No is displayed.) Users signing in to their Microsoft 365 account with multifactor authentication or single sign-on (SSO) should not have their licenses reclaimed. |
||||||
Last Used M365 Application |
Displays the Microsoft 365 application that was last used by the user. This application is based on the user activities retrieved by the Microsoft 365 integration with SaaS Management. If users are not using a more expensive application within a Microsoft 365 license, there may be opportunities to downgrade user licenses. |
||||||
Sign in to M365 Domain |
Displays a timestamp for the last time users signed in to their Microsoft 365 account. Infrequent user sign ins may provide license downgrading or license reclamation opportunities. Note:It is possible that the date in the Sign In to M365 Domain column may differ from the date in the Last Activity column. The Last Activity date refers to the last time users accessed a specific Microsoft 365 product such as Teams or Outlook. It is also possible for users to have a Sign In to M365 Domain value while never having used a Microsoft 365 application. These users would appear as Never under Last Activity. |
||||||
Days Since Last Activity |
This is the number of days since the user’s last activity. |
||||||
Guest |
Is the user a Guest (that is, not a permanent employee such as a contractor)? (Yes or No is displayed.) |
||||||
Title |
The job title of the user is provided by Active Directory. |
||||||
Country |
This is the geographical location of the user. |
||||||
Account Created Date |
This is the date the user’s Microsoft 365 account was created within the Microsoft portal. |
Note:Consider the following:
• | Application Roster data such as Mail Usage, OneDrive Usage, Activations, Windows, Mac, Mobile, and Web is available 3 days after the event(s) occurs. Therefore, the data in the Microsoft Portal may not match the data in SaaS Management for these Users tab columns, which are part of the Application Roster. |
• | Flexera captures only the last 90 days of data for the following Users tab columns: Activations, Mail Usage, OneDrive Usage, Windows, Mac, Mobile, and Web. |
• | Due to the current behavior of the Microsoft report API, if users have not activated any applications (Microsoft 365 apps for enterprise, Microsoft Project Online desktop client, Microsoft Visio desktop app, and Office Mobile apps for Office 365) 90 days from the date of the integration setup: the Activations column will be blank and display a "-" and for any new activations on day 91, the count will reflect on the Microsoft report API 3 days after the activation and will be retained in the report for the next 90 days. |
• | Flexera obtains Activations data only when we activate the following Office 365 subscriptions such as Microsoft 365 apps for enterprise, Microsoft Project Online desktop client, Microsoft Visio desktop app, and Office Mobile apps for Office 365 across Windows and Mac machines (For more information, see Microsoft’s documentation topic, Microsoft 365 Reports in the Admin Center - Microsoft Office Activations). |
• | Flexera obtains Yes values for the Windows, Mac, Mobile, and Web columns only when users perform activities in the following applications: Outlook, Word, Excel, PowerPoint, OneNote, and Teams (For more information, see Microsoft’s documentation topic, Microsoft 365 Reports in the Admin center - Microsoft 365 Apps Usage). |
For further information on managing and optimizing your organization’s Microsoft 365 Client Credentials licenses, see:
• | Auto-Populated License Information for Microsoft 365 Client Credentials |
• | Managing Available Licenses for Microsoft 365 Client Credentials |
• | Viewing the Hybrid Microsoft 365 Client Credentials Position |
• | Microsoft Power BI Reporting for Microsoft 365 Client Credentials |
• | Tracking Application Activity by License Type for License Differentiation |
• | Reclaiming SaaS Licenses. |
Auto-Populated License Information for Microsoft 365 Client Credentials
The SaaS Management integration with Microsoft 365 Client Credentials offers a License Information integration task that automatically retrieves every 24 hours the name of the Microsoft 365 plan, license type, and total allowed number of licenses. This auto-populated Microsoft 365 Client Credentials license information provides a more complete view of your Microsoft SaaS entitlements and component usage by displaying:
• | Assigned entitlements. |
• | User’s license activity (based on the user’s last login) |
• | An 11 Services filter in the Microsoft 365 Client Credentials Activity tab, which helps you narrow the focus of your organization’s Microsoft 365 license activity. |
Important:If you enable the License Information integration task, you need to enter and keep up to date the following Licenses Tab information. The License Information integration task does not pull in this information. The SaaS application’s annual spend calculation relies on entered and accurate license effective and expiration dates.
• | Effective Date |
• | Expiration Date |
• | Cost |
• | Currency |
• | Payment Frequency |
To auto-populate Microsoft 365 Client Credentials license information, see Auto-Populating SaaS Application License Information. When the License Information integration task is enabled, the License type, Name, and Provisioned fields in the Microsoft 365 Client Credentials Licenses tab are disabled as this information is automatically populated. The active and inactive ingested license data from Microsoft can be compared against the Subscriptions data from the Licenses menu of the Microsoft 365 Admin Center.
Managing Available Licenses for Microsoft 365 Client Credentials
After the License Information integration task for Auto-Populated License Information for Microsoft 365 Client Credentials is enabled, you can add or remove the Microsoft 365 Client Credentials product licenses you wish to manage within SaaS Management. To manage available Microsoft 365 Client Credentials licenses, see Managing Available SaaS Application Licenses.
Note:Unselected licenses are not shown in SaaS Management and are filtered out from all calculations. When a Microsoft 365 Client Credentials license is not selected to be managed in SaaS Management, the license will also not appear in IT Asset Management when Viewing the Hybrid Microsoft 365 Client Credentials Position. For further filtering details, see What happens when a SaaS application’s license is filtered out?
Viewing the Hybrid Microsoft 365 Client Credentials Position
While Microsoft 365 Client Credentials licenses are assigned and managed in the Cloud, many of the applications and functionality in the Microsoft licensing portal are locally installed on users’ devices. Due to the hybrid nature of Microsoft 365 Client Credentials licenses, it is beneficial to integrate Flexera One’s SaaS Management with IT Asset Management in order to manage the Cloud licenses and local installations.
In SaaS Management, at the top of the Microsoft 365 Client Credentials Overview tab, click the View the hybrid Microsoft 365 position link to open Flexera One’s IT Asset Management License Summary page. This page is automatically filtered to Publisher name is Microsoft. Together, Flexera One’s SaaS Management and IT Asset Management applications provide a complete view of your organization’s Microsoft online and traditional desktop usage.
When SaaS purchase order data is synchronized with Flexera One’s IT Asset Management to display the hybrid Microsoft position, you only need to manage your Microsoft purchases in Flexera One’s SaaS Management. You may wish to include the additional SaaS purchase order details in IT Asset Management. However, these IT Asset Management purchases for Microsoft will not impact a SaaS Management-created Microsoft Named User license in Flexera One’s IT Asset Management.
Best Practice:To avoid confusion and potential license duplication, Flexera recommends that any licenses created in IT Asset Management for Project Client Credentials / Visio Client Credentials / Dynamics 365 Client Credentials be deleted as the new SaaS Management Microsoft 365 Client Credentials integration also creates these licenses with imported entitlement and consumption. For more information, see Avoiding Duplicate Microsoft 365 Client Credentials Licenses between SaaS Management and IT Asset Management.
Avoiding Duplicate Microsoft 365 Client Credentials Licenses between SaaS Management and IT Asset Management
To synchronize existing Microsoft 365 Client Credentials licenses between Flexera One’s SaaS Management and IT Asset Management All Licenses page, which feeds to the License Summary page, ensure the Flexera SaaS Manager integration is enabled in the IT Asset Management Integrations tab. For more information, see Flexera One’s IT Asset Management documentation topic, IT Asset Management Settings: Integrations Tab.
Complete the following steps to avoid duplicating Microsoft 365 Client Credentials licenses between Flexera One’s SaaS Management and IT Asset Management.
To remove Microsoft 365 Client Credentials licenses created in SaaS Management (and integrated with IT Asset Management) from IT Asset Management:
1. | In SaaS Management: |
a. | Disable the existing separate Office 365 Client Credentials, Power BI Client Credentials, Project Client Credentials, Visio Client Credentials, or Dynamics 365 Client Credentials integrations to delete the license information. To disable the integration, go to the SaaS menu and click Managed SaaS Applications. The Managed SaaS Applications page opens. |
b. | On the Managed SaaS Applications page, select the appropriate application’s instance link. The instance’s Overview tab opens by default. |
c. | On the upper-right side of the Overview tab, click the Application Details link to open the Application Details window. In the Application Details window, click Deactivate. |
2. | In IT Asset Management: |
a. | Ensure the Flexera SaaS Manager integration is enabled in the IT Asset Management Integrations tab. For more information, see Flexera One’s IT Asset Management documentation topic, IT Asset Management Settings: Integrations Tab. The Import Inventory job is executed overnight. |
b. | After the Import Inventory job is executed the next day, delete the Microsoft licenses now marked as “Retired” in IT Asset Management. |
Note:Any purchases managed in IT Asset Management and associated to the now retired/deleted licenses will return an “Unprocessed purchase” response.
c. | After the Import Inventory job is executed in IT Asset Management the next day, the Flexera SaaS Manager integration creates all the Microsoft 365 licenses with purchase counts and consumption counts. |
Note:Because the Microsoft purchase counts come from SaaS Management, any IT Asset Management purchases linked to the Microsoft license will not be reflected against the IT Management license totals for Microsoft Named User licenses (created from the SaaS Management integration) in the IT Asset Management All Licenses or License Summary page.
3. | In SaaS Management, set up the Microsoft 365 Client Credentials integration per Integrating Microsoft 365 Client Credentials With SaaS Management. |
Microsoft Power BI Reporting for Microsoft 365 Client Credentials
SaaS Management’s Microsoft Power BI report, which uses the SaaS Management API, provides the insights that enable improved governance and license management processes for complex Microsoft 365 environments. The Microsoft Power BI report insights can be shared with contacts within your organization who do not use SaaS Management.
To create the Microsoft Power BI report, see the Microsoft 365 Power BI Reporting for Flexera One's SaaS Management Knowledge Base article.
Microsoft 365 Client Credentials API Endpoints
Application Roster
https://graph.microsoft.com/v1.0/users
https://graph.microsoft.com/beta/users
https://graph.microsoft.com/v1.0/subscribedSkus
https://graph.microsoft.com/beta/reports/getOffice365ActivationsUserDetail
https://graph.microsoft.com/beta/reports/getM365AppUserDetail
https://graph.microsoft.com/beta/reports/getOneDriveUsageAccountDetail
https://graph.microsoft.com/beta/reports/getMailboxUsageDetail
https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails
Application Access
https://graph.microsoft.com/v1.0/users
https://graph.microsoft.com/beta/reports/getOffice365ActiveUserDetail
https://graph.microsoft.com/beta/reports/getEmailActivityUserDetail
https://graph.microsoft.com/v1.0/auditLogs/signIns
License Information:
https://graph.microsoft.com/v1.0/subscribedSkus
Reclamation
https://graph.microsoft.com/v1.0/users{id | userPrincipalName}/assignLicense