アプリケーションキー
アプリケーションキーは ThingWorx データベースで暗号化されたセキュリティトークンで、標準の資格証明を使用する代わりに、ThingWorx アプリケーションへのログインに使用できます。
アプリケーションキートークンは、リクエストの URL のヘッダーに入れて渡すことができます。リクエストは、アプリケーションキーに関連付けられているユーザーのセキュリティコンテキストを使用して実行されます。デフォルトでは、アプリケーションキーを使用してリクエストが行われると、セッションは作成されません。この方法は、ほかのシステムとアプリケーションが ThingWorx アプリケーションに対してリクエストを行う場合に推奨されます。ただし、セッションを作成する場合は、アプリケーションキートークンを渡すほかに、照会パラメータ x-thingworx-session=true を使用できます。
URL とアプリケーションキーを使用してマッシュアップを表示する場合は、x-thingworx-session=true を追加してセッションを作成します。セッションを作成しない場合、後続のリクエストでは標準の HTTP 基本認証システムを使用して認証を行う必要があります。x-thingworx-session=true 照会パラメータの後に、#mashup=[your mashup name] を指定します。
* 
権限を作成してアプリケーションキーに割り当てる際には、最小限の権限というセキュリティ概念を常に用いる必要があります。管理者グループのメンバーをアプリケーションキーに割り当てることは最良事例ではありません。管理者権限を持つユーザーに基づいてアプリケーションキーを作成しようとした場合、警告が表示されます。
アプリケーションキーのプロパティ
プロパティ名
説明
名前
このキーを識別する単語または語句。必須フィールド。
アバター
アプリケーションキーを視覚的に表現するためにアップロードできるイメージ。
説明
アプリケーションキーの説明。
プロジェクト
このキーに関連付けられている作業またはグループ。
タグ
アプリケーションキーのグループ化または分類に使用できるモデルタグ。
IP 許可リスト
アプリケーションキーを使用して ThingWorx にアクセスすることを許可された IP のリスト。複数の IP はコンマで区切ります。空白にした場合は、すべての IP がアプリケーションキーを使用できます。
クライアント名
アプリケーションキーが割り当てられたクライアントや、IP アドレスなど、任意の内容を表現できるユーザー定義可能なフィールド。ThingWorx は、このフィールドに割り当てられたすべての値を無視します。
ユーザー名の参照
アプリケーションキーに関連付けられているユーザー名。必須フィールド。
キー ID
ThingWorx によって生成されたキーの値。キー ID は編集できません。
* 
キー ID はデータベースに暗号化されて保管されます。値の暗号化に使用される対称キーは /ThingworxStorage/keystore.jks に保管され、キーストアのパスワードは /ThingworxPlatform/keystore-password に保管されます。これらのファイルは存在しない場合には生成されます。対称キーが存在しない場合は、システムが起動する前に作成されます。ThingWorx サーバーをインストールして維持する場合は、必ずこれらのファイルを保存しておいてください。これらのファイルが失われると、アプリケーションキーは機能しなくなります。つまり、システムの起動時に値を暗号化できず、既存のアプリケーションキーを保存したり認証したりできなくなります。
有効期限
アプリケーションキーの有効期限。有効期限が指定されていない場合は、ユーザー管理サブシステムのデフォルト値が使用されます。有効期限が指定されていない場合、またはユーザー管理サブシステムの「アプリケーションキー有効期間 (秒)」の値が変更されていない場合、アプリケーションキーは作成の 24 時間後に期限切れになります。
最終修正日
アプリケーションキーを最後に修正した日時。
ホームマッシュアップ
アプリケーションキーに関連付けられているデフォルトのマッシュアップ。
ドキュメンテーション
環境下での使用方法や使用理由について説明するオプションの注意事項や背景情報。
アプリケーションキーの作成
アプリケーションキーを作成するには、次の手順に従います。作成されるキーは、「ユーザー名の参照」フィールドで関連付けられたユーザーに付与されているセキュリティ設定を引き継ぎます。
1. ThingWorx Composer で、「新規」をクリックします。
2. 下にスクロールして、「アプリケーションキー」を選択します。
3. 名前を入力します。
4. 必要に応じて、このキーの「説明」「プロジェクト」「タグ」を入力します。
5. 「ユーザー名の参照」フィールドで、アプリケーションキーに関連付けられているユーザーを選択します。
6. 「IP 許可リスト」「クライアント名」「ホームマッシュアップ」「アバター」「有効期限」「ドキュメンテーション」などのオプションフィールドを必要に応じて入力します。
* 
「有効期限」が設定されていない場合は、アプリケーションキーエンティティの作成日とユーザー管理サブシステムの「アプリケーションキー有効期間 (秒)」の設定から値が計算されます。
7. 「保存」をクリックします。
8. 「キー ID」フィールドにアプリケーションキーが表示されます。
アプリケーションキーの削除
アプリケーションキーの有効期限を指定できますが、これらは期限が切れても自動的に削除されません。定期的に反復し、有効期限が切れたアプリケーションキーを削除する ThingWorx アプリケーションロジックを記述できます。アプリケーションキーサービスを参照してください。アプリケーションキーを手動で削除するには:
1. Composer で、すべてをブラウズします。
2. 下にスクロールして「セキュリティ」セクションを表示します。
3. 必要に応じてセクションを展開し、「アプリケーションキー」を見つけます。
4. 名前の左側にあるチェックボックスをオンにしてアプリケーションキーを選択します。
5. 「削除」ボタンをクリックします。
サービスによるアプリケーションキーの作成
サービスによってアプリケーションキーを作成するには、次の例を使用します。
var params = {
clientName: undefined /* STRING */,
name: undefined /* STRING */,
description: undefined /* STRING */,
project: undefined /* STRING */,
whitelist: undefined /* STRING */,
user: undefined /* USERNAME */,
tags: undefined /* TAGS */,
expirationDate: undefined /* DATETIME */
};
// no return
Resources["EntityServices"].CreateApplicationKey(params);
//Get the generated Key's actual appKey value
var KeyID = ApplicationKeys["YOURKEYNAME"].GetKeyID();
* 
「有効期限」が設定されていない場合は、アプリケーションキーエンティティの作成日とユーザー管理サブシステムの「アプリケーションキー有効期間 (秒)」の設定から値が計算されます。
最初のアプリケーションキーの設定と最初の接続の最良事例
デバイスは、開発サンドボックス内で常にオンラインにするか、可能なかぎり開発サンドボックス内でシミュレートする必要があります。デバイスの運用準備が整ったら、アプリケーションの Edge ネットワーク上に配置されるデバイスごとに新しいアプリケーションキーを作成する必要があります。一意のアプリケーションキーが作成され、問題のデバイスに展開された後は、初期化時にデバイスを監視して、プラットフォームに正しく接続されたことを確認する必要があります。
アプリケーションキーの有効期限とローテーション
最良事例として、アプリケーションキーには、そのアプリケーションキーの資格証明を消費するデバイスに対して予想されるライフサイクルと一致する有効期限が必要です。また、ライフサイクルが異なる場合に特に、複数のデバイスに同じアプリケーションキーを使用することはお勧めできません。アプリケーションキーが期限切れになると、デバイス上には新しいアプリケーションキーをインストールする必要があります。
重大なアプリケーションに対するアプリケーションキーの有効期限
デバイスに新しいアプリケーションキーを提供するシステムが存在しない場合、アプリケーションキーの有効期限キーを更新することでサービスのライフサイクルを延長できます。この措置は推奨される最良事例ではありませんが、ビジネスクリティカルなデータが失われる可能性がある場合の次善策として使用できます。デバイスに対して予想されるライフサイクルを超えてアプリケーションキーのライフサイクルを延長すると、重大なアプリケーションインフラストラクチャのセキュリティが脅威にさらされる可能性がある点に注意することが重要です。
関連リンク
これは役に立ちましたか?