本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 |
|
OS |
Amazon Linux |
RPM |
|
OS |
CentOS |
RPM |
|
OS |
Fedora |
RPM |
|
OS |
OpenSUSE |
RPM |
|
OS |
Oracle Linux |
RPM |
|
OS |
Photon OS |
RPM |
|
OS |
RHEL |
RPM |
|
OS |
Rocky Linux |
RPM |
|
OS |
SLES |
RPM |
|
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 |
作曲家包 |
|
编程语言 |
Go |
Go | LICENSE |
编程语言 |
Python |
Python/Egg/Wheel |
|
编程语言 |
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