[z/OS]

System Authorization Facility のクラスおよびプロファイル

Resource Access Control Facility (RACF®) または System Authorization Facility (SAF) を使用する場合は、以下の点を考慮に入れる必要があります。
  1. エンタープライズ Bean と Web アプリケーションの ロールおよびサーブレットの使用
  2. RACF クラス・プロファイルの使用
    1. CBIND を使用した、サーバーおよびサーバー内のオブジェクトへのアクセス
    2. SERVER を使用した、サーバント領域を使用するコントローラーへのアクセス
    3. STARTED を使用した、ユーザー ID およびグループと開始済みプロシージャーの関連付け
    4. APPL を使用した、サーバー内のアプリケーションへの認証済みユーザーによるアクセスの制限
    5. FACILITY を使用した、Synch to OS Thread Allowed を使用可能にする許可の設定、および JAAS マッピング・ログイン・モジュールを使用した分散 ID から SAF ID へのマッピングの許可
    6. SURROGAT を使用した、Synch to OS Thread Allowed を使用可能にする許可のオプション での設定
  3. シスプレックス内での複数のセキュリティー構成の作成
  4. 新規サーバーの新規ユーザー ID およびプロファイルの生成
  5. Minimalist プロファイルの使用

Enterprise JavaBeans と Web アプリケーションのロールおよびサーブレット

ロールは、Java™ Platform, Enterprise Edition (Java EE) アプリケーションに関連付けられています。アプリケーション内のモジュールは、 アプリケーション・ロールを指すロール参照を使用して、ロールを参照します。 Web アプリケーション、サーブレット、または EJB メソッドへのアクセスは、ユーザーまたは呼び出し元を基にしています。 ロールは、アセンブル時に Web アプリケーション、およびサーブレットまたはエンタープライズ Bean に関連付けられています。 サーブレットまたは EJB メソッドを使用する必要があるロールは、アプリケーションのデプロイメント記述子で指定されます。

どのユーザーおよびグループがどのロールを持つかは、EJBROLE クラス内の RACF プロファイルを使用して 決定されます (SAF 許可が選択されている場合)。ユーザーが EJBROLE プロファイルのアクセス・リスト内にある場合、ユーザーはそのロールを持ちます。グループが EJBROLE プロファイルのアクセス・リスト内にある場合、そのグループ内のユーザーはそのロールを持ちます。 EJBROLE プロファイルが ACCESS(READ) を持つ場合、すべてのユーザーがそのロールを持ちます。

SAF プロファイル・プレフィックス (旧称 z/OS® セキュリティー・ドメイン) が指定されている場合、このプレフィックスは EJBROLE プロファイルの検査時に WebSphere® Application Server for z/OS および RACF が使用するプレフィックスになります。これは、WebSphere SAF プロファイル・プレフィックス・レベルのロールの細分性を提供します。

以下に例を示します。
Test
Cell has Security Domain=TEST Production Cell has Security Domain=PROD

例えば、ロール Clerk を使用するアプリケーションは両方のセルでデプロイされます。 テスト・セルでは、ユーザーは EJBROLE プロファイル TEST.Clerk への READ アクセスが必要です。 実動セルでは、ユーザーは EJBROLE プロファイル PROD.Clerk への READ アクセスが必要です。

以下のプロファイルは、管理許可の RACF EJBROLE クラスに定義されています。administrator、configurator、monitor、operator、deployer、adminsecuritymanager、auditor。

Java EE ベースのロール許可における SAF の使用方法について詳しくは、ロール・ベースの許可の System Authorization Facilityを参照してください。

RACF プロファイルの使用

RACF (あるいはご使用の同等のセキュリティー製品) に CBIND、SERVER、および STARTED クラスを使用するサーバー・リソースの保護に使用されるセキュリティー・メカニズムについて知っておくことは重要です。 セキュリティー環境を管理する手法を知っておく必要もあります。

