Profile 中的限制
网络策略
- 主机名,支持
*通配符 (例如*.github.com、registry.npmjs.org) 。*可匹配任意字符序列,包括点号。 - IPv4 / IPv6 CIDR 范围 (例如
10.0.0.0/8) 。
MCP 访问
MCP 访问独立于网络策略进行管理:你不需要将 MCP 服务器的地址添加到网络允许列表中。Profile 允许的服务器会自动可访问,而被 Profile 排除的服务器无论网络策略如何都无法使用。
Devin MCP 访问
Git 访问级别
GitHub CLI 令牌
gh) 令牌,让 Devin 能够通过 GitHub API 直接使用 GitHub 功能。Profile 可以从机器中移除 GitHub CLI 令牌:受该 Profile 约束的会话仍可通过 Devin 的 git 集成访问你的代码仓库,但无法直接发起 GitHub API 调用。
只有在同时授予 完全 git 访问权限,且设置网络策略时允许访问 api.github.com 的情况下,Profile 才能保留该令牌。保存 Profile 时,系统会强制检查这两个条件。
Profile 的位置
- 组织级 Profile 在 Settings → 自定义 → 安全 Profile 中创建,只能在该组织内使用。
- 企业级 Profile (仅限企业账户) 在 企业设置 → Devin → 安全 Profile 中创建,企业中的每个组织都可使用。组织可以为其会话、自动化或组织默认值选择企业级 Profile,但只有 Enterprise Admin 可以编辑 Profile 本身。
你可以将 Profile 绑定到哪些对象
- 企业默认值 — 适用于企业中每个组织内的新会话。
- 组织默认值 — 适用于该组织中的新会话。
- 自动化默认值 — 适用于由该组织中的自动化启动的会话,并覆盖这些会话的组织默认值。在同一 security-profiles 设置页面中设置。
- 自动化 — 适用于由该特定自动化启动的会话,并覆盖自动化默认值。在该自动化的编辑器中设置。
- 会话 — 可在创建单个会话时选择 (通过会话启动框中的选项菜单) ,也可稍后在会话的设置中更改。
- 继承 (默认) — 不作指定;由上一级决定。
- 固定某个 Profile — 这一层的会话使用所选的 Profile。
- 无 Profile — 明确选择不使用,因此即使上一级设置了推荐的默认值,这一层的会话也会不受限制地运行。
更改何时生效
强制执行与建议执行
推荐
强制
- 选择退出无效。 在强制 Profile 之下选择“无 Profile”会被忽略。
- 低层级的选择只能进一步收紧,不能放宽。 如果低层级固定到另一个 Profile,这两个 Profile 会取交集:
- 网络允许列表会收窄为 两个 Profile 都允许的目标地址。
- MCP 允许列表会收窄为两者都允许的服务器。
- Git 访问取最低权限 (只读优先于完全访问) 。
- 如果任一 Profile 设为只读,Devin MCP 访问即为只读。
- 如果任一 Profile 移除了 GitHub CLI 令牌,则该令牌会被移除。
- 会话中途的编辑会被限制。 在会话期间授予的网络访问 (例如批准 Devin 对新域名的请求) 会与强制 Profile 的策略取交集,因此会话获得的访问权限绝不会超出强制 Profile 允许的范围。
*.internal.example.com) 的强制 Profile 绑定为企业默认值。随后,各组织可以在其上叠加自己的 Profile,进一步限制特定团队或工作流程——但任何组织、自动化或会话都不能将访问范围扩大到超出企业策略的程度。
权限与治理
这两个级别的权限都可以授予给自定义角色,这样你就可以将安全策略管理交给其他人 (例如安全团队) ,而无需授予完整的 Admin 权限。
没有该权限的成员无法查看、选择或更改 Profile——他们的会话只会遵循解析后的默认值——但任何人都可以看到自己的会话是否受某个 Profile 控制,以及它具有什么网络访问权限。
设置安全 Profile
- 创建 Profile。 前往 设置 → 自定义 → 安全 Profile (企业范围的 Profile 则前往 企业设置 → Devin → 安全 Profile) ,创建一个 Profile,并配置其安全设置和执行级别。
- 设置默认值。 将该 Profile 绑定为你的组织默认值 (或企业默认值) ,这样新会话就会自动采用它。
- 按需固定。 在特定 自动化 上覆盖默认值——例如,为会接触敏感系统的 自动化 使用更严格的 Profile——或在创建单个会话时进行覆盖。
- 逐步收紧。 先从推荐的 Profile 开始,观察其影响;等允许列表已覆盖团队的合理需求后,再将其切换为强制执行。
自动化 和 Profile
Outposts 和 Profile
spec.network_policy 字段发布给你的 orchestrator (包括策略是否启用,以及允许的主机名和 CIDR) 。该策略的实施——例如使用按会话配置的出口代理、Kubernetes NetworkPolicy 或 VM 防火墙规则——由 outpost 运营方负责。Devin 仍会照常识别 允许列表 中缺失的目标地址并请求访问权限,但批准请求只会更新 Devin 中的会话策略,本身不会改变你的网络。spec.network_policy 会在会话排队至 outpost 时记录,并在重新排队时刷新 (例如会话休眠后被唤醒) ,因此应从 API 中重新读取,而不要假定它是静态的。

