Okta MCP服务器:连接AI代理与身份管理系统的桥梁

本文介绍了Okta MCP服务器的功能与使用方法,该服务器基于模型上下文协议,能够在大型语言模型与Okta后台系统间建立安全连接,实现用户管理、群组操作等自动化任务,支持设备授权和私钥JWT两种认证方式。

Okta MCP服务器介绍

随着AI代理和AI威胁以前所未有的速度激增,让它们与最重要的后端系统安全通信变得至关重要。

模型上下文协议(MCP)服务器充当LLM与外部系统之间的桥梁。它将自然语言意图转换为结构化的API调用,使代理能够执行诸如配置用户、管理群组或拉取报告等任务,同时尊重系统的安全模型。建立通用协议消除了构建自定义集成的需求。企业现在可以轻松将其AI代理与Okta的后端系统连接,实现复杂活动链的自动化、快速解决问题并提高性能吞吐量。

Okta MCP服务器带来的价值

Okta MCP服务器为您的身份和访问管理工作流程带来了这种能力。它直接连接到Okta的管理API,让您的LLM代理能够安全地自动化组织管理。

将其视为为Okta解锁了一个新接口,您可以通过这个接口向代理询问:

  • “将这名新员工添加到工程组”
  • “生成过去90天内非活跃用户报告”
  • “停用过去30分钟内尝试登录的所有用户”

工具和能力

当前形式的服务器允许以下操作:

  • 用户管理:创建、列出、检索、更新和停用用户
  • 群组管理:创建、列出、检索、更新和删除群组
  • 群组操作:查看分配的成员、查看分配的应用程序、添加和移除用户
  • 系统信息:检索Okta系统日志

以及使用应用程序和策略API的许多其他操作。

基于上述操作,还可以执行复杂的实际操作。例如,您可以要求MCP服务器生成过去30天的安全审计报告,并根据所需的报告模板突出显示用户和群组成员资格的所有更改。

亮点概览

  • 灵活的身份验证:服务器支持交互式登录(通过设备授权授予)和完全自动化的无浏览器登录(通过私钥JWT)
  • 更安全的凭据处理:通过范围化API访问和环境变量管理身份验证详细信息,将密钥排除在代码之外
  • 与Okta API的无缝集成:基于Okta官方SDK构建,与Okta的管理API紧密集成

开始使用Okta MCP服务器

初始化项目

Okta MCP服务器已打包以便快速设置,您可以克隆并运行它。我们使用uv(快速的Python包管理器)来帮助确保环境可重现且轻量。

安装步骤:

1
2
git clone https://github.com/okta/okta-mcp-server.git
cd okta-mcp-server && uv sync

身份验证和授权

每个MCP服务器都需要一种方式来证明其身份并安全访问Okta API。我们支持两种身份验证模式:

选项A:设备授权授予(推荐用于交互式使用)

此流程最适合在本地运行MCP服务器并希望快速、用户友好登录的情况。

设置步骤:

  1. 注册Okta集成器免费计划账户
  2. 在管理控制台中:应用程序 > 应用程序 > 创建应用集成
  3. 选择OIDC - OpenID Connect作为登录方法
  4. 选择本机应用程序作为应用程序类型
  5. 配置重定向URI:com.oktapreview.java-oie-sdk:/callback

选项B:私钥JWT(最适合自动化、CI/CD和"无头"环境)

此流程最适合MCP服务器需要在没有人工干预的情况下运行的情况。

设置步骤:

  1. 在Okta组织中创建新的API服务应用集成
  2. 在客户端身份验证下选择公钥/私钥
  3. 添加公钥:在Okta中生成(推荐)或以PEM格式复制,或上传自己的密钥
  4. 复制客户端ID和密钥ID(KID)
  5. 授予必要的API范围

配置客户端

您可以将Okta的MCP服务器与任何MCP兼容的客户端一起使用。

在VS Code中使用Okta MCP服务器

在GitHub Copilot中启用代理模式

Okta MCP服务器通过Copilot的代理模式与VS Code集成。

更新VS Code设置

在settings.json中配置MCP服务器:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "description": "Okta Organization URL",
        "id": "OKTA_ORG_URL"
      },
      {
        "type": "promptString",
        "description": "Okta Client ID",
        "id": "OKTA_CLIENT_ID",
        "password": true
      }
      // ... 其他配置项
    ],
    "servers": {
      "okta-mcp-server": {
        "command": "uv",
        "args": [
          "run",
          "--directory",
          "/path/to/the/okta-mcp-server",
          "okta-mcp-server"
        ],
        "env": {
          "OKTA_ORG_URL": "${input:OKTA_ORG_URL}",
          "OKTA_CLIENT_ID": "${input:OKTA_CLIENT_ID}"
          // ... 其他环境变量
        }
      }
    }
  }
}

启动服务器

在VS Code中打开后,您现在可以看到okta-mcp-server作为启动选项。点击启动以在mcp.json文件中启动服务器。

服务器将检查您的身份验证方法:

  • 如果使用设备授权,它会触发通过浏览器登录的提示
  • 如果使用私钥JWT,它将使用您的密钥静默进行身份验证

连接后,Copilot将自动识别您可以使用的Okta命令。

实际操作示例

  1. 列出用户
  2. 创建用户
  3. 群组分配
  4. 创建审计报告

我们邀请您尝试我们的MCP服务器,体验身份和访问管理的未来。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计