Only this pageAll pages
Powered by GitBook
1 of 83

Version 2

Loading...

Getting Started

Loading...

Loading...

Loading...

Loading...

Loading...

Technical Description

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

User guides

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Pricing & Billing

Loading...

Loading...

Support

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Policies

RECOMMENDED ACTIONS

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Azure Managed Application

Description of Bsure Insights Data Collector application.

What is an Azure Managed Application?

An Azure Managed application is installed from Azure Marketplace. They are easy to deploy and operate for customers. They are fully managed by the publisher. To learn more, visit Microsoft's documentation.

Bsure Insights Data Collector Managed Application

When you install Bsure Insights:

  1. The Managed Application Resource.

  2. The Resource Group where the app is installed (provided by you under installation).

  3. The Subscription you have chosen to install it to.

  4. The Managed Resource Group contains the managed application components.

Bsure is responsible for the resources inside the Managed Resource Group. These resources are shown in the picture below.

  • Container Apps and Jobs, for Compute and webpage hosting​

  • Container Apps Environment, configuration buckets for Container Apps/Jobs

  • Key Vault, for secrets ()​

  • Log Analytics Workspace, stores log output (no personal information is logged)

Welcome

Bsure Insights is a business app that gives organizations full visibility into their Microsoft Entra ID.

By having a complete view of all identities, devices and applications organizations can optimize Microsoft 365 license usage and strengthen overall user security.

Our solution provides a simple and intuitive way for organizations to manage and monitor their Microsoft Entra identities. This visibility enables them to optimize Microsoft 365 license usage and enhance security. Bsure Insights is quick to install and helps organizations stay in control of their identity management.

Install

Install our Azure Managed Application

Guides

Learn how to maximize the value of Bsure Insights by reading our guides.

Pricing & Billing

Learn how the pricing and billing works.

Dataflow and visibility

This table describes how data flows between the parties: Bsure, Customer and Microsoft.

Customer

Bsure

Count of billed users, Usage metrics*, Operational logs

Microsoft

Bsure

Customer name, Customer country, Subscription name, Count of billed users

Bsure

Customer

Runtimes and metadata such as list prices and windows versions +

*Usage Metrics : We monitor unique users accessing different pages and how fast they load. This data is aggregated and anonymized before sent to Bsure.

All collected data is stored securely and anonymized, retained only for as long as necessary to fulfil the stated purposes, and is not disclosed to third parties except where required by law, pursuant to a valid legal basis, or with explicit user consent.

Overview

Overview of the dashboards and reports in Bsure Insights, and how to use them in practice.

The User Guides explain how to work with the dashboards and reports in Bsure Insights.

These reports give you visibility into key areas of your Microsoft 365 environment, helping you monitor usage, identify risks, and support decision-making. Version 2 includes both dashboards and web-native reports, giving you flexibility in how you access and explore your data.

Each guide walks through the available insights and shows how they can be applied in practice. Whether you are looking for a high-level overview or detailed information about a specific area, the User Guides provide the context you need.

If you need clarification on terminology, see the glossary.

Applications

The reports under application will give you insight into your Entra ID Enterprise applications.

Note that the applications showing in this report consume applications, data and other resources your end-users will have to authenticate by using their Entra ID credentials

