Wird Hochgeladen Software Bill of Materials Dateien, die eine REST-API verwenden
Überprüfen Sie die folgenden Informationen vor dem Hochladen Software Bill of Materials Dateien, die eine API verwenden.
Mit der REST-API
Zum Hochladen einer SBOM-Datei mit einer API ist die Rolle sn_sbom_Core.sbom_ingest erforderlich.
API hochladen.
Diese API wird zum Hochladen und Erfassen einer SBOM-Datei (CycloneDX/SPDX) in Ihre Instanz verwendet.
- XML und JSON in CycloneDx (Versionen 1.0–1.6).
- JSON in SPDX (Versionen 2,2–2,3)
-
Hinweis:Dateien mit mehr als 32 MB werden möglicherweise nicht ordnungsgemäß geladen.
HTTP-Methode: (POST)
- BuildId
- LebenszyklusPhase
- BuildId: Zeichenfolge, die Sie senden
- LifecycleStage: Zwei Werte, Production oder Pre_Production
- FetchVulenrabilityInfo – t/f
- FetchPackageInfo-t/f
| Anforderungsparameter | Mögliche Werte | Beschreibung |
|---|---|---|
| productModelId | Sys-ID | SYS-ID des Produktmodells, das der angegebenen Stammanwendung zugeordnet werden soll SBOM. |
| BusinessApplicationId | Sys-ID | SYS-ID der Geschäftsanwendung, die der angegebenen Stammanwendung zugeordnet werden soll SBOM. |
| BusinessApplicationName (veraltet) | Name der Geschäftsanwendung | Name der Geschäftsanwendung, die der angegebenen Stammanwendung zugeordnet werden soll SBOM. |
| SbomSource | Ein Produkt wie Veracode, Zum Beispiel | Die Quelle für Ihren SBOM Datei. |
| requestedBy | Ein Tool oder Name einer Methode, Jenkins. Wenn Sie „devops“ verwenden, sind „buildId“ und „lifecycleStage“ obligatorisch. | Upload angefordert von |
| BuildId | Eine Zeichenfolge, die von der anfordernden Person gesendet wird. | Build-ID von SBOM Erstellen. |
| LebenszyklusPhase | Production oder Pre_Production | Lebenszyklusphase der Entität. |
| Ruft VulenrabilityInfo ab | t/W | Bei „wahr“ wird die Integration von Vulnerability Intelligence ausgelöst. |
| Ruft Paketinformationen ab | t/W | Bei „wahr“ wird die Package Intelligence-Integration ausgelöst. |
{
"result": {
"status": "success",
"message": "Queued for processing.",
"bomRecordId": "f207059b4393c290629aa597cbb8f247"
}
}Status-API
- API-URL: /api/sbom/Core/upload/Status
- HTTP-Methode (GET)
| Anforderungsparameter | Mögliche Werte | Beschreibung |
|---|---|---|
| BomRecordId | Sys-ID | SBOM-Datensatz-ID, die über die Upload-API für einen erfolgreichen SBOM-Upload zurückgegeben wird. |
Beispiel für Standard-Antwort der Status-API.
{
"result": {
"bomRecordId": "0407c0fea3e70a505df340f5251e617e",
"uploadStatus": "processed",
"additionalInfoStatus": "not_requested",
"uploadSummary": {
"components": {
"added": 0,
"removed": 0,
"total": 70
}
}
}
}
Beispiel für Status-API-Antwort mit zusätzlichen Parametern. Wenn Sie fetchVulenrabilityInfo für diese SBOM angefordert haben, erhalten Sie die Schwachstellenaufgliederung als Teil der Antwort.
{
"result": {
"bomRecordId": "93af349b4393c290629aa597cbb8f258",
"uploadStatus": "processed",
"additionalInfoStatus": "complete",
"uploadSummary": {
"components": {
"added": 0,
"removed": 0,
"total": 3
},
"vulnerabilityInfo": {
"critical": 0,
"high": 0,
"medium": 0,
"low": 0,
"none": 0
}
},
"buildId": "1"
}
}
Wenn Sie „fetchPackageInfo“ für diese SBOM angefordert haben, erhalten Sie als Teil der Antwort die Anzahl veralteter und verworfener Elemente.
Nach einem SBOM Wird erfolgreich verarbeitet, wobei Sie die hochgeladenen Datensätze anzeigen, hängt von den von Ihnen verwendeten Anwendungen ab.
- Wenn Sie verwenden SBOM Antwort: Der Stücklistenentitätsdatensatz wird auf angezeigt SBOM Erfassungsstatusliste im Modul „Stücklistenwarteschlange“ in SBOM Arbeitsbereich.
- Wenn Sie SBOM Core verwenden, navigieren Sie zu an.
Erweiterungen zu unterstützt SBOM Standards und allgemeine Nutzungsinformationen
- XML und JSON in CycloneDx (Versionen 1.0–1.6).
- JSON in SPDX (Versionen 2,2–2,3)
-
Hinweis:Dateien mit mehr als 32 MB werden möglicherweise nicht ordnungsgemäß geladen.
- Importieren Sie zusätzliche Informationen in CycloneDX SBOM-Dateien mit der Eigenschaft (sn_sbom_Core.Collect_properties). Diese Eigenschaft ist standardmäßig deaktiviert. Aktivieren Sie die Eigenschaft, um Informationen zu importieren, die im Allgemeinen nicht unterstützt werden. Alle aus diesen Eigenschaften importierten Informationen werden für Folgendes in die Tabelle „SBOM-Komponenteneigenschaft“ [sn_sbom_comp_property] hochgeladen:
- SBOM-Dateien hochgeladen
- Metadaten
- Einzelne Schwachstellen
- Komponenten
- Zeigen Sie importierte Komponentendaten für deklarierte und abgeschlossene Lizenzen für SBOM-Dateien in Versionen 1,4 und höher von CycloneDX in zwei neuen Lizenzfeldern an:
- Deklariert
- Abgeschlossen
- Die Unterstützung der SBOM-Analyse wird für die folgenden CycloneDX-Komponententypen erweitert:
- Version 1,5: Plattform, Daten, Gerätetreiber, Modell für maschinelles Lernen
- Version 1,6: Kryptografisch
- XML und JSON in CycloneDx (bis einschließlich Version 1,4).
- JSON in SPDX (bis zu und einschließlich v2.3).
Wenn der aufrufende Anwender erfolgreich authentifiziert wurde und über die Rolle sn_sbom_Core.sbom_ingest in Ihrem verfügt ServiceNow-Instanz können Sie von außerhalb Ihrer -Instanz auf die API zugreifen, um hochzuladen SBOM Daten.
Nachdem Daten hochgeladen wurden, werden sie analysiert. Bevor Daten analysiert werden, werden die folgenden Anforderungen verifiziert:
- Eingehende Daten werden auf gültige JSON- oder XML-Dateien überprüft.
- Das Stücklistenformat wird unterstützt. Beginnend mit v2.1 von SBOM Die Formate Core, CycloneDX (JSON und XML) und SPDX (XML) werden unterstützt.
- Die Mindestanzahl von Feldern ist verfügbar, damit Daten analysiert werden können.
Nachdem diese Prüfungen verifiziert wurden, wird ein Eintrag in die Tabelle „Stückliste“ [sn_sbom_doc] mit „eingehend“ vorgenommen SBOM Daten als Anhang.
Alle Komponenten, die in aufgeführt sind SBOM Haben eine definiert Typ .
- Komponenten, für die SBOM Dateien, die hochgeladen wurden, werden als Stücklistenentitäten betrachtet.
- Komponenten aufgeführt als Type=Library Werden als Komponenten von Drittparteien betrachtet.