如何集成 Snyk 和 Bitbucket Cloud 以实现 DevSecOps
Simon Maple
Snyk 的现场首席技术官
通过将 Snyk 与 Bitbucket Cloud 和 Jira 集成,实现 DevSecOps。
Snyk 与多种 Atlassian 产品集成,以增强 DevSecOps 团队的工作流和管道。本教程介绍如何利用 Atlassian Bitbucket 和 Snyk 实现左移安全性的模式。通过运用这些技术,您的团队便可按照 DevSecOps 的速度扫描基于应用和容器的工作负载。您将学习如何使用这些模式将安全性融入到管道中的各个阶段。
时间
15 分钟阅读。
观众
- 开发人员
- DevOps 和 DevSecOps 工程师
- 应用安全和应用开发团队
第 1 步:配置您的环境
安装 Snyk CLI
Snyk CLI 使用您的 Snyk 帐户对您的计算机进行身份验证。CLI 工具可帮助您查找和修复依赖关系中的已知漏洞,既可手动完成,也可纳入到 CI/CD 管道中。Snyk 提供安装 CLI 的相关完整说明,以多种格式支持常用的操作系统和环境。例如,CLI 可通过以下命令与 brew 搭配使用:
brew tap snyk/tap
brew install snyk
安装 CLI 后,可使用以下命令进行身份验证:
snyk auth
此命令将打开一个浏览器选项卡,以完成身份验证流程。当您准备好扫描存储库时,便可单击“身份验证”按钮。完成身份验证后,您可以返回终端继续工作。
其他实验室资源
本教程中包含的练习包括将要在指定模块页面中共享的命令或代码片段的组合,以及公共 Bitbucket 存储库中可用的模板和源代码。设置 Bitbucket Cloud 帐户后,您需要将这些资源复制到您的帐户中。为此,请完成以下步骤:
在本地克隆您的复刻
完成复刻后,您需要克隆复刻的存储库。请查看 Atlassian 关于如何克隆存储库的文档以获取详细说明。
第 2 步:将 Snyk 连接到 Bitbucket
在本节中,我们要将 Snyk 与 Bitbucket 连接,以扫描我们的 Bitbucket 应用中是否存在开源漏洞。
什么是软件组成分析 (SCA)?
软件组成分析 (SCA) 是一种开源组件管理工具。它会生成一份报告,列出应用中的所有开源组件,包括直接和间接依赖关系。使用 SCA 工具,开发团队可以快速跟踪和分析引入到项目中的开源组件。
尽管开源组件既方便又使用广泛,但向来难以跟踪。因此,开发人员依靠电子邮件和电子表格等手动流程来缓解此状况。但是,这些手动流程有可能破坏开源带来的便利性,提供的解决方案也不完善。比之更理想的方法是利用 SCA 工具来即时洞察各个组件。
为什么要使用 SCA 工具?
开源组件几乎是所有垂直领域软件开发的主要组成部分。无论组织规模如何,SCA 都可以帮助确定应用中对您的业务至关重要的开源组件。SCA 工具可让开发人员:
1. 了解应用中使用的依赖关系。
2. 在整个软件开发生命周期 (SDLC) 内实施安全和合规性策略
3. 从源头主动修复潜在漏洞。
4. 提高团队效率和公司安全状况。
1. 在屏幕左下角的头像中,单击“个人设置”。
2. 单击“访问权限管理”下的“应用密码”。
3. 单击“创建应用密码”。
4. 为应用密码取名,它应与将使用该密码的应用相关。
5. 选择您希望此应用密码具有的特定访问权限和权限。
- 帐户:
读
- 团队成员资格:
读
- 项目:
读
- 存储库:
读写
- 拉取请求:
读写
- Webhook:
读写
6. 复制生成的密码,然后将其记录下来,或粘贴到您要授予访问权限的应用中。密码只会显示一次。
第 4 步:添加存储库变量
您需要在存储库级别定义存储库变量,这些变量后续会在管道中引用。 这些变量包括以下内容:
- SNYK_TOKEN - 用于对您的 Snyk 帐户进行身份验证的 Snyk API 令牌。这是一个安全变量。
- IMAGE - 容器镜像名称。这不是安全变量。
其他变量用于增强管道操作,本教程对此不做讨论。
第 5 步:获取您的 Snyk API 令牌
1. 获取您的 Snyk API 令牌
在 Snyk 控制台中,浏览到设置(图中的齿轮图标),然后在常规菜单下复制您的组织 ID。
复制令牌后,返回到 Bitbucket Cloud UI 并定义 SNYK_TOKEN
存储库变量。
第 6 步:启用 Bitbucket 集成
在 Snyk 控制台中,导航到集成,然后选择 Bitbucket Cloud。
在 Bitbucket Cloud 集成页面中,在用户名字段输入您的 Bitbucket 用户名,并在应用密码字段输入上一步中的 Bitbucket 应用密码。然后,单击保存。
成功连接 Snyk 和 Bitbucket 帐户后,您将看到一条确认消息,并可将 Bitbucket Cloud 存储库添加到 Snyk。
继续留在此页面上。在下一节中,您将学习如何导入 Bitbucket Cloud 存储库并使用 Snyk 对其进行扫描。
扫描并监控您的 Bitbucket 应用
从源头开始扫描应用以查找开源依赖项中的漏洞。在上一节中,我们启用了 Snyk 到 Bitbucket 的集成,并可导入我们的首个项目。
第 7 步:将 Bitbucket Cloud 存储库添加到 Snyk
在上一节的最后一个屏幕上,单击将 Bitbucket Cloud 存储库添加到 Snyk。
在配置环境模块中找到您克隆的存储库。单击勾选框将其选中,然后单击添加选定的存储库按钮以导入项目。
第 8 步:查看漏洞报告
您应能看到基于 packages.json 的漏洞计数,以及每个漏洞的详细信息。单击进入刚刚扫描的项目,然后在 Snyk 中查看结果。您不仅会收到漏洞的严重性和漏洞利用成熟度之类的上下文信息,还可以获得以下强大功能:
分享这篇文章
下一个主题
推荐阅读
将这些资源加入书签,以了解 DevOps 团队的类型,或获取 Atlassian 关于 DevOps 的持续更新。