[z/OS]

z/OS セキュリティーでの分散 ID フィルターの構成

分散 ID を SAF (System Authorization Facility) ユーザーにマップするには、まず WebSphere® Application Server 用に z/OS® セキュリティー製品の 分散 ID フィルターを構成する必要があります。

SAF クラス RACMAP の分散 ID フィルターは、分散ユーザー名と、分散ユーザー名のレルム名から構成されます。 複数の分散 ID を 1 人の SAF ユーザーにマップするフィルターを構成することも、1 対 1 のマッピングにすることもできます。

RACMAP コマンドを使用して分散 ID フィルターを作成するには、以下の構文があります。
RACMAP ID(<SAFUser>) MAP USERDIDFILTER(NAME('<distributedUserId>')) 
REGISTRY(NAME('<distributedRealmName>')) WITHLABEL('<someLabel>')

<SAFUser> エレメントは z/OS セキュリティー製品の SAF ユーザーであり、<distributedUserId> は分散 ID であり、<distributedRealmName> は分散 ID のレルム名であり、<someLabel> はこの分散 ID フィルターの説明のためのテキスト・フィールドです。

次のコマンドを使用して IDIDMAP クラスをアクティブにします。 このコマンドは、最初に 1 回だけ実行する必要があります。
SETROPTS CLASSACT(IDIDMAP) RACLIST(IDIDMAP)
変更を有効にするには、RACMAP プロファイルに変更を加えた後に、次のコマンドを使用します。
SETROPTS RACLIST(IDIDMAP) REFRESH
注: 場合によっては、RACMAP フィルターの変更が WebSphere サーバーに即時に反映されないことがあります。詳細については、『認証ユーザーに関する RACMAP フィルター変更の有効化』のセクションを参照してください。

分散ユーザーの SAF ユーザーへのマップ:

ローカルでない OS レジストリーを構成した場合、 Lightweight Directory Access Protocol (LDAP) ユーザーなどの分散ユーザーを SAF ユーザーにマップすることができます。 SAF ユーザーにマップするときに WebSphere Application Server が使用する分散ユーザー名は、WSCredential.getUniqueSecurityName() API によって返される値です。このメソッドは、構成されているユーザー・レジストリーに適用されたときの固有のユーザー名を戻します。 LDAP の場合には、完全識別名 (DN) になります。 カスタム構成の場合には、カスタム・レジストリーの getUniqueUserId() API が戻す値です。 統合リポジトリーの場合には、仮想メンバー・マネージャーの uniqueName プロパティーです。

WebSphere Application Server によって使用される分散レルム名は、WSCredential.getRealmName() API によって判別されます。戻されるレルム名は、構成されるユーザー・レジストリーによって異なります。 LDAP の場合、レルム名は ldapHostName:ldapPortNumber です。 カスタム・ユーザー・レジストリーの場合には、 getRealm() メソッドが戻すように実装で構成した値になります。 統合リポジトリーの場合、レルム名は、統合リポジトリー・パネルのレルム名フィールドで指定したレルムです。

