Skip to Content
新しいバージョン 12 を公開しました 🎉
Licensing概要一般機能

一般機能

Babel Licensing でできること、動作する環境、各エディションに含まれる機能を説明します。各セクションには、その機能の使い方を説明するページへのリンクがあります。

総合的なライセンス管理システム

Babel Licensing は、ソフトウェアライセンスのライフサイクル全体を扱います。製品とテンプレートの定義、ライセンスの生成と署名、ファイルまたはシリアル番号としての配布、コンピューターでのアクティベーションやネットワーク全体での共有、使用状況の追跡、失効や延長までが対象です。クライアントライブラリはアプリケーションの中でライセンスの条件を適用し、サービス、デスクトップと Web のツール、WordPress プラグイン、コマンドラインツールは提供側でライセンスを管理します。ライセンスのワークフローのページでは、製品の定義からデプロイまでの 4 つの段階を順に説明しています。

デジタル署名されたライセンスに基づく仕組み

すべてのライセンスは、非対称キーペアで署名されます。秘密キーは手元に残して署名に使い、公開キーはアプリケーションに含めて検証に使います。改ざんまたは偽造されたライセンスは、その内容が信頼される前に検証に失敗します。ライセンスは、読みやすくインストーラーに同梱しやすい XML ファイルとして、または、顧客が入力するシリアル番号、アクティベーションの応答、データベースのフィールドに収まるエンコードされた文字列として保存されます。どちらの形式も内容は同じで、同じ方法で検証されます。

あらゆる .NET テクノロジとの互換性

Babel.Licensing クライアントライブラリは、標準のアセンブリを生成するすべての .NET ランタイムをターゲットにしています。

  • .NET Core と .NET(.NET 10 まで)
  • .NET Framework 2.0 から 4.8
  • .NET Standard
  • ASP.NET と ASP.NET Core
  • .NET MAUI と Xamarin
  • UWP と Mono

Babel Licensing Service は .NET アプリケーションで、Windows、Linux、macOS 上でネイティブに、または Docker で動作します。どちらも Visual Studio や Visual Studio Code などの一般的な開発環境で使用でき、クライアントコンポーネントは NuGet パッケージとしてインストールします。

柔軟なライセンスモデル

ライセンスは、製品が確認する必要のある内容を表します。そのすべてを、ライセンステンプレートで一度だけ定義します。

  1. トライアルライセンス:期間、実行回数、インスタンス数で制限され、顧客は購入前に評価できます。
  2. ハードウェアにロックされたライセンス:コンピューターのフィンガープリントに紐付けられ、ライセンスを別のコンピューターにコピーできません。
  3. ドメイン制限付きライセンス:指定したネットワークドメインの中でだけ検証に成功します。
  4. 機能ベースのライセンス:製品の一部を有効または無効にします。段階的なエディション構成の基礎になります。
  5. カスタム制限:独自のコードで検証する制限で、組み込みの制限では対応できないルールに使います。
  6. カスタムフィールド:顧客データ、契約条件、構成など、必要な任意のメタデータを保持します。

それぞれの詳細は、ライセンスの制限とライセンスのプロパティで説明しています。シリアル番号の形式は、ユーザーキーの形式で定義します。

3 つのライセンスモード

同じライセンスモデルを、3 つのライセンスモードのいずれかで運用します。ライセンスファイルは、サーバーを介さずオフラインで検証されるため、ネットワークから切り離された環境や保護された環境に適しています。ライセンスアクティベーションは、サービスを通じてライセンスを特定のコンピューターに紐付けます。サービスは後から、そのアクティベーションを解除したり、有効期限を延長したり、アクティベート済みのクライアントに新しい機能を配布したりできます。フローティングライセンスは、ネットワーク全体で共有されるシートのプールです。シートは、クライアントの実行中に割り当てられ、クライアントが停止すると解放されます。

ライセンストークン Server

アクティベートされたクライアントとフローティングクライアントは、使用中、それぞれサービス上でライセンストークンを 1 つ保持します。ファイルライセンスはトークンを消費しません。Server エディションでは、同時にアクティブにできるトークンは 1000 個までです。これは、同時に接続またはアクティベートできるクライアントの最大数です。ライセンスが解放されるか、アクティベーションが解除されると、トークンはすぐに回収されます。Data Center エディション Data Center には、この上限がありません。

Babel Licensing Service Server

Babel Licensing Service は、中心となるコンポーネントです。ライセンスのアクティベーションと検証、フローティングシートの割り当て、トークンのカウント、ライセンス対象のアプリケーションからのレポートの受信、Webhook の送信を行い、gRPC と REST の API を公開します。オンプレミスでもクラウドでも、Windows、Linux、macOS、Docker で動作し、データは SQL Server、MySQL、MariaDB、SQLite 上の Babel Licensing Database に保存します。MySQL と MariaDB は .NET 10 でもサポートされます。バージョン 11.7 以降は、既定の管理者アカウントもハードコードされた署名キーも含まれなくなりました。11.8 以降は、コンテナーに認定済みの暗号プロバイダーがない FIPS モードのホストでも起動します。構成、ヘルスチェック、FIPS 準拠を参照してください。

