Entraid Mcp Server

Entraid Mcp Server

🚀 EntraID MCP 服务器

EntraID MCP 服务器是一款基于 Python 的实用工具,借助 Microsoft Graph API 对 Azure AD 和 Microsoft Entra 身份验证环境展开深度剖析。它提供了丰富多样的功能,涵盖目录访问、组管理、策略读取、角色管理以及用户密码重置等,助力用户高效管理身份验证环境。

🚀 快速开始

环境变量配置

创建一个 .env 文件,并添加以下内容:

TENANT_ID=your_tenant_id
CLIENT_ID=your_client_id
CLIENT_SECRET=your_client_secret

基本用法

在终端中运行以下命令以启动服务器:

python -m server

✨ 主要特性

  • 全面的目录访问:能够读取所有用户的完整配置文件。
  • 组和成员管理:支持读取所有组及其成员关系。
  • 策略读取:可以查看组织中的所有策略信息。
  • 角色管理:具备读取目录基于角色的访问控制(RBAC)设置的能力。
  • 用户身份验证方法:能够读取所有用户的认证方式。
  • 审计日志:支持查阅所有的审核日志数据。
  • 安全措施:采用最小权限原则,仅授予必要的 Microsoft Graph 权限。

📦 安装指南

环境变量配置

创建一个 .env 文件,并添加以下内容:

TENANT_ID=your_tenant_id
CLIENT_ID=your_client_id
CLIENT_SECRET=your_client_secret

启动服务器

在终端中运行以下命令以启动服务器:

python -m server

💻 使用示例

基础用法

用户管理

用户查询
from user_management import UserManagementTool

tool = UserManagementTool()
users = tool.list_all_users()
print(users)
密码重置
from user_management import reset_password

result = reset_user_password_direct(user_id="12345", require_change=True, generate_password=True)
print(result)

审核日志

日志查询
from audit_logs import get_audit_logs

logs = get_user_audit_logs(user_id="67890", days=30)
print(logs)

📚 详细文档

项目结构

  • environ.py:包含环境变量和配置信息。
  • server.py:主服务器文件,负责处理各种请求。
  • tools/:包含具体的功能模块,如用户管理、组管理等。

功能模块

用户管理

用户查询
from user_management import UserManagementTool

tool = UserManagementTool()
users = tool.list_all_users()
print(users)
密码重置
from user_management import reset_password

result = reset_user_password_direct(user_id="12345", require_change=True, generate_password=True)
print(result)

审核日志

日志查询
from audit_logs import get_audit_logs

logs = get_user_audit_logs(user_id="67890", days=30)
print(logs)

权限要求

以下列出所有必需的 Microsoft Graph 权限及其作用:

API/权限 类型 描述
AuditLog.Read.All 应用程序 读取所有审核日志数据
AuthenticationContext.Read.All 应用程序 读取所有身份验证上下文信息
DeviceManagementManagedDevices.Read.All 应用程序 读取 Microsoft Intune 设备
Directory.Read.All 应用程序 读取目录数据
Group.Read.All 应用程序 读取所有组
GroupMember.Read.All 应用程序 读取所有组成员关系
Policy.Read.All 应用程序 读取组织的所有策略
RoleManagement.Read.Directory 应用程序 读取目录中的基于角色的访问控制设置
User.Read.All 应用程序 读取所有用户的完整配置文件
User-PasswordProfile.ReadWrite.All 应用程序 最小权限原则,用于更新密码配置
UserAuthenticationMethod.Read.All 应用程序 读取所有用户的身份验证方法

扩展说明

若要添加新功能模块,请按照以下步骤操作:

  1. tools/ 文件夹下创建新的 Python 类。
  2. 使用 @mcp.tool() 装饰器注册新的工具。
  3. server.py 中导入并注册新工具。

安全注意事项

  • 避免提交敏感信息:确保 .env 和其他敏感文件不会被纳入版本控制系统。
  • 最小权限原则:仅授予必要的 Microsoft Graph 权限以减少潜在风险。
  • 审计与监控:利用日志输出进行故障排除和监控。

📄 许可证

MIT License

  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-09-30 06:39

相似服务问题