
z/OS セキュリティーにおける分散 ID フィルターの構成
safCredentials 構成エレメントの mapDistributedIdentities 属性が true に設定されている場合、 分散 ID フィルターの構成が必要です。
このタスクについて
分散 ID を System Authorization Facility (SAF) ユーザーにマップするには、 その前にまず、z/OS セキュリティーで分散 ID フィルターを構成する必要があります。
SAF クラス RACMAP の分散 ID フィルターは、分散ユーザー名と、そのレルム名から構成されます。 複数の分散 ID を 1 人の SAF ユーザーにマップするフィルターを構成することも、1 対 1 のマッピングにすることもできます。
RACMAP ID(<SAFUser>) MAP USERDIDFILTER(NAME('<distributedUserId>'))
REGISTRY(NAME('<distributedRealmName>'))
WITHLABEL('<someLabel>')
- SAFUser エレメントは、z/OS セキュリティーの SAF ユーザーです。
- distributedUserID エレメントは、分散 ID です。
- distributedRealmName エレメントは、分散 ID のレルム名です。
- someLabel エレメントは、この分散 ID フィルターを記述するフィールドです。
LDAP レジストリーと、基本レジストリーまたは SAF レジストリーを使用する場合、ユーザー・レジストリーは自動的に統合されます。 Liberty では、1 つのみのレルムがサポートされます。1 次レルムが特定された状態で統合リポジトリーを指定しないと、定義されたユーザー・レジストリーの 1 つから、いずれかのレルム名が使用されます。
複数のレジストリーを使用していて、ユーザーのレルム名に基づいたアクションを実行する場合は、primaryRealm 属性が定義された federatedRepository を定義してください。
手順
- IDIDMAP クラスをアクティブ化します。 このコマンドは、最初に 1 回だけ実行する必要があります。 SETROPTS CLASSACT(IDIDMAP) RACLIST(IDIDMAP)
- RACMAP プロファイルを編集したら、以下のコマンドを使用して変更を有効にする必要があります。 SETROPTS RACLIST(IDIDMAP) REFRESH
例
Liberty z/OS では、distributedRealmName には LDAP URL のフォーマットがありません。代わりに、RACMAP プロファイルで distributedRealmName に設定する必要のある値は、federatedRepository エレメントの primaryRealm 名から取得されます。federatedRepository エレメントがコーディングされていない場合、Liberty は、各ユーザー・レジストリーでエレメントに設定されたレルム属性から distributedRealmName を判別します。
以下の例は、レルム名が 'FEDREALM' の場合に Liberty z/OS サーバーの SAF ユーザー (USER1) にマップされた LDAP ユーザー (LDAPUser1) を示します。
RACMAP ID(USER1) MAP USERDIDFILTER(NAME('CN=LDAPUser1,o=ibm,c=us'))
REGISTRY(NAME('FEDREALM')) WITHLABEL('Mapping LDAP
LDAPUser1 to USER1')
<federatedRepository>
<primaryRealm name="FEDREALM">
</primaryRealm>
</federatedRepository>
Liberty z/OS で、SAF ユーザー・レジストリーを含んでいる統合リポジトリーと共に分散 ID フィルターを使用することを選択する場合、 federatedRepository エレメントの primaryRealm name 属性に distributedRealmName を指定するのが最良の方法です。
federatedRepository エレメントの primaryRealm name 属性を使用して distributedRealmName が指定されない場合、Liberty z/OS が使用する distributedRealmName が予期したものにならないことがあります。
RACMAP チェック用の distributedRealmName は、primaryRealm を使用して指定されていない場合、各ユーザー・レジストリーが server.xml ファイル内でどのように構成されているのかに基づいて、多くの異なるソースから引き出される可能性があります。
混乱を回避するため、primaryRealm 属性を使用して distributedRealmName を指定してください。