能否用Azure Synapse Analytics提取Azure AD用户并导入Power BI制作组织架构图?
提取Azure AD用户数据并制作组织架构图的方法
一、通过Azure Synapse Analytics提取Azure AD用户数据
完全可以用Azure Synapse提取Azure AD的用户数据,具体操作步骤如下:
- 步骤1:在Synapse工作区创建链接服务,选择
Azure Active Directory作为数据源类型,配置对应Azure AD租户信息,确保账号拥有Directory Readers这类能读取用户数据的权限。 - 步骤2:基于该链接服务创建数据集,选择制作组织架构图所需的核心字段,比如用户ID、姓名、部门、职位、直属上级标识等。
- 步骤3:创建数据管道,使用复制活动将Azure AD数据同步到Synapse的专用SQL池、ADLS Gen2或Lakehouse中,方便后续调用处理。
- 灵活查询补充:也可以在Synapse的Spark笔记本中通过Microsoft Graph API获取数据,示例Python代码片段:
import requests import msal # 配置参数 client_id = "你的应用注册ID" client_secret = "你的应用密钥" tenant_id = "你的Azure AD租户ID" scope = ["https://graph.microsoft.com/.default"] # 获取访问令牌 app = msal.ConfidentialClientApplication(client_id, authority=f"https://login.microsoftonline.com/{tenant_id}", client_credential=client_secret) token_result = app.acquire_token_for_client(scopes=scope) access_token = token_result['access_token'] # 调用API获取用户及上级信息 api_url = "https://graph.microsoft.com/v1.0/users?$select=id,displayName,department,jobTitle,manager" headers = {"Authorization": f"Bearer {access_token}"} response = requests.get(api_url, headers=headers) user_data = response.json()
二、导入Power BI制作组织架构图
将Synapse中的数据导入Power BI后,可按以下步骤生成架构图:
- 步骤1:在Power BI中连接Synapse数据源(如专用SQL池、ADLS Gen2文件),加载用户数据。
- 步骤2:梳理数据关系,将用户表的
manager字段与上级用户的ID/邮箱字段建立层级关联。 - 步骤3:选择可视化组件中的组织架构图(Power BI原生支持,也可使用OrgChart等第三方插件),将姓名、部门、上级节点等字段映射到对应位置。
- 步骤4:调整布局样式,完成组织架构图制作。
三、轻量化替代工具方案
如果Synapse流程过于复杂,可选择以下更简便的工具:
- Power BI直连Microsoft Graph API:无需经过Synapse,直接在Power BI中通过
Web数据源调用API获取Azure AD用户数据,简化流程。 - 专用组织架构工具:比如OrgCharting、Lucidchart,这类工具支持直接导入Azure AD数据,快速生成可视化架构图,适合无需复杂数据处理的场景。
- Microsoft Teams内置功能:若组织使用Teams,可通过人员目录查看基础架构,也可导出数据后再做二次处理。
内容的提问来源于stack exchange,提问作者MahiC98
相关产品推荐
相关产品推荐

