To top
Resources Resources
Cloud computing technology and online data storage for business network concept.

クラウドライセンスの作成と配布が容易に

エンドユーザーがCmCloudContainerの作成、管理、そしてライセンスのアクティベートまたはディアクティべ―トできるように、ライセンスポータルはソフトウェア開発者に対して、シンプルかつ柔軟な方法を提供しています。しかし、このような自由度と信頼性は、すべてのソフトウェアプロジェクトに適合するわけではありません。その場合、これらの機能は、ユーザー登録を含むライセンスポータル全体が閲覧者から完全に隠れるような専用のポータルや別のソフトウェアによって処理されるべきです。このような理由から、CodeMeter License Portal(ライセンスポータル)には、特殊なREST-APIが付属しています。この記事では、Gatewayと呼ばれるこのAPIについて詳しくみていきます。

クレデンシャルファイル

ライセンスポータルとREST-APIは、CodeMeter License CentralCodeMeter Cloudとが通信するための簡単な手段です。エンドユーザーには、CmCloudContainerにアクセスするために必要な詳細情報を含むクレデンシャルファイルが付与されます。CodeMeter Cloudがこのファイルを作成しますが、保存はしません。ライセンスポータルは、ポータル上のエンドユーザーとCmCloudContainerとの間の1対1の直接接続を維持するため、クレデンシャルファイルも維持されるのです。エンドユーザーがパスワードを変更すると、古いクレデンシャルファイルは無効化され、新規ファイルが作成されます。クレデンシャルファイルがアプリケーションやポータルに対し何をしているかエンドユーザーが把握する必要はなく、すべてがバックグラウンドで行われます。この理由は、心理的なものに関係しています。エンドユーザーは、ファイルに比べパスワードを共有する可能性は低いと考えられます。さらにセキュリティ向上のため、クレデンシャルファイルはエンドユーザーのパスワードで暗号化されています。

必要なユーザーアカウント

クレデンシャルファイルとユーザーアカウント間のこの強固な紐づけにより、ライセンスポータルとCodeMeter Cloudは、ユーザーアカウントによってのみ共に機能します。これを既存のソリューションと統合するには、3つのオプションがあります。

  • ポータル独自のユーザー管理機能の使用
  • すべてのエンドユーザーに対するダミーアカウントの作成
  • シングルサインオン(SSO)システムとの統合

3つ目のオプションは現在、Wibu-Systemsのプロフェッショナルサービスが対応していますが、バージョン22.11以降では標準機能としてリリースされる予定です。

アカウントの作成

パスワードを使用するには、まず「メール」「パスワード」「データ」「チケット」これら4つのパラメーターから成るユーザーアカウントを作成します。電子メールアドレス(「メール」)は、各エンドユーザーの一意の識別子として機能し、デメリットを上回る多くのメリットがあります。ほとんどのエンドユーザーは、ライセンスポータルにアクセスすることはないため、アクセス時にのみ使用するランダムな名前を記憶していることはほぼ無いでしょう。一方、電子メールアドレスを忘れることはほぼありません。

「パスワード」は、登録前に別のクライアントが確認する必要があります。つまり、エンドユーザーは、ダブルチェックのために2回入力しなければなりません。パスワードに特定の規則や制限を設けることも可能です。正式な登録を開始する前に、パスワードがその規則に準拠しているかシステムで確認することができます。

「データ」フィールドは、任意のフォーマットで入力することができます。名前、年齢、住所、靴のサイズなど、ユーザーに関する追加情報をJson文字列形式で取得することが目的です。記録したい情報はすべて登録できます。但し、EUのGDPR規制により一部制限される場合があります。APIでは、GDPRに完全に準拠させるよう、データの変更または削除が可能です。

最後の「チケット」フィールドでは、CodeMeter License Centralからのチケットを、自動ボットによる無数のスパムアカウント作成を防止するCaptchaとして機能させるか定義することができます。登録時のチケットは新しいもの、つまり、他のユーザーやグループに割り当てられていないものでなければなりません。より処理を簡単にするため、チケットは登録完了後、該当するエンドユーザーに自動で割り当てられます。Captchaを独自のアンチスパムメカニズムに置き換える、もしくは完全に省くことも可能です。

セッション

「登録」コマンドは、エンドユーザーがすぐに使用可能な状態にする必要があります。コマンドでは「セッションID」「メール」「セッショントークン」を返し、これらは後のAPI呼出しで使用されます。

