ページの本文へ

Hitachi

日立ソリューションズ ソフトウェア部品管理ソリューション

OSS管理ブログ

SW360で扱うデータの解説

SW360で扱うデータの解説

はじめに

今回は、使い方ではなく、SW360で管理できるデータについてのお話をしたいと思います。

SW360はソフトウェア・コンポーネント・カタログのためのツールです。ソフトウェアを構成するコンポーネントをプロジェクトにマッピングします。ゴールの1つとして、コンポーネント情報の再利用があり、データを集約し共通化します。

今回は、どのようなデータを管理するかについてお話しします。具体的な内容をイメージできるようにすることで、より効率的な導入を行えることができるでしょう。

この記事でお伝えしたいこと

SW360(16.0.0-M1)で取り扱うデータを通し、管理できる内容や問題点について解説します。

以下のような方が読まれることを想定しています。

  • SW360について、導入や運用を考えたい方。

また、以下の知識を必要とします。

  • オープンソースに関する知識。
  • ライセンスに関する知識。

基本

まずはSW360が持つデータの基本的な点から説明を始めます。SW360は次のようなデータを持っており、必要なデータを参照します。

  • プロジェクト
  • ベンダー
  • ライセンス
  • コンポーネント
  • リリース
データ参照関係

プロジェクト(Project)

SBOM (Software Bill Of Materials、ソフトウエア部品表) を管理します。プロジェクトは、リリースのリストを持ちます。属性情報として以下を持ちます。

名前 / バージョン / 可視範囲 / 作成日 / 作成者 / プロジェクトタイプ / ドメイン / タグ / 外部ID / 追加データ / 外部 URL

ベンダー(Vendor)

ソフトウエアを提供するベンダー情報です。属性情報として以下を持ちます。

名前 / 短縮名 / URL

ライセンス(License)

ソフトウエアのライセンス情報です。SPDXからOSADLの情報を読み込むことができます。属性情報として以下を持ちます。

フルネーム / 短縮名 / チェック済か / タイプ / OSI 承認か否か / FSF Free/Libreか否か

コンポーネント(Component)

コンポーネントの分析結果情報を管理します。コンポーネントは、リリースのリストを持ちます。属性情報として以下を持ちます。

名前 / 作成日 / 作成者 / カテゴリ / コンポーネントタイプ / デフォルトのベンダー / ホームページ / ブログ / Wiki / メーリングリスト / 外部ID / 追加データ

リリース(Release)

コンポーネントのバージョンごとの情報を管理します。リリースは、ベンダーおよびライセンスのリストを持ちます。SBOMとして管理される対象がリリースとなります。バージョン不明のコンポーネントは管理できないことに注意してください。属性情報として以下を持ちます。

CPE ID / 本リリースの公開日 / 作成日 / 作成者 / 貢献者 / モデレータ / 加入者 / 追加ロール / ソースコードダウンロードURL / バイナリのダウンロードURL / クリアリングステータス / リリースメインライン状態 / メインライセンス / その他ライセンス / プログラミング言語 / オペレーティングシステム / 外部ID / 追加データ

データの活用について

SW360では固定の属性データ以外も簡単に保存することができます。具体的な活用例とともに幾つか紹介します。

添付ファイル

SW360では、各種ファイルを添付することができます。添付先も、プロジェクト、コンポーネント、リリースなど広い範囲を対象としています。レビューの結果や、社内提出用のドキュメント、外部ツールの出力レポートなどを添付することで、さまざまな記録を残すことが可能です。また、FOSSologyの連携では、リリースに添付されたソースファイルを使用したり、ライセンスクリアリングでは、クリアリングレポートを添付することで状態を決定するなど、SW360自身も利用しています。

外部ID

通常の操作で、複数の外部IDを保持することが可能です。社内システムや外部ツールの記録を残す場合に重宝します。

CPE ID

設定することで、NVDの脆弱性情報を定期的に取得、利用しているコンポーネントの脆弱性を追跡することができます。ただし、手動で入力する必要があるのが悩ましい所です。

さいごに

これまで挙げたように、SW360はさまざまな情報とともにSBOMを管理することが可能です。

しかし、幾つか注意すべき点もあります。SW360では、名前の重複が許されない情報があります。特にコンポーネントに関しては、同じバージョンで属性情報が異なるケース(ダウンロード元が違う、利用方法が違う、マルチライセンス)など、命名規則や設定ルールを策定するなど工夫が必要です。また、脆弱性に関しても、1つのリリースでは1つのCPE IDしか持てないことから、複数のCPE IDが割り当てられてしまう問題に対応できません。

運用に関しても考えることは多いのですが、中身を知ることで解決策も見えてきます。ぜひ活用してください。

オープンソース管理ソリューション
タグ一覧
新着記事