
WZSSAD を使用した z/OS セキュリティー・リソースへのアクセス
WLP z/OS® システム・セキュリティー・アクセス・ドメイン (WZSSAD) では、Liberty サーバーに付与された権限を指示します。これらの権限によって、サーバーがユーザーの認証と許可を行う際に、どの System Authorization Facility (SAF) アプリケーション・ドメインおよびリソース・プロファイルの照会を許されるかを制御します。
例えば、2 つの Liberty サーバー・インスタンス (実動用とテスト用) をセットアップして、 実動とテストでロールのアクセス権限が異なるようにする場合は、2 つの異なるシステム・セキュリティー・アクセス・ドメインをセットアップすることができます。
Liberty サーバーは、非管理者や非特権ユーザーが構成して実行することができる無許可プログラムです。 そのため、システムのセキュリティーと保全性を確保するために、 ユーザーがこのサーバーを利用して、明示的に権限が付与されていないセキュリティー操作を実行することがないようにすることが重要です。
- ユーザーの認証
- サブジェクトを Java™ EE ロールに許可
- サブジェクトを他の SAF リソースに許可
ユーザーの認証
サーバーは、APPL クラスで APPLID として参照されるリソースを定義することで構成された特定の SAF ドメインに対して、 ユーザーを認証します。 ドメインに対してユーザーを認証するには、APPL クラスのその APPLID リソースに対する読み取り権限がユーザーに必要です。 また、APPL クラスがアクティブな場合は常に、非認証ユーザー ID (デフォルトでは WSGUEST) では、APPL クラスの APPLID リソースに対する読み取り権限も必要です。
サーバーが使用する APPLID リソース名は、<safCredentials> 構成エレメントの profilePrefix 属性で指定されます。 このエレメントを指定しない場合、デフォルトの profilePrefix の BBGZDFLT が使用されます。
<safCredentials profilePrefix="BBGZDFLT"/>
// Define the BBGZDFLT APPLID to RACF.
RDEFINE APPL BBGZDFLT UACC(NONE)
// Activate the APPL class.
//If not active, the domain is not restricted, which means anyone can authenticate to it.
SETROPTS CLASSACT(APPL)
//All users to be authenticated by the server must have READ access to the APPLID in the APPL class:
PERMIT BBGZDFLT CLASS(APPL) ACCESS(READ) ID(UserID)
//The unauthenticated user ID requires READ access to the APPLID in the APPL class:
PERMIT BBGZDFLT CLASS(APPL) ACCESS(READ) ID(WSGUEST)
RDEFINE SERVER BBG.SECPFX.BBGZDFLT UACC(NONE)
PERMIT BBG.SECPFX.BBGZDFLT CLASS(SERVER) ACCESS(READ) ID(serverUserId)
サブジェクトを Java EE ロールに許可
profilePrefix="BBGZDFLT"
Application resource name = "MYAPP"
Application role name = "ADMIN"
Mapped profile name = "BBGZDFLT.MYAPP.ADMIN"
詳しくは、Liberty: ロールを SAF プロファイルにマップする方法の制御
を参照してください。EJBROLE profile name = "BBGZDFLT.ADMIN"
HLQ = "BBGZDFLT"
RDEFINE SERVER BBG.SECPFX.BBGZDFLT UACC(NONE)
PERMIT BBG.SECPFX.BBGZDFLT CLASS(SERVER) ACCESS(READ) ID(serverUserId)
例では、SAF ロール・マッパーが、マップされたプロファイルの HLQ を
profilePrefix に設定するため、同じプロファイル BBG.SECPFX.BBGZDFLT
で APPLID 認証権限と EJBROLE プロファイル許可権限の両方が管理されます。サブジェクトを他の SAF リソースに許可
Java EE アプリケーションは、EJBROLE 以外の SAF クラスに対してアクセス制御検査を実行することができます。 WZSSAD では、EJBROLE 外部のどの SAF クラスに対してサーバーが許可できるかを制限します。 これにより、サーバーによる許可 SAF サービスの使用を利用して、非許可ユーザーまたはアプリケーションが非 EJBROLE の SAF クラス内のどのリソース・プロファイルに対して許可されるか、または許可されないかに関する情報を非許可ユーザーまたはアプリケーションが発見できないようにします。
RDEFINE SERVER BBG.SECCLASS.FACILITY UACC(NONE)
PERMIT BBG.SECCLASS.FACILITY CLASS(SERVER) ACCESS(READ) ID(serverUserId)