Carregando Lista de materiais de softwareArquivos que usam uma REST API
Revise as informações a seguir antes de carregar Lista de materiais de softwareArquivos que usam uma API.
Usando a REST API
Para carregar um arquivo SBOM com uma API, a função sn_sbom_core.sbom_ingest é necessária.
API de upload.
Esta API é usada para carregar e ingerir um arquivo SBOM (CycloneDX/SPDX) em sua instância.
- XML e JSON no CycloneDx (versões 1.0 - 1.6).
- JSON no SPDX (versões 2,2-2,3)
-
Nota:Arquivos com mais de 32 MB podem não carregar corretamente.
Método HTTP: (POST)
- Criado
- LifecycleStage
- Cadeia de caracteres buildid- que você enviou
- LifecycleStage- Dois valores, production ou pre_production
- FetchVulenrabilityInfo- t/f
- FetchPackageInfo-t/f
| Parâmetros da solicitação | Valores possíveis | Descrição |
|---|---|---|
| productModelId | SYS ID | SYS ID do modelo de produto a ser mapeado com a aplicação raiz de fornecida SBOM. |
| ApplicationId de negócios | SYS ID | SYS ID da aplicação de negócios a ser mapeada com a aplicação raiz de fornecida SBOM. |
| BusinessApplicationName (obsoleto) | O nome da sua aplicação de negócios | Nome da aplicação de negócios a ser mapeada com a aplicação raiz de fornecida SBOM. |
| SbomSource | Um produto como Veracode, por exemplo | A origem do seu SBOMarquivo. |
| requestedBy | Uma ferramenta, ou nome de uma metodologia, Jenkins. Se você usar "devops", buildid e lifecycleStage serão obrigatórios. | Carregamento solicitado por |
| Criado | Um solicitante de cadeia de caracteres envia. | ID de compilação do SBOMcriar. |
| LifecycleStage | produção ou pre_production | Fase do ciclo de vida da entidade. |
| FetchVulenrabilityInfo | t/f | Se verdadeiro, aciona a integração de inteligência de vulnerabilidade. |
| FetchPackage Info | t/f | Se verdadeiro, aciona a integração de inteligência de pacote. |
{
"result": {
"status": "success",
"message": "Queued for processing.",
"bomRecordId": "f207059b4393c290629aa597cbb8f247"
}
}API de status
- URL DA API: /api/sbom/core/upload/status
- Método HTTP (GET)
| Parâmetros da solicitação | Valores possíveis | Descrição |
|---|---|---|
| BomRecordId | SYS ID | ID do registro de SBOM que é retornado por meio da API de upload para um carregamento bem-sucedido de SBOM. |
Exemplo de resposta padrão da API de status.
{
"result": {
"bomRecordId": "0407c0fea3e70a505df340f5251e617e",
"uploadStatus": "processed",
"additionalInfoStatus": "not_requested",
"uploadSummary": {
"components": {
"added": 0,
"removed": 0,
"total": 70
}
}
}
}
Exemplo de resposta da API de status com parâmetros adicionais. Se você solicitou fetchVulenrabilityInfo para essa SBOM, você obterá o detalhamento da vulnerabilidade como parte da resposta.
{
"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"
}
}
Se você solicitou fetchPackageInfo para essa SBOM, obterá contagens obsoletas e abandonadas como parte da resposta.
Após um SBOMé processado com sucesso, onde você exibe os registros carregados depende das aplicações que você está usando.
- Se você estiver usando SBOMResposta, o registro da entidade da BOM é exibido no SBOMLista de status de ingestão no módulo Fila da BOM no SBOMEspaço.
- Se você estiver usando o SBOM Core, navegue até .
Aprimoramentos para compatíveis SBOMinformações gerais e de uso
- XML e JSON no CycloneDx (versões 1.0 - 1.6).
- JSON no SPDX (versões 2,2-2,3)
-
Nota:Arquivos com mais de 32 MB podem não carregar corretamente.
- Importe informações adicionais nos arquivos SBOM do CycloneDX com a propriedade (sn_sbom_core.collect_properties). Esta propriedade está desativada por padrão. Ative a propriedade para importar informações que geralmente não são compatíveis. Todas as informações importadas dessas propriedades são carregadas na tabela Propriedade do componente SBOM [sn_sbom_comp_property] para o seguinte:
- Arquivos de SBOM carregados
- Metadados
- Vulnerabilidades individuais
- Componentes
- Veja dados de componentes importados para licenças declaradas e concluídas para arquivos SBOM nas versões 1,4 e posteriores do CycloneDX em dois novos campos de licença:
- Declarado
- Concluído
- O suporte à análise de SBOM é estendido para os seguintes tipos de componentes CycloneDX:
- Versão 1,5: Plataforma, dados, driver de dispositivo, modelo de aprendizado de máquina
- Versão 1,6: Criptográfico
- XML e JSON no CycloneDx (até e incluindo a versão 1,4).
- JSON em SPDX (até e incluindo v2.3).
Se o usuário chamador for autenticado com sucesso e tiver a função sn_sbom_core.sbom_ingest em seu ServiceNow, você pode acessar a API de fora da sua instância para carregar o. SBOMdados.
Depois que os dados são carregados, eles são analisados. Antes de os dados serem analisados, os seguintes requisitos são verificados:
- Os dados de entrada são verificados se são JSON ou XML válidos.
- O formato da BOM é compatível. A partir da v2.1 de SBOMOs formatos Core, CycloneDX (JSON e XML) e SPDX (XML) são compatíveis.
- Os campos mínimos estão disponíveis para que os dados possam ser analisados.
Após essas verificações serem verificadas, uma entrada é feita na tabela da Lista de materiais [sn_sbom_doc] com a entrada SBOMdados como um anexo.
Todos os componentes listados em um SBOMum definido tipo .
- Componentes para os quais SBOMOs arquivos carregados são considerados entidades da BOM.
- Componentes listados como biblioteca são considerados componentes de terceiros.