保护 Continuous Delivery 中的数据
Continuous Delivery 服务会先加密客户拥有的敏感数据,然后再将其存储在服务内部使用的数据库中。
IBM Cloud® Continuous Delivery 在安全的高可用性环境中托管数据库:
- 通过使用 Continuous Delivery 服务或其依赖的服务和基础结构内部的加密密钥,静态 (GPFS , LUKS 和内置磁盘) 和传输中 (HTTPS 和 SSH) 对数据进行加密。
- 客户机和系统凭证存储在加密的磁盘中。
- 工具集成和 Delivery Pipeline 属性值的配置数据可能包含敏感信息。 此数据通过使用 Continuous Delivery 服务内部的加密密钥进行加密,因为它存储在服务内部的数据库中。
- 针对高可用性配置应用程序和数据。
- 仅限那些需要使用数据来支持和维护服务的用户才能访问数据。
Continuous Delivery 不支持使用客户提供的密钥的加密。
保护 Continuous Delivery 中的敏感数据
敏感数据包括第三方工具集成配置数据和 Delivery Pipeline 属性值。 使用 Continuous Delivery 服务内部的加密密钥对数据进行加密。
DevOps 流程通常需要各种类型的凭证(例如,用户名和密码、API 密钥、服务密钥和 SSH 密钥)来与其他系统进行交互,以构建、测试和部署应用程序。 您负责确保这些凭证不会无意中与凭证目标受众之外的人员共享。 恶意参与者对这些凭证的访问可能会中断您的 IT 运营,导致意外的成本,或者使用您的资源来启动攻击。 IBM 不负责保护和维护您的凭证的安全性。
要使凭证保持安全,请确保遵循以下指导信息:
- 不要将凭证存储在 Git 存储库中。 根据存储库设置,存储库中的文件可能对组织的其他成员、其他 IBM Cloud 用户或公用因特网可视。
- 不要在 Delivery Pipeline 定义中包含用户凭证,因为它们可能对其他用户可视。 具体来说,不要将用户凭证放置在 Delivery Pipeline 经典作业定义脚本、Delivery Pipeline Tekton yaml 文件或由 Delivery Pipeline 启动的脚本中。
- 不要在运行管道时创建的日志文件中发布用户凭证,因为这些文件可能会共享。
IBM Cloud 提供了可用于安全密钥存储和私钥的多个选项。
有关安全 DevOps 最佳实践的更多信息,请参阅 DevOps 安全性。
使用第三方工具集成时保护数据
为工具链配置工具集成时,将显式启用 Continuous Delivery 服务与工具集成之间的数据共享。 共享数据的类型以及数据是发送到工具,从工具接收还是同时发送,根据工具集成的类型而有所不同。
在配置工具集成之前,请确保了解共享的数据。 如果使用受监管数据或敏感数据,请确保第三方工具以及可能与其共享的任何数据不会损害资源的机密性,完整性或可用性,或者违反监管控制。
要了解有关工具集成的更多信息,请参阅 配置工具集成。
使用 Git Repos and Issue Tracking 时保护数据
Git Repos and Issue Tracking 是 Continuous Delivery 服务的 IBM托管的组件。 您提供给 Git Repos and Issue Tracking的所有数据 (包括但不限于源文件,问题,拉取请求和项目配置属性) 都在 Continuous Delivery中进行安全管理。 但是, Git Repos and Issue Tracking 支持用于向用户和第三方导出,发送或以其他方式共享数据的各种机制。
Git Repos and Issue Tracking 共享信息的能力是许多社交编码平台的典型能力。 但是,此类共享可能与可能适用于您的业务的法规控制相冲突。 在 Git Repos and Issue Tracking中创建项目之后,但在将任何文件,问题,记录或其他数据委托给项目之前,请查看项目设置并更改保护数据所需的任何设置。 要复审的设置包括可视性级别,电子邮件通知,集成, Web 挂钩,访问令牌,部署令牌和部署密钥。
项目可视性级别
Git Repos and Issue Tracking 项目可以具有下列其中一个可视性级别 :private , internal 或 public。
- 专用项目仅对项目成员可见。 此设置是新项目的缺省可视性级别,并且是数据的最安全可视性级别。
- 内部项目对登录到 IBM Cloud的所有用户可见。
- 任何人都可以看到公共项目。
要将项目访问权仅限于项目成员,请完成以下步骤:
- 从项目侧边栏中,单击 设置 > 常规。
- 在 " 常规设置 " 页面上,单击 可视性 > 项目功能 > 许可权。
- 找到 项目 可视性设置。
- 选择 专用(如果尚未选择)。
- 单击保存更改。
项目电子邮件设置
缺省情况下, Git Repos and Issue Tracking 通过电子邮件通知项目成员有关项目活动的信息。 这些电子邮件通常包含用户提供给 Git Repos and Issue Tracking 的客户拥有的数据。 例如,如果用户向问题发布评论,那么 Git Repos and Issue Tracking 会向所有订户发送电子邮件。 该电子邮件包含诸如评论的副本,发布该评论的用户以及发布该评论的时间等信息。 要关闭项目的所有电子邮件通知,请完成以下步骤:
- 从项目侧边栏中,单击 设置 > 常规。
- 在 "** 常规设置 **" 页面上,单击 可视性 > 项目功能 > 许可权。
- 选中 禁用电子邮件通知 复选框。
- 单击保存更改。
项目集成和 Webhook
Git Repos and Issue Tracking 项目还可以通过与其他系统的集成或 Webhook 进行配置,或者配备访问令牌,部署令牌和部署密钥。 要查看或更改可能与项目一起配置的集成, Webhook ,令牌和密钥,请从项目侧边栏完成以下步骤:
- 从项目侧边栏中,单击 设置。
- 单击 集成 以使用项目与其他应用程序的集成。
- 单击 Webhook 以将项目的 Webhook 用于其他系统。
- 单击 访问令牌 以使用可能授予项目访问权的访问令牌。
- 展开 部署令牌 以使用可能授予项目访问权的部署令牌。
- 展开 部署密钥 以使用可授予项目访问权的部署密钥。
要了解有关使用 Git Repos and Issue Tracking的更多信息,请参阅 Git Repos and Issue Tracking。
使用 Delivery Pipeline 时保护数据
Continuous Delivery 管道运行您提供的作业和步骤。 Continuous Delivery 服务安全地管理由管道运行生成的日志输出和构建工件。 但是, Continuous Delivery 不会限制或管理管道作业或步骤脚本的功能。
在开发和配置管道作业和步骤脚本时,请确保脚本不会运行可能会损害资源的机密性,完整性或可用性的操作,或违反法规控制。
要了解有关 Delivery Pipeline 的更多信息,请参阅 使用管道 和 使用 Tekton 管道。
从 Continuous Delivery 中删除数据
删除 Continuous Delivery 服务实例时,不会删除相关工具链,工具集成,工具和数据 (包括个人数据)。 有关如何管理和删除使用工具链,工具集成和工具存储的数据的更多信息,请参阅 修改,浏览和删除个人数据。