デスクトップからの管理 Server

Babel Desktop は、Windows、macOS、Linux 用のクロスプラットフォームアプリケーションで、難読化の設定も行います。そのライセンス管理のセクションは、API キーを使って Babel Licensing Service に接続します。そこから、顧客、連絡先、製品、リリース、注文、ライセンス、テンプレートの管理、ライセンスの生成、失効、エクスポート、メール送信、レポート、トークン、トレース、ログの閲覧、ユーザー、API キー、Webhook の管理ができ、ダッシュボードと地域別の表示も備えています。変更にはローカル管理のプロファイルが必要です。つまり、Babel Desktop がサービスと同じコンピューター上で動作している必要があり、リモートのサービスのプロファイルは読み取り専用です。Babel Desktop の MCP サーバーは、これらの操作を AI アシスタントに公開できます。

ブラウザーからの管理 Data Center

Web アプリケーションでは、ロールを割り当てたユーザーが、任意のブラウザーからサービスを管理します。ダッシュボードには、地図上のライセンスの分布、製品別の売上、トークンの使用状況が表示されます。各ページでは、ライセンス、テンプレート、製品、顧客、注文と、署名キーやメールテンプレートなどのリソースを管理します。外部連携用の API キーの発行、ライセンスイベントをお使いのシステムに通知する Webhook の設定、例外レポートとアクティビティログの表示もできます。Web アプリケーションは単一のサービスパッケージに含まれており、Data Center ライセンスで利用できるようになります。Server ライセンスの場合、サービスのアドレスにはアップグレードページが表示されます。

WordPress と WooCommerce で販売する Server

WordPress プラグインは、WordPress の管理画面から製品、テンプレート、顧客、ライセンスを管理し、WooCommerce と連携します。そのため、ライセンス対象の製品が購入されると、ライセンスが自動的に生成されてメールで送信されます。発行、期限切れ、更新の通知に使うメールテンプレートも、同じ画面で編集できます。

現場からのレポート

ライセンス対象のアプリケーションは、サービスにレポートを送信できます。例外レポートには、クラッシュの診断に使うスタックトレース、環境情報、システム情報が含まれます。ライセンス使用状況レポートは、実際に使用されている機能、フィールド、制限を記録します。カスタムレポートは、アプリケーションで収集したい任意のデータを送信し、機密性の高いデータは暗号化します。レポートは Babel Desktop または Web アプリケーションで閲覧でき、Webhook で転送することもできます。

SDK、MSBuild、コマンドラインの統合 Server

クライアントライブラリと Babel.Data パッケージを使うと、アプリケーションでの検証からビルドでのライセンス生成まで、ライセンス管理のあらゆる操作をスクリプト化できます。dotnet ツールとしてインストールする lic コマンドラインツールは、スクリプトや CI パイプラインから、すべてのプロパティと制限を備えた署名付きのライセンスとシリアル番号を生成します。バージョン 11.8 以降は、機械可読の JSON または NDJSON を出力でき、--quiet と --strict-exit も使用できます。AI に適したモードを参照してください。Lic MSBuild タスクは、同じスイッチをビルドで使えるようにします。

MCP を介した AI アシスタントによる操作 Data Center

Babel Licensing MCP Server は、サービスの REST API を Claude やその他の Model Context Protocol クライアントに公開します。これにより、アシスタントは、顧客のライセンスの検索、アクティベート、延長、失効、顧客と注文の作成、アクティベーションの傾向の分析、エラーメッセージの説明を、すべて自然言語で実行できます。AI 連携のページでは、サポート、営業、開発、管理のユースケースを紹介しています。

Babel Obfuscator との完全な統合

Babel Licensing のどちらのエディションにも Babel Obfuscator Ultimate が含まれており、2 つの製品は連携して動作するように設計されています。クライアントライブラリは、それを含むアプリケーションと一緒に難読化することを想定しています。また、Babel Obfuscator のコード暗号化を使うと、ライセンスのパスワードで暗号化されたコードのロックを解除できるため、機能ベースのライセンスは、スイッチだけでなく、その背後にある実装も保護します。ライセンスは、難読化プロジェクトを実行するのと同じアプリケーションである Babel Desktop と、その MCP サーバーからも生成して検証できます。

FIPS 対応

ライセンスの検証では、FIPS で許可されていないアルゴリズムを使用しません。バージョン 11.8 以降は、オペレーティングシステムの暗号スタックにもまったく依存しないため、コンテナーに認定済みの OpenSSL プロバイダーがない場合でも、ライセンス対象のアプリケーションは FIPS モードのホストで起動します。サービス自体も、Babel Obfuscator のマネージド AES オプションで難読化されていれば、そのようなホストで起動します。FIPS 準拠を参照してください。

Last updated on