WebSphere Application Server for z/OS リソースを保護する RACF プロファイルは、以下のクラスを使用します。
  1. CBIND: サーバーへのアクセスと、そのサーバー内のオブジェクトへのアクセスには、このクラスを使用します。
  2. SERVER: サーバント領域によるコントローラーへのアクセスには、このクラスを使用します。
  3. STARTED: ユーザー ID とグループを始動済みプロシージャーへ関連づけるには、このクラスを使用します。
  4. APPL: このクラスを使用して、サーバー上で実行されているアプリケーションへの認証済みユーザーによるアクセスを制限します。
  5. FACILITY: 以下のような場合は、このクラスを使用します。
    • ユーザー ID とグループを、Synch to OS Thread Allowed オプションに関連付ける
    • JAAS マッピング・ログイン・モジュールを使用して分散 ID を SAF ID にマップするために 許可されるセキュリティー構成を制御する
  6. SURROGAT: ユーザー ID とグループを、Synch to OS Thread Allowed オプションに関連付けるには、このオプション・クラスを使用します。
詳しくは、System Authorization Facility (SAF) のオペレーティング・システムおよびアプリケーション・レベルに関する考慮事項を参照してください。

WebSphere Application Server for z/OS で使用される RACF プロファイルの基本的な情報は、SAF ベースの許可に記載されています。このセクションでは、CBIND、SERVER、FACILITY、SURROGAT、および STARTED クラスのプロファイルに関する追加情報について述べます。

ユーザー ID およびグループ ID

アプリケーション・サーバーのプロファイルの作成時に、BBOCBRAK ジョブは RACF コマンドを生成します。 セル、デプロイメント・マネージャー、ジョブ・マネージャー、または管理エージェントのプロファイルを作する場合、ジョブ名は BBODBRAJ になります。カスタム・ノードのプロファイルを作成する場合、ジョブ名は BBOMBRAJ になります。以下の情報を入力します。
CR = Controller Region SR = Servant
Region CFG = Configuration (group) server = server short name cluster = generic
server (short) name (also called cluster transition name) 
次のように、6 人のユーザーと 6 つのグループを定義します。ここでは、そのユーザーとグループが 後にさまざまな許可でどのように使用されるかをわかりやすくするために、ユーザーとグループを記号で表します。
<CR_userid> <CR_groupid>, <CFG_groupid> <SR_userid> <SR_groupid>, <CFG_groupid> <demn_userid> <demn_groupid>, 
<CFG_groupid> <admin_userid> <CFG_groupid> <client_userid> <client_groupid> <ctracewtr_userid> <ctracewtr_groupid> 

WebSphere Application Server for z/OS のリソースを保護するために、許可およびアクセス・レベルとともに使用される各種のプロファイルは次のとおりです。

CBIND クラス・プロファイルの使用

CBIND クラス・プロファイルは、アプリケーション・サーバーとそのサーバー内のオブジェクトへのアクセスを保護す るためのもので、次の 2 つのフォーマットとレベルがあります。
CBIND Class profiles - access to generic servers CB.BIND.<cluster> UACC(READ); PERMIT <CR_group> ACC(CONTROL)
CBIND Class profiles - access to objects in servers
CB.<cluster> UACC(READ) PERMIT <CR_group> ACC(CONTROL)
「SAF プロファイル・プレフィックス」を使用している場合、CBIND プロファイルは次のように「ProfilePrefix」で修飾されます。
CBIND Class profiles - access to generic servers CB.BIND.<profilePrefix>.<cluster> UACC(READ) 
CBIND Class profiles - access to objects in servers
CB.<profilePrefix>.<cluster> 	UACC(READ) 
CBIND プロファイルは、Java アプリケーション・クライアントおよびその他の WebSphere Application Server サーバーから、WebSphere Application Server プラグインを実行する Web サーバーを含む WebSphere Application Server for z/OS サーバー、 およびそのサーバー内のオブジェクトへのアクセスを制御します。サーバーへアクセスするには、以下を入力します。
CB.CBIND.<cluster>
CB.CBIND.<SAF profile prefix>.<cluster> 
サーバー内のオブジェクトへアクセスするには、以下を入力します。
CB.<cluster> CB.<SAF profile prefix>.<cluster> 