また、ダブルオプトインオプションでユーザーが確認する必要があるかに関しても通知されます。これは ライセンスポータル用に設定することができ、エンドユーザーは電子メールに送信されたコードを確認する必要があります。この目的のために別のAPI呼出しが使用され、エンドユーザーがコードを確認しない限り、処理は続行されません。

同じ「セッションID」「メール」「セッショントークン」の値は、後に「ログイン」APIプロセスでエンドユーザーを接続した場合にも、当然返されます。セッションを終了するには、「ログアウト」を使用します。

ダミーユーザー

エンドユーザーの負担を軽減するため、よくあるオプションとして、ユーザーアカウントの自動作成があります。これは有効な選択肢ではありますが、自動生成されるプロファイルがEUのデータ保護基準であるGDPRに準拠しているか注意して取り扱う必要があります。

このようなダミーアカウントを作成するには、自社サーバーの仮想メールアドレスなど、内部のユーザーIDからメールアドレスを作成します。エンドユーザーにIDが付与されていない場合には、チケットIDを使用することもできます。

少し変わった方法として、パスワードの自動生成もあります。登録プロセスを開始するシステムが、各エンドユーザーに対してランダムな値を保存できることが理想的です。このランダムな値の定義、ユーザーIDへの付加、そしてハッシュ化により自動パスワードを生成することができます。

クレデンシャルファイルの割り当て

ログインするエンドユーザーの「セッションID」「セッショントークン」「メール」を必要とするクレデンシャルファイルを取得するため、別のAPI呼出しが使用されます。

また、パスワードもこれらに含める必要があります。このようにエンドユーザーへのパスワード再入力の要求は、重要な機能を不正使用から守るために必要な手段ではありますが、エンドユーザーが不快に感じないよう控えめにしたほうがよいです。但しライセンスポータルの場合、クレデンシャルファイルがパスワードで暗号化されているため、技術的には必要な手段です。

この最初の呼出しには、CmCloudContainerの名前を含めることができます。これは、CodeMeterのControl Centerでエンドユーザーに表示される名前となります。呼出し回数、新しい名前の付与に関係なく、同じファイルを参照することができます。CmCloudContainerを参照するため、CmActIDは、将来的な目的のために予約されている標準の固定値「3000」を使用する必要があります。

ポータルのユーザ管理機能を使用する場合、顧客はこのAPI呼出しの前に再度パスワードを要求、もしくはダミーアカウントの場合はその値を適宜計算する必要があります。

パスワードの変更

パスワード変更を行う呼出しには、セッションパラメーターに加え、古いパスワードと新しいパスワードが必要です。こちらでも、偶発的なタイプミスに対する簡単な予防策として、新しいパスワードを2回入力するようユーザーに要求します。

この呼出しにより、古いクレデンシャルファイルは無効化されます。続いてCmCloudContainer内のライセンスにアクセスすると、「red」フラグが立てられ、使用することができなくなります。その後、エンドユーザーは新しいパスワードを含む新しいクレデンシャルファイルを受信しインポートする必要があります。

パスワードの再設定

もちろん、ユーザーがパスワードを忘れてしまうという避けられない事態にも、このAPIは対応しています。このプロセスでは、2つの特定の呼出しを使用します。最初の呼び出しは、リセットトークンを返すものです。エンドユーザーのメールアドレスのみ必要となり、システム内部でのアクションは一切発生しません。リセットトークンは、設定された時間内に使用する必要があります。

通常、トークンは、システム内に保存されている電子メールアドレスに送信されます。しかし、この場合、API機能を許可されたアプリケーションだけが使用できるようにするため、細心の注意を払わなければなりません。

このトークンにより、2回目の呼出しで新しいパスワードを作成することができます。この場合、古いクレデンシャルファイルは無効となり、新しいパスワードとともにファイルを再作成し配布する必要があります。

ライセンスのアクティベーション

ライセンスは、CmDongleまたはCmActLicenseと同じ方法でアクティベートされます。CodeMeterのローカルコピーでCmCloudContainer用のコンテキストファイルが作成され、標準のGateway機能経由でアクティベーションに使用されます。システムがSaaSソリューションとして配置されているため、CodeMeterがローカルでインストールされていない場合、ライセンスポータルAPIが仲介してコンテキストファイルを取得し、更新ファイルを返却します(CmCloudCIontainerに制限)。

関連する製品

ソリューション

KEYnote 43 – Edition Spring/Summer 2022