ユーザー・レジストリー・ブリッジは、その他のカスタム・アダプターと同様に構成されます。
wsadmin スクリプト・ツールでスクリプト言語 Jython または Jacl を使用して、統合リポジトリー構成にユーザー・レジストリー・ブリッジを定義できます。
始める前に
WebSphere® Application Server および wsadmin コマンド・ウィンドウをシャットダウンします。
重要: ローカル・オペレーティング・システム上のスタンドアロンのユーザー・レジストリーからローカル・オペレーティング・システム上の統合リポジトリー にマイグレーションする場合は、
最初に統合リポジトリー の下に現在のユーザー・レジストリーを構成する必要があります。
詳しくは、『統合リポジトリー 構成におけるレルムの管理』を参照してください。
マイグレーション前にユーザーまたはグループがロールにマップされていて、ユーザー・レジストリー・ブリッジへのマイグレーション後にそれらのユーザーまたはグループを使用する場合には、許可に失敗する可能性があります。
この状態は、マッピングにレジストリーに固有の情報が含まれているために発生します。
この許可の失敗を回避するには、マイグレーション後に、ユーザーまたはグループを再マップしてください。
このタスクについて
このトピックで使用するコマンドについて詳しくは、
『AdminTask オブジェクトの IdMgrRepositoryConfig コマンド・グループ』を参照してください。
以下のステップを使用して、任意の統合リポジトリー構成、およびその構成に定義されている任意のレルムに、ユーザー・レジストリー・ブリッジを追加します。
手順
- wsadmin スクリプト・ツールを開始します。 wsadmin スクリプト・ツールは、以下のコマンドを使用して開始できます。
wsadmin –conntype none
- createIdMgrCustomRepository コマンドを使用して、
ユーザー・レジストリー・ブリッジ用の新規のリポジトリー構成を追加します。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
以下の例では、com.ibm.ws.wim.adapter.urbridge.URBridge クラスを使用するようにカスタム・リポジトリーを構成し、ID として urbcustom を設定しています。
- Jython の使用:
AdminTask.createIdMgrCustomRepository('-id urbcustom
-adapterClassName com.ibm.ws.wim.adapter.urbridge.URBridge')
- Jacl を使用:
$AdminTask createIdMgrCustomRepository {-id urbcustom
-adapterClassName com.ibm.ws.wim.adapter.urbridge.URBridge}
![[z/OS]](../images/ngzos.gif)
以下の例では、com.ibm.ws.wim.adapter.urbridge.URBridge クラスを使用するようにカスタム・リポジトリーを構成し、ID として urbRACF を設定しています。
- Jython の使用:
AdminTask.createIdMgrCustomRepository('-id urbRACF
-adapterClassName com.ibm.ws.wim.adapter.urbridge.URBridge')
- Jacl を使用:
$AdminTask createIdMgrCustomRepository {-id urbRACF
-adapterClassName com.ibm.ws.wim.adapter.urbridge.URBridge}
トラブルの回避 (Avoid trouble): このユーザー・レジストリー・ブリッジでは、1 つのユーザー・レジストリーへの要求のみが処理されます。
そのため、複数のリポジトリーを定義する場合は、それぞれのユーザー・レジストリーの実装にユーザー・レジストリー・ブリッジの個別のインスタンスが必要であり、それぞれの実装を、固有のリポジトリー ID を持つ個別のリポジトリーとして定義する必要があります。
リソース・アクセス管理機能 (RACF) は、すべての RACF 属性を管理します。そのため、RACF とともにユーザー・レジストリー・ブリッジ・アダプターを使用するためにカスタム・プロパティーを追加する必要は一切ありません。
gotcha
- オプション:
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
必要なレジストリー固有のプロパティーをカスタム・プロパティーとして追加します。 複数のプロパティーを追加するには、setIdMgrCustomProperty コマンドを繰り返し使用します。
複数のプロパティーを構成に追加する場合、このコマンドは、プロパティーごとに 1 回使用します。
指定したリポジトリーのカスタム・プロパティーを追加する場合、名前と値の両方のパラメーターを使用する必要があります。
例えば、uniqueUserIdProperty のカスタム・プロパティーを追加するには、以下のコマンドを入力します。
- Jython の使用:
AdminTask.setIdMgrCustomProperty('-id urbcustom
-name uniqueUserIdProperty -value "uniqueId"')
- Jacl を使用:
$AdminTask setIdMgrCustomProperty {-id urbcustom
-name uniqueUserIdProperty -value "uniqueId"}
カスタム・ユーザー・レジストリーを使用するユーザー・レジストリー・ブリッジを構成するには、
registryImplClass プロパティーを追加して、正確なレジストリー実装クラスを指定する必要があります。
例えば、プロパティーの値として com.xyz.abc.MyCustomRegistry を指定します。
ローカル・オペレーティング・システムのユーザー・レジストリーを使用するユーザー・レジストリー・ブリッジを構成する場合は、
registryImplClass プロパティーを指定しません。
ユーザー・レジストリー・ブリッジは、
ローカル・オペレーティング・システムの WebSphere Application Server によって提供される、基となるユーザー・レジストリーの実装を識別します。
その他のオプションのプロパティーはカスタム・プロパティーとして設定し、
統合リポジトリー・プロパティーとユーザー・レジストリー・プロパティーの間のマッピングを定義できます (uniqueUserIdProperty、userSecurityNameProperty、userDisplayNameProperty、
uniqueGroupIdProperty、groupSecurityNameProperty、groupDisplayNameProperty など)。
使用可能なカスタム・プロパティー、およびそのデフォルト値について詳しくは、
セキュリティー・カスタム・プロパティーを参照してください。
ユーザー・レジストリーのレベルで上記の任意のプロパティーをオーバーライドするには、
そのプロパティーをカスタム・プロパティーとして構成します。
トラブルの回避 (Avoid trouble): 統合リポジトリー・プロパティーとユーザー・レジストリー・プロパティー間のマッピングは 1 対 1 マッピングです。
同じユーザー・レジストリー・プロパティーにマップできる統合リポジトリー・プロパティーは 1 つに限られます。
gotcha
- 基本エントリーをユーザー・レジストリー・ブリッジ構成に追加します。 addIdMgrRepositoryBaseEntry コマンドを使用して、指定したリポジトリーのベース・エントリーの名前を指定します。
以下に例を示します。
- Jython の使用:
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
AdminTask.addIdMgrRepositoryBaseEntry('-id urbcustom
-name o=custom')
![[z/OS]](../images/ngzos.gif)
AdminTask.addIdMgrRepositoryBaseEntry('-id urbRACF
-name o=local')
- Jacl を使用:
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
$AdminTask addIdMgrRepositoryBaseEntry {-id urbcustom
-name o=custom}
![[z/OS]](../images/ngzos.gif)
$AdminTask addIdMgrRepositoryBaseEntry {-id urbRACF
-name o=local}
- addIdMgrRealmBaseEntry コマンドを使用して、基本エントリーをレルムに追加します。これにより、レルムがリポジトリーにリンクされます。
注: デフォルト・レルム名は defaultWIMFileBasedRealm です。
このレルム名が以前に変更されている場合は、
defaultWIMFileBasedRealm の代わりに新規のレルム名を使用します。
例えば、整合性を確保するため、統合リポジトリー構成のレルム名は、
security.xml ファイル内に指定されているローカル・オペレーティング・システムのユーザー・レジストリーと同じ名前に設定できます。
レルム名の設定方法について詳しくは、『レルム構成設定』を参照してください。
- 構成の変更を保存します。 以下のコマンドを入力して、新規構成を保存し、wsadmin スクリプト・ツールを閉じます。
- Jython の使用:
AdminConfig.save()exit
- Jacl を使用:
$AdminConfig save
exit
System Authorization Facility
(SAF) マッピング・モジュールを構成し、SAF 許可でプロパティーを使用可能にします。 SAF マッピング・モジュールの構成方法について詳しくは、
『WebSphere Application Server 用のカスタム System Authorization Facility マッピング・モジュールのインストールおよび構成』を参照してください。ここには、インストールして使用できる、SAF マッピング・モジュールのサンプルがあります。サンプルの SAF マッピング・モジュールを統合リポジトリー用にカスタマイズする場合は、『統合リポジトリー用のカスタム System Authorization Facility (SAF) マッピング・モジュールの構成』を参照してください。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
注: SAF 分散 ID マッピング機能を使用する場合、このマッピング・モジュールを構成する必要はありません。
注: RACF が defaultWIMFileBasedRealm 以外のレルムで構成されている場合は、いくつかの追加のステップが必要となる可能性があります。新規レルムの作成時に、一部のプロパティーはデフォルト値に設定されます。それらのデフォルト値は defaultWIMFileBasedRealm で使用される値とは異なり、フェデレーテッド RACF ユーザー・レジストリーでの使用には適しません。setIdMgrRealmURAttrMapping コマンドを使用して、以下のように値を設定する必要があります。
- userSecurityNameMapping の propertyForOutput パラメーターの値は、principalName に設定する必要があります。
- groupSecurityNameMapping プロパティーの値の propertyForOutput パラメーターは、cn に設定する必要があります。
setIdMgrRealmURAttrMapping コマンドの使用方法について詳しくは、AdminTask オブジェクトの IdMgrRealmConfig コマンド・グループを参照してください。
- アプリケーション・サーバーを再始動します。
タスクの結果
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
以下のコードは、カスタム・ユーザー・レジストリーにアクセスするユーザー・レジストリー・ブリッジ用の
wimconfig.xml ファイルの基本的な構成の例です。
<config:repositories adapterClassName="com.ibm.ws.wim.adapter.urbridge.URBridge" id="urbcustom">
<config:baseEntries name="o=custom"/>
<config:CustomProperties name="registryImplClass" value="com.ibm.registry.impl.FileRegistrySample"/>
<config:CustomProperties name="usersFile" value="${USER_PROPS}"/>
<config:CustomProperties name="groupsFile" value="${GROUP_PROPS}"/>
</config:repositories>
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
上記の例において、
変数 ${USER_PROPS} および ${GROUP_PROPS} がカスタム・プロパティーの値の定義に使用されています。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
カスタム・プロパティーは、変数を使用して定義できます。
ただし、これらの変数は、WebSphere Application Server 接続モードでのみ解決されます。
環境変数の定義方法について詳しくは、
『WebSphere 変数の作成、編集、および削除』を参照してください。
![[z/OS]](../images/ngzos.gif)
以下のコードは、RACF を使用してローカル・オペレーティング・システム・レジストリーにアクセスするユーザー・レジストリー・ブリッジ用の構成例であり、wimconfig.xml ファイルに含まれています。
<config:repositories xsi:type="config:FileRepositoryType" adapterClassName="com.ibm.ws.wim.adapter.file.was.FileAdapter"
id="InternalFileRepository" supportPaging="false"
messageDigestAlgorithm="SHA-1">
<config:baseEntries name="o=defaultWIMFileBasedRealm"/>
</config:repositories>
<config:repositories adapterClassName="com.ibm.ws.wim.adapter.urbridge.URBridge"
id="urbRACF" supportPaging="false">
<config:baseEntries name="o=local"/>
</config:repositories>
<config:realmConfiguration defaultRealm="defaultWIMFileBasedRealm">
<config:realms delimiter="/" name="defaultWIMFileBasedRealm" securityUse="active">
<config:participatingBaseEntries name="o=defaultWIMFileBasedRealm"/>
<config:participatingBaseEntries name="o=local"/>
<config:uniqueUserIdMapping propertyForInput="uniqueName"
propertyForOutput="uniqueName"/>
<config:userSecurityNameMapping propertyForInput="principalName"
propertyForOutput="principalName"/>
<config:userDisplayNameMapping propertyForInput="principalName"
propertyForOutput="principalName"/>
<config:uniqueGroupIdMapping propertyForInput="uniqueName"
propertyForOutput="uniqueName"/>
<config:groupSecurityNameMapping propertyForInput="cn"
propertyForOutput="cn"/>
<config:groupDisplayNameMapping propertyForInput="cn" propertyForOutput="cn"/>
</config:realms>
</config:realmConfiguration>