SERVER クラス・プロファイルの使用

SERVER クラス・プロファイルは、サーバー・コントローラーへのアクセスを保護するためのもので、現時点では 2 つ のフォーマットがあります。
SERVER
class profiles – access to controllers using static Application Environments
 CB.<server>.<cluster>   	UACC(NONE) PERMIT <SR_userid> ACC(READ)
             SERVER class profiles – access to controllers using dynamic Application
Environments  CB.<server>.<cluster>.<cell> 	UACC(NONE) PERMIT <SR_userid>
ACC(READ)
WebSphere z/OS プロファイル管理ツールまたは zpmt を使用する場合は、両方のフォーマットが事前定義されており、実行時に実際に必要になるのはそのうちの 1 つです。必要なフォーマットは、WebSphere Application Server for z/OS Runtime が、 Dynamic Application Environment (DAE) サポートが使用可能かどうかに基づいて動的に決定します。以下のコマンドは、 静的アプリケーション環境を使用したコントローラーへのアクセスを提供します。
RDEFINE
CB.&<server<cluster> UACC(NONE); PERMIT &<SR_userid> ACCESS(READ) 
この例で、server = サーバー名、cluster = クラスター名またはクラスター遷移名 (クラスターがまだ作成されていない場合)、SR はサーバー領域の MVS™ ユーザー ID です。
以下のコマンドは、動的アプリケーションを使用したコントローラーへのアクセスを提供します。
CB.& <server>.&<cluster>.<cell>
UACC(NONE); PERMIT &<SR_userid> ACC(READ) 
この例で、server = サーバー名、cluster = クラスター名またはクラスター遷移名 (クラスターがまだ作成されていない場合)、cell = セルのショート・ネーム、および SR はサーバー領域の MVS ユーザー ID です。

SERVER クラス・プロファイルは、サーバントが関連コントローラーで権限ルーチンを呼び出すことができるかどうかを 制御します。

静的アプリケーション環境を使用するコントローラーへアクセスするには、以下を入力します。
CB.<server>.<cluster>
CB.<SAF profile prefix>.<server>.<cluster> 
動的アプリケーション環境を使用するコントローラーへアクセスするには、以下を入力します。
CB.<server>.<cluster>.<cell>
22

STARTED クラス・プロファイルの使用

ユーザー ID およびグループ ID をコントローラーに割り当てるために使用する STARTED クラス・プロファイルには 3 つのフォーマットがあります。
STARTED Class profiles - (MGCRE) - for control regions, daemons, and Node agents
<<CR_proc>.<CR_jobname> STDATA(USER(CR_userid) GROUP(CFG_groupid))
<demn_proc>.* STDATA(USER(demn_userid) GROUP(CFG_groupid))

STARTED Class profiles - (ASCRE) - for servant regions and adjuncts
<SR_jobname>.<SR_jobname> STDATA(USER(SR_userid) GROUP(CFG_groupid))

STARTED Class profiles for IJP - (MGCRE)
<MQ_ssname>.* STDATA(USER(IJP_userid) GROUP(CFG_groupid)) - These IJPs don't exist in WAS 6.1
 
STARTED クラス・プロファイルは、ユーザー ID をさまざまな WebSphere Application Server for z/OS 領域に割り当てるために生成されます。次のような領域があります。
  • デーモン
  • デプロイメント・マネージャー (コントローラーおよびサーバント)
  • ノード・エージェント
  • アプリケーション・サーバー (コントローラー、サーバントおよび付属)
  • 管理エージェント (コントローラーおよびサーバント)
  • ジョブ・マネージャー (コントローラーおよびサーバント)

