Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun™ Identity Manager 8.0 配備に関する技術概要 

付録 A
設定オブジェクトを編集する

この章では、設定オブジェクトと呼ばれる Identity Manager コンポーネントについて説明します。設定オブジェクトは、持続的なカスタマイズを Identity Manager に格納します。設定オブジェクトはキャッシュされるオブジェクトタイプなので、すべての設定オブジェクトはメモリーに格納され、その後設定オブジェクトが変更されるごとにそのキャッシュはフラッシュされます。概して、User オブジェクトおよび TaskInstances を除いて、Identity Manager リポジトリ内の大部分のオブジェクトは設定オブジェクトです。

設定オブジェクトプロパティーの編集は、Identity Manager の動作に持続的な変更を実装する方法の 1 つです。この付録では、設定オブジェクトの参照および編集方法について説明します。情報は次のように構成されています。


データ記憶領域

Sun Identity Manager リポジトリでは、次のテーブルに設定オブジェクトデータが格納されます。


これはすべてのテーブルが網羅された総合的なリストではありません。関連するテーブルのみが列挙されています。


Identity Manager リポジトリで理解すべき主要な概念は、すべてのデータは 2 つの方法で格納され、各テーブルにはオブジェクトのクエリーに使用されるインデックスおよびキー付きの列があり、各テーブルにはオブジェクト (通常は、データベースエンジンに応じて、BLOB または MEDIUM TEXT データ型) の ASCII 表現全体の格納に使用される XML 列があります。すべての Identity Manager オブジェクトはリポジトリへの格納のために Java オブジェクトから ASCII XML に非直列化されるため、Identity Manager ではこの方法でデータが格納されます。

アプリケーションは、高レベルでは、インデックス付きの列でクエリーを実行し、XML ASCII テキストを戻したあとで、XML を Java オブジェクトに直列化します。通常、これらのオブジェクトはビュー (UserView、PasswordView など) を使用してアクセスできます。

オブジェクトの命名規則

Identity Manager オブジェクト名には、次の文字を使用しないでください。

文字

説明

'

単一引用符

=

等号

.

ピリオド

|

垂直バー

[

左角括弧

]

右角括弧

,

コンマ

:

コロン

$

ドル記号

¥

バックスラッシュ

"

二重引用符

その他、次のような特殊文字もエラーの原因となるので、オブジェクト名の中で使用しないでください。

文字

説明

_

下線

%

パーセント

*

アスタリスク

#

番号記号

^

キャレット


設定オブジェクトを表示および編集する

設定オブジェクトプロパティーの編集は、Identity Manager の動作に持続的な変更を実装する方法の 1 つです。

Sun Identity Manager 統合開発環境 (Identity Manager IDE) を使用すると、配備用に Identity Manager オブジェクトを表示および編集できます。Identity Manager 統合開発環境 (Identity Manager IDE) のインストールと設定の説明書は、https://identitymanageride.dev.java.net から入手できます。

このセクションでは、次の設定オブジェクトの参照および編集方法について説明します。

IDM Schema Configuration オブジェクト

IDM Schema Configuration オブジェクトの User および Role 拡張属性、クエリー可能な属性、および概要の属性を設定します。


IDM ObjectClass Configuration オブジェクトで提供されるスキーマカスタマイズは、サーバーの起動時に読み込まれます。スキーマを変更するたびに、変更を読み込むためにサーバーを再起動する必要があります。

Identity Manager では、スキーマの読み込み時に発生した問題がシステムログメッセージに記録されます。これらのメッセージを参照するには、次の方法のいずれかを使用します。

  • lh syslog コマンドを実行する
  • IDM 管理者インタフェース (「レポート」タブ) から「Recent System Messages」レポートを実行する

スキーマのサンプルは、サンプルディレクトリの schema.xml ファイルにあります。


配備中に拡張属性を複数のオブジェクトタイプに追加するには、IDM Schema Configuration 設定オブジェクトを編集します。具体的には、次の処理を実行できます。

拡張属性をオブジェクトに追加する

拡張属性を追加するには、IDMAttributeConfiguration を使用して属性を定義する必要があります (属性が組み込み属性でない場合)。

IDMAttributeConfigurations には名前と構文が必要です。有効な構文オプションは BOOLEANDATEINT、または STRING です。オプションで、IDMAttributeConfiguration を使用すると、属性が複数の値を持つかどうかを指定したり、(現在未使用の) 表示名と説明を指定したりできます。

