In this post, I’m going to share some details on the Fabric Tenant Admin Settings
- Overview of Fabric Tenant Admin Settings
- API for extracting settings
- Notifications for new settings (or lack of them)
- Demonstration (Notebook)
Overview of Fabric Tenant Admin Settings
Fabric Tenant Admin Settings are accessible via the service by selecting the gear icon in the top-right corner, navigating to Governance and Insights, and choosing the Admin Portal.
If you only see Capacity Settings, it means you’re not assigned to the Entra Fabric Administrator role.
Once inside the Tenant Admin Settings, you can search through the available options using the filter on the settings page—not the one in the header area.
As of this post, there are 135 settings, and the number continues to grow over time. Because there’s no built-in versioning, it’s crucial to implement a change management process if you have multiple Fabric Administrators, so changes can be tracked effectively.
API for extracting settings
Fortunately, some APIs enable the extraction of these tenant settings, including their name, section, enabled or disabled status, and more.
API https://learn.microsoft.com/en-us/rest/api/fabric/admin/tenants/list-tenant-settings?tabs=HTTP
Notifications for new settings (or lack of them)
Unfortunately, there is no out-of-the-box notification when tenant settings are added, deleted, or modified (e.g., enabling/disabling, assigning security groups).
To identify new or updated settings, navigate to Tenant Settings, where the top section highlights recent changes. Microsoft pushes these updates, not triggered by changes made by a Fabric Administrator.
Demonstration (Notebook)
An option we have is to use the Python ‘msfabricpysdkcore 0.1.8’ to be able to use Fabric Notebooks to extract the tenant setting information.
Step One: Install the python library
pip install msfabricpysdkcore
Step Two: Import and then configure some settings
from msfabricpysdkcore import FabricClientCore # Initialize the client using Azure CLI authentication fc = FabricClientCore() #sp_fabric_tenant_api # Alternatively, use service principal authentication fc = FabricClientCore( tenant_id="REDACTED Insert Tenant ID here", client_id="REDACTED Insert Client ID here", client_secret="REDACTED insert client secret here" )
Step Three: Import and then extract tenant settings and capacity setting overrides
from msfabricpysdkcore import FabricClientAdmin fca = FabricClientAdmin() # Get tenant settings tenant_settings = fca.list_tenant_settings() # Get capacity tenant settings overrides overrides = fca.list_capacities_tenant_settings_overrides()
Step Four: Transform to data frame (because I want to do some sorting)
settings = tenant_settings['tenantSettings'] df = spark.createDataFrame(settings) display(df)
Step Five: Apply sorting and display the dataframe
df.columns # Define schema sorted_columns = ["tenantSettingGroup", "settingName", "title","enabled","enabledSecurityGroups","canSpecifySecurityGroups","properties"] # Reorder DataFrame columns df_sorted = df.select(sorted_columns) display(df_sorted)
This is a demo of how to extract the Tenant Admin Settings. From here, the data can be stored, versioned to track changes over time, and optionally shared—either by granting access or generating a report for others to view both the current settings and historical updates.