APPL クラス・プロファイルの使用

APPL クラス・プロファイルは、認証済みユーザーがセル内で任意のアプリケーションを使用できるかどうかを制御します。 SAF プロファイル・プレフィックスが指定されている場合、APPL クラス・プロファイル名はセキュリティー・ドメイン名です。SAF プロファイル・プレフィックスが指定されていない場合、APPL クラス・プロファイル名は CBS390 になります。詳しくは、System Authorization Facility (SAF) のオペレーティング・システムおよびアプリケーション・レベルに関する考慮事項を参照してください。

APPL クラス・プロファイルが有効になるのは、APPL クラスが RACF でアクティブであり、かつ、APPL プロファイルを使用するためのオプションが WebSphere で使用可能になっている場合のみです。 管理コンソールから WebSphere オプションを使用可能または使用不可にするには、「SAF 許可オプション」パネルにナビゲートし、チェック・ボックス「APPL プロファイルを使用してサーバーへのアクセスを制限する」を設定します。 この設定について詳しくは、z/OS System Authorization Facility 許可を参照してください。

セル内での複数のセキュリティー構成の作成

企業内の論理的な WebSphere セキュリティー・ドメインを分離するために (テスト・ユーザーと実動ユーザーなど)、所定のセル内に個別のプロファイル・セットが必要になる場合があります。

カスタマイズ中に、z/OS プロファイル管理ツール、zpmt コマンド、または管理コンソールの SAF 許可オプション・パネルを使用して、SAF プロファイル・プレフィックスを定義できます。

WebSphere Application Server for z/OS の管理コンソールを使用して、「セキュリティー」 > 「グローバル・セキュリティー」 > 「外部許可プロバイダー」 > 「System Authorization Facility (SAF) 許可 (System Authorization Facility (SAF) authorization)」 > 「構成」 > 「SAF プロファイル・プレフィックス (SAF profile prefix)」の下に SAF プロファイル・プレフィックスを作成すると、security.xml ファイルに次のプロパティーが作成されます。

xmi:id="Property_47" name="com.ibm.security.SAF.profilePrefix"
value="<profile_prefix>"  required="false"/> 
SAF プロファイル・プレフィックス ID が設定されると、以下のプロファイル定義と検査が影響を受けます。
表 1. SAF プロファイル・プレフィックス ID が設定されている場合は、プロファイル定義と検査が影響を受けます。.

次の表は、SAF プロファイル・プレフィックス ID が設定されている場合に影響を受けるプロファイル定義と検査をリストしています。

クラス SAF プロファイル・プレフィックスなし SAF プロファイル・プレフィックスあり
CBIND
  • CB.clustername
  • CB.BIND.clustername
  • CB.<profilePrefix>.clustername
  • CB.BIND.<profilePrefix>.clustername
EJBROLE ApplicationRoleName <profilePrefix>.ApplicationRoleName
APPL CBS390 <profilePrefix>

新規サーバーの新規ユーザー ID およびプロファイルの生成

新規のアプリケーション・サーバーごとに固有のユーザー ID を使用する場合は、これらのユーザー、グループ、およびプロファイルを RACF データベースで定義する必要があります。

