알림 구독

Pub/Sub 알림을 구독하면 Assured Open Source Software(Assured OSS)에 새 패키지 및 취약점 업데이트가 제공될 때 알림을 받을 수 있습니다.

Assured OSS는 두 가지 유형의 알림을 게시합니다.

  • 패키지 가용성: 이러한 알림에는 Assured OSS에 추가된 새 패키지 및 패키지 버전에 대한 정보와 패키지 온보딩 상태에 관한 업데이트가 포함됩니다.

  • 취약점 알림: 이러한 알림에는 Assured OSS에서 선별한 패키지에서 감지된 새로운 취약점 또는 기존 취약점 업데이트에 대한 정보가 포함됩니다.

보안 메타데이터 및 새 패키지 업데이트에 대한 프로그래매틱 알림은 Pub/Sub 주제에 게시됩니다. 이러한 알림은 JSON 형식으로 제공됩니다. Assured OSS 주제에 대한 pull 구독 또는 push 구독을 만들어 알림을 받을 수 있습니다.

이러한 구독을 만들려면 아티팩트 또는 메타데이터에 액세스하는 데 사용하는 것과 동일한 서비스 계정 또는 워크로드 아이덴티티 사용자 인증 정보를 사용합니다. Assured OSS에 대한 액세스가 사용 설정되면 서비스 계정에 이러한 주제에 대한 구독을 만들 수 있는 권한이 부여됩니다.

다음 섹션에서는 Pub/Sub 주제를 설명합니다.

이 문서는 프리미엄 등급과 무료 등급 모두에 적용됩니다.

시작하기 전에

Assured OSS 프리미엄 등급의 경우 VPC 서비스 제어를 사용 설정한 경우 이그레스 규칙을 구성합니다.

패키지 온보딩 주제

  • 주제 이름: 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입니다.

풀 구독 만들기

pull 구독을 만들려면 다음 단계를 완료하세요.

  1. pull 구독 만들기Google Cloud 콘솔, Google Cloud CLI 또는 Pub/Sub API를 사용할 수 있습니다.

  2. pull 구독을 만든 후 클라이언트 라이브러리 또는 Google Cloud CLI를 사용하여 메시지 폴링을 시작합니다.

푸시 구독 만들기

푸시 구독을 만들려면 자체 서명되지 않고 인터넷에서 액세스할 수 있는 인증서로 HTTPS 서버를 설정합니다. 다음 방법 중 하나로 푸시 구독 모델을 사용합니다.

  • Google Cloud 프로젝트 및 서비스 계정이 있는 경우(예: Assured OSS를 Security Command Center와 통합한 경우):

    Assured OSS는 구독을 만들 수 있는 권한을 제공하므로 자체 푸시 구독을 만들고 원하는 엔드포인트와 연결할 수 있습니다. 자세한 내용은 푸시 구독을 참조하세요.

  • 무료 등급을 사용 중이고 Google Cloud 프로젝트 및 서비스 계정이 없는 경우 액세스 사용 설정 또는 알림 환경설정 업데이트 양식에 HTTPS 엔드포인트를 입력합니다. Assured OSS팀은 푸시 구독을 만들고 해당 구독에 엔드포인트를 연결합니다.

다음 단계