Page 1 of 1

不要泄露你的敏感数据

Posted: Tue Mar 25, 2025 9:28 am
by tmonower958
这是个大问题。在处理 CI 时,在做出每个决定时, 一定要问问自己是否泄露了任何敏感数据、文件或令牌。

变量/机密:尝试将它们设置为屏蔽,这样在 CI 日志中打印时就不会显示它们,如果仅在受保护的分支或标签中使用它们,则将它们设置为受保护。此外,避免在.yml中对它们进行硬编码。

文件:最好的方法是将它们存储在受保护的远程服务(例如 S3)上,并带有凭证。

工件:您的作业可以输出工件,然后可以通过 Gitlab UI 或 API 下载这些工件。现在假设您在作业中从 S3 检索敏感文件,然后使用工件将其提供给下一个作业。这将使您的敏感文件可供下载。因此,在传递工件之前,请务必仔细考虑。

秘密轮换:考虑定期更改秘密或当有人离开公司时更改秘密。

CI 文件:未经团队批准,您不得修改它们。务必仔细检 比利时电报数据库 查对它们所做的更改。如果您有任何疑问,请咨询其他人,或者最好咨询您公司的安全团队(如果有的话)。

? 代币和 Gitlab 账户
在创建作业和计划时,您可能想使用个人帐户。相反,我们建议您创建一个共享帐户(例如,添加到密码管理器中)来执行这些任务。

对于时间表,它将允许团队中的每个人编辑他们的设置,因为只有创建时间表的帐户才能更改它。您可以在下面看到Fastlane
的片段, 我们每天都会运行该片段,以便在有新翻译可用时创建合并请求 (MR)(有关它的更多信息, 请点击此处)。

一开始,你会像我们一样,想用自己的账户和自己的 Gitlab 令牌来创建这个作业。由于在我们的项目中,我们不允许 MR 作者批准自己的 MR,因此他无法验证这些自动化作业。此外,如果作者已经离开公司,那么这项工作将无法进行,直到用新令牌替换令牌为止。

使用共享帐户创建时间表和 Gitlab 令牌最终使我们能够批准此 MR,将来,这项工作将不会受到员工流动的影响。最后,使用共享帐户,您只需一眼就能区分由自动化创建的 MR 和由您的同事创建的 MR。