Amazon Inspector SBOM 生成器许可证集 - Amazon Inspector
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Inspector SBOM 生成器许可证集

Amazon Inspector SBOM 生成器有助于跟踪软件物料清单 (SBOM) 中的许可证信息。它从支持的软件包中收集跨操作系统和编程语言的许可证信息。通过生成的 SBOM 中的标准化许可表达式,您可以了解自己的许可义务。

收集许可证信息

示例命令

以下示例说明如何从目录收集许可证信息。

./inspector-sbomgen directory --path /path/to/your/directory/ --collect-licenses
SBOM 组件示例

以下示例显示了生成的 SBOM 中的一个组件条目。

"components": [ { "bom-ref": "comp-2", "type": "application", "name": "sample-js-pkg", "version": "1.2.3", "licenses": [ { "expression": "Apache-2.0 AND (MIT OR GPL-2.0-only)" } ], "purl": "pkg:npm/sample-js-pkg@1.2.3", } ]

支持的软件包

许可证收集支持以下编程语言和操作系统包。

目标 软件包管理器 许可证信息来源 类型

Alma Linux

RPM
  • /usr/lib/sysimage/rpm/rpmdb.sqlite

  • /usr/lib/sysimage/rpm/Packages

  • /usr/lib/sysimage/rpm/Packages.db

  • /var/lib/rpm/rpmdb.sqlite

  • /var/lib/rpm/Packages

  • /var/lib/rpm/Packages.db

OS

Amazon Linux

RPM
  • /usr/lib/sysimage/rpm/rpmdb.sqlite

  • /usr/lib/sysimage/rpm/Packages

  • /usr/lib/sysimage/rpm/Packages.db

  • /var/lib/rpm/rpmdb.sqlite

  • /var/lib/rpm/Packages

  • /var/lib/rpm/Packages.db

OS

CentOS

RPM
  • /usr/lib/sysimage/rpm/rpmdb.sqlite

  • /usr/lib/sysimage/rpm/Packages

  • /usr/lib/sysimage/rpm/Packages.db

  • /var/lib/rpm/rpmdb.sqlite

  • /var/lib/rpm/Packages

  • /var/lib/rpm/Packages.db

OS

Fedora

RPM
  • /usr/lib/sysimage/rpm/rpmdb.sqlite

  • /usr/lib/sysimage/rpm/Packages

  • /usr/lib/sysimage/rpm/Packages.db

  • /var/lib/rpm/rpmdb.sqlite

  • /var/lib/rpm/Packages

  • /var/lib/rpm/Packages.db

OS

OpenSUSE

RPM
  • /usr/lib/sysimage/rpm/rpmdb.sqlite

  • /usr/lib/sysimage/rpm/Packages

  • /usr/lib/sysimage/rpm/Packages.db

  • /var/lib/rpm/rpmdb.sqlite

  • /var/lib/rpm/Packages

  • /var/lib/rpm/Packages.db

OS

Oracle Linux

RPM
  • /usr/lib/sysimage/rpm/rpmdb.sqlite

  • /usr/lib/sysimage/rpm/Packages

  • /usr/lib/sysimage/rpm/Packages.db

  • /var/lib/rpm/rpmdb.sqlite

  • /var/lib/rpm/Packages

  • /var/lib/rpm/Packages.db

OS

Photon OS

RPM
  • /usr/lib/sysimage/rpm/rpmdb.sqlite

  • /usr/lib/sysimage/rpm/Packages

  • /usr/lib/sysimage/rpm/Packages.db

  • /var/lib/rpm/rpmdb.sqlite

  • /var/lib/rpm/Packages

  • /var/lib/rpm/Packages.db

OS

RHEL

RPM
  • /usr/lib/sysimage/rpm/rpmdb.sqlite

  • /usr/lib/sysimage/rpm/Packages

  • /usr/lib/sysimage/rpm/Packages.db

  • /var/lib/rpm/rpmdb.sqlite

  • /var/lib/rpm/Packages

  • /var/lib/rpm/Packages.db

OS

Rocky Linux

RPM
  • /usr/lib/sysimage/rpm/rpmdb.sqlite

  • /usr/lib/sysimage/rpm/Packages

  • /usr/lib/sysimage/rpm/Packages.db

  • /var/lib/rpm/rpmdb.sqlite

  • /var/lib/rpm/Packages

  • /var/lib/rpm/Packages.db

OS

SLES

RPM
  • /usr/lib/sysimage/rpm/rpmdb.sqlite

  • /usr/lib/sysimage/rpm/Packages

  • /usr/lib/sysimage/rpm/Packages.db

  • /var/lib/rpm/rpmdb.sqlite

  • /var/lib/rpm/Packages

  • /var/lib/rpm/Packages.db

OS

Alpine Linux

APK /lib/apk/db/installed OS

Chainguard

APK /lib/apk/db/installed OS

Debian

DPKG /usr/share/doc/*/copyright OS

Ubuntu

DPKG /usr/share/doc/*/copyright OS

Node.js

Javascript node_modules/*/package.json 编程语言

PHP

作曲家包
  • composer.lock

  • /vendor/composer/installed.json

编程语言

Go

Go LICENSE 编程语言

Python

Python/Egg/Wheel
  • .dist-info/METADATA

  • .egg-info

  • .egg-info/PKG-INFO

编程语言

Ruby

RubyGem *.gemspec 编程语言

Rust

crate Cargo.toml 编程语言

许可证表达式标准化

SPDX 许可表达式格式准确表示了开源软件中的许可条款。Amazon Inspector SBOM 生成器通过本节中描述的规则将所有许可信息标准化为 SPDX 许可表达式。这些规则提供了许可信息的一致性和兼容性。

SPDX 短格式标识符映射

所有许可证名称都映射到 SPDX 的简短标识符。例如,MIT License 缩短为 MIT

多个许可证组合

您可以将多个许可证与AND运营商合并。以下是显示如何格式化命令的示例命令。

MIT AND Apache-2.0
自定义许可证前缀

自定义许可证的前缀为LicenseRef,例如。LicenseRef-CompanyPrivate

自定义异常前缀

自定义异常的前缀为AdditionRef-,例如。AdditionRef-CustomException