跳至主要内容

了解关联的制品

关联制品页面帮助您审计并优先处理组织在 GitHub 上的构建,无论制品存储在哪里。

关联制品页面提供了组织使用 GitHub Actions 构建的软件制品的统一视图,例如容器镜像、软件包或生产代码的构建。

该页面展示了制品的构建方式、存放或运行位置,以及与制品关联的合规和安全元数据。

组织中的团队可以使用关联制品页面的数据来

  • 根据检测到的漏洞是否在生产环境运行或暴露于互联网,优先处理 GitHub 高级安全功能的警报
  • 快速将制品关联到构建详情、存储位置和所属团队
  • 通过导出可审计的制品来源和完整性证明,满足合规要求
  • 查找与已部署制品关联的仓库,并在分支规则集中对其进行目标设定

哪些制品会显示在关联制品页面上?

关联制品页面是每个组织独有的。它包含在组织的仓库中使用 GitHub Actions 构建的制品的元数据。它显示组织从其他地方获取的制品,例如开源依赖。

制品记录由组织通过公开 API 或与外部注册表的集成上传。关联制品页面本身不存储制品文件,只提供每个制品相关元数据的权威来源。

由于制品不需要存储在 GitHub 上即可出现在关联制品页面中,您可以将关联制品页面与您首选的制品注册表(如 JFrog Artifactory 或 GitHub Packages)一起使用。

包含哪些元数据?

关联制品页面结合了两种不同类型的记录数据:存储记录和部署记录。这些记录通过不同的 API 端点或集成方式上传。

存储记录

存储记录包括包含制品源代码的仓库、制品存放的注册表,以及任何证明制品完整性和来源的声明。您可以使用这些数据快速查找制品的所属团队和构建详情。

Screenshot of an artifact page. Highlighted fields: storage registry, artifact repository, source repository.

The artifact repository(制品仓库)不是强制性的。它指的是某些外部包注册表中的概念:可以将多个包分组的地方。相比之下,source repository(源仓库)指的是构建制品的 GitHub 仓库。源仓库是必需的,如果制品拥有构建来源声明,则会自动检测到。

欲了解更多关于声明和 SLSA 级别的信息,请参阅制品声明

部署记录

部署记录包括制品部署的环境以及与制品关联的任何运行时风险(例如“敏感数据”或“互联网暴露”)。

Screenshot of an artifact page. Highlighted fields: the "Deployments" list, including tags for "Prod", "sensitive data", and "pacific-east".

注意

部署记录包括来自仓库部署仪表板的部署活动,该活动来源于不同的渠道。请参阅查看仓库的部署活动

制品数据在哪里可用?

除了在关联制品页面本身可用之外,制品元数据还集成到 GitHub 的策略和安全视图中。团队可以利用这些数据做出策略决策或优先处理安全问题。例如,他们可以

关联制品页面如何融入我的流程?

此示例工作流展示了关联制品页面如何与其他 GitHub 功能和外部系统集成。

  1. 开发者将代码提交到定义软件包代码的 GitHub 仓库。

  2. 仓库中的 GitHub Actions 工作流会自动

    1. 构建该软件包。
    2. 将软件包推送到您选择的注册表,例如 GitHub Packages 或 JFrog Artifactory。
    3. 创建加密签名的来源声明,将软件包链接到仓库、提交和用于构建该软件包的工作流。
    4. 将软件包部署到预发布或生产环境。您的部署系统可能会设置门禁,确保只有具有声明的制品才能部署到生产环境,例如使用 Kubernetes Admission Controller。
  3. 软件包的元数据(如其关联的仓库、声明和部署历史)会上传到关联制品页面。

  4. 利用关联制品页面的数据,安全负责人对代码扫描和 Dependabot 警报进行分流,并创建活动以处理影响生产环境或具有特定运行时风险的警报。

  5. 在需要审计时,合规团队成员可从单一来源导出所有组织关联制品的 SBOM、来源详情和部署记录。

后续步骤

要向组织的关联制品页面添加记录,请参阅向关联制品页面上传存储和部署数据

要查看组织的关联制品页面,请参阅在关联制品页面审计组织的构建

© . This site is unofficial and not affiliated with GitHub, Inc.