拡張属性を追加したり、または属性 (拡張か組み込みのいずれか) をクエリー可能または概要としてマークするには、適切な IDMObjectClassConfiguration (User など) に IDMObjectClassAttributeConfiguration を指定します。既存の (同一の設定オブジェクトに組み込まれた、または設定された) IDMAttributeConfiguration と一致する名前を指定する必要があります。また、IDMObjectClassAttributeConfiguration をクエリー可能または概要としてマークすることもできます。

次の例では、firstname, lastname、および fullname は拡張属性です。firstname および lastname ユーザー属性はクエリー可能で概要の属性ですが、fullname は違います。

図 A-1 拡張属性の例 

<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE Waveset PUBLIC 'waveset.dtd' 'waveset.dtd'>

<Waveset>

   <Configuration name="IDM Schema Configuration"

                  id='#ID#Configuration:IDM_Schema_Configuration'

                  authType='IDMSchemaConfig'>

       <IDMSchemaConfiguration>

           <IDMAttributeConfigurations>

...

               <IDMAttributeConfiguration name='firstname'

                                          description='User's first name'

                                          syntax='STRING'/>

               <IDMAttributeConfiguration name='lastname'

                                          description='User's last name'

                                          syntax='STRING'/>

               <IDMAttributeConfiguration name='fullname'

                                          description='User's full name'

                                          syntax='STRING'/>

...

           </IDMAttributeConfigurations>

           <IDMObjectClassConfigurations>

...

               <IDMObjectClassConfiguration name='User'

                                            extends='Principal'>

...

                   <IDMObjectClassAttributeConfiguration name='firstname'

                                                         queryable='true'

                                                         summary='true'/>Configuration list/read/write.

                   <IDMObjectClassAttributeConfiguration name='lastname'

                                                         queryable='true'

                                                         summary='true'/>

                   <IDMObjectClassAttributeConfiguration name='fullname'/>

...

               </IDMObjectClassConfiguration>

           </IDMObjectClassConfigurations>

       </IDMSchemaConfiguration>

   </Configuration>

</Waveset>


今後のリリースの Sun Identity Manager の新しいコア属性との競合を避けるために、拡張属性に配備固有の接頭辞を付けます。

たとえば、employeeNumber を記録するために拡張属性を User に追加するには、acme_employeeNumber などの会社に関連付けられた接頭辞を選択します。将来の Identity Manager のリリースに employeeNumber という組み込みユーザー属性が組み込まれても、2 つの属性は区別されます。それ以外の場合は、組み込み属性が優先されます。


Role ObjectClass を拡張する

IDMObjectClassConfiguration を使用してロールを拡張できます。次の組み込みロール拡張はすべて Role objectclass を拡張します。

拡張属性を AssetRole などの特定のロール拡張に追加するには、IDMObjectClassAttributeConfigurationAssetRole IDMObjectClassConfiguration に追加します。拡張属性を全種類のロールに追加するには、IDMObjectClassAttributeConfigurationRole IDMObjectClassConfiguration に追加します。この属性は、Role のすべての拡張で継承されます。

Role のカスタム拡張または Role の任意の拡張を定義できます。
たとえば、AssetRole のカスタム拡張を追加するには、次の例に示すように、新しいロールに対して新しい IDMObjectClassConfiguration (IDM Schema Configuration 内) を定義し、extends フィールドを使用して親ロールを指定します。

<IDMObjectClassConfiguration name='MyAssetRole'

                             extends='AssetRole'

                             description='My Asset Role Description'/>

新しい Role objectclass を追加する場合は、新しい Role タイプを Role Configuration オブジェクトに追加する必要があります。さらに、新しい Role タイプの名前は、新しい Role objectclass の名前と一致する必要があります。詳細については、「Role Configuration オブジェクト」を参照してください。

UserUIConfig オブジェクト


ここで、UserUIConfig オブジェクトではなく、スキーマ設定でユーザー (WSUser) の拡張属性、クエリー可能な属性、および概要の属性を設定します。詳細については、「IDM Schema Configuration オブジェクト」を参照してください。


SummaryAttrRoleCountLimit

