ユーザー管理とアクセス制御 > ThingWorx に対するパブリックアクセスの設定
  
ThingWorx に対するパブリックアクセスの設定
Vuforia Studio で、パブリッシュ済みプロジェクト内のエクスペリエンスにすべてのユーザーがアクセスできるようにするには、そのプロジェクトの「アクセス」プロパティを「パブリック」に設定します。これにより、認証処理を実行することなく、Experience Service にパブリッシュされたコンテンツにアクセスできるようになります。パブリックエクスペリエンスから ThingWorx のデータにアクセスする必要がある場合、パブリックエクスペリエンスによる ThingWorx への匿名アクセスを許可するように Experience Service を設定する必要があります。
Experience Service は、ThingWorx サーバーのプロキシとして機能します。エクスペリエンスが、プロパティ値の取得リクエストまたはサービスの呼び出しリクエストを ThingWorx に対して発行すると、最初にそのリクエストが Experience Service 経由でルーティングされます。このエクスペリエンスがパブリックエクスペリエンスである場合、リクエストが ThingWorx サーバーに転送される前に、Experience Service のプロキシにより、アプリケーションキーがそのリクエストに付加されます。このアプリケーションキーにより、リクエストの実行時に使用される ThingWorx の資格証明が識別されます。ThingWorx の必要なパブリックアクセスをエクスペリエンスに付与するには、適切なアプリケーションキーを使用して Experience Service を設定する必要があります。
ThingWorx のデータをエクスペリエンスで提供する場合は、ThingWorx のデータに対するパブリックアクセス権限も設定する必要があります。
アプリケーションキーのコンフィギュレーション
* 
インストーラで ThingWorx サーバーを設定する際、「パブリックアクセスを ThingWorx Core サーバーに設定」オプションを選択すると、このセクションで説明するパブリックアクセスのアプリケーションキーのコンフィギュレーションは、インストーラによって自動的に行われます。このアプリケーションキーを手動で作成する場合は、以下の手順に従ってください。
ユーザーに対して認証プロンプトを表示することなく、パブリックエクスペリエンスから ThingWorx にアクセスできるようにするには、Experience Service とそれに関連付けられた ThingWorx サーバーを設定して、パブリックアクセスを有効にする必要があります。ThingWorx に対するパブリックアクセスを許可するには、ThingWorx でアプリケーションキーを作成する必要があります。このアプリケーションキーを使用して、パブリック接続されたエクスペリエンスで必要な ThingWorx のプロパティやサービスにアクセスすることができます。必要なアプリケーションキーを ThingWorx で作成するには、以下のステップを実行します。
1. es-public-access という名前のユーザーを作成します。
2. es-public-access-org という名前の組織を作成します。
3. es-public-access ユーザーを es-public-access-org 組織に追加します。
4. パブリックエクスペリエンスで必要な ThingWorx データにアクセスするためのアクセス許可を上記のユーザーに対して設定します。es-public-access ユーザーに対して付与する必要があるアクセス許可の詳細については、以下の「ユーザー認証」セクションを参照してください。
5. パブリックエクスペリエンスで必要な ThingWorx データにアクセスするための表示アクセス許可を es-public-access-org 組織に対して設定します。es-public-access-org 組織に対して付与する必要がある表示アクセス許可の詳細については、以下の「ユーザー認証」セクションを参照してください。
6. アプリケーションキーを作成して es-public-access ユーザーに関連付けます。詳細については、アプリケーションキーの生成を参照してください。
* 
アプリケーションキーには、必ず適切な有効期限を設定してください。
7. Experience Service のインストールディレクトリにある configuration.json ファイルを編集し、proxies.0.appKey パラメータの値を、ステップ 6 で作成したアプリケーションキーの keyId プロパティの値と同じになるように設定します。
WebSocket 接続に対するユーザー認証
* 
インストーラで ThingWorx サーバーを設定する際、「パブリックアクセスを ThingWorx Core サーバーに設定」オプションを選択すると、このセクションで説明しているアクセス制御の設定は、インストーラによって自動的に行われます。以下の手順は、必要なアクセス許可を手動で設定する場合に使用します。
パブリックエクスペリエンスのユーザーが、ThingWorx の必要なプロパティやサービスにアクセスできるようにするには、上記のステップで定義した es-public-access ユーザーに対して、以下のアクセス許可を ThingWorx で付与し、WebSocket 接続を行えるようにする必要があります。
ランタイムサービスの実行 - 「EntityServices」リソース上の「GetClientApplicationKey」サービスに対するアクセス許可
表示 - 「EntityServices」リソースに対するアクセス許可
ランタイムインスタンスサービスの実行 - 「SDKGateway」Thing Template に対するアクセス許可
表示インスタンス - 「SDKGateway」Thing Template に対するアクセス許可
これらのアクセス許可を付与する方法については、ユーザーのアクセス許可の付与の「WebSocket 接続の有効化」セクションを参照してください。
エクスペリエンスデータに対するユーザー認証
* 
このセクションでは、エクスペリエンスにパブリック接続しているユーザーに付与する必要のあるアクセス許可について説明します。これらのアクセス許可により、ユーザーはエクスペリエンスに必要な ThingWorx のプロパティ、サービス、イベントにアクセスできるようになります。ThingWorx のプロパティ、サービス、イベントにアクセスするための要件はエクスペリエンスごとに異なるため、このセクションで説明するコンフィギュレーションは、インストーラを使用せずに手動で行う必要があります。
パブリック接続しているエクスペリエンスで使用される ThingWorx のプロパティ、サービス、イベントへのアクセスを、パブリックエクスペリエンスのユーザーがアクセスできるようにするには、上記のステップで定義した es-public-access ユーザーに対して、以下のアクセス許可を ThingWorx で付与する必要があります。
ランタイムプロパティの読み取り - パブリックエクスペリエンスに値が表示される追加のプロパティに対するアクセス許可
ランタイムプロパティの書き込み - パブリックエクスペリエンスで値が変更される追加のプロパティに対するアクセス許可
ランタイムサービスの実行 - パブリックエクスペリエンスで使用される追加のサービスに対するアクセス許可
表示 - パブリックエクスペリエンスによってアクセスされるエンティティに対するアクセス許可
これらのアクセス許可を付与する方法については、ユーザーのアクセス許可の付与の「プロパティ、サービス、イベントに対するアクセスの有効化」セクションを参照してください。