安全与访问控制
🛡️ 企业级安全:通过行业标准身份验证和细粒度访问控制保护您的 MCP 服务器
🛡️ OAuth 2.1 身份验证
功能描述:具有安全令牌管理的行业标准身份验证 适用场景:通过企业级安全控制谁可以访问您的 MCP 服务器 优势特点:用户会话、令牌刷新、审计跟踪、基于范围的权限
身份验证流程:
⏱️ 设置时间:15 分钟 🎯 适用场景:团队、共享环境、安全合规 ✅ 获得收益:安全身份验证、会话管理、令牌刷新、审计日志
🏷️ 基于标签的访问控制
功能描述:使用服务器标签和 OAuth 范围的细粒度权限 适用场景:仅向用户授予所需 MCP 服务器的访问权限 优势特点:按敏感度/功能标记服务器,按角色授予访问权限
权限示例:
# 服务器配置
filesystem: { tags: ['files', 'sensitive'] }
database: { tags: ['database', 'sensitive'] }
web-search: { tags: ['web', 'safe'] }
memory: { tags: ['memory', 'safe'] }
# 用户角色
Developer: 'tag:files tag:database tag:web tag:memory' # 完全访问
Analyst: 'tag:database tag:web' # 仅数据访问
Demo: 'tag:web' # 仅公共 API⏱️ 设置时间:每个角色 5 分钟 🎯 适用场景:多用户环境、最小权限原则 ✅ 获得收益:基于角色的访问、细粒度权限、安全合规
🚫 速率限制和 DDoS 防护
功能描述:通过每客户端可配置请求限制防止滥用 适用场景:保护您的 MCP 服务器免受过载和恶意使用 优势特点:每客户端限制、突发处理、自动节流
速率限制配置:
# 通过 CLI 标志配置
npx -y @1mcp/agent --config mcp.json --enable-auth \
--rate-limit-window 15 \ # 15 分钟窗口
--rate-limit-max 100 # 每个窗口 100 个请求
# 或通过环境变量
export ONE_MCP_RATE_LIMIT_WINDOW=15
export ONE_MCP_RATE_LIMIT_MAX=100
npx -y @1mcp/agent --config mcp.json --enable-auth⏱️ 设置时间:具有合理默认值的内置功能 🎯 适用场景:公共 API、高流量环境、滥用防护 ✅ 获得收益:自动保护、可配置限制、公平使用强制执行
安全入门
安全设置路径
安全最佳实践
- 最小权限原则:授予最少的必要访问权限
- 定期审计:审查访问日志和权限
- 令牌管理:实施适当的令牌刷新周期
- 监控:跟踪身份验证事件和失败
高级安全
- 自定义范围:定义特定于应用程序的权限
- 审计日志:跟踪所有安全事件
- 集成:连接企业身份提供商
下一步
🔒 安全提示:所有安全功能都设计为协同工作。首先启用 OAuth 2.1,然后分层添加基于标签的访问控制和速率限制,以获得全面保护。
Admin 与健康检查运行限制
OAuth、Admin 与健康检查限流是相互独立的控制。--rate-limit-window 和 --rate-limit-max 只配置 OAuth。Admin 登录、Admin 状态读取、敏感 Admin OAuth 操作与健康检查路由使用配置指南中不可关闭的 config.toml 策略。
这些状态都保存在单个进程内。多副本部署仍需要网关级防护。登录请求突发与凭据失败跟踪是两种控制;浏览器和 CLI 登录适配器会按规范化账户标识加 Express 解析出的客户端 IP 共享失败次数。
admin.audit.retentionDays 只控制日志回放与压缩期间保留的本地脱敏审计事实。已完成/失败操作的幂等回放固定为 24 小时,结果不明确的 state_unknown 固定为 30 天。本地历史可作为运行证据,但不是不可篡改的合规审计系统。
