🔐 基于n8n&MCP的GCP零信任安全自动化
Google Cloud Platform上的高级零信任架构实现,利用IAP、访问上下文管理器、VPC服务控制,并通过MCP+LLM决策支持的n8n自动化复杂的工作流程。
📖 概述
该项目通过将核心GCP服务与n8n集成用于工作流自动化,并将自定义模型上下文协议(MCP)服务器集成用于智能、LLM驱动的决策,在GCP上实现了全面的零信任安全模型。
- 使用IAP和访问上下文管理器强制执行强身份和上下文感知访问。
- 使用VPC服务控件创建数据边界。
- 使用n8n自动化访问请求、策略审核和可疑活动响应。
- 利用MCP+LLM在n8n工作流中进行动态、智能决策。
🚀 特性
- 身份感知代理(IAP)集成:通过验证用户身份和上下文来保护web应用程序。
- 访问上下文管理器(ACM):根据设备、IP、地区等定义粒度访问级别。
- VPC服务控制(VPC SC):在敏感数据和服务周围创建安全边界。
- n8n的自动化工作流程:简化访问请求、策略审核和事件响应的流程。
- 用于LLM驱动决策的MCP服务器:将大型语言模型(LLM)集成到n8n工作流中,以进行高级策略评估和授权。
- 使用Terraform的基础设施即代码:确保所有GCP资源的一致和可重复部署。
- 使用密钥管理器进行密钥管理:安全存储n8n和MCP的API密钥和凭据。
💡 建筑
📊 架构图
(docs/architecture.png)
上述流程说明☝️:
在这里-
- 用户访问尝试:用户尝试访问受保护的应用程序(例如,托管在Cloud Run或App Engine上的应用程序)。
- 身份感知代理(IAP):IAP拦截请求,验证用户的身份,并检查其IAP访问策略。
- 访问上下文管理器(ACM):IAP评估用户的当前上下文(IP、设备、地区等)是否符合定义的访问级别。
- VPC服务控制(VPC SC):如果应用程序或访问的数据在VPC SC边界内,则会执行边界检查,防止未经授权的数据泄露或访问。
n8n工作流自动化:
- 访问请求:用户提交访问请求(例如,通过触发n8n webhook的简单web表单)。
- MCP服务器(云运行):n8n工作流将访问请求详细信息发送到MCP服务器。
- LLM(OpenAI/Vertex AI):MCP服务器与LLM交互,根据上下文、用户角色和策略评估请求,提供建议。
- MCP决策:MCP服务器处理LLM的响应,应用逻辑,并返回明确的决策(例如,“使用临时角色批准”、“拒绝”)。
- IAM API:如果获得批准,n8n在MCP决定的驱动下,与Google IAM API交互以授予临时访问权限。
- 可疑活动:来自IAP、ACM、VPC SC和其他服务的日志被路由到Pub/Sub.n8n订阅这些主题,并使用MCP/LLM进行分析,触发警报(例如,发送电子邮件或我们将提供的联系方式)
- 云监控和日志记录:将记录所有访问尝试、策略违规和自动化结果的日志记录和监控。
🛠️ 先决条件
- GCP项目/项目ID。
- 具有日志查看器+函数调用器角色的服务帐户
- 应配置云身份/Google工作区。
- 具有n8n、MCP服务器和自动化任务最低权限的服务帐户。
- 用于LLM访问的OpenAI API密钥或Vertex AI(谷歌云)设置。
