訂閱通知

Assured Open Source Software (Assured OSS) 會發布兩種類型的通知:

  • 套件可用性:這些通知包含新增至 Assured OSS 的新套件和套件版本資訊,以及套件上線狀態的相關更新。

  • 安全漏洞通知:這類通知包含在 Assured OSS 策劃的套件中偵測到的新安全漏洞資訊,或是現有安全漏洞的更新。

安全中繼資料和新套件的更新通知會以程式輔助方式發布至 Pub/Sub 主題。這些通知會以 JSON 格式提供。您可以為 Assured OSS 主題建立提取訂閱項目或推送訂閱項目,以接收通知。

如要建立這些訂閱項目,請使用存取構件或中繼資料時所用的服務帳戶或工作負載身分憑證。啟用 Assured OSS 存取權後,服務帳戶就會獲得在這些主題上建立訂閱項目的權限。

以下各節說明 Pub/Sub 主題。

本文適用於付費版和免費版。

事前準備

如果您啟用 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 團隊會建立推送訂閱項目,並將端點附加至該訂閱項目。

後續步驟