Liberty での RunAs 認証の構成

Liberty に対して RunAs 指定を構成することによって、別の ID に認証を委任することができます。

このタスクについて

指定されたユーザー ID およびパスワード (パスワードはオプションです) を RunAs ロール にマップすることによって、その RunAs ロールを持つユーザーに認証プロセスを 委任することができます。

appSecurity-2.0 および servlet-3.0Liberty フィーチャーを使用可能にし、アプリケーションのユーザー・レジストリーを用意して RunAs ロールを構成する必要があります。

RunAS 認証について詳しくは、『RunAs() 認証』を参照してください。

RunAS 認証を構成するには、以下のステップを実行します。

手順

  1. server.xml ファイルで appSecurity-2.0 および servlet-3.0 Liberty フィーチャーを使用可能にします。
  2. アプリケーションのユーザー・レジストリーを構成します。
  3. アプリケーションのデプロイメント記述子で <run-as> エレメントを指定します。

    以下の例の web.xml ファイルは、以降の呼び出しを、ロール Employee にマップされたユーザー に委任するよう指定しています。

         <servlet id="Servlet_1">
              <servlet-name>RunAsServlet</servlet-name>
              <display-name>RunAsServlet</display-name>
              <description>RunAsServlet</description>
              <servlet-class>web.RunAsServlet</servlet-class> 
              <run-as>
                   <role-name>Employee</role-name>
              </run-as>
          	</servlet>
  4. z/OS ユーザーに固有の、SAF リソース・プロファイルを使用した RunAs 認証を構成します。
    1. SAF を使用して RunAs 委任を使用可能にします。
      <safAuthorization enableDelegation="true" />
    2. RunAs ユーザー ID をアプリのリソースおよびロールに割り当てます。これは、RunAs ユーザー ID を、対応する SAF リソース・プロファイルの APPLDATA フィールドに設定することによって行います。デフォルトで、特定のアプリケーションおよびロールの対応する SAF リソース・プロファイルは、EJBROLE SAF クラス内で {profilePrefix}.{appName}.{roleName} と命名されます。

      これは、Liberty SAF 許可が、アプリケーションおよびロールに対するユーザーの許可に使用するリソース・プロファイルと同じものです。このプロファイルの名前は、safRoleMapper 構成によって管理されます。SAF プロファイル名へのアプリケーション名およびロール名のマッピングについて詳しくは、『ロールを SAF プロファイルにマップする方法の制御』を参照してください。

      以下は、user5 に、アプリケーション myapp の RunAs ユーザー、および Employee のロールを割り当てるためのいくつかのサンプル RACF コマンドです。
      RDEFINE EJBROLE BBGZDFLT.myapp.Employee UACC(READ)
      RALTER EJBROLE BBGZDFLT.myapp.Employee APPLDATA('user5')
      SETROPTS GENERIC(EJBROLE) REFRESH
      SETROPTS RACLIST(EJBROLE) REFRESH

トピックのタイプを示すアイコン タスク・トピック

ファイル名: twlp_sec_runas.html