WebSphere z/OS プロファイル管理ツールまたは zpmt コマンドを使用する際、BBOWBRAK メンバー (プロファイルのタイプによっては BBODBRAK) ジョブのターゲット .DATA 区分データ・セットのコピーを編集して、以下のエントリーを新しいユーザー、グループ、一意の New_server 名、New_cluster 名プロファイルに変更する必要があります。
  • 新規サーバーに固有のユーザー ID を割り当てる必要がある場合は、新規ユーザーを 3 つ定義して、 それらを次のグループに関連付けます。
    • <New_CR_userid> <CR_groupid>, <CFG_groupid>
    • <New_SR_userid> <<SR_groupid>, <CFG_groupid>
    • <New_ADJUNCT_userid> <<ADJUNCT_groupid>, <CFG_groupid>
    • <New_client_userid> <client_groupid>
  • 新規クラスターの CBIND クラス・プロファイル (汎用サーバーのショート・ネーム):
    • CB.BIND.<New_cluster>
    • CB.<New_cluster>
  • 新規サーバーおよびクラスターのための SERVER クラス・プロファイル:
    • CB.<New_server>.<New_cluster>
    • CB.<New_server>.<New_cluster>.<cell>
  • 新規サーバーのコントローラー領域およびサーバント領域のための STARTED クラス・プロファイル:
    • <CR_proc>.<New_CR_jobname> STDATA(USER(New_CR_userid) GROUP(CFG_groupid))
    • <New_SR_jobname>.* STDATA(USER(New_SR_userid) GROUP(CFG_groupid))
    • <New_ADJUNCT_jobname>.* STDATA(USER(New_ADJUNCT_userid) GROUP(CFG_groupid))

FACILITY および SURROGAT クラス・プロファイルの使用 (「Synch to OS Thread Allowed」オプションおよび接続マネージャー RunAs スレッド ID オプション)

FACILITY および SURROGAT クラス・プロファイルを使用することによって、RACF 管理者は、 「Synch to OS Thread Allowed」および接続マネージャーの Run-As スレッド ID オプションの使用を制御できるようになります。
重要: これらのプロファイルが RACF に定義されていない場合は、 スレッドへの同期は許可されず、RACF 管理者はサーバー ID を使用することになります。
  • FACILTY クラス・プロファイル BBO.SYNC.<cell short name>.<cluster short name>
    • WebSphere コント ローラーがプロファイルへのアクセス権を持っていない場合、「Synch to OS Thread Allowed」は無効になります。
    • WebSphere コントローラーがプロファイルに対する読み取りアクセス権を持っている場合、「Sync to OS Thread Allowed」は使用できますが、特定のユーザーを表すセキュリティー環境に制限されます。SURROGATE クラス・プロファイルを定義する必要があります。
    • WebSphere コントローラーは、プロファイルに対する制御アクセス権を持っています。 「Sync to OS Thread Allowed」を使用して、任意のユーザーを表すセキュリティー環境を作成できます。 SURROGATE クラス・プロファイルは検査されません。
  • SURROGAT クラス・プロファイル BBO.SYNC.<user ID>
    • WebSphere コントローラーが、「Synch to OS Thread Allowed」を有効にする BBO.SYNC.<cell short name>.<cluster short name> の FACILITY クラス・プロファイルの読み取りアクセスのみを持つ場合、SURROGAT クラス・プロファイルの検査は、WebSphere サーバントが、ターゲット・ユーザーの安全保護環境の確立を許可されているかどうかを検証するために使用されます。
    • クラス・プロファイルの検査は、同様の機能を実行する他の製品とも一貫性があります。