Service Bus Namespace, used for solution internal communication

  • SQL Data Base / Server, used for solution storage, stores customer data with a data plane hardened setup to ensure Bsure has no access by default

  • Storage Account, used for solution internal storage (no personal information is stored)

  • Bsure personnel cannot access secrets here

    Main Dashboard

    This is our main dashboard, which gives you a status of how tidy your Microsoft Entra ID is. We believe that Identity lifecycle management and good processes is the key to a tidy Microsoft Entra ID, and with Bsure you get the insight you need to make better decisions.

    Users

    In order to have a tidy Entra ID you need to know who your users are, and whether they are active or not.

    • Disabled and Inactive users: This graph shows the percentage of users with access to the Entra ID who are not active. This overview includes both members and guests

    • Members: Users owned and controlled by your Entra ID, or your internal users

    • Guests: An Entra ID Guest user account is an account that is invited to your Entra ID from another identity catalogue. It can be assigned access and permissions to almost anything in you Entra ID tenant.

    • Users: All members and guests

    • Active: All users (members and guests) active in the Entra ID

    • Inactive: All users (members and guests) that have not signed into the Entra ID the last 90 days

    • Disabled: Disabled user accounts

    Microsoft Licenses

    In this dashboard we give you a flash of your total Microsoft license cost, as well as your potential monthly cost savings based on the analysis made

    Potential savings: This number represents the total monthly savings divided by total monthly Microsoft license costs

    License cost: Your total monthly Microsoft license costs

    Potential monthly cost savings: The sum of savings related to unassigned, inactive and disabled licenses

    Unassigned: Licenses not assigned to any users that can potentially be removed at next renewal date

    Inactive: Licenses assigned to users that are inactive, meaning they have not logged on to Entra ID last 90 days

    Disabled: Licenses assigned to users that are disabled

    Security

    In the security section of the dashboard we focus on multi-factor-authentication (MFA) status on the users, as well users or groups with administrative privileges in your Entra ID

    Missing MFA registration: Members in the Entra ID without registered MFA

    Administrative privileges: Overview of Entra ID roles with administrative privileges

    Applications

    To add applications you want to monitor in the Application - Cost report - follow this guide

    If you found some applications in the Application - Usage report that you want to follow more closely and perhaps distribute cost based on usage, please note the names of these applications. You can right click the name in the Focus filter section and select copy value.

    At first run the page will be empty with no applications configured:

    Click Add New Application or Browse Applications buttons to get a list of all the applications. Enter the name to search for the application you want to add. Click the app you want to add and click Next.

    Fill in information you want, like the cost per user in the app and how many you bought and press the Add New Application button

    Continue adding your applications the same way.

    When done You can press the refresh Power BI button on the top left corner in the page to see your changes in the Application Cost report.

    You can at a later stage edit or remove each entry by clicking the square with the three dots to the right:

    Technical Architecture

    Download full resolution image

    Azure Marketplace

    This step covers how to deploy Bsure Insights from the Azure Marketplace.

    Azure Portal installation

    1. Go to Bsure Insights for Microsoft 365 and Entra ID ()

    2. Select plan

    Guests

    Report showing active and inactive guest users. Entra ID guest accounts are external user accounts invited to your tenant/EntraID where they typically have access to Teams or Sharepoint sites.

    Top filter menu

    Users: Showing the total number of guest users according to your filtering selections.

    Created Date & Last Sign-in Date: Set periods for when users where created/invited or their last sign-in date.

    User State: - Active - guest users having signed in the last 90 days - Inactive - guest users that has not signed in the last 90 days

    Intune Drilldown

    If You use Intune as deployment system, this report will give you information on all devices.

    This drilldown report will show all devices in you Intune environment with status and who's using the different devices.

    Slicer menu:

    • Devices : shows number of devices based on your filtering

    • Device Activity: When it was last synced with intune

    Windows OS

    Identify devices with out-of-support Windows versions in Microsoft Entra ID.

    The Windows OS report displays details for Windows devices in your Microsoft Entra ID environment. The report focuses on OS versions and their support status to help you identify devices running out-of-support Windows versions.

    The report provides a summary of Windows OS versions, including end-of-life (EOL) status, and detailed device information.

    Focus Table - Windows Versions

    Main focus in this report is End of Life for Windows versions.

    Use the slicer menu for manual filter selections, or try the predefined

    Properties

    This pages offers insights into more user properties than users main dashboard

    Gauges at the top displays current status of Country, Company, Department, Office, City, Manager, Job title, Mobile phone, Employee type and Employee ID.

    The graph to the left shows percentages of missing data of the property selected in the graph selector over time.

    The graph to the right shows how many users missing data of the property selected in the graph selector over time.

    Use filter section to the right to refine users you want to monitor. These filters will affect both the current gauges in the top and the graphs in the lower section of the page.

    Sign-in Map

    Simply a world map showing which countries your member users have successfully signed in from the last 14 days.

    Groups

    Use this guide to configure whats displayed in the Groups report

    By default Bsure Insights will only gather all groups with names. To find the members of a specific group and possibly assign a cost to perform cost allocation, please follow this guide:

    The page will be empty by default, so to add a group, please click Add Groups

    You will then be able to search for the groups you want to see members of and click the group you want and click next

    Add cost for being member in the group and a description:

    Click Add New Group button.

    When added all groups you want to monitor, you can choose to tell Bsure Insights to refresh all data in the solution and then refresh Power BI afterwards by clicking the Run Collector button in the top right corner.

    You can follow progress by clicking the bell next to your name in the top right corner. It may take a while.

    User Management

    Here you add users to Bsure Insights. After adding a new user, please provide the url new user and they will get instant access. More granular access possibilities in under development.

    Bsure Insights will fetch all users in your Entra ID and you can add any of the member accounts as users in the application. Click Add Users button and select what role you want to assign to the users:

    • System Administrator gives access to everything in the application

    • Role Member gives access to all Power BI reports but not any configuration.

    Tick off all the users you want to assign that role and press Next

    Recreate Workspace

    If someone deleted or made changes to the Power BI workspace used by Bsure Insights, you have the option to create a new workspace, add all reports to it and set permissions and scheduled updates by clicking Recreate Workspace.

    It will delete the old workspace if it still exists.

    Support

    For assistance, please visit . Here, you have the option to schedule a meeting or send us an email.

    https://www.bsure.io/contact-us/
    Device State: If device activity is more than 90 days ago = Inactive, else Active
  • OS : Operating system from Intune

  • In Entra: If device in Intune has a corresponding object in Entra ID. If you find some of these devies you should investigate.

  • Duplicate: It is possible to get same serialnumber registered in Intune as two individual registrations. If you find some, please investgigate and delete the duplicate not in use one.

  • Compliance: Compliance state from Intune

  • In device details table we've added some new columns:

    • Last user: Latest sign in to the device and user that did it

    • Users count: How many users have signed in to the device

    • Logged on users: Displays all users that have signed into the device

    • Storage health: to help you find devices with full disk etc.

    Users

    Release Notes

    Latest version:

    This version will be automatically updated for everyone during week 44

    October 29. 2025:

    New features: Added Sponsors to guest accounts in Users - Guests, Member and Drilldown reports Improvements: Filter templates cleanup

    Previous versions:

    October 26. 2025:

    New features:

    Two new reports:

    • Application Overview report shows usage of all applications, including the unused ones.

    • Devices - Intune Drilldown: Report of all devices in Intune with serial number and users signed in to the devices

    Improvements:

    • Data collector improved - groups, intune devices and user purpose

    • Improved stability in customer application (web app)

    • Improved logging

    Service Principals

    Apps or Service Principals should be considered as a user account and should be monitored closely

    Often when a third party app offers single sign-on or other interactions with your Entra ID they offer a solution to create a service principal. To get the integration running you will provide the system or vendor with your tenant id, application id and a corresponding secret. The application then need access to Entra ID for the integration to work as expected and the application is given permissions in your environment.

    Sign-in from this application is not governed by identity protection, such as conditional access policies, meaning that the application id + secret would work from everywhere at any time.

    The Service Principal report show the different service principals in your environment, permissions given and where they sign in from. Often third party vendors ask for too much permissions and you should review the report to make sure that permissions and sign-ins are as expected.

    We've classified permissions in critical, high, medium and low but a read role that is classified as low could be potentially business critical if exposed. Eg. if a service principal has been given mail.read permissions and the secret is compromised someone out there could read all your company e-mails.

    Use the map and click on the dots to see what data you export to which country and too whom.

    Recommended actions

    Based on experience and customer feedback we've created a playbook on how to secure and reduce license spend your Microsoft cloud environment.

    Even if cost savings is important, we've created a balanced recommended action list, where you quickly will reduce security risk and then at the same time release licenses to reduce cost.

    Microsoft Licenses

    We've created subpages per report with explanations and short videos to help you navigate and understand the different reports under the Licenses section.

    Customer Settings

    Configuration

    Bsure Insights
    and
    Create.
    Bsure Insights on Azure Marketplace
  • Configure Basics

    • Select your Subscription and Resource group (create new if needed).

    • Select a Region.

    • Set a Application Name.

    • Managed Resource Group is prefilled.

    • Select Next.

  • Configure Tags

    • (Optional) configure your tags Name and Value

    • Select Next.

  • Review + Create

    • Review the Price and TERMS sections.

    • Agree to Co-Admin Access Permissions. (This allows Bsure - the publisher - access to the Managed Resource Group for application maintenance)

    • Select Create.

    • Wait for deployment to finish.

  • Continue to First-run Config to continue the setup process.

  • Azure Marketplace link

    Sign-in Status: Filter for guest users that have Never signed in and guest users that have Signed in.

    Account: - Enabled - Enabled guest users - Inactive - Disabled guest users

    Domain Type: Filter for if the guest account is from a Managed or Unmanaged domain. Read here for more information.

    User Principal Name: Free text search for a guests user name. Report will update accordingly.

    Focus and Breakdown section

    The Focus Table shows the distribution of active and inactive guests.

    The Breakdown Table shows the distribution of guests from different mail domains or sponsors

    Sponsors was introduced in July 2023 and from then the inviting user was set as sponsor. It is possible to assign up to 5 users and groups as sponsors for one user object in Entra ID. If more than one sponsor field will contain a semicolon separated list. If groups are set as sponsor we prefix the group display name with Group:"Group Display Name" in the semicolon separated list.

    User details table with column selector

    The user details table lists all guest users in scope of your filtering selections. The table has a default set of columns. You can change these to your preferences using the columns selector.

    Filter Templates
    Slicer menu
    Filter Templates

    You can edit or delete a record by clicking the square to the right of each group name:

    We are currently building more roles and more options to offer individuals a more granular access to reports and content in the application.

    You can change role or delete a user from Bsure Insights by clicking the square with the three dots to the right of each user.

    Cost Dashboard

    The License Cost Dashboard provides a basic overview of your total license expenses and potential monthly cost savings. In the graph on the bottom right you can see historical license utilization, and see if this has improved over time.

    Dashboard Layout

    Total Monthly License Costs

    • This section gives a flash of the overall license cost for the company, split by company specific licenses, and user licenses.

      • Company specific licenses are general licenses, i.e related to storage or sandbox environments.

      • User licenses are licenses assigned to specific users

    • Interactive table: If you click this table it will take you to license overview, which gives you a detailed breakdown of all the licenses you have, quantity and cost

    Distribution of costs

    • This chart provides a distribution of your license cost today, and the darker colors are active licenses (user licenses or company licenses), while the brighter colors means you have potential savings that needs to be looked further into

    Potential monthly cost savings

    • This table provides an overview of your potential savings, distributed by three different types

      • Unassigned licenses: Refers to licenses on stock that are available to be allocated to new users. If they remain unassigned when renewal date arrives, these licenses should not be renewed, resulting in cost savings. The reneweal date will depend on what kind of agreement you have, and if you are on a CSP agreement you will see the savings faster than if you are on a EA license agreement

      • Inactive: Refers to value of licenses assigned to users that are inactive, meaning they have not logged into their account the last 90 days. These users should be investigated, and if the licenses are unnecessary they should be removed.

    Historical cost

    • This graph provides an overview of historical license utilization, where your goal should be to make the bottom two colors (pink and yellow for inactive and disabled users) to be as small as possible. All unassigned licenses will be shown with a light yelloe color as a top bar in the graph

    • Target: Prepare your company for the upcoming license renewal date by cleaning up licenses allocated to inactive and disabled users, so when renewal date comes all unassigned licenses can be removed and your company can reduce their monthly spend

    Types of license agreements:

    • CSP License Agreement:

      • Immediate Action: Licenses can be removed instantly, offering immediate cost-saving benefits.

    • EA License Agreement:

    Cost

    In the application cost report we want you to add a cost and quantity purchased of each application, giving you the chance to leverage cost control for all your SaaS apps with single-sign-on (SSO) through Entra ID. We recommend you to run Bsure for at least 30 days to have enough data to consider whether you have a potential saving on an application.

    Visit Customer Settings - Applications to learn how to add your selected applications to the Cost report.

    User sign-ins will start from the day you install Bsure Insights or from the time Bsure patch your instance and keep information for the period you entered when installing Bsure Insights Azure Marketplace app. Contact [email protected] to change this setting if needed.

    Filter alternatives

    • User Purpose: Filter on the type of Exchange Online mailbox connected to the user.

      • User - A user account with a mailbox.

      • Guest - The user purpose for guest users is set to Guest.

      • Shared - A shared mailbox user.

    • Last used period: Helps you filter on the time period you want to look into for application usage

    • Sign-in Type: Select to view Interactive or Non-interactive sign-ins - or both.

    • Microsoft app: Gives you the opportunity to filter between Microsoft apps and third party apps. Read more on

    • Application filter: This filter includes all available apps, so you can choose a single app to filter on

    • Resource filter: Filter on the resources consumed

    • User principal name: Free search for user principal names

    Focus table - Application cost

    • In this table you will see all applications where you have configured cost and quantities purchased, and how many unique users have authenticated themselves towards since Bsure was installed. By entering cost and quantities purchased you can do cost control on all your SaaS applications with single-sign-on towards your Entra ID.

    • We recommend Bsure to be installed for at least 30 days before making decisions on whether to remove licenses or not

    • This table consists the different applications and the number of times they have been accessed

    Breakdown table - additional filter available for different user properties

    • This table shows the distribution of logins for the chosen user property in the breakdown filter

    • Breakdown filter: Choose the preferred property you want to filter by, by using the breakdown filter on the right side. We have also included Extension attributes as this is often used by companies

    User details table - Cost

    • In this table you can drill down on the specific users and which applications they have been authenticated towards since Bsure was installed, and which cost that application has

    • The column selector on the right hand side gives you the opportunity to choose which information is the most interesting to see.

    You can show all applications that have a default price of 0 and a bought quantity of 0 by removing the tick "Apps with Cost = TRUE" in the filter section

    Authentiation Methods

    Authentication methods is a report that gives insights into Multi Factor Authentication configurations per user.

    You will see the default MFA method used by each individual and should consider to run MFA campaigns to ensure that all your end-users uses a secure way to authenticate to your solutions and data. You will also see all MFA methods configured and available per user.

    This is a quite complex subject and You should make sure that you've followed Microsoft best practice guidance

    Worst case scenario is if someone guess the correct password to a member account haven't registered MFA and have not self service password registered. Most likely someone will configure MFA according to policy and start consuming your solutions and data.

    You will find these users by selecting MFA registration complete = FALSE and SSPR Registered = FALSE

    Sign-in Locations

    Showing users successful sign-in locations for selected sign-in period

    Description of the Users - Sign-in Locations report:

    1. Users

      • Showing the number of users that has signed in according to your filtering selections.

    2. Sign-in Period

      • Select period to show sign-ins for a specific interval.

    3. User Type

      • Select to show Member or Guest sign-ins - or both.

    4. Geo-filters for Region, Country, State and City

      • Filter on specific world regions, countries, states and cities.

    5. Focus Table

      • Showing the sign-in country

    6. Sign-in Locations Map

      • Map of daily sign-in locations according to your filtering selections.

    7. Breakdown Table and Filter

      • Use the Breakdown Filter to choose the user property you would like to se in the Breakdown Table

    8. User Details Table with Column Selector

      • User details for the sign-ins, according to your filtering selections.

    9. User Principal Name Search

      • Free text search for a user name. Report will update accordingly.

    Security + Public SQL

    Security​

    To ensure confidentiality and privacy, our application has these features:

    • All data is encrypted at rest and in transit​.

    • Container App uses Entra Id and access token validation to enable SSO,

    • Outbound data contains no personal data, only data used for billing or handcraftet operational signals to ensure no personal data in error messages.

    • Billing information only contains the number of billable user accounts found in Entra Id and Managed Application identifier.

    • The Managed Application uses to access MS Graph with read only​.

    • Azure Keyvault for secrets (Bsure personnel cannot access these secrets)​.

    • SQL only supports identities from the customer tenant, Entra Id only login.

    Example Bsure personnel accessing the Key Vault:

    The Keyvault resides in the Managed Resource Group, but Bsure have no access to access the secrets.

    Bsure have the Contributor RBAC role, which is not sufficient to read secrets, or elevate permission.

    References:

    Azure built-in RBAC roles:

    Azure built-in roles for Key Vault data plane operations:

    Windows Management

    Assess management status of Windows devices in Microsoft Entra ID to prioritize enrollment.

    The Windows Management report displays details for Windows devices in your Microsoft Entra ID environment. The report focuses on management status to help you identify unmanaged devices.

    The report provides a summary of Windows device management states and detailed device information.

    Focus Table - Windows Management State

    View Windows device management states.

    Use the Focus Table to get a quick view on the different Windows management states of your devices:

    • Unmanaged disabled devices

    • Managed disabled devices

    • Unmanaged enabled devices

    • Managed enabled devices

    Or try the predefined Filter Templates to look for more specific use cases.

    Looking for devices that maybe should have been managed? Try the Show Active Entra ID Registered Devices with Owners.

    Windows Inactive Devices

    View inactive Windows devices in Microsoft Entra ID with priority details for removal.

    The Windows Inactive Devices report displays details for Windows devices in your Microsoft Entra ID environment that have had no activity in the last 90 days. Use this report to identify and remove stale devices to reduce security risks and optimize your device management.

    The report provides a summary of inactive Windows devices, categorized by removal priority, and detailed device information to assist with cleanup.

    Focus Table

    This section categorizes inactive devices by removal priority.

    Inactivity State

    • Disabled, Not Used and Ownerless Devices Devices that are disabled, inactive, and not assigned to a user.

    • Enabled, Not Used and Ownerless Devices Devices that are enabled, inactive, and not assigned to a user.

    • Disabled, Inactive and Ownerless Devices Devices that are disabled, inactive for 90 days, and not assigned to a user.

    • Enabled, Inactive and Ownerless Devices

    Breakdown Table & Filter

    Group inactive devices by selected user properties, to see where the devices with a registered owner belongs in your organization.

    Remove Stale Devices

    Use the Windows Inactive Devices report to identify devices for removal. Follow Microsoft’s best practices for in Microsoft Entra ID:

    1. Review Removal Priority: Use the Focus Table to identify high-priority devices, such as "Disabled, Not Used and Ownerless Devices" or "Enabled, Not Used and Ownerless Devices."

    2. Check Device Details: Review the Device Details Table to confirm device status, ownership, and compliance. Use the Column Selector to add properties for more context.

    3. Export Data: Export the Device Details Table to Excel to create a worklist for your IT team.

    4. Follow Best Practices

    Drilldown

    In this report we combine the information from the previous reports and give you the chance to drill down on all member and guest users statuses.

    Top filter menu

    Users: Showing the total number of users according to your filtering selections.

    User Purpose: Filter on the type of Exchange Online mailbox connected to the user.

    User - A user account with a mailbox. Guest - The user purpose for guest users is set to Guest. Shared - A shared mailbox user. Room - A user with a mailbox that represents a conference room. Equipment - A user with a mailbox that represents a piece of equipment. Others - A mailbox was found but the user purpose is not specified. Unknown - User has no Exchange Online mailbox, or we were not able to read it.

    Created Date & Last Sign-in Date: Set periods for when users where created or their last sign-in date.

    User State: - Active - users having signed in the last 90 days - Inactive - users that has not signed in the last 90 days

    Sign-in Status: Filter for users that have Never signed in and users that have Signed in.

    Account: Filter for showing Disabled or Enabled users - or both.

    User Source: Filter for showing if the users are Cloud native (created in your Entra ID) or if they are On-premises synced from your on-premises Active Directory.

    User Principal Name: Free text search for a user name. Report will update accordingly.

    Focus and Breakdown section

    Focus Table: The focus table shows the distribution of Active, Inactive and Disabled member and guest accounts in your tenant.

    Breakdown Table and Filter: Use the Breakdown filter to see the distribution of member and guest users based on selected user properties.

    User details table with column selector

    The user details table lists all member and guest users in scope of your filtering selection. The table has a default set of columns. You can change these to your preferences using the column selector.

    Bulk deletion of users in Entra ID

    Microsoft has a great guide on how to bulk delete users using Entra admin center

    This process of deleting users in bulk is quick (5 minutes), easy and safe to use.

    When you export a list of users from User Details Table to excel format, verify the list once more and copy the User Principal Name column (except from column header and bottom row) into column A from line 4 in the CSV template referred to in the Microsoft documentation.

    User Details Table export to the left and CSV template to the right

    Follow the instructions in the documentation.

    Tip to verify deleted users:

    • Sign in to the Microsoft Entra admin center as at least a User Administrator.

    • Select Microsoft Entra ID.

    • Click Users and then Deleted users

    It may take a few minutes for the Microsoft Entra ID admin center to show the recently deleted users

    Drilldown

    Analyze devices in Microsoft Entra ID with customizable focus areas for flexible insights.

    The Drilldown report displays details for devices in your Microsoft Entra ID environment. The report allows you to choose your area of focus for a customizable analysis of device properties.

    The report provides a flexible summary of devices based on a selected focus area, with detailed device information.

    Focus Table and Focus Filter

    Select your own focus area using the Focus Filter. Select from all available device properties.

    Filter Templates

    Use the Filter Templates as inspiration on what to look for.

    Installation Guide

    Follow this step-by-step guide to install Bsure Insights from Azure Marketplace.

    1

    Check prerequisites

    Verify you meet the prerequisites.

    2

    Install Bsure Insights from

    Find and install our managed application from Azure Marketplace.

    3

    Run wizard

    Open the web app to start the initial configuration of Bsure Insights.

    • Grant permissions

    Drilldown

    In this report we combine the information from the previous reports and give you the chance to drill down on all user- and license specific data

    Filter alternatives

    • User Purpose: Filter on the type of Exchange Online mailbox connected to the user.

      • User - A user account with a mailbox.

    Usage

    Applications showing in this report consume applications, data and other resources your end-users will have to authenticate by using their Entra ID credentials

    In the Application Usage report we give you insight in which applications users in your Entra ID is consuming. The report is based on the sign-in logs from Entra ID, and we start collecting this from the day Bsure is installed, meaning that you will get more insights the longer Bsure Insights have been running.

    Filter alternatives

    • User Purpose: Filter on the type of Exchange Online mailbox connected to the user.

      • User - A user account with a mailbox.

    Inactive and Disabled Users

    This report provides you with a detailed breakdown of licenses allocated to inactive and disabled users, which should be considered removed to reduce license spend.You can drill down on the different license types as well as the individual users and which licenses they have assigned. All tables in this report are interactive and if you filter/click on one object the other tables will respond to this.

    Tip: If you click on one line in either table, all the other tables will adjust with the appropriate information. I.e, if you want to see all users with a specific license, click on that license in the focus table, and the user details table will list all those people

    Design Principles

    Why and how Bsure Insights differentiates from many other offerings.

    How Bsure Insights differentiates:

    At Bsure, privacy is not an afterthought—it is the foundation of everything we build. From the very beginning, our solutions have been developed according to the principles of privacy by design and by default, ensuring that protection of personal data is embedded into our architecture, systems, and processes.

    Key Difference: Unlike traditional SaaS applications—where customer data is typically transferred to vendor-hosted environments under broad data processing agreements—Bsure ensures that no customer user data is ever exposed to us or to any third parties.

    Entra ID Roles

    This page displays active assignments of Entra ID roles assigned to users, groups or service principals.

    Entra ID roles gives a user, group or service principal permissions to manage Microsoft Entra.

    Filter alternatives

    • Entity type: Filter on whether entity is user, group og service principal

    • Created date: Use the slicer to determine which period you want the user/group to be created

    Migration

    This page guides existing Bsure Insights customers through migrating their data to version 2. It outlines the requirements and steps needed to securely transfer existing data.

    Migrate data from version 1

    This wizard will transfer your previous configuration and history in version 1:

    • Microsoft license prices - NB: Go to to set price per subscription after migration

    Price Settings

    In this report you can choose whether to use Microsoft's list prices, or your own prices in your own currency when viewing your data.

    Visit to learn how to add your own prices for licenses.

    In addition you will see how many users we bill your company every day.

    Billed users

    This is the numbers of users used for billing of your subscription

    Groups

    This page gives you the opportunity to see members in one or more Entra ID groups, and by giving a cost to a group it makes it easy to allocate costs.

    You can specify which groups You want to include in the report, set a cost per member of each group and give the groups a friendly name.

    Visit to add the groups you want to monitor in this report.

    Key benefits with report

    Billing

    Bsure Insights Azure Managed Application is billed through your existing subscription. You will find the cost for Bsure Insights under Service Family "Azure Marketplace Services" on your detailed Microsoft invoice.

    You can also monitor the cost in

    Subscription Overview

    This report is designed to give you a comprehensive understanding of your Microsoft cloud subscriptions. It details the types and quantities of subscriptions you have purchased and their respective expiration dates, helping you plan ahead effectively. If you have unassigned licenses on subscriptions set to expire, don't renew them and save costs

    Tip: Set your focus period to your choice in the filter, and subscribe to this report at your preferred frequency. That way you will get a reminder of upcoming renewal dates and potential savings/focus areas in the near-term.

    Filters/Selection choices

    Data Quality

    Use this report to get the insights you need to improve your users data quality

    Filters

    Users: Showing number of users. Will change according to your filtering selections

    Created Date: Filter on users create date

    Last Sign-in: Filter on users last sign-in date

    User State:

    Subscriptions

    By default the prices in our app are standard Microsoft list prices in USD. These prices will not be accurate for many organisations. This page will show you how you can add your own prices!

    You need to hold the User role Super Admin to be able to navigate to subscription configuration page

    All subscriptions in your tenant will be listed in this view. You can search for licenses and sort each column the way you prefer.

    To add your price on a specific subscription, click the square with the three dots to the right and press Edit subscription. Make a note on the Renewal date and Total (amount of licenses) to find the price on that specific subscription:

    Enter a note on terms (monthly, yearly) and perhaps source (csp partner, credit card etc) and set the correct value in you currency and click Save

    Cost Allocation

    The cost allocation report gives you the opportunity to allocate licenses All tables in this report is interactive and if you filter/click on one object the other tables will respond to this

    Filter alternatives

    • Allocation period shows the period of which you have chosen for allocation

    • Selection period gives you the opportunity to select a certain period of which you want to allocate the cost from

    Pricing

    Description of how standard billing works in Bsure Insights.

    Bsure Insights Data Collector

    • is installed from Microsoft Azure Marketplace costs 0.5 USD/month per user with a license assigned in Entra ID.

    Privacy and Data Handling
    • Data Sovereignty: All personally identifiable information (PII) is processed exclusively within the customer’s own environment. No user data is transferred to Bsure or external parties.

    • Azure Managed Application: Our solution is delivered as an Azure Managed Application, deployed and hosted directly within the customer’s own Azure subscription.

    • Restricted Access: Although Bsure, as publisher, technically has access to the managed application resource group, we have implemented strict safeguards. No Bsure personnel can access customer resources without going through a tightly controlled privilege escalation process. Data stores are locked down to prevent access, requiring significant infrastructure changes to override.

    We recognize the trust customers place in us when deploying our solution. To honour this trust, we enforce rigorous safeguards that make privacy a guaranteed standard, not an option.

    Customer Insights with Full Control

    To give customers full transparency, we provide a secure web-based solution running entirely inside their own environment. This integrates with Power BI, leveraging Single Sign-On (SSO) via the customer’s Entra ID for authentication. Importantly, Bsure has no ability to log in to or access this portal.

    Commitment to Privacy

    By design, our architecture ensures that privacy is absolute. Customers retain control of their data at all times, with Bsure providing insights and value without ever accessing sensitive information.

    Create Azure SQL database

  • Set retention settings

  • Create Power BI Workspace

  • Azure Marketplace
    first-run configuration
    Azure Cost Management + Billing
  • Disabled: Refers to value of licenses assigned to users that are disabled. These users can't use their account, and the license should be removed.

  • Interactive boxes: All 4 boxes are interactive and will take you to the report where you can see detailed breakdowns. I.e if you click the Inactive box it will take you to the Inactive and Disabled Users report where you can see an overview of all Inactive users with licenses assigned to them

  • Scheduled Action: Licenses under this agreement can be removed or adjusted during the renewal process with Microsoft.

    Room - A user with a mailbox that represents a conference room.
  • Equipment - A user with a mailbox that represents a piece of equipment.

  • Others - A mailbox was found but the user purpose is not specified.

  • Unknown - User has no Exchange Online mailbox, or we were not able to read it.

  • Microsoft first-party applications
    Unmanaged devices not in use
  • Managed devices not in use

  • Unmanaged devices in use

  • Managed devices in use

  • Devices that are enabled, inactive for 90 days, and not assigned to a user.
  • Enabled, Not Used Devices with an Owner Devices that are enabled, inactive, and assigned to a user.

  • Enabled, Inactive Devices with an Owner Devices that are enabled, inactive for 90 days, and assigned to a user.

  • :
    • For devices managed by an MDM solution like Intune, ensure they are retired from the management system before removal from Entra ID.

    • For devices with BitLocker encryption, consider backing up recovery keys to avoid data loss.

    • For devices registered with Windows Autopilot, consider the impact of removal on re-provisioning.

  • Establish Processes: Create consistent processes for identifying, disabling, and removing stale devices. Define roles, timelines, and approval workflows to ensure governance and minimize risks.

  • managing stale devices

    Guest - The user purpose for guest users is set to Guest.

  • Shared - A shared mailbox user.

  • Room - A user with a mailbox that represents a conference room.

  • Equipment - A user with a mailbox that represents a piece of equipment.

  • Others - A mailbox was found but the user purpose is not specified.

  • Unknown - User has no Exchange Online mailbox, or we were not able to read it.

  • Created date: Helps you filter on when users were created

  • Last sign-in: Helps you filter on showing all users from when they were last created. In this overview you can i.e exclude users created last two weeks

  • User state: Choose if you want to see overview of active or inactive users or both

  • Sign-in status: Helps you filter on users who have never signed in and users that have

  • Account: Filter for showing Disabled or Enabled users - or both.

  • User Principal Name: Free text search for a user name. Report will update accordingly.

  • Useful words to search for on user principal name:

    • "Test"

    • "Admin"

    Focus table - license types

    • This table shows you all licenses, quantity and cost.

    Breakdown table - additional filter available for different user properties

    • This table shows the distribution of cost for the chosen property

    • Breakdown filter: Choose the appropriate property you want to by using the breakdown filter on the right side. We have also included Extension attributes as this is often used by companies

    User details table

    • In this table you can drill down on the specific users that have licenses allocated to them and investigate whether they should be removed or not.

    • The column selector on the right hand side gives you the opportunity to choose which information is the most interesting to see. Some of the most interesting properties to see based on our experience is:

    1. Created

    2. Last sign-in

    3. Days since last sign-in

    4. Cost

    5. Licenses combined

    This table can be exported with live integration to Excel and be used as a worklist across different functions to clean up. The spreadsheet will be automatically updated every night

    Guest - The user purpose for guest users is set to Guest.

  • Shared - A shared mailbox user.

  • Room - A user with a mailbox that represents a conference room.

  • Equipment - A user with a mailbox that represents a piece of equipment.

  • Others - A mailbox was found but the user purpose is not specified.

  • Unknown - User has no Exchange Online mailbox, or we were not able to read it.

  • Last used period: Helps you filter on the time period you want to look into for application usage

  • Sign-in Type: Select to view Interactive or Non-interactive sign-ins - or both.

  • Microsoft app: Gives you the opportunity to filter between Microsoft apps and third party apps. Read more on Microsoft first-party applications

  • Application filter: This filter includes all available apps, so you can choose a single app to filter on

  • Resource filter: Filter on the resources consumed

  • User principal name: Free search for user principal names

  • Focus table - Application usage

    • In this table you will see all applications users have authenticated themselves towards since Bsure was installed, and how many the application has been accessed

    • This table consists the different applications and the number of times they have been accessed

    Breakdown table - additional filter available for different user properties

    • This table shows the distribution of logins for the chosen user property in the breakdown filter

    • Breakdown filter: Choose the preferred property you want to filter by, by using the breakdown filter on the right side. We have also included Extension attributes as this is often used by companies

    User details table - Application usage

    • In this table you can drill down on the specific users and which applications they have been authenticated towards since Bsure was installed.

    • The column selector on the right hand side gives you the opportunity to choose which information is the most interesting to see.

    Dashboard layout

    Filters

    • User Purpose: Filter on the type of Exchange Online mailbox connected to the user.

      • User - A user account with a mailbox.

      • Guest - The user purpose for guest users is set to Guest.

      • Shared - A shared mailbox user.

      • Room - A user with a mailbox that represents a conference room.

      • Equipment - A user with a mailbox that represents a piece of equipment.

      • Others - A mailbox was found but the user purpose is not specified.

      • Unknown - User has no Exchange Online mailbox, or we were not able to read it.

    • User State: Choose if you want to see overview of inactive or disabled users or both

    • Sign-in Status: Filter for users that have Never signed in and users that have Signed in.

    Focus table - Overview of license types

    • This table shows you all licenses and the quantity and cost that can potentially be saved

    Breakdown table - additional filter available for different user properties

    • This table shows the distribution of cost for the chosen property

    • Breakdown filter: Choose the appropriate property you want to by using the breakdown filter on the right side. We have also included Extension attributes as this is often used by companies

    User details table

    • In this table you can drill down on the specific users that have licenses allocated to them and investigate whether they should be removed or not.

    • The column selector on the right hand side gives you the opportunity to choose which information is the most interesting to see. Some of the most interesting properties to see based on our experience is:

    1. Created

    2. Last sign-in

    3. Days since last sign-in

    4. Cost

    5. Licenses combined

    This table can be exported with live integration to Excel and be used as a worklist across different functions to clean up. The spreadsheet will be automatically updated every night

    Last sign-in: Use the slicer to determine the last sign-in period of the user

  • User state: Choose if you want to filter on active or inactive users

  • Account: Filter for showing Disabled or Enabled users - or both.

  • Sign-in status: Helps you filter on users who have never signed in and users that have

  • MFA Reg: Filter on whether MFA registration process has been completed or not

  • License Status: Filter on if users are licensed or not

  • Entra Level: The Entra ID license level of the user (Free, P1, P2, Governance)

  • User principal name: Free search for user principal names

  • Focus table - Entra ID role assignments

    • The table provides an overview of all roles with administrative privileges, and number of entities that have the different role.

    • Groups and service principals with Entra ID roles should be reviewed.

    This is an interactive table, and by clicking one of the roles you can see the details of who has the role in the entity details table below

    Breakdown table - additional filter available for different user properties

    • This table shows the distribution of roles for the chosen user property in the breakdown filter. If a line is blank it means that this is a service principal or a group

    • Breakdown filter: Choose the preferred property you want to filter by, by using the breakdown filter on the right side. We have also included Extension attributes as this is often used by companies

    Entity details table

    • In this table you can drill down on the specific users that have administrative privileges and investigate whether they should be removed or not.

    • The column selector on the right hand side gives you the opportunity to choose which information is the most interesting to see.

    Be aware of users without MFA registered or users who have not been logged in for more than 90 days

    NB: Bsure Insights will only display active assignments and not eligible assignments due to permissions needed to extract eligible roles via Microsoft Graph. The app must be given write access to roles in order to extract eligible roles. This is not something you should allow.

    Configured applications with cost and units bought

  • Configured groups with assigned cost

  • User attribute history

  • User license history

  • Sign-in logs

  • In the address bar, add /admin-settings/migration after main url to Bsure Insights

    Paste connection string (not the Key) to the storage account used by Bsure Insights version 1 into the field:

    Press Run First it will show pending, and when done it will state Success. Process can take up to a few hours, but feel free to continue using the application while copy-job runs.

    Remove version 1 after migration

    When version 2 is up and and running, data is migrated and users are added, you can follow these steps to remove version 1:

    There are 3 components involved in version 1:

    • Azure Managed Application

    • Storage Account

    • Power BI app / workspace

    Remove Managed application and Storage account

    Find the resource group in Azure where you have installed Bsure.

    Delete the Managed application that belongs to version 1, and the Storage account. Only keep the new Managed application for the version 2.

    The resource groups named mrg-bsureinsights-2025xxxxxxxxxxx are connected to the Managed application. You don't have to delete these. It will be removed automatically when the Managed application is deleted

    Remove version 1 Power Bi App / Workspace

    Go to https://app.powerbi.com/groups/me/apps and check who is owner of the version 1 Power Bi App.

    As owner go to Workspaces, and open the version 1 workspace. The workspace that has a "b." logo is the version 1 workspace.

    Open Workspace settings:

    Scroll to the bottom of the General page, and Remove this workspace

    You have now completely removed Bsure Insights version 1.

    Subscription page
    Filter alternatives
    • Price selector: Gives you the option to choose whether you want to see Microsoft's list prices or your own price

    • Currency selector: Filter on and choose the currency you want to use for the report

    Table User Licenses Price

    • In this table you see an overview of all your user licenses with the list price from Microsoft, and your own price if you have added them yourself

    Table Company Licenses Price

    • In this table you will see all your company licenses with the list price from Microsoft, and your own price if you have added them yourself

    Customer Settings - Subscriptions
    Cost Allocation
  • See members of groups with administrative privileges

  • Report will be empty until you follow instructions to Configure which groups to show in the report.

    The report will show You all your specified groups in the Focus table with how many users and the total cost per group. The report itself has the same setup as the other reports with a focus table, a breakdown table and a user details table

    Customer Settings - Groups

    Subscription period: This filter gives you the opportunity to show subscriptions in given time frames. I.e if you want to focus on subscriptions to be renewed next 3 months set filter period to next 3 months

  • Subscription status: Gives you the opportunity to filter on enabled, suspended and locked out subscriptions

  • Unassigned count: Give you opportunity to filter on subscriptions on the unassigned licenses count

  • Table - User Subscriptions

    • Overview of all user subscriptions and their expiry date

    • Tip: Subscriptions with unassigned licenses represent potential cost savings

    Table - Company Subscriptions

    • Overview of all company specific subscriptions and their expiry date

    Graph - Value of unassigned licenses

    • This graph provides you with potential savings if unassigned licenses are not renewed at renewal date

    Filter on Active or Inactive users (Active user = logged in the last 90 days)

    Sign-in Status: Filter on users Never signed in and signed in users

    User Type: Filter to show only Member or Guest users

    Account: Filter to show Disabled or Enabled users

    User Source: Filter to show if users origin is Cloud (Entra ID native) or synced from you on-premises Active Directory.

    User Principal Name: User name free text search

    TIP!

    Use the free text search to search for user names containing "test", "admin" etc.

    Focus and Breakdown

    User Details

    Set correct price on each subscription. Bsure Insights will calculate the average price for each license available in Entra ID.

    When done, please select customer price and select your currency from drop down menu:

    Click Refresh Power BI button to see changes. THis may take a few minutes, and you can follow progress by clicking the bell icon next to your name in the top right corner of the app.

    Focus table - license types
    • This table shows you all licenses, quantity and cost. This list is the basis for the total cost and allocation

    Breakdown table for allocation of costs

    • This table gives you the breakdown for allocation of costs based on the property selected

    • Breakdown filter: Gives you the option to choose the property you want to allocate on, either it is department, company, main domain or an extension attribute

    User details table

    • In this table you can drill down on the specific users that have licenses allocated to them.

    • The column selector on the right hand side gives you the opportunity to choose which information is the most interesting to see. Some of the most interesting properties to see based on our experience is:

    1. Created

    2. Last sign-in

    3. Days since last sign-in

    4. Cost

    5. Licenses combined

    No startup or cancellation fees.
  • The cost is calculated daily. You will only pay for the number of days you have the app installed in a month. The daily cost is calculated like this:

    • For large enterprises and organizations we also offer custom pricing upon request.

    Azure Infrastructure Costs

    In addition to the monthly cost of subscribing to our product, there will be some Azure infrastructure consumption. This is the cost of running the Storage Account(s), SQL Database, Container Apps, Key Vault and Log Analytics Workspace included in our solution.

    Bsure Insights
    Managed Identity
    https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles
    https://learn.microsoft.com/en-us/azure/key-vault/general/rbac-guide?tabs=azure-cli#azure-built-in-roles-for-key-vault-data-plane-operations

    Application Overview

    Give you an overview of all your appllications in Entra ID their related sign-in events

    This report will show you how many users that have signed into the specific application, and also if the application have been signed into by a service principal or a managed identity.

    The report will help you find applications in use and also the applications not in use.

    Slicer menu:

    • Applications: number of applications based on you filter choices

    • Microsoft App: Gives you the opportunity to filter between Microsoft apps and third party apps. Read more on

    • App Used: If neither used by end-users nor service principal/Managed identity = No, else Yes

    • User Sign-In: If used by End-users or not

    • App Sign-in: If used by Service Principal or Managed Identity or not

    • Latest User Sign-In: To filter on a specific period when end-users signed into the applications

    • Latest Application Sign-in: To filter on a specific period when Service Principal or Managed Identity signed into the applications

    Use report to find application usage and track Service Principals.

    Overview

    Learn how to install and set up Bsure Insights in your Azure environment.

    Bsure Insights is deployed as an Azure Managed Application, which automatically provisions all required components in your own Azure environment:

    • Azure Container Apps: run the data collection services that connect to Microsoft Entra ID via Microsoft Graph, and also host the web application.

    • SQL Server and database: securely store and process the collected data inside your Azure subscription.

    • Power BI workspace: automatically deployed with pre-built reports and dashboards, embedded directly into the solution for immediate use.

    Bsure maintains and updates the managed application to ensure reliability, security, and continuous access to the latest features.

    Quick self-service installation

    Installing Bsure Insights is simple and takes less than 30 minutes, provided all are met. The deployment is fully automated through the Azure Marketplace, with all components provisioned in your environment.

    To begin, follow the , which walks you step by step through the process.

    Licenses Overview

    This section offers a detailed view of all licenses, including the quantity purchased, type, and categorization into user-specific and company-specific licenses. You will also see potential savings broken down on license type, and see if you are compliant (under licensed) within certain license types

    Dashboard Layout

    1. Table - Monthly User License Cost

    • Shows all user licenses, their price, total cost and how many that have been assigned to people in the organization.

    • Tip: A discrepancy between total licenses bought and allocated indicates surplus licenses, which can be assigned to new employees or considered for removal at the next Microsoft license agreement renewal.

    1. Table - Monthly User License Overuse Value

    • Highlights non-compliance by showing where more licenses are allocated than purchased.

    • Action Required: To achieve compliance, either purchase additional licenses as indicated or reallocate licenses from inactive or disabled users.

    • Compliance Indicator: A blank table signifies full compliance.

    1. Table - Monthly Company License Cost

    • Provides an overview of company-specific licenses that are not allocated to any users.

    1. Table - Monthly Potential Cost Savings

    • Details potential savings from unassigned licenses, inactive, and disabled users.

    • Unassigned Licenses: Licenses purchased but not assigned. These can be allocated to new users or not renewed during upcoming license negotiations with Microsoft.

    • Inactive Licenses: Licenses assigned to users inactive for over 90 days. Consider downgrading or removing these licenses.

    1. Table – Monthly suspended licenses

    • This table displays licenses you have terminated, yet they remain allocated to users. It’s important to know that licenses listed here are correct, as users connected to these licenses will lose functionality upon removal

    Permissions Required

    by the Bsure Insights Data Collector Managed Application

    When you run the permissions script during the installation process, you give the Microsoft Graph permissions below to a Managed Identity used by a Container App in the Managed Resource Group.

    Permission

    Resource Name

    Reason

    AuditLog.Read.All

    collector

    Allows the app to read audit logs to monitor sign-ins and activities for security and compliance (read-only).

    DeviceManagementManagedDevices.Read.All

    collector

    Allows reading Intune-managed device inventory and status to support reporting and troubleshooting (read-only).

    Directory.Read.All

    Permissions Bsure have in your environment:

    To monitor jobs and provide updates and new features the solution provider Bsure will be given contributor and owner access during installation to the Managed Resource Group inside the managed application.

    Dashboard

    The Users Dashboard has two parts. Tiles showing your tenant's users - types and state. And a user data quality section showing status over time for some of the most commonly used user properties.

    Users Overview Tiles

    Users Dasboard - User overview tiles

    Users: Total number of users in your tenant.

    • Members: Total number of member users

    • Guests: Total number of guest users

    Active: Users signed in the last 90 days

    • Members: Member users signed in the last 90 days

    • Guests: Guest users signed in the last 90 days

    Disabled: Total number of disabled users in your tenant

    • Members: Total number of disabled member users

    • Guests: Total number of disabled guest users

    Inactive: Users not signed in the last 90 days

    • Members: Member users not signed in the last 90 days

    • Guests: Guest users not signed in the last 90 days

    User Data Quality

    The User Data Quality section tracks missing member user properties over time for these commonly used user properties:

    • Company

    • Department

    • Manager

    • Job Title

    When working with improving your data quality, you can get a quick overview of the effect in this dashboard.

    As the gauges and graphs show information about missing properties - you should strive to lowering the percentage!

    Devices per Person

    Analyze the number of devices per user in Microsoft Entra ID.

    The Devices per Person report displays details for devices in your Microsoft Entra ID environment. The report focuses on the number of devices per Registered Owner (user) to help you assess device distribution in your organization.

    The report provides a summary of device counts per user and detailed device information.

    User Device Distribution

    The Focus Table shows the number of devices per user (where user is a registered owner of the device). Use the filter options in the Slicer Menu to look for different types of devices, activity and management states.

    Use the Breakdown Table and Breakdown Filter to choose your view of the distribution in your organization based on the user properties available.

    Try the predefined Filter Templates to get inspiration on what to look for.

    Troubleshooting

    Errors during installation

    If you experience any issues during the third stage of the installation, you'll need to remove the managed application and initiate the process again. Instructions on how to find and delete your managed application are provided below. Please wait until deletion is completed before starting again. If the installation fails for a second time, please examine the deployment logs to identify the necessary corrective measures. If you need further , don't hesitate to reach out to us.

    • The most frequent issue during installation occurs when the Azure Resource Manager is unable to deploy resources due to unspecified reasons, such as not being able to find the subscription while deploying certain Azure Resources.

    Review and clean up applications with excessive permissions

    Problem description:

    Many software solutions is made to enhance or offer functionality/features on your data in Microsoft 365 cloud. Most organizations does not have a fully functional application governance process.

    Entra ID allows organizations to provide single sign-on (SSO) to applications, services and systems, represented as Enterprise Apps and App Registrations.

    Prime examples of such enterprise applications are Salesforce and Workday for end-user usage and Keepit (backup), Avepoint Fly (migration tool) or Sharegate teams management for operational purposes.

    There are thousands of applications that offers functionality "needed" by your end-users available. End-users is allowed by default to consent to install any of these applications, and if one of your users are compromised they could install an application to copy, delete, manipulate all data in all resources that user have access to.

    Windows Dashboard

    View and manage Windows devices in Microsoft Entra ID with metrics on activity, security, and management status.

    The Windows Dashboard displays metrics for Windows devices in your Microsoft Entra ID environment. Use this dashboard to monitor device health, identify security risks, and optimize device management.

    The Windows Dashboard is divided into three main categories—Devices, Security, and Managed—each focusing on a critical aspect of your Windows device ecosystem. Each category includes high-level metrics and detailed breakdowns to help you understand the status of your devices at a glance.

    Devices

    This section shows the activity and ownership status of Windows devices.

    collector

    Allows reading Azure AD directory data (users, groups, apps) to look up identities and relationships (read-only).

    Domain.Read.All

    collector

    Allows reading domain settings (read-only).

    MailboxSettings.Read

    collector

    Allows reading users’ mailbox settings (type; read-only; no mail access).

    Policy.Read.All

    collector

    Allows reading organization conditional access policies (read-only).

    Directory.Read.All

    updater

    Allows reading Azure AD directory data (users, groups, apps) to look up identities and relationships (read-only).

    prerequisites
    Installation Guide
    Disabled Licenses: Licenses assigned to users who cannot log in. These should be reassigned or terminated.
    Microsoft first-party applications

    Mobile Phone

  • Office

  • User Data Quality over time. Lower percentages is better
  • Please verify if there are any Azure Policies that could potentially impact the Subscription, Resource Group, or Managed Application resource.

  • Test Device Code flow

    To test if you are allowed to use Device Code flow to authenticate from Azure Cloud shell, do the following test:

    1. Open an Azure Cloud shell with the Global Administrator account you will use when installing Bsure Insights.

    2. Type Connect-MgGraph -DeviceCode to start the sign-in process. Open the Microsoft device login URL (you can click it in direct in the shell window to open in a new tab).

    1. Enter the code and follow the sign-in instructions

    1. I your sign-in was succesful, you will see this message:

    If the sign-in fails, it is likely because your organization have blocked or restricted the use of Device Code flow in your Conditional Access policies.

    Learn more about Device code flow in our FAQ: Device Code Flow in the Bsure Installation Process.

    Fail! Your Workspace wasn't created properly.

    In the last step of the First-run Config, you will create the Power BI workspace. This can fail if the Bsure Managed Identities are not able to call the Fabric public APIs in your tenant.

    If you encounter this error it is likely because your organisation have disabled or scoped the setting "Service principals can call Fabric public APIs". The default value from Microsoft is enabled.

    The following managed identities needs to have access to call Fabric public APIs:

    update-<random string>

    update-schedule-<random string>

    Please visit Fabric admin portal and search for public APIs

    Go to Developer settings and check that "Service principals can call Fabric public APIs" are enabled or scoped to a group that contains the three managed identities mentioned above.

    When done, please click Retry button to finalize installation wizard.

    Map and filled map visuals aren't enabled for your org.

    A user holding Fabric Administrator role or higher needs to enable this feature by going to https://app.powerbi.com/admin-portal/tenantSettings?experience=power-bi

    Search for map in the search box in top right corner and expand "Map and filled map visuals"

    Enable feature and press "Apply"

    "By selecting "Enabled", you agree that map and filled map visuals may use Bing services located outside of your Power BI tenant's geographic region, compliance boundary, or national cloud instance. This feature uses mapping capabilities that are powered in part by third parties, TomTom and SK Telecom, and operate outside your tenant's geographic region, compliance boundary, or national cloud instance. Microsoft shares the address and location queries with these third parties, but not the name of the customer or end user who entered the query. This feature is non-regional and the queries you provide may be stored and processed in the United States or any other country in which Microsoft or its subprocessors operate. Use of map and filled map is subject to the following terms."

    assistance
    • What access does all these software providers possess within your environment?

    • From where is your data processed?

    • What kind of data will be stored or processed in that software?

    • Can all these vendors be trusted? Do they have proper security measures in place, and what about backup/availability?

    These questions is important address to avoid security and regulatory breaches.

    "If an application is free of charge, they most likely get paid with access to your data"

    Read up: Microsoft MVP and MCT Sander Berkouwer have written an article explaining Microsoft Entra ID App Registration and Enterprise App Security

    Considerations:

    Decide how you want to onboard new applications. You should establish a process to consider security, risk, compliance and ownership before installing new applications within your environment.

    Due to the simplicity and speed of getting a new application installed, you would have to review what exposure you have today and take actions.

    Bsure recommendations:

    Make sure you've turned off the ability for all users to consent to new applications.

    Inform your users of the new process to implement new applications.

    Review your current applications:

    Bsure Insights - Security - Service Principals report will give you insights into your application environment in Entra ID:

    Start by filtering on security risk critical and high to scope down the list of applications

    Click on each application in Focus table and review the need for it and the permissions given. Where is the data processed?

    Example:

    Why does the printsolution need the permission Sites.ReadWrite.All? That permission "Allows the app to create, read, update, and delete documents and list items in all site collections without a signed in user." Why do you need the permission to delete files in all SharePoint sites in order to print?

    Do You trust this vendor? If that vendor has a security breach, your SharePoint data will be exposed as well.

    Then remove applications and permissions not needed.

    Then review Medium and Low risk as well and delete the apps not needed.

    Bsure Insights would give an attacker powerful insights into your environment and the permissions given the Managed Identity is low (read access)

    To verify from where your apps are processing your data use the map or the breakdown table to click on each country:

    In this example we've filtered on popular operational software "ShareGate Teams management". Sharegate runs their environment in Virginia US according to sign-in logs from the service principal used for that application. This means that ShareGate could process all your SharePoint data with the permission that "Allows the app to have full control of all site collections without a signed in user".

    ShareGate states:

    A risk and compliance evaluation should be performed on all the applications that access and process your data in their own environment.

    What will happen if my application vendor gets a security breach? Do they provide proper safeguards to ensure availability, confidentiality and integrity of my data? Do I have a valid reason to export these data according to laws and regulations that apply to my organization?

    • Inactive Windows Devices: Percentage of devices with no activity in the last 90 days. Remove unused devices to reduce risks.

    • Devices State:

      • All Devices: Total Windows devices.

      • Inactive: Devices with no activity in the last 90 days.

      • Active: Devices with activity in the last 90 days.

    • All Windows Devices:

      • Enabled: Devices currently enabled.

      • With Owner: Devices with a registered owner.

      • Supported OS: Devices on a supported Windows version.

    Security

    This section focuses on Out-of-Support Windows versions.

    • At-Risk Windows Devices: Percentage of devices on end-of-life (EOL) Windows versions. Update these devices to a supported version.

    • End-of-Life Windows:

      • Total Outdated: Total devices on EOL Windows versions.

      • Inactive: Outdated devices with no activity in the last 90 days.

      • Active: Outdated devices with activity in the last 90 days.

    • Active End-of-Life Windows Devices: Active devices on EOL Windows versions. Update these devices to mitigate risks.

      • Enabled Devices: Active outdated devices that are enabled.

      • Disabled Devices: Outdated devices that are disabled.

      • With Owner: Active outdated devices with a registered owner.

    Managed

    This section shows the management status of Windows devices.

    • Unmanaged Windows Devices: Percentage of devices not enrolled in a management solution. Enroll these devices to improve security and compliance.

    • Management Status:

      • Total Unmanaged Devices: Total unmanaged Windows devices.

      • Inactive: Unmanaged devices with no activity in the last 90 days.

      • Active: Unmanaged devices with recent activity.

    • Active Unmanaged Windows Devices: Active devices not enrolled in a management solution. Enroll these devices in Intune for better oversight.

      • Enabled Devices: Active unmanaged devices that are enabled.

      • Disabled Devices: Unmanaged devices that are disabled.

      • With Owner: Unmanaged devices with a registered owner.

    First-run Config

    After deployment, complete the first-run configuration to finish setting up Bsure Insights.

    Find Bsure Insights web app URL

    1. When deployment is done select Go to resource.

    2. Select the application

    3. Select the Managed resource group.

    4. Open the Container App called customer-app-<random string>.

    5. Open the Application Url.

    6. Wait until configuration page is loaded.

    Grant permissions

    In this part you will give Bsure Insights permissions to read data from your tenant through Microsoft Graph.

    1. (Optional) Select Show Script to read the script.

    2. Select Copy Script to add the script to your clipboard.

    3. Select Launch Azure Cloud Shell

      • Opens in a new tab

    Create Azure SQL database

    1. Select Let's start.

    2. Select Configure to set up the Azure SQL Database

      This might take a few minutes...

    3. When done, select

    Set Retention Settings

    1. Configure Retention Settings and select Save.

      • USER STORAGE TIME: How long Bsure Insights will store information about users.

      • SIGN-IN DATA STORAGE TIME: How long Bsure Insights will store information from sign-in logs.

    Create Power BI workspace

    1. Create your Power BI Workspace

      • Select Launch Power BI to verify to check that you have access to Power BI. In Power BI, look at your profile (top right) and verify you have minimum a Power BI Pro license

      • Return to the Bsure app tab in your browser and select Create Power BI Workspace.

    Data collection starts automatically

    Data collection will start automatically. How long it will take depends on your organization's size. You can follow the status on the Bsure Insights system status landing page.

    When both Power BI and Data Collector are in sync, you can start exploring our reports.

    Next steps: Add users and set your subscription prices

    After installation and data collection is complete, follow these guides to add users to Bsure, and set your own subscription prices:

    • Follow our guide to add other users to Bsure.

    • Follow our guide to add your own license prices.

    Overlapping licenses

    The overlapping licenses report gives you an overview of users that have licenses with license types that have overlapping functionalities. You can drill down on the different license types as well as the individual users and which licenses they have assigned. All tables in this report is interactive and if you filter/click on one object the other tables will respond to this

    Subscribe to this report at your preferred frequency to be reminded if you have users with overlapping licenses. This table should be blank

    Filter options

    • User Purpose: Filter on the type of Exchange Online mailbox connected to the user.

      • User - A user account with a mailbox.

      • Guest - The user purpose for guest users is set to Guest.

      • Shared - A shared mailbox user.

      • Room - A user with a mailbox that represents a conference room.

    • Created date: Helps you filter on when users were created

    • Last sign-in: Helps you filter on showing all users from when they were last created. In this overview you can i.e exclude users created last two weeks

    • User state: Choose if you want to see overview of active or inactive users or both

    • Sign-in status: Helps you filter on users who have never signed in and users that have

    • Account: Filter for showing Disabled or Enabled users - or both.

    • User Source: Filter on Cloud users and users synced from on-premises

    • User Principal Name: Free text search for a user name. Report will update accordingly.

    Focus table - licenses

    • This table gives you an overview of the license combinations that have overlapping licenses. The license on the left side is the most comprehensive license package, while the license on the right side is the overlapping license that can be removed.

    If this table is blank you don't have any users with overlapping licenses. If not, you have someone you need to look into

    Breakdown table - additional filter available for different user properties

    • This table shows the distribution of cost for the chosen property

    • Breakdown filter: Choose the appropriate property you want to by using the breakdown filter on the right side. We have also included Extension attributes as this is often used by companies

    User details table

    • In this table you can drill down on the specific users that have licenses allocated to them and investigate whether they should be removed or not.

    • The column selector on the right hand side gives you the opportunity to choose which information is the most interesting to see. Some of the most interesting properties to see based on our experience is:

    1. Created

    2. Last sign-in

    3. Days since last sign-in

    4. Cost

    This table can be exported with live integration to Excel and be used as a worklist across different functions to clean up. The spreadsheet will be automatically updated every night

    Protect all users with MFA

    This is the starting point of securing your environment

    Problem description:

    Most companies started an MFA registration campaign to make sure that all users use MFA when signing in. Many have also trained their end-users in how to detect phishing and so on.

    One big problem is to handle all the inactive users, service accounts, resources and such. It's common to allow end-user to register MFA from anywhere. The password is then the only protection of those accounts. These accounts are then vulnerable for password sprays.

    If the account to your previous CFO that left the company 7 years ago wasn't deleted due to issues in the offboarding routine, is that account protected with registered MFA?

    Token theft is also popular amongst the evil ones. Helping your end-users to protect themselves by providing phishing resistant MFA or passwordless sign-in would prevent tokens being stolen by fake/malicious websites and other phishing attacks. Adopting a passwordless and phishing resistant strategy is easier than you might think. Jonathan Edwards created a great video for inspiration/demo on how to achieve .

    MFA is the fundament in securing your environment, and we encourage everyone to spend an hour watching John Savill explaining

    General considerations:

    Normal user accounts should be protected from time of creation, meaning you should ensure no one else than the person/service account was created for could start using the account by guessing the correct username and password.

    Some organisations choose to create the users with extremely long and complex passwords, some creates them as disabled and end-users needs contact support to get them enabled and some preregister an authentication method like phone or sms.

    Using Temporary Access Pass (TAP) in combination with MFA requirement to register security information could be a great way of enhancing your

    Many accounts like meeting rooms, shared resources and service accounts doesn't support a traditional two factor. You should protect these accounts by creating specific conditional access rules to protect the usage of these accounts.

    report will list all accounts available for everyone guessing the correct username and password:

    Bsure recommendations:

    Require MFA for all users:

    Create conditional access rule to

    • Require that all users register MFA regardless of location

    • Provide only the

    • Exceptions only for service accounts and location based users. Create specific network locations and create separate conditional access rules to allow usage of these accounts from specific ip

    Protect registration of security information

    Ensure that the security information registration page is protected. Guessing correct username and password will then not be sufficient to take over an unused identity within your Entra ID.

    Create a conditional access policy to require MFA ever time user want to register security information.

    • Under session - add sign-in frequency = Every time

    • Make sure you exclude all guest accounts (already taken care of if you use the provided)

    Change the process on how you onboard new users.

    Requires that users are allowed to change their password in Entra ID if passwords are needed.

    Create new users as you always done but with a crazy long and complex password that you just forget.

    Create and provide a temporary access pass when the user or manager requests it.

    End-user goes to and type in username and gets asked for temporary access pass:

    Sign in and follow wizard to register security information

    When done, user should set a new password if needed using the link provided on

    Follow the self service password reset instructions

    This way you ensure that inactive accounts without MFA registration completed can't be taken over by attackers.

    Review and remove all inactive or unwanted accounts

    Reduce both security risk and license spend

    Problem description:

    Reports states that 85% of all attacks starts with a compromised identity, and we've learned that companies has a 10-30% cost saving potential of their total license cost on Microsoft OnlineServices.

    Most organizations will find many inactive or unwanted user accounts in their Entra ID. Test-, administrator-, guest- and member-accounts can be created by anyone (with permissions to do so). In most organizations between 30-50% of the identities in Entra ID is not in use. A normal finding is that many user accounts were created years ago and have not been used for years, if ever used. Many of these accounts have not registered MFA, and in most cases, we see that organizations allow new users to register MFA from anywhere. The first person guessing the correct username and password combination will then register MFA.

    These users also represent a quite significant cost since they in many cases have licenses assigned.

    Device Code Flow in the Bsure Installation Process

    Overview of Device Code Flow in Bsure installation, with uses, risks, and best practices for secure access in headless systems.

    What It Is

    The Device Code Flow is a way of logging in to Microsoft systems when the machine you’re using doesn’t have a normal web browser. Instead of opening a login window, the system shows you a short code. You then go to on your phone or computer, type in the code, and approve the login. Once you’re done, the headless system (for example, a container or the Azure web console) gets the access it needs.

    Think of it like authorizing a smart TV to use Netflix: the TV shows you a code, you approve it on your phone, and then the TV is trusted.


    Dashboard

    The Security Dashboard has two parts. The upper part shows you key security related content, while the lower part has a sign-in map displaying where your users sign in from.

    Security tiles

    • User accounts: User accounts not logged in last 90 days should be reviewed to ensure that they should still be active, and if not they should be disengaged

    Prerequisites

    Review and prepare all necessary subscriptions, roles, and resources to ensure a smooth installation of Bsure Insights.

    Before installing Bsure Insights from the Azure Marketplace, make sure the following requirements are in place:

    role in Entra ID

    The Global Administrator must be able to authenticate using Device code flow. Follow this guide to Test Device Code flow.

    For Bsure Insights to be able to create Power BI workspaces, your Power BI Tenant settings must allow Service principals can call Fabric public APIs. Read more here.

    Useful Microsoft guides

    • Create an Azure Subscription

    • Create a Resource Group

    When all prerequisites are confirmed, continue to Azure Marketplace to start your installation.

    Where It’s Useful
    • Azure Web Console / Cloud Shell: This environment comes with preinstalled tools (Azure CLI, PowerShell, SDKs). It can’t open login pop-ups, so Device Code Flow is the only simple way to sign in.

    • Containers and CI/CD pipelines: Automated jobs that need secure, temporary access to Azure.

    • Headless servers or IoT devices: Machines without a screen or browser.


    Why Companies Use It

    • Enables access on headless systems: Solves the problem of “no browser available.”

    • No passwords saved: Users don’t type credentials directly on servers or containers.

    • Built-in security: Works with Microsoft’s MFA, Conditional Access, and compliance rules.

    • Short-lived codes: Each login code expires within minutes.


    The Risks

    • Tricking users: Someone could try to get an employee to enter a code for a malicious app.

    • Token theft: If a server is compromised, access tokens could be stolen.

    • Overuse: If broadly enabled, attackers could abuse it from untrusted systems.


    How to Reduce the Risks

    Time-Limited Access

    • Use Conditional Access to enforce strict rules:

      • Normally block Device Code Flow.

      • If needed, allow short exemptions (e.g., 1–4 hours).

      • Require approvals and log these exceptions.

    Trusted Devices Only

    • Employees should only log in using Device Code Flow from a trusted, company-managed device.

    • Prevent unmanaged personal laptops or phones from being used to approve logins.

    Extra Safety Measures

    • Give access just-in-time — only when someone actually needs it.

    • Monitor Microsoft Entra ID sign-in logs for unusual behavior.


    Best Practice: Group-Based Temporary Access

    Microsoft provides governance tools to make temporary access safer and easier to manage:

    • Use Azure AD Privileged Identity Management (PIM):

      • Place users who may need Device Code Flow into a dedicated security group.

      • Configure this group for eligible, time-bound membership rather than permanent membership.

      • Example: a developer can request 2 hours of membership in the “Device Code Flow Exception” group.

    • Tie Conditional Access policies to this group:

      • Only members of the group can bypass the default “block Device Code Flow” policy.

      • Once their membership expires, they automatically lose access.

    • Benefits:

      • Reduces standing privileges.

      • Provides an approval workflow for exceptions.

      • Creates an audit trail of who had access, when, and why.

    This approach ensures Device Code Flow is available only when business-justified, and automatically revoked after the time window closes.


    Why This Matters for Azure Web Console (and the Bsure Installation Process)

    • The Azure Web Console is a perfect example of a headless environment.

    • It comes with all the right tools preinstalled (CLI, PowerShell), but it cannot pop up a login window.

    • Device Code Flow is the only practical login method there.

    • When combined with time-bound access rules, trusted devices, and group-based temporary memberships, it stays both useful and secure.


    Why This Approach Works

    By requiring: - Device Code Flow to be off by default. - Short-term exemptions only, managed through group-based temporary access. - Use of trusted devices.

    …companies can use Device Code Flow safely. It becomes a special tool for special cases, not a wide-open login method.


    Glossary of Key Terms

    • Headless system: A machine without a screen or browser (e.g., server, container).

    • Conditional Access: Microsoft’s policy engine to decide when and how users can log in.

    • Trusted device: A company-managed, compliant computer or phone that meets security rules.

    • MFA (Multi-Factor Authentication): Logging in with more than one proof (like password + phone approval).

    • Token: A digital “key” Microsoft issues that proves you’re allowed to access something.

    • Privileged Identity Management (PIM): Microsoft tool for granting just-in-time, time-limited group memberships to reduce standing privileges.

    microsoft.com/devicelogin

    Security

    This report section will bring insights into Entra ID role assignments, status on MFA and sign-in related content, all in an identity related context

    Disabled Devices: Devices disabled in Entra ID.

  • Without Owner: Devices with no registered owner.

  • Unsupported OS: Devices on an unsupported Windows version.

  • Without Owner: Outdated devices with no registered owner.

  • With Management: Active outdated devices enrolled in a management solution like Intune.

  • Without Management: Outdated devices not enrolled in a management solution like Intune.

  • Without Owner: Unmanaged devices with no registered owner.

  • Supported OS: Unmanaged devices on a supported Windows version.

  • Unsupported OS: Unmanaged devices on an unsupported Windows version.

  • Make sure to sign in with a user with Global Administrator role.

  • If prompted, select a subscription to run the cloud shell from

  • Right-click and paste the script in the shell window.

  • Copy the device code, go to the device login page and authenticate with your Global Administrator account.

  • Paste the device code and select Next.

  • Sign-in with your Global Administor account

  • Select Continue.

  • Close the windows/tab and return to the cloud shell.

  • Wait for the script to finish. You can watch the log output while it is running.

  • Go back to Bsure app configuration tab in your browser, and select Continue. (You can close the Azure Cloud Shell tab)

  • If prompted, sign in with your Global Administrator user.

  • Next step.

    Select Next step.

    This will take up to 10 minutes - be patient...

  • When it is done, go to the application

  • User management
    Subscriptions
    Configuration Wizard start page
    Configuration Wizard start page
  • Equipment - A user with a mailbox that represents a piece of equipment.

  • Others - A mailbox was found but the user purpose is not specified.

  • Unknown - User has no Exchange Online mailbox, or we were not able to read it.

  • Licenses combined

    Removing these users based on sign-in activity is one of the most beneficial activities you can do. You will then reduce both security risk and license cost at the same time.

    Responsibility for the existence of the user accounts in most organizations are unclear. Leveraging cloud software and services put pressure on your existing processes to avoid successful attacks and increasing software license cost. IT department might be responsible for some of the accounts but they can't be responsible for all these users.

    Considerations:

    To free up licenses and save cost you will have to remove licenses from the inactive users. To reduce security risk you will have to disable or delete the user object. This seems scary, but by planning well and follow these guidelines you will succeed.

    Deleted users is easily recoverable, with all content, within 30 days.

    If You want to explore the options to keep the user data, without licensing an inactive user account Microsoft has written a great article covering this topic: Delete a user, stop paying for their license, and choose what to do with their email and OneDrive content

    "You need to break some eggs to make an omelette"

    Bsure recommendations:

    IT department should be in lead of a clean-up project removing these users, but feedback is needed from both HR department and each manager within the organization. Gartner have been talking about IT being a part of every department and function within an organization for years, and this goes for the ownership and responsibility for the identities within Microsoft Entra ID as well. Review your processes and ensure that governance of all identities are included.

    All identities should have an owner, and the best way of doing that is to use the field manager for all member accounts, even for service accounts and resources like meeting rooms and shared mailboxes. Someone needs to be responsible for their existence and review if they're needed to optimize cost and reduce security risk.

    Clean-up project:

    Project is based on how to remove the most users as quickly as possible to reduce security risk, and not optimized for quick cost reduction.

    • Remove member accounts never used

    • Remove inactive or unwanted guest accounts

      • Remove unmanaged guests

      • Remove inactive guests

      • Remove guests from unwanted organizations/companies

    • Review and remove inactive member accounts

    Remove member accounts never used:

    To identify these users in your current environment, use the report Bsure Insights - Users – Drilldown.

    Set the latest created date 6 months back in time and tick the Never signed in slicer.

    Export the list to excel clicking three dots in the top right corner of User Details Table and select Export data

    Delete the users on-premises active directory or in the cloud/Entra ID based on where each user origins.

    Remove inactive or unwanted guest accounts :

    A guest account was created to give an external part access to some data in your environment. We find that many of these guest accounts is inactive and should be removed.

    Unwanted guests:

    Private mail accounts such as hotmail and gmail is considered unmanaged and not to be trusted. Decide whether such users are acceptable within your environment.

    To review these users, go to Bsure Insights - Users – Guests report and select Domain Type UnManaged:

    Review the guest users in the user details table. You can filter further by identifying users that are inactive as well by using Created Date and Last Sign-in slicer or just use the preconfigured User State slicer to filter between Inactive (Not signed in last 90 days) and Active users

    Export the list and bulk delete them from Entra ID.

    Inactive guests:

    Set Domain Type to Managed, User State to Inactive and Created Date 3 months back in time to identify guest users not in use:

    You may adjust inactive time from 90 days by not using "User State - Inactive" and chose from the Last Sign-in slicer if you want to define longer or shorter inactivity times.

    Export the list and bulk delete the guest users.

    Unwanted companies/organizations:

    Clear all filters in the top right corner of the report. Now it's time to do a quick review of the different companies having access to your environment by reviewing the mail domains in the Breakdown Table. If you find some organizations/companies that shouldn't be present in your environment, just click on that entry in the Breakdown Table, export result in User Details Table and bulk delete these users.

    Review and remove enabled inactive member accounts:

    In step one you removed user accounts never been used. To delete user accounts that have been used and that most likely have data in their mailbox and in OneDrive is often a bit scary, but planning and involving the organization should reduce the risk of wrongdoing. And You will always have the option to recover the users with all content within 30 days of deletion. Microsoft has written a great article covering this topic: Delete a user, stop paying for their license, and choose what to do with their email and OneDrive content

    Review inactive member accounts:

    Go to Bsure Insights - Users - Drilldown report, select User Type - Member, Account - Enabled, latest Created Date to e.g. 3 months back and Last Sign-in to e.g. one year back. Set Breakdown Filter to Manager.

    Export the list as summarized data to excel to get a spreadsheet with a live connection to the dataset.

    Create new columns to get feedback from HR and/or Manager, share and distribute the spreadsheet.

    Some organization chose to put some junior capacity in charge of fetching the information from the organization.

    Delete the users based on the feedback from the organization.

    You will most likely find many accounts with Missing Data as Manager. You need someone to find and set the responsible for these accounts.

    Some of these accounts are most likely being used as shared mailboxes. If you migrated from an on-premises exchange environment into Exchange Online, shared mailboxes would appear as normal users and not converted to shared mailboxes with a corresponding disabled user account. If the mailbox is smaller than 50 GB you can remove the license from the disabled user account.

    How to: convert a user mailbox to a shared mailbox

    Finished? If that's the case, pet your own back and say well done :)

    Guest accounts: Inactive guest accounts should be removed as a guest account with rights can be just as dangerous as a member of the company

  • Multi-factor Authentication: Users without multi factor authentication configured could be a security risk. What will happen if someone guess the correct password to one of these accounts? Break the glass accounts should also have a separate MFA method configured ref https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/security-emergency-access.

  • Administrative privileges: Users with administrative privileges will provide you with information on active Entra ID roles assigned to users or applications

  • Service principals: Service Principals is often used when integrating third party solutions with Entra ID. They have an application id and a secret just as a member user have username and password. These Service Principals skips all security measures such as conditional access and the can be used from everywhere. Giving these "users" high permissions, such as read all mailboxes, create users and such means that you should monitor usage of these Service Principals. Where do the sign in from and did you know that these permissions was given the holder of the application id and the corresponding secret value? Consider adopting Microsoft best practice guidance

  • Sign in map

    Simply a world map showing which countries your member users have successfully signed in from the last 14 days. Look at the map for unwanted sign-ins from specific countries such as i.e Russia or China

    Phishing Resistant MFA for New Users in Microsoft 365
    Protecting Against Credential and Token Theft
    process on onboarding new users
    Bsure Insights - Security - Authentication Methods
    enforce MFA in your organization
    MFA methods you want to support
    https://learn.microsoft.com/en-gb/entra/identity/conditional-access/howto-conditional-access-policy-registration
    securing security information template
    https://aka.ms/mysecurityinfo
    https://mysignins.microsoft.com/security-info
    It is common to find many accounts with this status. These users are normally accounts that hasn't been used in many years, and service accounts etc.

    Devices

    Reports on Devices from Entra ID

    Introduction

    The Devices Reports section of Bsure Insights provides valuable insights into your organization's device ecosystem. The section revolves around devices registered with Microsoft Entra ID.

    An Entra ID device is a physical or virtual endpoint - such as laptops, desktops, mobile phones, or tablets - that is registered or joined to your Entra ID tenant. These devices can be user-owned (registered) or organization-owned (joined, either Microsoft Entra joined or Microsoft Entra hybrid joined), and may be managed through solutions like Microsoft Intune, enabling secure access to corporate resources and enforcement of IT policies.

    Microsoft documentation: What is a device identity?

    Data Source

    All device data in the reports are collected from the Microsoft Graph endpoint.

    In Microsoft Entra, this data is found in the view:

    Currently, we do not collect data from Intune. Intune has its own Microsoft Graph endpoint, In the future we will use this endpoint to add more information about managed devices.

    Properties

    The properties we collect, and the name we use in reports

    Name in reports
    Property
    Description

    Review Entra ID role assignments and create a strategy to offer such roles

    Review all privileged accounts and remove any unnecessary permissions

    Problem description:

    Most organizations assign the built-in Entra ID roles to users, groups and service principals to operate their environment. It is common that highly privileged roles with excessive permission levels are used for performing daily tasks.

    Microsoft has made over 30 different built-in roles to give administrators just enough privileges to do their job, but most organizations have adopted just a few of them.

    Users or service principals holding these roles are rarely reviewed and from a security perspective this is a huge problem. There are also some decisions to be made when it comes to how you distribute these roles and how you protect them.

    General considerations:

    Highly privileged roles should be assigned individual identities using and it is also a good practice to enforce for activating such roles.

    These users should be cloud native and you should configure .

    These features requires an Entra ID P2 license per user benefitting from PIM and Identity Protection.

    All identities having privileged roles should be . Licensing these identities with access to services like Exchange Online or Teams should be avoided and handled with care.

    Due to the nature of newer web browsers it is not recommended to use the same computer for administrative tasks as daily consumption of email and teams. Most web browsers have support for running several profiles running different user contexts. When clicking an external link you must avoid that the link starts in a browser signed in as an elevated user.

    Considering implementing is a good idea to avoid usability of stolen credentials and unintentional behaviour like a click on an external link ending up in an elevated browser.

    Considerations assigning roles to different identities:

    Personal user accounts:

    Entra ID roles are often assigned to normal user accounts on a permanent basis, meaning that if a user falls for a phishing attack or clicks on a malicious link in teams or email the result could be catastrophic. Users change roles over time and if a user needed Sharepoint Administrator role years ago we find that most organizations don’t have good routines in removing this access when no longer needed. If you enforce proper security measures on these "admin" users to protect Entra ID, usability on these accounts would be limited.

    Personal administrator accounts:

    It is considered better to use separate dedicated personal administrator accounts to operate the environment. But technicians could still end up clicking a link ending up in the web browser that holds privileged permissions. These administrator accounts also tend to be unmanaged, and based on our experience, it’s normal to find several accounts not registered MFA or not been used for a very long time with permanent assigned privileged roles. It is also considered a security risk to license these accounts to Exchange and/or Teams. The requirement of in combination with the usage of should be the minimum requirement for such users.

    Guest accounts:

    Even guest accounts can be assigned these roles, but these accounts are, in most organizations, unmanaged. If you assign permissions to a guest account, you automatically trust the organization, from where the account resides, to have very good on- and off-boarding routines and you trust their security setup. We’ve had several major incidents in Norway where guest accounts were compromised and resulted in organizations being attacked.

    If You decide to assign Entra ID roles to guest accounts, you must use and set the eligibility to each role to expire in the very near future. It could also be a good idea to require an before elevating the guest user.

    Groups:

    Assigning roles to groups is also a common way of distributing permissions. It is an easy way of distributing permissions, but it is harder to figure out which user has which role and there is some downsides, like the possibility for self elevation from lower permissions and running automated access reviews on Entra ID roles. If you still want to use groups please read and follow best practices from Microsoft:

    You should also carefully review membership in these groups on a schedule. is a great way to review membership in such groups.

    If You still want to use groups for eligible role assignments, you should require additional on highly privileged roles.

    Service principals:

    It is common to use SaaS solutions and integrate them into your environment. Migration tools, backup tools and normal production software often need some sort of access into your environment to function properly. Very often providers of such software ask for way more permissions than they need. We’ve seen follow me print solutions holding SharePoint administrator role and systems controlling meeting room panels holding full access permissions to all mailboxes within organizations. If the application provider gets a security breach, how exposed are you, since the attacker then will have access to your environment with the permissions given the application?

    As a side comment it is also important to evaluate from where these service principals sign in in from. If you gave an application provider a service principal to consume your data, you should evaluate from where the application is processing your data. Is your data protection officer informed?

    How to clean-up your environment:

    1. Review your current environment by using the

    2. Remove roles and permissions from users, groups and service principals not needing them.

    3. Ensure that all accounts holding such permissions are protected with or ensure to protect them with conditional access policies ensuring that they can only be used from a specific ip or other measures that decreases usability of the account.

    4. Ensure that all privileged accounts holds an Entra ID P2 license and configure to get these features:

    Glossary

    Word
    Description
    • Provide just-in-time privileged access to Microsoft Entra ID and Azure resources

    • Assign time-bound access to resources using start and end dates

    • Require approval to activate privileged roles

    • Enforce multifactor authentication to activate any role

    • Use justification to understand why users activate

    • Get notifications when privileged roles are activated

    • Conduct access reviews to ensure users still need roles

    • Download audit history for internal or external audit

    • Prevents removal of the last active Global Administrator and Privileged Role Administrator role assignments

  • Review your current strategy on how you assign roles and permissions to your users:

    • Ensure separate administrative accounts to operate your environment

    • Don’t give privileged access to guest accounts unless you have proper governance on such users or set a short timeframe for the eligible role access

    • Only use groups for lower privileged roles, and if you use groups, you should create an access review policy on them.

  • Consider protecting usage of users with privileged roles by leveraging a Privileged Access Workstation and configure conditional access to only allow sign-ins from that device. This could be a virtual machine in Azure or a Windows 365 device

  • Privileged Identity Management (PIM)
    approval
    Identity Protection
    protected with phishing resistant MFA
    Privileged Access Workstation (PAW)
    phishing resistant MFA
    Privileged Identity Management (PIM)
    Privileged Identity Management (PIM)
    approval
    https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/groups-concept#how-are-role-assignable-groups-protected
    Access reviews
    approval
    Bsure Insights - Security - Entra ID Roles report
    phishing resistant MFA
    Microsoft Entra Privileged Identity Management

    Days Not Seen

    Calculated as the difference between the current date and the approximateLastSignInDateTime.

    Join Type

    trustType

    Type of trust for the joined device. Possible values: Registered, Joined, Hybrid joined

    OS

    operatingSystem

    The type of operating system on the device.

    Version

    operatingSystemVersion

    The version of the operating system on the device.

    Enabled

    accountEnabled

    True if the account is enabled; otherwise, false.

    Enrollment Type

    enrollmentType

    Enrollment type of the device. Intune sets this property. Possible values are: unknown, userEnrollment, deviceEnrollmentManager, appleBulkWithUser, appleBulkWithoutUser, windowsAzureADJoin, windowsBulkUserless, windowsAutoEnrollment, windowsBulkAzureDomainJoin, windowsCoManagement, windowsAzureADJoinUsingDeviceAuth, appleUserEnrollment, appleUserEnrollmentWithServiceAccount. Note: This property might return other values apart from those listed.

    Compliant

    isCompliant

    True if the device complies with Mobile Device Management (MDM) policies; otherwise, false.

    Managed

    isManaged

    True if the device is managed by a Mobile Device Management (MDM) app; otherwise, false.

    Ownership

    deviceOwnership

    Ownership of the device. Intune sets this property. Possible values are: unknown, company, personal.

    Manufacturer

    manufacturer

    Manufacturer of the device.

    Model

    model

    Model of the device.

    MDM

    managementType

    The management channel of the device. This property is set by Intune. Possible values are: eas, mdm, easMdm, intuneClient, easIntuneClient, configurationManagerClient, configurationManagerClientMdm, configurationManagerClientMdmEas, unknown, jamf, googleCloudDevicePolicyController.

    Enrollment Profile

    enrollmentProfileName

    Enrollment profile applied to the device. For example, Apple Device Enrollment Profile, Device enrollment - Corporate device identifiers, or Windows Autopilot profile name. This property is set by Intune.

    Device Status

    This is determined based on approximateLastSignInDateTime. A device is considered "Inactive" if it has not been seen 90 days.

    Rooted

    isRooted

    True if the device is rooted or jail-broken; otherwise, false.

    Windows Support

    This is determined by comparing the operatingSystemVersion to Microsoft’s official Windows support lifecycle data. A device is marked as "Supported" or "Unsupported" based on whether its version is still within Microsoft’s support period.

    Windows Release

    This is extracted from the operatingSystemVersion to identify the specific Windows release for better categorization.

    Windows Build

    This is extracted from the operatingSystemVersion to display the specific build number of the Windows operating system

    End of Life

    This is determined by comparing the operatingSystemVersion to Microsoft’s end-of-life support dates. It indicates whether the device’s OS version has reached or passed its end-of-support date.

    Windows Type

    This is inferred from the operatingSystemVersion and other properties to categorize the Windows edition (e.g. Windows 10, Windows 11)

    Device Name

    displayName

    The display name for the device.

    Owner

    registeredOwners

    The users or service principals that are registered as owners of the device.

    Registered

    registrationDateTime

    Date and time of when the device was registered.

    Last Seen

    approximateLastSignInDateTime

    /devices
    All devices
    /deviceManagement
    All devices in Microsoft Entra

    The timestamp representing the last time the device signed in.

    "Entra ID Roles" are predefined sets of permissions and responsibilities assigned to users within the Entra ID system. These roles help control and manage access, security, and functionality for individuals or groups based on their specific needs and responsibilities. Read more about

    Guests

    An Entra ID Guest user account is an account that is invited to your Entra ID from another identity catalogue. It can be assigned access and permissions to almost anything in you Entra ID tenant.

    Inactive users

    Defined as a user that hasn't signed in or consumed data in your environment last 90 days (Not Active)

    Interactive sign-ins

    "Entra ID " refer to a feature or process within the Entra ID system that involves active user interaction during the sign-in or authentication process. This interaction may include responding to prompts, providing additional verification, or engaging with the system in a dynamic way to enhance security and user identification.

    Last sign-in

    Last sign-in is defined as the date of the user's most recent successful interactive or non-interactive sign-in. It is the property from Entra ID.

    In Entra ID you will see date and time for "Last interactive sign-in" and "Last non-interactive sign-in", but these dates represent the latest sign-in attempt regardless if it was successful or not. An unsuccessful user sign-in from a browser in e.g. a conditional access blocked country would update the "Last interactive sign-in" on that specific user. In Bsure Insights we set January 1. 1970 as sign-in date if Microsoft graph returns a blank value for the property .

    According to Microsoft they started populating this field December 1. 2023, but it seems like was populated from .

    It is not possible fetching a successful "last sign-in" date from Entra ID for users not signed in since then. In Bsure Insights these users will have a blank Last sign-in.

    Members

    Entra ID Member accounts is all user accounts controlled and owned by your Entra ID. Your internal users

    Missing licenses

    It is possible to end up in an situation where you have assigned more licenses than you've bought. Unassigned licenses will then show a negative value

    Multi-Factor Authentication (MFA)

    2-step verification or Multi factor authentication means that in addition to provide username and password you need to verify that you are signing in with providing more information. The three most common kinds of factors are: - Something you know - Like a password, or a memorized PIN. - Something you have - Like a smartphone, or a secure USB key. - Something you are - Like a fingerprint, or facial recognition.

    Non-interactive sign-in

    A is when an app or a solution signs in on your behalf. Eg. your mail client on your phone

    Overlapping licenses

    Overlapping license is when a user have 2 licenses assigned that overlaps in functionality. Eg, Microsoft 365 E5 and Microsoft 365 E3 has overlapping capabilities. Microsoft 365 E5 have all the functionality that Microsoft 365 E3 has and you could remove one of these licenses without affecting end-user experience

    Suspended licenses

    Suspended license is a license that you once had, but you didn't renew the subscription. You don't pay for licenses from a suspended subscription.

    Unassigned licenses

    If You buy 100 licenses and assign only 70 of them to your end-users, you will have 30 unassigned licenses

    User licenses

    User licenses is a license that must be assigned to a user account. Eg. Power BI Pro and Microsoft 365 E3.

    User principal name

    User name used to sign in to Entra ID to consume applications and data. Same format as e-mail address.

    User State/Status

    We divided users into 3 categories: - Disabled (all disabled accounts regardless of when the user was in use) - Active (Enabled user and last sign-in within last 90 days) - Inactive (Enabled user with last sign-in more than 90 days ago)

    Potential Monthly Cost Savings

    Sum of license cost where licenses are assigned to disabled or inactive users and unassigned licenses

    Potential Savings

    Potential monthly cost savings divided by total license cost shown in percent

    Average Cost

    Total assigned license cost, regardless of user state divided on number of licensed users

    Monthly user licenses overuse value

    If number of assigned licenses exceeds the amount of bought licenses per license we call the cost of the exceeded amount overuse value. Happens if you buy a new number of licenses on renewal date that is less than the number of licenses assigned to users.

    User source

    A user attribute stating if the user is on-premises synced or not.

    • If a user originates in a an on-premises active directory and are synced to Entra ID using Entra ID Connect (formerly known as dirsync or aad connect) field will display "On-premises synced".

    • If the user was created directly in Entra ID the field will show Cloud

    Important to know when you want to make changes to user objects. To change manager or other user attributes such as company etc you will have to modify them in the catalogue service displayed as user source

    Billed users

    All licensed users, except users with an assigned student license A student license contains the fraise Student in the license name, eg Microsoft 365 A3 for students

    Active users

    User objects (members or guests) in Entra ID with last interactive sign-in or last non-interactive sign-in within last 90 days.

    Administrative priveleges

    Entra ID Roles that gives a user (guest or member) more permissions in Entra ID

    Company licenses

    Company specific licenses is not related to any specific users. Eg. extra sharepoint storage

    Conditional Access

    Conditional access refers to a security approach in which access to a system or data is granted or denied based on specific conditions, such as user identity, device health, or location etc to enhance cybersecurity

    Entra ID Roles

    Entra ID Roles
    interactive sign-ins
    lastSuccessfulSignInDateTime
    lastSuccessfulSignInDateTime
    lastSuccessfulSignInDateTime
    early November 2023
    non-interactive sign-in

    Successful sign-ins from blocked countries?

    This brings us to the core of identity governance in Microsoft Entra.

    Non-interactive sign-ins are often skipped from conditional access and in the Application - Sign-in Locations we do show all successful sign-ins regardless if they're interactive or non-interactive.

    If you filter on interactive sign-ins in the report you can verify your conditional access policies. But remember that non-interactive sign-ins re-uses a valid token.

    AI put together a well-documented, community-verified breakdown of common flows that either bypass CA completely or only partially evaluate it.


    ✅ Conditional Access Coverage Overview


    🚫 Common Non-Interactive Flows That Bypass or Partially Apply Conditional Access


    🛡️ What does enforce Conditional Access?

    CA is only evaluated on:

    • Interactive sign-ins via browser or modern authentication (OAuth2 Authorization Code Flow)

    • Token issuance events that require a fresh auth

    • Apps explicitly targeted by CA

    • Session controls (like Sign-in Frequency, CAE)


    🔍 How to monitor these flows

    Use the Bsure Insights Application - Sign-in Locations report and filter on non-interactive sign-ins. You can create your own favourite selecting only apps and countries you want to monitor closely.

    A manual option is to use Microsoft Entra ID > Sign-in logs with the following filters:

    • Sign-in type = Non-interactive

    • Client app = Mobile apps and desktop clients or Other clients

    • Add Location to see IP or country

    • Conditional Access = Not applied or Report-only


    💡 Recommendations

    🔁 1. Enable Sign-in Frequency + Token Lifetime Policies

    Force reauthentication at regular intervals to make Conditional Access re-evaluation more predictable.

    • 🔗

    • 🔗


    🔄 2. Enable Continuous Access Evaluation (CAE)

    Allows near-real-time revocation of access when location, risk, or device state changes — even after token issuance.

    • 🔗

    • 🔗


    🛠 3. Use Conditional Access for Workload Identities (Service Principals / Apps)

    Helps enforce CA on non-user service-to-service auth flows (like Power BI service principals, automation, Graph API jobs, etc.)

    • 🔗

    • 🔗

    🧠 Note: Workload identity CA requires Microsoft Entra Workload ID license that has a list price of $3.00 workload identity/month, paid yearly (annual commitment)


    🧼 4. Monitor Sign-ins (especially Non-Interactive ones)

    Track token reuse, service principal usage, and mobile clients that bypass CA.

    • Monitor sign-ins using Bsure Insights reports:

      • Non-interactive user sign-ins :

      • Service Principal usage:

    • 🔗


    🔒 5. Block Legacy Authentication

    Legacy protocols (like SMTP, POP, IMAP, basic auth) bypass CA entirely and should be blocked unless required.

    • 🔗


    👁 6. Leverage Microsoft Defender for Cloud Apps (optional but powerful)

    Provides real-time session controls, detection of risky activity in apps like Teams, Graph, Exchange — even when CA doesn’t fire.

    • 🔗

    • 🔗

    Frequently Asked Questions

    Common questions and answers

    How do I get assistance?

    Please see our support page

    Which permissions are required for installation?

    Entra ID

    The plays a vital role during the installation of the Bsure Datacollector. You will require a highly privileged user account due to the . Although the may also be used, we've skipped that in the prior steps. This decision was influenced by the familiarity of most customers with the Global Administrator Role

    Azure Subscription

    When installing the Bsure Datacollector, the Azure Resource Manager has to assign permissions to certain identities. The task of assigning permissions within an Azure Subscription is reserved for the . Additionally, access to the actual resources within the subscription is required, rendering the insufficient for this purpose

    Can we add last logon info from on-premises AD?

    Bsure Insights show users last successful sign-in date in Entra ID. Our app does not have information about when users last logged on to your on-premises Active Directory.

    Hybrid customers may have users synced to Entra ID, showing as inactive in Bsure Insights, because they have not signed in to any Microsoft cloud resources recently. But they can still be active in your local AD.

    To bring the last logon information from AD in to Bsure Insights, you have to add this information to a user attribute that is being synced to Entra ID.

    Our recommended approach:

    • Run a PowerShell script against your local AD to write Last Logon date to an unused Extension Attribute.

    • Schedule the script to run daily, using Task Scheduler or an automation tool of your choice.

    Script example:

    You have to adapt this script to your local environment. Change the OU path, and change extensionattribute2 to the extension attribute you choose.

    This script writes LastLogonTimestamp in format YYYY-MM-DD to the selected ExtensionAttribute. The ExtensionAttribute properties are in string format in Bsure Insights.

    NB! LastLogonTimestamp in ActiveDirectory may have up to 14 days delay. Read more about the difference between LastLogon, LastLogonTimestamp and LastLogonDate in Active Directory .

    How can we delete the Managed Application?

    To find the Managed Application Center, enter "Managed Application Center" into the search bar at the top of the page on . Then, select the "Managed Application Center" option from the search results.

    Navigate to "All Applications" and find the application you installed. The name of the application will be the same as the one you selected during the installation process. Click on the application name to access the Managed Application.

    Click on the "Delete" button and confirm your action to initiate the deletion process.

    Last sign-in date for users used in Bsure Insights

    Last sign-in date for users is defined as the date of the user's most recent successful interactive or non-interactive sign-in. It is the property from Entra ID.

    In Entra ID you will see date and time for "Last interactive sign-in" and "Last non-interactive sign-in":

    These dates represent the latest sign-in attempt regardless if it was successful or not. An unsuccessful user sign-in from a browser in e.g. a conditional access blocked country would update the "Last interactive sign-in" on that specific user, ref

    In Bsure Insights we set a blank sign-in date if Microsoft graph returns a blank value for the property .

    According to Microsoft they started populating this field December 1. 2023, but it seems like was populated from .

    It is not possible to provide a "last sign-in" date for users not signed in since then, and in Bsure Insights reports they will have a blank "Last sign-in", since we simply don't know when or if they ever signed in successfully.

    Sign-in logs: What information is collected and how it's stored in Bsure Insights

    Bsure Insights data collector store the latest successful unique sign-in, unique combination of appId, location_countryOrRegion and userid. It also stores when sign-in event happened, and resourcename, resourceid, applicationname and sign-in type (interactive or non-interactive) related to that unique sign-in event.

    Meaning we only store the latest successful sign-in a specific user made to a specific app from a specific country.

    Add your own custom domain name / change URL

    Bsure will add this capability in the customer app later. If you would like to rename the the url to a more friendly one, like bsure.yourorg.com, now, please contact us at

    Process takes approximately 15 minutes. You would need access to your DNS hosting "yourorg.com" and Entra ID as an Application Owner or higher.

    We will then schedule a meeting for 30 minutes to configure your wanted custom domain name.

    Task
    Responsible

    Members

    Report showing active, inactive and disabled member users. Entra ID Member accounts are all user accounts controlled and owned by your Entra ID. Your internal users.

    Top filter menu

    Users: Showing the total number of users according to your filtering selections.

    User Purpose: Filter on the type of Exchange Online mailbox connected to the user.

    User - A user account with a mailbox. Shared - A shared mailbox user. Room - A user with a mailbox that represents a conference room. Equipment - A user with a mailbox that represents a piece of equipment. Others - A mailbox was found but the user purpose is not specified. Unknown - User has no Exchange Online mailbox, or we were not able to read it.

    ❌ No

    Teams mobile, Outlook, etc. silently renew tokens

    Brokered flows (e.g. MSAL via broker)

    ⚠️ Partially

    Some CA policies enforced, but location/Risk may be skipped

    Device registration (PRT issuing)

    ⚠️ Partial / Outside CA scope

    Conditional Access not evaluated at this stage

    OAuth2 client credentials flow

    ❌ No

    No user context = CA not evaluated

    SAML token federation

    ⚠️ Partial, if CA not scoped right

    CA applies only if cloud app is covered

    Azure AD Graph / Microsoft Graph (background)

    Refresh/token reuse

    ❌ Usually skipped

    Especially when used by services, background jobs

    Exchange ActiveSync (legacy)

    Basic/legacy auth

    ❌ Not CA compatible

    Must be blocked via legacy auth CA

    Outlook mobile background sync

    Refresh, brokered auth

    ❌ Mostly skipped

    Appears in non-interactive logs

    Power BI dataset refresh (using SPN)

    Service principal

    ⚠️ Requires workload CA

    No user context by default

    Azure Automation Runbooks (with SPN)

    Client credentials

    ❌ Skips CA completely

    Needs workload identity CA to control

    Device Registration (DSReg)

    PRT issuance via WS-Trust

    ❌ Outside CA scope

    Happens before CA is evaluated

    Windows Hello for Business

    PRT or token reuse

    ❌ No CA enforcement

    Happens below auth stack

    🔗 Sign-in logs explained: Interactive vs Non-interactive

    Sign-in Type

    Conditional Access Applies?

    Notes

    Interactive user sign-in (UI prompt)

    ✅ Yes

    Full evaluation of CA policies

    Non-interactive user sign-in

    ⚠️ Partially / No

    Often skipped unless CA conditions are met to force reauthentication

    Service principal (workload identity)

    ⚠️ Only with workload CA policies

    Must be explicitly configured

    Token refresh using refresh token

    ❌ No

    Reuses valid token, no re-evaluation unless forced

    Service / App

    Flow Type

    CA Enforcement

    Notes

    Microsoft Authentication Broker

    Brokered token renewal

    ❌ Often skipped

    Used in mobile and hybrid auth

    Microsoft Mobile Application Management

    App-token + MAM check-in

    ❌ Often skipped

    From Intune-managed mobile apps

    Microsoft Teams mobile client

    Silent token renewal

    ❌ Skipped unless token expires or session control used

    Can appear from blocked countries

    Configure sign-in frequency in Conditional Access
    Session management and token lifetimes
    What is Continuous Access Evaluation (CAE)?
    Configure CAE
    Conditional Access for workload identities overview
    Create Conditional Access policies for workload identities
    Application - Sign-in Locations
    Security - Service Principals
    Monitor sign-ins in Microsoft Entra ID
    Block legacy authentication with Conditional Access
    Integrate Microsoft Defender for Cloud Apps with Conditional Access
    Use Defender for Cloud Apps to block risky sessions

    Background apps / mobile clients

    Created Date & Last Sign-in Date: Set periods for when users where created or their last sign-in date.

    User State: - Active - users having signed in the last 90 days - Inactive - users that has not signed in the last 90 days

    Sign-in Status: Filter for users that have Never signed in and users that have Signed in.

    Account: Filter for showing Disabled or Enabled users - or both.

    User Source: Filter for showing if the users are Cloud native (created in your Entra ID) or if they are On-premises synced from your on-premises Active Directory.

    User Principal Name: Free text search for a user name. Report will update accordingly.

    Focus and Breakdown section

    Focus Table: The focus table shows the distribution of Active, Inactive and Disabled member accounts in your tenant.

    Breakdown Table and Filter: Use the Breakdown filter to see the distribution of member users based on selected user properties.

    User details table with column selector

    The user details table lists all member users in scope of your filtering selection. The table has a default set of columns. You can change these to your preferences using the column selector.

    Add custom domain name to customerapp

    Bsure

    Configure DNS

    You

    Add certificate and binding

    Bsure

    Change env variable on customerapp

    Bsure

    Change redirect url on app registration

    You

    Global Administrator
    restrictions that Microsoft has imposed on the assignment of MS Graph Roles to applications
    Privileged Role Administrator
    Owner Role
    User Access Administrator
    here
    https://portal.azure.com
    lastSuccessfulSignInDateTime
    lastSuccessfulSignInDateTime
    lastSuccessfulSignInDateTime
    early November 2023
    [email protected]

    Sign-in Locations

    The sign-in locations reports will give you insights into from where your users consume your Entra ID applications

    Filter alternatives

    • User Purpose: Filter on the type of Exchange Online mailbox connected to the user.

      • User - A user account with a mailbox.

      • Guest - The user purpose for guest users is set to Guest.

      • Shared - A shared mailbox user.

      • Room - A user with a mailbox that represents a conference room.

      • Equipment - A user with a mailbox that represents a piece of equipment.

      • Others - A mailbox was found but the user purpose is not specified.

      • Unknown - User has no Exchange Online mailbox, or we were not able to read it.

    • Last used period: Helps you filter on the time period you want to look into for application usage

    • Sign-in Type: Select to view Interactive or Non-interactive sign-ins - or both.

    • Microsoft app: Gives you the opportunity to filter between Microsoft apps and third party apps. Read more on

    • Application filter: This filter includes all available apps, so you can choose a single app to filter on

    • Resource filter: Filter on the resources consumed

    • User principal name: Free search for user principal names

    Focus table - Application sign-in locations

    • In the focus table we display unique sign-ins to the chosen applications in different countries. On the right side there is a map showing the sign-ins in the different countries with blue dots.

    • The I with a circle tells you that you can display data in a different way in the focus table. By clicking the blue filter panel on the right side you can view the different options and choose the one that suits you

    Breakdown table - additional filter available for different user properties

    • This table shows the distribution of logins for the chosen user property in the breakdown filter

    • Breakdown filter: Choose the preferred property you want to filter by, by using the breakdown filter on the right side. We have also included Extension attributes as this is often used by companies

    User details table - Application sign-in location

    • In this table you can drill down on the specific users and which applications they have been authenticated towards since Bsure was installed and from where.

    • The column selector on the right hand side gives you the opportunity to choose which information is the most interesting to see.

    #Import ActiveDirectory module
    Import-Module ActiveDirectory
    
    #Set Organizational Unit (OU) where users are located
    $ouPath = "OU=Users,OU=Bsure, dc=bsuredemo,dc=local"
    
    #Set the root log path
    $logRootPath = "C:\temp\"
    
    #Set the extension attribute to update
    $extensionAttribute = "extensionAttribute2"
    
    #Create a unique log file
    $logFile = "$logRootPath\ADUserUpdate_$(Get-Date -Format 'yyyyMMddHHmmss').log"
    
    #Start transcript
    Start-Transcript -Path $logFile -Append
    
    #Enable verbose logging
    $VerbosePreference = "Continue"
    
    #Delete log files older than 30 days
    Get-ChildItem -Path $logRootPath -Filter "ADUserUpdate_*.log" | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } | Remove-Item -Force
    
    #Get users and add values to $users
    $users = Get-ADuser -Filter * -SearchBase $ouPath -Properties lastLogonTimestamp, $extensionAttribute
    
    #Cycle every user, reformat date and time from lastlogontimestamp and write to to extensionattributeXX
    $totalUsers = $users.Count
    $currentUser = 0
    
    ForEach ($user in $users){
        $currentUser++
        Write-Output "Processing user $currentUser of $totalUsers"
    
        try {
            #Check for null lastLogonTimestamp
            if ($user.lastLogonTimestamp -ne $null) {
                #Make human readable using UTC
                $lastLogonTimestamp = [datetime]::FromFileTimeUtc($user.lastLogonTimestamp)
    
                #Change date format to ISO 8601
                $formatteddate = $lastLogonTimestamp.ToString("yyyy-MM-dd")
    
                #write last logon date to extensionattributeXX"
                Set-ADUser $user -Replace @{$extensionAttribute=$formatteddate} -Verbose
    
                Write-Output "Updated user: $($user.SamAccountName) with date; $formatteddate"
            } else {
                Write-Output "Skipped user: $($user.SamAccountName) because lastLogonTimestamp was null"
            }
        } catch {
            Write-Output "Failed to update user: $($user.SamAccountName) with error: $_"
        }
    }
    
    Write-Output "Job complete"
    
    #Stop transcript
    Stop-Transcript
    
    Microsoft first-party applications

    Retention Time

    If you want to change for how long you want to store history within Bsure Insights, please follow this guide

    The page will display what's set by You or someone within your organisation.

    User data: Keeps track of attributes and licenses assigned per day for the specified period

    Sign-In data: Keeps track of sign-ins to applications for that specific amount of time.

    You have the option to select commonly used values or type in your own.

    Public Endpoint and Azure SQL (Entra-only) Considerations

    When using an Azure SQL server as part of a customer Azure Managed Application, the connection model differs from a storage account. Azure SQL can be configured for Entra-only authentication, which means that no SQL logins, keys, or connection strings are involved. Access is always based on Microsoft Entra ID tokens from the customer tenant.

    This section outlines the trade-offs between using a public endpoint with Entra-only authentication versus configuring a private endpoint via VNet integration.

    Public Endpoint + Entra-only Authentication:

    Simplicity

    Using a public endpoint with Entra-only authentication is straightforward:

    • Azure SQL supports direct Microsoft Entra ID connections from Power BI and other Azure services.

    • No secrets or keys need to be managed; authentication happens with access tokens from Entra ID.

    Automation and Cost

    • Low complexity and low cost: no VNet, DNS, or data gateways required.

    • Automation friendly: identities and permissions can be provisioned through IaC templates.

    • Managed identities from the Managed Application can be granted least-privilege contained users in the SQL database.

    Security & Governance

    • No storage keys or passwords: all access goes through Microsoft Entra ID.

    • Governance can be strictly enforced by:

    • Restricting access to customer-tenant identities only.

    • Assigning roles to Managed Identities and service principals with fine-grained RBAC.

    Private Endpoint via VNet (Customer-managed)

    Setup Complexity

    Configuring a private endpoint for Azure SQL requires:

    1. Creating a VNet and subnet for the private endpoint.

    2. Integrating DNS so that the SQL server’s hostname resolves to the private IP.

    3. Managing firewall, routing, and network security group (NSG) rules.

    4. Deploying a VNet Data Gateway for Power BI connectivity, since Power BI cannot connect directly to private endpoints.

    Cost & Maintenance

    • Higher cost due to additional networking infrastructure, DNS zones, and requirement for Power BI Premium/Fabric capacity to run the VNet Data Gateway.

    • Ongoing maintenance overhead: ensuring gateway uptime, managing DNS resolution, and handling VNet peering or firewall updates.

    Security & Governance

    • Provides maximum isolation: SQL server is not exposed to the internet.

    • Full alignment with strict compliance requirements.

    • Governance at both the network layer (VNet, NSG, firewall) and identity layer (Entra-only authentication).

    Argument Summary

    1. Simplicity & Automation

    • Public endpoint + Entra-only authentication is the simplest and most automation-friendly path.

    • No secrets to manage, and no reliance on connection strings.

    1. Security Trade-offs

    • Public endpoints are internet-facing, but with Entra-only authentication and firewall rules, risks are minimized.

    • Private endpoints remove internet exposure but at the cost of complexity, capacity requirements, and higher ongoing operations.

    1. Governance Controls

    • Public endpoint + Entra-only auth centralizes governance in Microsoft Entra ID.

    • Private endpoint adds network-level governance for customers who require full isolation.

    Bsure Insights Setup

    • Azure SQL per customer: Each customer has a dedicated Azure SQL instance deployed in their subscription via the Managed Application.

    • Entra-only authentication:

    • Configure a Microsoft Entra admin on the SQL server.

    • Create contained principals for:

    Connectivity options:

    • Public endpoint: Power BI can connect directly using Entra ID authentication, with no gateway required.

    • Private endpoint: Requires VNet Data Gateway bound to Power BI Premium/Fabric capacity, adding complexity and cost but delivering maximum isolation.

    Firewall rules on the SQL server can limit exposure to required IP ranges or Azure services.

    Integration complexity with the other components in the Managed Application.

    The Managed Application’s Managed Identity.

  • The Power BI refresh identity (service principal).

  • Assign only the necessary database roles (e.g., read-only for reporting).

  • No keys, no passwords: all authentication is token-based.

  • Shape
    Shape
    Shape