Active Directory管理服务器

Koppla是一个基于自然语言的Active Directory管理服务器,支持查询和管理用户、组和计算机对象。

  • by ruudmens
  • Python
  • 本地部署
  • 58 星标
  • 更新于
在 GitHub 查看 ruudmens/Koppla

使用说明

配对

Koppla是一个 模型上下文协议服务器 为了 活动目录 它使您能够使用自然语言管理用户、组和计算机对象。

有关更多信息,请访问 https://lazyadmin.nl/koppla

使用Koppla,您可以使用Claude Desktop或其他支持MCP的AI代理无缝查询和管理您的Active Directory环境。

🔹 Koppla能做什么?

Koppla允许您执行复杂的 Active Directory查询和更新 毫不费力。示例:

  • “查找所有90天内未登录的非活动用户。”
  • “将John Doe添加到‘IT管理员’安全组。”
  • “列出所有锁定的用户帐户。”
  • “查找销售部门的所有用户。”
  • “简·史密斯属于哪些团体?”
  • “显示空组。”
  • “查找组A中的用户,但不查找组B中的用户。”

🚀 入门指南

1.️⃣ 先决条件

  • Python 3.7或更高版本
  • Active Directory环境
  • Claude桌面应用程序(用于与Claude集成)

2.️⃣ 安装

Koppla需要Python,可以使用以下方式安装:

pip install koppla

3.️⃣ 配置

使用配置管理器(推荐)

Koppla包括一个处理敏感凭据加密的安全配置管理器:

koppla-config configure

此交互式工具将:

  1. 提示输入Active Directory连接详细信息
  2. 使用Fernet对称加密对密码进行安全加密
  3. 使用Koppla服务器设置创建或更新Claude Desktop配置文件
  4. 自动创建现有Claude Desktop配置的备份
  5. 测试连接以验证您的凭据

您还可以:

  • 显示当前配置: koppla-config show
  • 测试您的AD连接: koppla-config test

手动配置

Koppla使用环境变量进行配置:

名称 描述
AD_SERVER Active Directory服务器的地址。
AD_USER 用于身份验证的用户名。
AD_PASSWORD 身份验证密码。
BASE_DN LDAP查询的基本DN。
AD_WRITE_ENABLED 启用或禁用写入操作(true/false)。

要使用Claude Desktop应用程序手动配置Koppla,请将以下配置添加到Claude_Desktop_config.json的“mcpServers”部分:

{
  "mcpServers": {
    "Koppla-Active-Directory": {
        "command": "python",
        "args": ["-m", "koppla.server"],
        "env": {
            "AD_SERVER": "ldap://<domain-controller-name>:389",
            "AD_USER": "<domain\\username>",
            "AD_PASSWORD": "<password>",
            "BASE_DN": "DC=lazyadmin,DC=nl",
            "AD_WRITE_ENABLED": "false"
        }
    }
  }
}

⚠️ 数据处理和隐私声明

重要提示:Koppla将Active Directory数据传输到外部AI模型进行处理。这可能会对安全和合规性产生影响,特别是对于受GDPR或类似法规约束的组织。Koppla本身不会存储任何广告数据,但请注意,AI代理可能会根据自己的策略保留对话历史。确保使用符合您组织的数据处理要求,并考虑通过仔细配置来限制可查询数据的范围。

🔒 安全功能

密码加密

  • Koppla使用Fernet对称加密(来自加密软件包)来保护您的Active Directory密码
  • 加密密钥与配置分开存储在具有受限权限的密钥文件中
  • 使用配置管理器时,密码从不以纯文本形式存储
  • 加密密码显示为 ENCRYPTED:xxxx... 在配置文件中

备份系统

  • 在任何配置更改之前,Koppla会自动为您的Claude Desktop配置创建带时间戳的备份
  • 备份与配置一起存储,格式为: claude_desktop_config.json.backup_YYYYMMDD_HHMMSS

写保护

  • 默认情况下,禁用所有写入操作(从组中添加/删除用户、更新用户属性)
  • 要启用写入操作,请设置 AD_WRITE_ENABLED 为了“真实”
  • 无论写入设置如何,关键帐户和组都有额外的保护

支持的写入操作

Koppla支持以下写入操作: AD_WRITE_ENABLED 设置为“true”:

  1. 更新用户属性

    • 修改标准用户属性,如描述、标题、部门等。
    • 受保护的字段(密码、安全标识符、帐户控制)不能修改
    • 无法修改受保护的帐户(管理员、服务帐户等)
  2. 将用户添加到组

    • 将标准用户添加到安全组或通讯组
    • 无法将用户添加到受保护的管理组
    • 受保护的帐户不能添加到任何组
  3. 从组中删除用户

    • 从大多数安全组或通讯组中删除用户
    • 无法从关键系统组中删除用户
    • 无法从任何组中删除受保护的帐户

所有写入操作在执行前都需要明确确认。