最新のバージョンに一度にアップグレードする場合は、このあとの節で説明するアップグレードの注意点も確認してください。以降のバージョンの Identity Manager に関するアップグレードの注意点も、適用されます。
Oracle リポジトリを使用している場合、Identity Manager 8.0 および 8.1 リポジトリの DDL は、古い Oracle JDBC ドライバでは適切に処理されないデータ型を使用します。ojdbc14.jar に含まれる JDBC ドライバは、ログテーブルの一部の列を正しく読み取ることができません。
Identity Manager を正しく動作させるには、JDK 5 ドライバを ojdbc5.jar にアップグレードする必要があります。
アップグレードにより、User Extended Attributes オブジェクトと、UserUIConfig オブジェクトの QueryableAttrNames および SummaryAttrNames 要素が、IDM Schema Configuration オブジェクトに自動的に変換されます。(ID-17784)
サンプルの update.xml スクリプトには、IDMSchemaConfigurationUpdater を呼び出して従来のユーザースキーマ設定オブジェクトを変換するインポートコマンドが含まれています。従来のユーザースキーマ設定オブジェクトの変換が成功すると、次の処理が実行されます。
User Extended Attributes からの個々の拡張属性名に対して、IDM Schema Configuration の内部に IDMObjectClassAttribute 要素を作成します。
UserUIConfig 内部の SummaryAttrNames 要素からの各値に対応するすべての IDMObjectClassAttribute に、「summary」のフラグを付けます。
UserUIConfig 内部の QueryableAttrNames 要素からの各値に対応するすべての IDMObjectClassAttribute に、「queryable」のフラグを付けます。
UserUIConfig 内部の SummaryAttrNames 要素を空にします。
UserUIConfig 内部の QueryableAttrNames 要素を空にします。
objectClass という名前のすべての拡張属性を spml2ObjectClass に名前変更します。バージョン 8.0 からは、objectClass という名前の従来の属性が、Identity Manager スキーマ内のコア属性と競合します。
Identity Manager 8.0 には、Roles オブジェクト専用の新しいテーブルがあります。スキーマの変更、新しいテーブル構造の作成、および既存データの移動には、db_scripts ディレクトリにあるサンプルスクリプトを使用する必要があります。
リポジトリデータベースのテーブル定義を更新する前に、リポジトリテーブルのフルバックアップを作成します。
スクリプトの詳細は、db_scripts/upgradeto8.0from71.DBMSName を参照してください。
スーパーロールはそれ自体が入れ子のロールである可能性があるため、「ロール」フォームでスーパーロールフィールドを編集するときは注意が必要です。スーパーロールおよびサブロールフィールドは、ロールと、それらに関連付けられたリソースまたはリソースグループの入れ子構造を示します。ユーザーに適用されるとき、スーパーロールには、任意の指定されたサブロールと関連付けられるリソースが含まれています。スーパーロールフィールドは、表示中のロールを包含するロールを示すために表示されます。
アップグレードプロセスの間、Identity Manager はシステム上のすべてのロールを分析し、RoleUpdater クラスを使用して、見つからないすべてのサブロールリンクおよびスーパーロールリンクを更新します。
アップグレードプロセスの外部でロールを確認およびアップグレードするために、sample/forms/RoleUpdater.xml で提供される新しい RoleUpdater 設定オブジェクトをインポートできます。
たとえば、次のようにします。
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE Waveset PUBLIC 'waveset.dtd' 'waveset.dtd'> <Waveset> <ImportCommand class='com.waveset.session.RoleUpdater' > <Map> <MapEntry key='verbose' value='true' /> <MapEntry key='noupdate' value='false' /> <MapEntry key='nofixsubrolelinks' value='false' /> </Map> </ImportCommand> </Waveset> |
各表記の意味は次のとおりです。
verbose: ロールの更新時に詳細な情報を出力します。ロールのサイレント更新を有効にするには、false を指定します。
noupdate: ロールが更新されるかどうかを決定します。更新されるロールの一覧のみをレポートに出力するには、false を指定します。
nofixsubrolelinks: 見つからないサブロールリンクでスーパーロールを更新するかどうかを決定します。この値はデフォルトで false に設定されており、リンクは修復されます。
ユーザーまたはロールの Identity Manager スキーマを表示または編集する必要のある管理者は、IDM Schema Configuration AdminGroup に属しており、かつ IDM Schema Configuration 機能を持っている必要があります。
Identity Manager の SPML 2.0 実装は、Sun Identity Manager 8.0 で変更されました。以前のリリースでは、SPML メッセージで使用されていた SPML objectclass 属性は、Identity Manager User オブジェクトの objectclass 属性に直接マップされていました。現在では、objectclass 属性は spml2ObjectClass 属性に内部的にマップされ、ほかの目的のために内部で使用されるようになっています。
アップグレードプロセスの間、objectclass 属性の値は、既存のユーザーに合わせて自動的に名前変更されます。objectclass 属性を参照するフォームが SPML 2.0 設定に含まれている場合、それらの参照を手動で spml2ObjectClass への参照に変更する必要があります。
Identity Manager はアップグレードの間に、サンプルの spml2.xml 設定ファイルを置き換えません。アップグレード前の環境で spml2.xml 設定ファイルを使用していた場合、このファイルには objectclass への参照を伴うフォームが含まれており、それを spml2ObjectClass への参照に変更する必要があることに注意してください。(属性が内部的に使用される) フォーム内の objectclass 属性を変更し、(属性が外部に公開される) ターゲットスキーマ内の objectclass 属性は変更しないでください。
Identity Manager をアップグレードするときに、UserUIConfig#getRepoIndexAttributes() を呼び出すカスタムコードは、削除するか、Type.USER#getInlineAttributeNames() を呼び出すように変更する必要があります。(ID-18051)
update.xml をインポートすると、UserUIConfig RepoIndexAttrs からの値が、RepositoryConfiguration オブジェクトの内部にある Type.USER の TypeDataStore 要素の XML 属性の値に変換されます。update.xml ファイルには UserUIConfigUpdater.xml ファイルが含まれます。 このファイルには、UserUIConfigUpdater を呼び出して RepoIndexAttrs を変換するインポートコマンドが含まれています。変換ではさらに、再変換を禁止するフラグが SystemConfiguration に設定されます。
Type.USER のインライン属性に対する今後の変更はすべて、RepositoryConfiguration オブジェクトを編集することによって行うことをお勧めします。Type.USER のインライン属性を変更する場合、通常はすべての Type.USER オブジェクトを更新する必要があります。
RepositoryConfiguration の変更は、Identity Manager サーバーを再起動するまで、そのサーバーに影響しません。