ユーザー管理とアクセス制御 > 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 のデータに対するパブリックアクセス権限も設定する必要があります。
アプリケーションキーのコンフィギュレーション
* 
場合によっては、Experience Service のインストール時に、パブリックアクセスをサポートするためのアプリケーションキーのコンフィギュレーションが完了していることがあります。その場合、es-public-access という名前のユーザーと、それと同じ名前のアプリケーションキーがすでに ThingWorx サーバー上に存在し、そのアプリケーションキーを使用して ThingWorx にパブリックアクセスするように Experience Service が設定されています。また、es-public-access-org という名前の組織がすでに存在し、es-public-access という名前のユーザーがこの組織にメンバーとして追加されています。その場合は、このセクションをスキップできます。ThingWorx サーバーのパブリックアクセスのコンフィギュレーションを行うには、ユーザーへのアクセス許可の付与の「プロパティ、サービス、イベントに対するアクセスの有効化」セクションに記載されているステップを実行します。
ユーザーに対して認証プロンプトを表示することなく、パブリックエクスペリエンスから 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 の管理コンソールに移動します。
8. ThingWorx のプロキシ設定を編集し、ステップ 3 で作成したアプリケーションキーの keyId プロパティと同じになるように匿名アプリケーションキーパラメータを設定します。
ユーザー認証
パブリックエクスペリエンスのユーザーが、ThingWorx の必要なプロパティやサービスにアクセスできるようにするには、上記のステップで定義した es-public-access ユーザーに対して、WebSocket 接続とエクスペリエンスデータの両方に対する以下のランタイムアクセス許可を ThingWorx で付与する必要があります。
WebSocket 接続:
表示 - 「EntityServices」リソースに対するアクセス許可
ランタイムサービスの実行 - 「EntityServices」リソース上の GetClientApplicationKey サービスに対するアクセス許可
表示 - SDKGateway Thing Template に対するアクセス許可
表示インスタンス - SDKGateway Thing Template に対するアクセス許可
ランタイムインスタンスサービスの実行 - SDKGateway Thing Template に対するアクセス許可
これらのアクセス許可を付与する方法については、ユーザーへのアクセス許可の付与の「WebSocket 接続の有効化」セクションを参照してください。
エクスペリエンスデータ:
表示 - パブリックエクスペリエンスによってアクセスされるエンティティに対するアクセス許可
ランタイムプロパティの読み取り - パブリックエクスペリエンスに値が表示される追加のプロパティに対するアクセス許可
ランタイムサービスの実行 - パブリックエクスペリエンスで使用される追加のサービスに対するアクセス許可
ランタイムイベントの購読 - 自動再表示用に設定されているプロパティ値を持つ Thing の DataChange イベントに対するアクセス許可
これらのアクセス許可を付与する方法については、ユーザーへのアクセス許可の付与の「プロパティ、サービス、イベントに対するアクセスの有効化」セクションを参照してください。
また、es-public-access-org 組織に対して、WebSocket 接続とエクスペリエンスデータの両方に対する以下の表示アクセス許可を ThingWorx で付与する必要があります。
WebSocket 接続:
表示 - EntityServices リソースに対するアクセス許可
表示インスタンス - SDKGateway Thing Template に対するアクセス許可
エクスペリエンスデータ:
表示 - パブリックエクスペリエンスによってアクセスされるエンティティに対するアクセス許可