Application Web Serverでホストしているサービスへのアクセス権限をNI-Authで制限

更新しました May 11, 2023

環境

ソフトウェア

  • LabVIEW

LabVIEWで作成したWeb Serviceを展開する際に特定のサービスに対するアクセス権の制限を行いたい場合があります。ここではNI-Authを使用してユーザー名、パスワードによってアクセス可能なサービスへの権限を制限・変更・管理する方法について確認します。
 

NI-Authによるログイン認証とHTTPリクエストへの権限付与は下記の3段階で行います。
:

  1. Application Web Serverの設定
  2. LabVIEWで作成したWeb Serviceにおける権限の割り当て
  3. NI-Authを使用したHTTPリクエストの実行
  1. Application Web Serverの設定

    1. Application Web Serverへのログインと設定の変更
      Application Web Serverの設定を行うNI Web-based Configuration & MonitoringにはMicrosoft EdgeブラウザをInternet Explorer互換モードで使用してhttp://localhost:3582/#Homeにアクセスする必要があります。詳細な手順はこちらの資料で確認できます。Application Web Serverの設定を行う方法については上記の方法以外には存在しません

      NI-Authで管理するユーザー名とパスワードの作成・設定は下記の画面で行う事ができます。また、ここで各ユーザーに付与した権限により、アクセス可能なWeb Serviceの管理を行う事ができます。ここではadminアカウントのパスワードをwelcomeと設定し、後述する方法で作成したauth1という権限を付与しています。

      adminのパスワード変更.png
       
    2. 権限の作成とユーザーへの付与
      どのWeb Serviceにアクセスできるかの割り当ては権限を作成・使用して行います。ここでは例えばauth1という権限を作成します。このauth1の権限をadminにのみ割り当てます。ここで、everyoneにはauth1が割り当てられいない事を確認してください。everyoneに割り当てられている権限により使用可能な機能はNI-Authで管理されていないため、ユーザー名、パスワードによるロ認証の必要なく使用できます。

      権限の作成.png
       
  1. LabVIEWで作成したWeb Serviceにおける権限の割り当て

    1. Web Serviceにおける権限のマッピング
      特定のHTTPリクエストの使用条件として権限を付与するには下記の様にWebサービスプロパティからアプリケーションWebサーバを選択し、権限を追加する必要があります。下記の様なWeb Serviceの作成方法はこちらの資料で確認できます。
        権限の割り当て.png

     
  1. NI-Authを使用したHTTPリクエストの実行

    1. OpenHandle.viによるNI-Auth認証 
      NI-Authによるユーザー名、パスワードの認証を行うにはLabVIEWのOpenHandle.viが必要になります。この関数のユーザー名とパスワードにより各HTTPリクエストにマッピングされた権限と各ユーザーが保有する権限が比較され、下記の様にログイン時にのみHTTPr伊クエストが実行される挙動を実装する事ができます。

      NIAuthTest.png 

     

次のステップ

  • Python, C#等の言語ではNI-Authを使用する事はできません。