ユーザーの概要の属性文字列に表示されるロール数を制御します。この数を制御するには、ここに値を指定します。このオブジェクトに値を指定しない場合は、Identity Manager では最大で 3 つのロールが表示されます。

RepositoryConfiguration オブジェクト

RepositoryConfiguration オブジェクトには、Identity Manager リポジトリの動作を制御する設定が含まれています。最上位の <RepositoryConfiguration> 要素の各 XML 属性では、リポジトリ動作の一部が設定されます。

たとえば、次の行は、デフォルトでリポジトリロックの期限が切れる時間を 5 分に指定します。

<RepositoryConfiguration ... lockTimeoutMillis='300000' ... >


警告

RepositoryConfiguration の設定は、その効果について理解しているのでない限り、どれも変更しないでください。


RepositoryConfiguration オブジェクトには、User オブジェクトに固有の設定もいくつか含まれています。たとえば、User オブジェクトの TypeDataStore 要素は、User オブジェクトのインライン属性を指定します。

インライン属性は単一値の属性であり、リポジトリによってタイプごとに主要なオブジェクトテーブルに直接格納されます (この場合、USEROBJ テーブルの attr1attr5)。大部分の属性値は、USERATTR テーブル (属性ごとに個別の結合が必要) に格納されます。属性をインラインで指定すると、その属性を使用するクエリーのパフォーマンスが改善されます。

サンプルの RepositoryConfiguration オブジェクトには、次のように、User オブジェクトのデフォルトインライン属性が指定されます。

<TypeDataStore typeName='User' ... attr1='MemberObjectGroups' ¥

  attr2='lastname' attr3='firstname' attr4='' attr5='' />

attr1='MemberObjectGroups' に設定されている attr1 の値は変更しないでください。ただし、クエリー可能な単一値である任意の属性名を残りのインライン列 (attr2 〜  attr5) の値として指定できます。


Type.USER のインライン属性を変更する場合、すべての User オブジェクトを更新する必要があります。

詳細については、「User オブジェクトを更新する」を参照してください。



RepositoryConfiguration オブジェクトへの変更は、各 Identity Manager サーバーを再起動するまで有効になりません。Identity Manager サーバーを再起動すると、そのサーバーのリポジトリも再起動されます。その結果、リポジトリで RepositoryConfiguration オブジェクトが再度読み込まれます。


RepositoryConfiguration オブジェクトを参照または編集するには、Debug および Security Administrator 機能が必要です。

詳細については、『リリースノート』の「アップグレードの問題点」セクション、および『Identity Manager Tuning, Troubleshooting, and Error Messages guide』を参照してください。

WorkItemTypes Configuration オブジェクト

この設定オブジェクトは、sample/workItemTypes.xml で定義され、init.xml および update.xml によってインポートされます。このオブジェクト要素では、サポートされる作業項目のタイプ名、拡張、および表示名が列挙されます。

extends 属性では、作業項目タイプ (workItem タイプ) の階層が許可されます。workItem タイプが次の場合、Identity Manager で作業項目が作成されると、指定されたユーザーに作業項目が委任されます。

SystemConfiguration オブジェクト

SystemConfiguration オブジェクトでは、数多くのシステム動作の中央制御点、およびシステムの動作に対する持続的なカスタマイズを格納する方法が提供されます。カスタマイズの重要性およびデプロイヤによるカスタマイズ頻度を考慮して、ここでは可能なカスタマイズのすべては網羅していません。ここでは、一般的なカスタマイズのいくつかを示します。

パスワード確認ポップアップの表示を制御する

System Configuration オブジェクトの forgotPasswordChangeResults 属性では、ログイン時に「パスワードをお忘れですか?」ボタンをクリックして、ユーザーまたは管理者がパスワードの変更を開始したあとに、Identity Manager で確認ページを表示するかどうかを制御します。

委任履歴リスト長を設定する

delegation.historyLength 属性では、「End User View workItem Delegation」フォームで表示される、現在と完了済みの両方の委任リストのサイズが制御されます。この属性では、委任テーブルに表示できる委任の最大数が指定されます。ここで設定する値に関係なく、テーブルには現在の委任がすべて表示されることに注意してください。

SystemConfiguration オブジェクトには、記録された以前の委任の数を制御する security.delegation.historyLength 属性が含まれています。

スケジューラの起動を登録する (クラスタ環境の場合)

scheduler.hosts 属性では、Identity Manager アプリケーションインスタンスごとにスケジューラの起動動作が登録されます。

