ライセンスのワークフロー
Babel Licensing のライセンスのワークフローは、ソフトウェアライセンスの作成、管理、配布という一連のプロセス全体を表します。このワークフローを理解することは、顧客に柔軟性を提供しながら知的財産を保護するライセンス戦略を効果的に実装するために欠かせません。このガイドでは、Babel Licensing のライセンスのワークフローを構成する 4 つの主要な段階を順に説明します。
1. 製品の定義
ライセンスのワークフローは、Babel Licensing で製品を定義することから始まります。製品の定義には、ライセンスの対象となるソフトウェアに関する重要な情報がすべてまとめられ、すべてのライセンス操作の基礎となるデジタル表現が作成されます。
製品定義の主な構成要素
- 製品情報:名前、バージョン、説明などの基本的な詳細。
- 署名キー:新しいライセンスに署名するための署名キーペア(通常は SNK または PFX 形式)。これらの暗号キーにより、この製品用に生成されるすべてのライセンスにデジタル署名できます。
製品の定義は、ライセンスの生成と検証に必要なコンテキストを提供します。製品を正しく定義することで、以降のすべてのライセンス操作の基礎が確立されます。
2. 製品への署名キーの割り当て
デジタル署名は、ライセンスのセキュリティと整合性において重要な役割を果たします。Babel Licensing の各ライセンスは、改ざんや不正な変更を防ぐためにデジタル署名されます。署名キーは、このデジタル署名の処理を可能にする暗号キーペアです。
署名キーのプロセス
- キーの生成:暗号キーペア(秘密キーと公開キー)を作成します。
- キーの割り当て:キーペアを特定の製品に関連付けます。
- ライセンスの署名:ライセンスの生成時に、秘密キーを使ってライセンスに署名します。
- ライセンスの検証:検証時に、公開キーを使ってライセンスの真正性を検証します。
秘密キーは安全に保管し、ライセンスの生成を担当する、権限のある担当者だけがアクセスできるようにする必要があります。公開キーはアプリケーションに埋め込まれ、セキュリティを損なうことなくライセンスを検証できるようにします。
3. ライセンステンプレートの定義
ライセンステンプレートは、同様の構成のライセンスを複数作成する作業を効率化します。テンプレートは、特定の製品または製品エディションのライセンスに共通する属性、制限、機能を定義するひな形になります。
ライセンステンプレートの構成要素
- テンプレート名:テンプレートを識別するわかりやすい名前。
- ライセンスの種類:ライセンスのカテゴリを定義します(Standard、Professional、Enterprise など)。
- ライセンスの形式:ライセンスの形式(XML、ASCII、BASE32)を指定します。
- ライセンスのフィールド:ライセンス用にあらかじめ設定されたフィールド。
- 機能:有効にする製品の機能。
- 制限:トライアル期間、ハードウェアへの紐付け、使用上の制約などの制限。
テンプレートを使うと、必要に応じてカスタマイズしながら、ライセンス間の一貫性を保てます。特に、異なる製品エディションの管理や、特定の制限を持つトライアル版の実装に役立ちます。
ライセンスの制限の種類
ライセンステンプレートの制限は、ライセンスの検証に条件付きのロジックを追加し、高度なライセンスのシナリオを可能にします。
- トライアル制限:期間(日数)または実行回数で使用を制限します
- ハードウェア制限:ライセンスを特定のハードウェア識別子に紐付けます
- ドメイン制限:使用を特定のネットワークドメインに限定します
- 機能制限:製品の特定の機能へのアクセスを制御します
- エディション制限:機能の異なる製品エディションを定義します
4. ライセンスの配布モデル
Babel Licensing には 3 つの主要な配布モデルがあり、それぞれ異なる配布形態と使用シナリオに適しています。どの配布モデルが適切かは、接続の要件、ライセンス管理の方針、セキュリティ上の考慮事項などの要因によって決まります。
ファイルベースのライセンス
ファイルベースのライセンスは、オフラインでのアクティベーション用にユーザーに配布する、従来型のライセンスファイルです。インターネット接続が制限されている環境や、まったくない環境に適しています。
特徴:
- XML ファイルまたは文字列としてエンコードされたファイルとして保存されます
- 改ざんを防ぐためにデジタル署名されます
- メールやダウンロードで簡単に配布できます
- 検証にネットワーク接続は必要ありません
- ライセンスファイルは、アプリケーションがローカルで検証します
適している用途:デスクトップアプリケーション、オフライン環境、またはライセンスの一元管理が不要な場合。
アクティベーションライセンス
アクティベーションライセンスは、1 回限りのアクティベーション処理によって、ライセンスを特定のコンピューターに紐付けます。このモデルは、セキュリティと利便性のバランスが取れています。
特徴:
- アクティベーション時にインターネット接続が必要です
- ライセンスは特定のコンピューターのハードウェア ID に紐付けられます
- ライセンスごとのアクティベーション数に上限があります
- アクティベーションを解除してライセンスを別のコンピューターに移せます
- ライセンスサーバーへの常時接続は必要ありません
- ライセンスの使用状況を一元的に追跡できます
適している用途:デプロイにある程度の柔軟性を持たせながら、中程度のライセンスセキュリティを必要とするアプリケーション。
フローティングライセンス
フローティングライセンスでは、ネットワーク内の複数のユーザーまたはコンピューターでライセンスを共有できます。エンタープライズ環境でライセンスの使用を最適化するのに適しています。
特徴:
- ライセンスは中央のサーバーからチェックアウトされます
- コンピューターの台数ではなく、同時使用数によって制限されます
- ライセンスの割り当てと解放がリアルタイムで行われます
- ライセンスサーバーへの常時接続が必要です
- 使用状況の詳細な分析を提供します
適している用途:エンタープライズアプリケーション、チーム環境、またはライセンスの利用率を最大化することが重要な場合。
ライセンスのワークフローの全体像
Babel Licensing のライセンスのワークフロー全体は、製品の定義からライセンスの配布までのすべての段階を含みます。このワークフローは、ビジネス要件と顧客のニーズに応えるために、ライセンスの作成、管理、配布を繰り返す継続的なサイクルです。