ここでは、SAP リソースアダプタの使用に関する情報を示します。 次のトピックで構成されています。
このリソースに関する全般的な注意事項は次のとおりです。
アクティビティーグループごとに開始日と終了日を編集できるようにするには、SAPUserForm_with_RoleEffectiveDates_Timezone.xml フォームを読み込みます。このフォームは、ユーザーのタイムゾーンを選択する機能も備えています。
waveset.properties ファイル内の sources.ResourceName .hosts プロパティーを使用して、Active Sync を使用してリソースの同期を行うクラスタ内のホストを選択できます。ResourceName は、リソースオブジェクトの名前に置き換える必要があります。
サンプルユーザーフォームの SAPUserForm.xml と SAPUserForm_with_RoleEffectiveDates_Timezone.xml は、ユーザーのパスワードがすでに期限切れになっているフィールドの定義も含むようになりました。このフィールドの値が true で、Identity Manager 管理者がユーザーのパスワードを作成または変更した場合、そのユーザーは SAP へのログイン時に新しいパスワードを指定する必要があります。
デフォルトでは、SAP アダプタは SAP Java Connector (JCo) を使用して SAP アダプタと通信します。SNC 接続の実装については、第 54 章SNC (Secure Network Communications) 接続の有効化を参照してください。
SAPResourceAdapter と SAPHRActiveSyncAdapter には、SAP JCO および RFC のトレース用のリソース属性が用意されています。これらを使用して、Identity Manager と SAP システムの通信をトレースできます。属性名は、「SAP JCO トレースレベル」と「SAP JCO トレースディレクトリ」です。
環境内に次の環境変数を設定すると、SAP RFC トレースを有効にできます。これらの変数は、アプリケーションサーバーを起動する前に環境内に設定してください。これらの変数は、JCO が SAP システムとの通信に使用する共有ライブラリを制御します。
RFC_TRACE: 0 または 1
RFC_TRACE_DUMP: 0 または 1
RFC_TRACE_DIR: トレースファイルのディレクトリへのパス
CPIC_TRACE_DIR: トレースファイルのディレクトリへのパス
JCO のトレースが必要でない場合は、トレースファイルが作成されないように、RFC_TRACE を 0 に設定してください。
SAP では、パスワードはアカウントが存在するシステムのアカウント間で共有される機密であると見なされます。したがって CUA ランドスケープでは、ユーザーのパスワードの独自コピーが各 CUA クライアントで保守されています。CUA ランドスケープでの標準的なパスワードの変更方法では、クライアントシステムで実動パスワードを設定できません (実動パスワードとは、有効期限が切れていない、次回ログオン時に変更する必要のないパスワードです)。これらの方法では、ランドスケープ内のすべてのシステム (クライアントおよび集中システム) で、ユーザーの初期パスワードを設定できます。
パスワードを変更する機能モジュールは、リモートで実行できる必要があります。CUA ランドスケープでは、初期パスワードの SCUM 設定を「global」または「everywhere」に設定する必要があります。その他のケースでは、CUA 集中システムはクライアントのパスワードをリセットできません。特定の環境では、パスワード変更のエラーが発生します。アダプタでは、ユーザーが存在するすべてのシステムの CUA ランドスケープで、実動パスワードを設定できます。システムごとに、パスワードを変更するだけで設定を行えます。この機能を有効にするには、すべてのクライアントシステムに対して実行される CUA 集中システムに、特別な機能モジュールをインストールする必要があります。モジュールは、InstallDir\idm\sample\other にソースとして提供されます。このモジュールを、SAP 集中システムにインストールする必要があります。機能モジュールの名前は、「CUA Child Password Change Function Module」リソース属性で設定する必要があります。
CUA ランドスケープでパスワードが変更され、このモジュールが使用されている場合、1 回のパスワードの変更に対して複数のエラー (各クライアントと集中システムのそれぞれで 1 つずつ) が発生する場合があります。各システムは、それぞれ独自のパスワードポリシーを維持します。あるシステムの規則に準拠するパスワードが、別のシステムではポリシーエラーとなる場合もあります。特定のシステムのエラーにより、ほかのシステムが変更されないという意味ではありません。この動作は、CUA ランドスケープで SAP がパスワードを定義および操作する方法によって決まります。
CUA がアダプタで設定されているときに、モジュールが集中システムにインストールされていないか、属性がアダプタで設定されていない場合、実動パスワードの変更は集中システムのみに適用されます。初期パスワードの設定とパスワードリセットの実行 (つまり、期限切れのパスワード) は、この設定変更の影響を受けません。
SAP アダプタは、CUA モードがアダプタで有効な場合を除き、アカウントの名前の変更をサポートするようになりました。アダプタは、この機能を実行するために、既存のアカウントを新しいアカウントにコピーして元のアカウントを削除します。SAP は、アカウントの名前の変更を推奨していませんが、SAP GUI から使用する Transaction SU01 というユーザー管理アプリケーションではこのオプションを提供しています。したがって、Identity Manager もこのオプションをサポートします。SAP では名前の変更機能を将来のリリースでサポートしなくなる可能性があることに注意してください。
SAP GUI では非公開 API および SAP カーネルにアクセスできるため、名前の変更に別の方法を使用します。次の手順では、名前の変更操作を実行する方法について概要を説明します。
既存のユーザーのユーザー情報を取得します。
ALIAS 属性が存在する場合は、ALIAS 属性を保存します。
新しいユーザーを作成します。
新しいユーザーでアクティビティーグループを設定します。
新しいユーザーでプロファイルを設定します。
古いユーザーの個別設定データを取得します。
新しいユーザーの個別設定データを設定します。
古いユーザーを削除します。
古いユーザーで別名が設定されていた場合は、新しいユーザーで別名を設定します。
手順 1 ~ 3 でエラーが発生した場合は、操作がただちに失敗します。手順 4 ~ 7 でエラーが発生した場合は、新しいユーザーが削除され、操作全体が失敗します。新しいユーザーが削除できない場合は、警告が WavesetResult に設定されます。手順 8 ~ 9 でエラーが発生した場合は、警告が WavesetResult に追加されますが、操作は成功します。
名前の変更操作では、新しいパスワードを新しいユーザーに設定する必要があります。設定する最も簡単な方法は、Change User Password タスクを呼び出すように Rename User タスクをカスタマイズすることです。
SAP アダプタの SAP Global Trade Services のサポートを有効にするには、次の表の「ロール名」に一覧表示された該当するロールを有効にします。SAP は、この表の「生成されるロール」列に一覧表示されたロールを生成します。生成されたロールを SAP GTS の該当するユーザープロファイルに割り当ててください。
ロールラベル |
ロール名 |
生成されるロール |
---|---|---|
通関処理スペシャリスト |
SAP_BW_SLL_CUS |
SAP_BWC_SLL_CUS |
特恵処理スペシャリスト |
SAP_BW_SLL_PRE |
SAP_BWC_SLL_PRE |
還付金スペシャリスト |
SAP_BW_SLL_RES |
SAP_BWC_SLL_RES |
法規制スペシャリスト |
SAP_BW_SLL_LCO |
SAP_BWC_SLL_LCO |
SAP アダプタは、BAPI_USER_CREATE1 および BAPI_USER_CHANGE によって呼び出された任意の SAP テーブル、特に GROUPS テーブルおよび PARAMETER テーブルにプロビジョニングできます。GROUPS 以外の任意のテーブルについてこの機能を有効にするには、リソースユーザー属性を SAP_Table_Name->Table という形式でスキーママップに追加する必要があります。たとえば、PARAMETER->Table とします。属性は、複合データ型を割り当てられる必要があります。
アダプタは、GROUPS->USERGROUP アカウント属性という名前で、タイプが String であるアカウント属性を提供します。この属性は、GROUPS テーブルのデータを処理します。デフォルトでこの属性のタイプは String です。この属性のタイプが String に設定されている場合、アダプタは値を文字列のリストとして処理します。アダプタがほかのテーブルと同じ方法でこのテーブルのデータを処理するようにするには、データ型を複合に変更する必要があります。
$WSHOME/web/sample/forms/SAPUserForm.xml ファイルには、String のアカウント属性タイプおよび複合属性タイプを使用して GROUP テーブルを管理する方法を示すユーザーフォームの例が含まれています。