scheduler.hosts の値は、制御する各ホストのエントリが含まれるマップです。キーは Identity Manager アプリケーションインスタンスの hostname です。


hostname 値を参照するには、Identity Manager インストールの debug/GetStatus.jsp ページに移動します。


次の値が有効です。

値が指定されない場合、または無効な値が指定された場合は、デフォルト値が使用されます。


Waveset.properties ファイルの task.scheduler.enabled および task.scheduler.suspended プロパティーで、System Configuration オブジェクトに設定された値が上書きされます。


Configuration:System 設定の scheduler 属性の例は次のとおりです。

<Attribute name='scheduler'>

   <Object>

      <Attribute name='hosts'>

         <Map>

            <MapEntry key='goliad' value='enabled'/>

            <MapEntry key='sanjacinto' value='manual'/>

            <MapEntry key='washington' value='disabled'/>

         </Map>

      </Attribute>

   </Object>

</Attribute>

Role Configuration オブジェクト

Role Configuration オブジェクトでは、サポートされるロールタイプ、アクション、およびリスト列が定義されます。次のセクションでは、ロールタイプの定義でサポートされる要素について説明します。

タイプ

ロールタイプ属性は、Role Configuration オブジェクトの types セクションで設定されます。リスト内のロールタイプ (ビジネスロールや IT ロールなど) ごとに、次の属性を指定する必要があります。

displayName

値がメッセージカタログキーであるタイプの表示名を指定します。

authType

ロールタイプに関連付けられた認可タイプを指定します。認可タイプを使用すると、このロールタイプを参照および管理できるユーザーに対して、詳細な認証を付与できます。authType を定義していない場合は、AuthorizationTypes 設定オブジェクトに追加します。この authType のロールにアクセス権を付与する Permission 内のタイプとして、AdminGroup (機能) 内の authType を参照する必要があります。


すべてのロールには認可タイプがあります。認可タイプなしでロールを読み込むと、認可タイプのデフォルトが ITRole に設定されます。


workItemTypes

ロール割り当ての承認およびロール変更の承認のために作成できる作業項目のタイプです。特定の workItem タイプを定義していない場合は、WorkItemTypes 設定オブジェクトに追加します。

機能

features 属性には、次の機能が含まれます。

アクション

アクション属性では、ロール管理者が「ロールのリスト」テーブル内の 1 つ以上のロール上で、既存のロールに含まれるロールにロールの除外を追加するときに実行できるアクションセットが定義されます。

ロール設定には、次の 3 つのアクションセットが指定されます。

各アクションは、次の属性を使用して定義されます。

リスト列

リスト列属性では、ロールのリスト (リストロールやロール結果の検索など) を参照するときに、列ヘッダーとして表示する属性名とラベルのセットが定義されます。

リスト列ヘッダーとして表示する一意の属性セットを指定できます。定義された各列の属性は次のとおりです。

その他のオプション

Role Configuration オブジェクトでは、次のオプションも設定できます。

End User Tasks オブジェクト

End User Tasks オブジェクトでは、Identity Manager ユーザーインタフェースから実行できるタスクが定義されます。EndUserTask 認可タイプを任意の TaskDefinition オブジェクトに割り当て、EndUserRule 認可タイプを表示する必要のある任意の Rule オブジェクトに割り当てることができます。


User オブジェクトを更新する

特定のタイプの変更では、管理者がすべての User オブジェクトを更新する必要があります。たとえば、RepositoryConfigurationType.USER のインライン属性を変更する場合は、すべての User オブジェクトを更新する必要があります。IDMSchemaConfiguration オブジェクトで属性をクエリー可能または概要としてマークするたびに、古い、未変更のオブジェクトに変更を反映するために、すべての User オブジェクトを更新する必要があります。新しいバージョンの Identity Manager で新しい属性が追加されるとき、または新しいバージョンの Identity Manager で既存の属性の値が変更されるときに、同様のロジックが適用されます。アップグレードプロセスまたは管理者は、古い、未変更のオブジェクトに変更を反映するために、すべての User オブジェクトを更新する必要があります。

既存のユーザーを再直列化するには、次の 3 つの方法があります。



前へ      目次      索引      次へ     


Part No: 820-5432.   Copyright 2008 Sun Microsystems, Inc. All rights reserved.