Coroid 会在您的代码上执行自动化工程工作。本页面介绍了该工作的运行位置、可访问范围、凭证与数据的保护方式,以及留下的记录。文中描述了当前已实施的控制措施。计划中的控制措施会标注为“计划中”。
代理程序的工作运行位置
每个任务都在独立的隔离云工作区中运行。该工作区为对应任务创建,任务完成后即被销毁。代理程序仅能读写其中检出的代码库。
共有三个区域:
| 区域 | 所有者 | 包含内容 |
|---|---|---|
| 代理程序工作区 | Coroid | 单个任务的检出、构建与测试工具。按任务创建,任务完成后即被销毁。 |
| 控制平面 | Coroid | 负责调度、规范制定、证据留存及决策链路记录。通过加密配置存储项目范围内的凭证。 |
| 您的网络与生产环境 | 您 | 无法从代理程序工作区访问。 |
工作成果以pull request的形式离开工作区。您的团队决定其是否合并,随后由您自己的部署路径处理该成果。Coroid无需IDE扩展组件、本地代理程序,也无需访问您的私有网络。
身份与访问
身份验证在网关中集中处理。它支持以下功能:
- 用于门户访问的基于JWT的用户会话
- 具备托管轮换功能的服务间令牌
- 用于外部集成的API密钥
- 针对用户、服务和混合访问端点的防护机制
代码库访问权限限定在项目范围内。一个项目的凭证无法被其他项目使用,且Coroid处理单个代码库时无需使用全组织范围的凭证。请参阅连接您的代码.
组织所有者和管理员可在“设置 → 安全与访问”中管理成员、会话和安全事件日志。设置 → 安全与访问SSO/SAML搭配SCIM预配功能属于企业版功能,目前处于私有预览阶段.
数据保护
- 数据在传输和静态存储时均会被加密。
- 提供商密钥、代码库令牌等敏感配置值均会加密存储。
- 公共云服务提供欧盟托管配置以满足有GDPR或数据驻留要求的团队的需求。该仅限欧盟AI配置会将模型推理环节交由欧盟托管的提供商处理。请参阅AI配置.
- 您可以控制执行历史、转录内容和 artifacts 的留存时长。请参阅数据留存.
决策链路
每项自动化变更都会用审核人员和安全团队常用的术语进行说明:
- 规范、代理程序活动、审核及审批决策均与对应任务关联
- 执行链路会记录每次代理程序运行情况,包括失败的尝试及其原因
- 拉取请求历史记录了代码合并前的最终证据
- 安全、依赖项、覆盖率、可视化、端到端及浏览器测试相关证据可附在审核意见中。请参阅审核证据.
合并关卡会将生产环境变更置于明确的策略约束之下。未经您的质量关卡要求,任何内容都无法合并。
生产运营
- CI流程中的软件物料清单生成与容器镜像扫描
- 仅支持HTTPS的公共端点,配备TLS终止功能
- 自动数据库快照与恢复操作手册
- 涵盖指标、日志和错误的监控与告警功能
部署选项
Coroid有三种运行模式。每种模式下的工作流程相同;区别在于运行时环境、存储、代码库访问权限及凭证的存放位置。
| 模式 | 可用性 | 运行位置 |
|---|---|---|
| 云端 | 已正式发布 | Coroid运营,可选欧盟托管配置 |
| 企业云 | 私有预览阶段 | Coroid运营,具备约定容量、SSO/SAML、SCIM及审计导出功能 |
| 本地部署 | 私有预览阶段 | 部署于您的基础设施上,搭配Docker Compose或Kubernetes |
本地部署
本地部署模式可让受监管团队将代码库访问权限、存储、凭证及网络策略保留在他们自行管控的基础设施内。
- Docker Compose适用于单服务器安装及试点场景。持久化卷用于存储数据库、代码库和日志。
- Kubernetes适用于多服务器及自动扩展安装场景。Helm负责管理工作应用、工作程序、同步及运行器服务,可与托管或自托管的PostgreSQL及对象存储配合使用。
- 受限网络可使用离线模型和依赖项策略、自托管机密信息管理工具及内部TLS。
Git访问采用个人访问令牌而非第三方应用安装方式,且可指向内部代码库主机。
认证情况
Coroid目前尚未取得SOC 2报告或其他第三方安全认证。SOC 2属于待达成的目标。在相关控制措施获得认证前,我们不会将其标注为已认证。