内容提要
文章介绍如何通过手机聊天指挥DigitalOcean托管AI代理,完成huffl生产后端从Supabase的迁移,涉及31张表、14.5万行数据、3个存储桶和约3.1万条向量嵌入。重点在于三层安全边界:凭证经Action Gateway按调用注入,不进入模型或日志;Harness Runtime基于NVIDIA OpenShell策略将文件系统设为只读,仅允许写入/workspace和/tmp;网络默认拒绝,仅放行白名单主机。三层均通过配置实现,无需人工监控。
延伸解读
凭证隔离:代理可用不可见
文章强调,迁移中代理需要同时访问DigitalOcean和Supabase,但凭证并未以明文进入提示词或环境变量。Action Gateway在调用瞬间附加OAuth凭证,模型、提示词和会话记录中均不出现令牌值。代理能使用凭证完成API调用,却无法读取凭证本身。这种设计把“代理行为是否可靠”转化为“代理手中是否根本没有可滥用的秘密”,降低了凭证泄露风险。
文件系统边界由运行时强制执行
Harness Runtime基于NVIDIA OpenShell策略将文件系统设为只读,仅允许写入/workspace、/tmp和/dev/null。文章中的测试显示,代理尝试在/bin创建文件时被拒绝,sudo检查也失败,随后代理主动建议改写到/tmp。这说明边界不依赖代理自觉,而是由运行时强制执行。读者应注意,这种限制来自配置清单中的policy_profile,而非事后监控或人工干预。
网络默认拒绝与白名单放行
第三层边界是出站网络。清单将allow_hosts限定为任务所需主机,代理访问其他地址时会被代理服务器拒绝。文章指出这遵循OpenShell的默认姿态:网络访问默认拒绝,仅放行显式白名单。与凭证和文件系统一样,这属于预先声明的配置,不需要有人盯着流量抓异常。对读者而言,这意味着代理即使拥有API访问能力,也无法随意连接互联网上的其他服务。
平台负责边界,工作负载安全仍归用户
文章明确区分了责任:配置这些边界是平台的角色,但保护接入代理的工作负载、数据和工具仍是用户自己的责任。三层防护均通过配置实现,无需人工监控,但文章也提醒DigitalOcean Managed Agents处于公开预览阶段,不提供服务等级协议,功能可能变化或撤回。读者在借鉴该模式时,应把边界配置视为必要基础,而非替代对自身数据与工具的安全治理。
Q&A
DigitalOcean托管代理在迁移huffl生产后端时,具体完成了哪些工作?
代理通过手机聊天指挥,完成了从Supabase到DigitalOcean的迁移,涉及31张表、145,432行数据、3个存储桶和约31,000条向量嵌入。它配置了数据库、加载访问策略、映射Supabase功能到DigitalOcean对应服务,并逐表验证数据。
代理如何在不接触凭证值的情况下使用DigitalOcean和Supabase的API?
通过Action Gateway以托管OAuth连接方式接入DigitalOcean令牌,凭证在调用时由网关附加,不经过模型、提示或转录记录。代理可以使用凭证,但无法获取凭证值本身,会话中环境变量也被脱敏。
Harness Runtime如何限制代理的文件系统操作?
Harness Runtime基于NVIDIA OpenShell策略配置文件系统为只读,仅允许写入/workspace、/tmp和/dev/null。代理尝试在/bin创建文件或使用sudo均被拒绝,运行时强制执行该策略。
代理的网络访问是如何被控制的?
网络默认拒绝所有出站连接,仅允许白名单中的主机(allow_hosts)。代理只能访问清单中列出的主机,其他连接被代理拒绝。这通过配置实现,无需人工监控。
这三层安全边界是如何实现的?需要人工持续监控吗?
三层边界均通过配置实现:凭证由Action Gateway按调用注入,文件系统策略和网络白名单在环境清单中声明并由Harness Runtime强制执行。无需人工监控,边界在代理开始工作前就已设定。
DigitalOcean Managed Agents与NVIDIA OpenShell是什么关系?
DigitalOcean Managed Agents通过Harness Runtime原生执行NVIDIA OpenShell开源运行时的默认安全策略(如文件系统只读、网络默认拒绝),用户只需在控制台选择OpenShell模板即可应用,无需额外工具。