FACILITY および SURROGAT クラス・プロファイルのフォーマットと使用法は、以下のとおりです。
RDEF FACILITY BBO.SYNC.<cell short name>.<cluster short name> UACC(NONE) 
PE BBO.SYNC.<cell short name>.<cluster short name> CLASS(FACILITY)ID(<CR user ID>) ACC(READ or CONTROL)
RDEF SURROGAT BBO.SYNC.<Run-As user ID> UACC(NONE) 
PE BBO.SYNC.<Run-As user ID> CLASS(SURROGAT) ID(<SR user ID>) ACC(READ)
注: クラスタリングが定義されていない場合、クラスターのショート・ネームはサーバー汎用ショート・ネームです。 また、アクセス検査のパフォーマンスを改善するには、SURROGAT クラス・プロファイルを (RACLIST されている) メモリー・テーブルに置く必要があります。
<CR user ID>CONTROL アクセス権が与えられている場合、Synch to OS Thread Allowed を要求する個々のユーザー ID は、同期をとることができます。<CR user ID>READ アクセス権が与えられている場合、Synch to OS Thread Allowed を要求する個々のユーザー ID は、SURROGAT クラス・プロファイルを定義しておく必要があり、また、サーバント領域 (SR) が READ アクセス権を持つ必要もあります。例えば、セル・ショート・ネームが SY1、クラスター・ショート・ネーム (サーバーの汎用ショート・ネーム) が BBOC001、CR ユーザー ID が CBSYMCR、SR ユーザー ID が CBSYMSR であるシステムで、アプリケーションが Run-As ユーザーID JavaEEID で実行されていると仮定します。 Synch to OS Thread Allowed 制御を確立するには、 次のコマンドを使用します。
RDEF FACILITY BBO.SYNC.SY1.BBOC001 UACC(NONE) 
PE BBO.SYNC.SY1.BBOC001 CLASS(FACILITY) ID(CBSYMCR) ACC(READ) 
RDEF SURROGAT BBO.SYNC.J2EEID UACC(NONE) 
PE BBO.SYNC.J2EEID CLASS(SURROGAT) ID(CBSYMSR) ACC(READ)

FACILITY クラス・プロファイルの使用 (信頼されたアプリケーションの使用可能化)

FACILITY クラス・プロファイルは、RACF 管理者に、信頼されたアプリケーションを使用できるようにする制御権を提供します。信頼されたアプリケーションを使用可能にするには、次の FACILITY クラス・プロファイルを定義して、コントローラー領域ユーザー ID にそのプロファイルに対する READ アクセス権を与える必要があります。
RDEF FACILITY BBO.TRUSTEDAPPS.<cell
short name>.<cluster short name> UACC NONE PE
BBO.TRUSTEDAPPS.<cell short name>.<cluster
short name> CLASS(FACILITY) ID(CR userid) ACC(READ)
以下の凡例は、すべてのサーバーのユーザーが対象となります。
RDEFINE FACILITY BBO.TRUSTEDAPPS.mycell01.**UACC(NONE)
PERMIT BBO.TRUSTEDAPPS.mycell01.**  CLASS(FACILITY) ID(MYCBGROUP) ACCESS(READ)
SETROPTS RACLIST(FACILITY) REFRESH
次の例は、特定のユーザーが対象となります。 具体的には、システムのセルのショート・ネームが SY1、 クラスターのショート・ネーム (サーバーの汎用ショート・ネーム) が BBOC001、 およびコントローラー領域のユーザー ID が CBSYMCR の場合です。
RDEF FACILITY BBO.TRUSTEDAPPS.SY1.BBOC001 UACC
NONE PE BBO.TRUSTEDAPPS.SY1.BBOC001 CLASS(FACILITY) ID(CBSYMCR) ACC(READ)

Minimalist プロファイルの使用

RACF データ・セットでユーザー、グループ、およびプロファイルの数を最小限にとどめるために、1 つのユーザー ID と 1 つのグループ ID、および汎用性の高いプロファイルを使用して、同一セル内の複数のサーバーに対応できるようにするものです。 この手法は、統合 Java Message Service (JMS) プロバイダーおよび WebSphere Application Server Network Deployment 構成でも使用できます。

Minimalist プロファイルを使用する利点は、以下が少ないことです。
  • 定義するプロファイル定義
  • プロセス間の Secure Sockets Layer に使用する デジタル証明書の考慮
欠点は、アプリケーションをより詳しくモニターする必要があることです。 これは、複数のサーバーが同一のユーザー ID またはグループで実行する場合、 1 つのサーバー内でアプリケーションが問題を発生し、独自のサーバーの構成を破壊してしまったり (例えば、セキュリティーをオフにする)、他のサーバーの構成を破壊したりする可能性があるためです。

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



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