订阅通知

Assured Open Source Software (Assured OSS) 会发布两种类型的通知:

  • 软件包可用性:这些通知包含有关添加到 Assured OSS 的新软件包和软件包版本的信息,以及有关软件包上架状态的更新。

  • 漏洞通知:这些通知包含有关 Assured OSS 精选的软件包中检测到的新漏洞或现有漏洞更新的信息。

有关安全元数据和新软件包更新的程序化通知会发布到 Pub/Sub 主题。这些通知以 JSON 格式提供。您可以为 Assured OSS 主题创建拉取订阅或推送订阅,以接收通知。

如需创建这些订阅,请使用您用于访问制品或元数据的同一服务账号或工作负载身份凭据。当您对 Assured OSS 的访问权限获得启用后,系统会向服务账号授予在这些主题上创建订阅的权限。

以下部分介绍了 Pub/Sub 主题。

本文档同时适用于高级层级和免费层级。

准备工作

对于 Assured OSS 高级层级,如果您已启用 VPC Service Controls,请配置出站流量规则

软件包新手入门主题

  • 主题名称projects/cloud-aoss/topics/package_onboarding
  • 消息:本主题包含有关添加到 Assured OSS 的新软件包版本的信息,以及有关其初始配置状态的更新。
  • 消息数据架构

    {
    "package_name" string
    "package_version" string
    "language" string
    "onboarding_status" string
    "notification_status" string
    }
    
  • 消息数据属性

    "PackageName"     string
    "PackageVersion"  string
    "PackageLanguage" string
    "SchemaVersion"   string
    "GenerateTime"    string
    

漏洞信息主题

  • 主题名称projects/cloud-aoss/topics/vulnerability_information
  • 消息:此主题包含有关系统中检测到的新漏洞的信息,或有关任何漏洞的元数据是否已更新的信息。
  • 消息数据架构

    {
    "vulnerabilityId" string
    "notificationStatus" string
    }
    
  • 消息数据属性

    "PackageName"     string
    "PackageVersion"  string
    "PackageLanguage" string
    "SchemaVersion"   string
    "GenerateTime"    string
    

整合了高级层级的软件包启用和漏洞信息主题

您可以通过以下 Pub/Sub 主题访问所有 Assured OSS 通知:

projects/assuredoss-blue/topics/assuredoss-notifications

通知属性

以下通知属性是已发布的 Pub/Sub 消息的一部分。您可以使用这些属性来过滤消息。

{
  "Type": "string",             // Indicates the type of notification, can be 'PackageVersion' or 'Vulnerability'
  "PackageName": "string",      // Package ID
  "PackageVersion": "string",   // Version of the package
  "Language": "string",         // Language of the package
  "SchemaVersion": int,         // Schema version of the data in message
  "GenerateTime": "string"      // Time at which the event occurred
}

GenerateTime 属性采用 RFC 3339 格式。

Type 属性为 PackageVersion 时,消息数据具有以下字段:

{
  "PackageName": "string",       // Package ID
  "PackageVersion": "string",    // Version of the package
  "Language": "string",          // Language of the package
  "NotificationStatus": "string" // Status of package-version,'New' indicates available to download from Assured OSS
}

Type 属性为 Vulnerability 时,消息数据具有以下字段:

{
  "ID": "string",            // Vulnerability ID affecting the package
  "Severity": "string",      // Severity of the vulnerability
  "Sources": [
    {
      "Name": "string",      // Source of vulnerability information
      "Link": "string"       // URL of vulnerability details
    }
  ],
  "Summary": "string",       // Summary of vulnerability
  "Description": "string",   // Detailed description of vulnerability
  "PackageName": "string",       // Package ID
  "PackageVersion": "string",    // Version of the package
  "Language": "string",          // Language of the package
  "NotificationStatus": "string" // Status of package-version
}

NotificationStatus 字段的值表示漏洞的状态。如果漏洞是软件包的新漏洞,则值为 New。如果现有漏洞有更新,则值为 Update

创建拉取订阅

如需创建拉取订阅,请完成以下操作:

  1. 创建拉取订阅。您可以使用Google Cloud 控制台、Google Cloud CLI 或 Pub/Sub API。

  2. 创建拉取订阅后,使用客户端库Google Cloud CLI 开始轮询消息。

创建推送订阅

如需创建推送订阅,请设置一个具有非自签名证书且可在互联网上访问的 HTTPS 服务器。您可以通过以下方式之一使用推送订阅模式:

  • 如果您有 Google Cloud 项目和服务账号(例如,您已将 Assured OSS 与 Security Command Center 集成):

    由于 Assured OSS 提供了创建订阅的权限,因此您可以创建自己的推送订阅,并将其与您选择的端点相关联。如需了解详情,请参阅推送订阅

  • 如果您使用的是免费层级,并且没有 Google Cloud 项目和服务账号,请在启用访问权限或更新通知偏好设置表单中输入 HTTPS 端点。Assured OSS 团队将创建推送订阅,并将端点附加到该订阅。

后续步骤