訂閱通知

訂閱 Pub/Sub 通知後,當 Assured Open Source Software (Assured OSS) 有新的套件和安全漏洞更新時,您就會收到快訊。

Assured OSS 會發布兩種通知:

  • 套件可用性:這類通知會提供 Assured OSS 新增套件和套件版本的相關資訊,以及套件上線狀態的更新。

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

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

如要建立這些訂閱項目,請使用與存取構件或中繼資料時相同的服務帳戶或 Workload Identity 憑證。啟用 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 團隊會建立推送訂閱項目,並將端點附加至該訂閱項目。

後續步驟