[z/OS]

Java Platform, Enterprise Edition ID および オペレーティング・システム・スレッド ID

ユーザーの識別には ID を使用しますが、セキュアな環境で WebSphere® Application Server アプリケーションにアクセスするためには、この ID は、WebSphere Application Server で認証されたものでなければなりません。

異なるタイプの ID の理解: WebSphere Application Server は、ユーザー ID を認証し、 Java™ Authentication and Authorization Service (JAAS) サブジェクトを使用してユーザーを表します。サブジェクトには、1 つ以上のプリンシパルが含まれています (このプリンシパルは、認証済みユーザー ID のテクノロジー依存の表記です)。 詳細は以下のとおりです。
ユーザー ID
Java EE ID
WebSphere によって認証され、 Java Platform, Enterprise Edition (Java EE) ランタイムでの WebSphere Application Server によるアクセス制御の決定のために使用されるユーザー ID (Java EE アプリケーション要求に関連付けられ、 EJB メソッド許可のアクセス制御の決定に使用されるユーザー ID など)。
オペレーティング・システム (OS) ID
基盤となるオペレーティング・システムによって認証され、OS およびそのサブシステムによるアクセス制御の決定のために使用される ユーザー ID (SAF STARTED クラス機能によって WebSphere Application Server for z/OS® サーバントに関連付けられていて、 サーバーによるファイルへのアクセス試行時に、 アクセス制御の決定のためにファイル・システムによって使用されるユーザー ID など)。
スレッド ID
Java スレッド ID
WebSphere Java EE ランタイムによって管理される Java スレッドに現在 関連付けられている Java EE ID (Java スレッドと Java 仮想マシン (JVM) におけるスレッドの表記です)。 Java スレッド ID は、オペレーティング・システム (OS) スレッドに関連付けられていますが、 JVM は、スレッドの Java 表記上のユーザー ID を管理します (オペレーティング・システムのスレッド上でオペレーティング・システムが管理するユーザー ID とは別です)。Java EE ID は、 所定のアプリケーション要求の存続の間、Java スレッド上で現行の ID となります。
OS スレッド ID
オペレーティング・システムのスレッドに現在関連付けられているオペレーティング・システム ID。OS スレッド ID は 一般にサーバントに割り当てられているユーザー ID であり、 通常は Java スレッド ID と同一ではありません。Java EE は、 サーバントに割り当てられた OS スレッド ID に一致する Java EE を保守するということに 注意してください。この Java EE ID は、RunAs ID として使用できます。
RunAs ID
所定の Java EE アプリケーション要求に対する Java スレッド ID として選択される Java EE ID (Java EE アプリケーション要求内で呼び出される Enterprise JavaBeans (EJB) 上の RunAs デプロイメント記述子ポリシーに基づく)。Java EE ID は通常、 Java EE アプリケーション要求を行った 認証済みユーザーの ID です。WebSphere Application Server RunAs ポリシーにより、 現行要求への Java スレッド ID の割り当てに以下の 3 つの選択肢が得られます。
  1. クライアント (例えば、ユーザー) Java EE ID の割り当て - 「呼び出し元」の RunAs の選択ともいわれます。
  2. サーバーの Java EE ID の割り当て。
  3. 指定されたロールにある Java EE ID の割り当て。

セキュリティーが使用可能である場合、 Java EE コンポーネントを呼び出す WebSphere Application Server for z/OS の各要求が認証され、 アクセスを要求しているのが許可ユーザーであることが確認されます。 ユーザーは、Java EE ID (JAAS サブジェクトとも呼ばれる) によって 表されます。この Java EE ID には、1 つ以上のプリンシパルが含まれ、 それぞれのプリンシパルは特定のユーザー ID に対応します。この関連付けは、 WebSphere Application Server によって管理されます。Java EE ID および オペレーティング・システム OS スレッド ID は、 同一の名前を持ち、同一のユーザーを表すことから、 相互に関連付けられます。

WebSphere Application Server for z/OS は、 使用可能なサーバント・プロセスの 1 つにコンポーネント要求をディスパッチします。そのコンポーネント要求は、サーバント・プロセス内で、 Java スレッド上にディスパッチされます。続いて、その Java スレッドが、JVM によって z/OS スレッド制御ブロック (TCB) に 内部的にマップされます。TCB は、1 つのオペレーティング・システムのスレッドであり、 ネイティブ・プロセス・インフラストラクチャーの一部であると考えられます。 サーバント・プロセスは、開始時に OS ID を割り当てられます。 z/OS セキュリティー・ポリシーは、 SAF STARTED クラス機能を使用して ID を割り当てます。

ロール許可と許可検査を含む Java EE 許可決定は、Java EE ID を使用して判別されます。構成設定により、ロール許可の検査は、使用しているオペレーティング・システムのセキュリティー・マネージャー (System Authorization Facility (SAF) など) に代行させることができます。 この場合、関連付けられたオペレーティング・システム OS の ID がロール許可の決定に使用されます。

z/OS 上の一部のリソース・マネージャーは、 OS スレッド ID を使用して許可決定を行います。例えば、ファイルがアクセスされると、 現在 TCB 上にある OS スレッド ID に完全に基づいて、 ファイル・システムのアクセス制御が判別されます。 同様に、DB2® for z/OS へのローカル Java Database Connectivity (JDBC) 接続では、 特定の構成下では TCB OS スレッド ID を許可 ID として使用します。 WebSphere Application Server for z/OS 接続管理によって管理される Java Message Service (JMS) コネクター、JDBC コネクター、 または Java EE Connector Architecture (JCA) コネクターを介してアプリケーションがアクセスする、 DB2 for z/OS などの (ファイル・システムとは違う) OS スレッド ID を使用するリソース・マネージャーの場合、 これらの z/OS リソース・マネージャーへのコネクターは、 オペレーティング・システム・スレッド・セキュリティーを使用します。


トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_understandj2eenativeid
ファイル名:csec_understandj2eenativeid.html