次の例では、LDAP ユーザー LDAPUser1 が SAF ユーザー USER1 にマップされます。
RACMAP ID(USER1)  MAP USERDIDFILTER(NAME('CN=LDAPUser1,o=ibm,c=us'))  
REGISTRY(NAME('ccwin12.austin.ibm.com:389'))
WITHLABEL('Mapping LDAP LDAPUser1 to USER1')
次の例では、カスタム・ユーザー・レジストリー・ユーザー CustomUser3 が SAF ユーザー USER3 にマップされます。
RACMAP ID(USER3)  MAP USERDIDFILTER(NAME('CustomUser3'))  
REGISTRY(NAME('customRealm')) WITHLABEL('Mapping custom CustomUser3 to USER3')
次の例では、統合リポジトリー・ユーザー wimUser5 が SAF ユーザー USER5 にマップされます。
RACMAP ID(USER5)  MAP USERDIDFILTER(NAME('uid=wimUser5,o=defaultWIMFileBasedRealm
'))  REGISTRY(NAME('defaultWIMFileBasedRealm')) WITHLABEL('Mapping custom wimUser5 to USER5')

Kerberos プリンシパルの SAF ユーザーへのマップ:

Kerberos 認証メカニズムを持つ z/OS オペレーティング・システムで ローカル OS レジストリーを構成してある場合は、Kerberos ユーザーを SAF ユーザーに マップすることができます。この場合、分散 ID は Kerberos プリンシパル名になります。 分散レルム名は、KDC の Kerberos レルム名です。

次の例では、Kerberos ユーザーを SAF ユーザーにマップします。
kerberosUser@KRB390.IBM.COM to the SAF user  WSADMIN:
RACMAP ID(WSADMIN)  MAP USERDIDFILTER(NAME('kerberosUser'))
REGISTRY(NAME('KRB390.IBM.COM')) WITHLABEL('Mapping Kerberos kerberosUser to WSADMIN')

複数分散 ID の SAF ユーザーへのマップ:

ワイルドカード (*) を使用して、複数の分散 ID を 1 人の SAF ユーザーにマップするフィルターを作成することが可能です。 ワイルドカード (*) は、分散 ID 名とレルム名に指定できます。 例えば、LDAP サーバー accountingUnit.acme.ibm.com の各ユーザーを SAF ユーザー ACCT にマップする場合、次の例のようにフィルターを定義します。
RACMAP ID(ACCT) MAP USERDIDFILTER(NAME('*'))
REGISTRY(NAME('accountingUnit.acme.ibm.com:389'))
WITHLABEL('Mapping accounting users to ACCT')
分散 ID 名が識別名である場合には、 フィルターの作成時に DN 値の属性を省略して、最も固有の属性から開始することができます。 例えば、次の例のようにして、属性 O=ibm,C=us を持つすべての LDAP ユーザーを SAF ユーザー ACCT2 にマップするフィルターを作成することができます。
RACMAP ID(ACCT2) MAP USERDIDFILTER(NAME('O=ibm,C=us'))  
REGISTRY(NAME('accountingUnit.acme.ibm.com:389'))
WITHLABEL('Mapping US accounting users to ACCT2')

証明書および識別名の SAF ユーザーへのマップ

分散 ID は、識別名、または識別名の属性です。 分散レルム名は、現行レルムです。 以下に例を示します。
RACMAP ID(ACCT3) MAP USERDIDFILTER(NAME('O=ibm,C=us'))
REGISTRY(NAME('localOSRealm'))
WITHLABEL('Mapping certificate or distinguished names to ACCT3')

デフォルト分散 ID フィルターの作成:

他のどのフィルターにもない分散 ID を、RESTRICTED 属性を持つ SAF ユーザーにマップするデフォルト・フィルターを定義する場合があります。

次の例は、デフォルト・フィルターの作成方法を示しています。
RACMAP ID(WSGUEST) MAP USERDIDFILTER(NAME('*'))  
REGISTRY(NAME('*')) WITHLABEL('The default filter')

認証ユーザーに関する RACMAP フィルター変更の有効化

ユーザーは、レジストリーで認証されると、認証キャッシュにも追加されます。 z/OS セキュリティー製品での RACMAP フィルターに対する変更は、 このユーザーが認証キャッシュから削除されるまで 有効になりません。

この変更を即時に有効にする場合は、 更新するサーバーで SecurityAdmin Mbean を呼び出します。 purgeUserFromAuthCache オペレーションを呼び出して特定の 1 人のユーザーを削除するか、 clearAuthCache オペレーションを呼び出して認証キャッシュからすべてのユーザーを削除することができます。 また、サーバーを再始動すると、認証キャッシュがクリアされます。

Mbean およびそのオペレーションの詳細については、SecurityAdmin MBean の定義テーブルを参照してください。

例えば、分散 ID LDAPUser1 は SAF ユーザーにマップされず、ロールで保護されたサーブレットへのログインを試行します。 ユーザー ID とパスワードが有効であるため、ユーザーは認証され、認証キャッシュに追加されます。 ただし、LDAPUser1 は SAF ユーザーにマップされず、デフォルト非認証 ID の WSGUEST が許可に使用されます。

WSGUEST はサーブレット・ロールに許可されないため、LDAPUser1 はサーブレットにアクセスできません。 z/OS セキュリティー管理者が、RACMAP フィルターを 定義して LDAPUser1 を SAF ユーザー USER1 に マップします。この ID が認証キャッシュから削除されるまで、LDAPUser1 はサーブレットにアクセスできません。

RACMAP コマンドについて詳しくは、 「z/OS Security Server RACF® コマンド言語解説書」を 参照してください。


トピックのタイプを示すアイコン 参照トピック



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