SAP システムは、システム間相互の認証関係を構築できます。
呼出元の SAP システムが、呼び出されるシステムで認証済システムとして認識されている場合は、パスワードを入力する必要はありません。
呼出元の SAP システムが、呼び出される SAP システムで認証済システムとして登録されている必要があります。呼び出されるシステムを認証システムと呼びます。
SAP システム間に認証関係が存在することで、次の利点が得られます。
● システムの境界を越えてシングルサインオンが可能である。
● パスワードがネットワークに送信されない。
● タイムアウトメカニズムにより、リプレイ攻撃から保護される。
● ユーザ固有のログオンデータを認証システムでチェックする。
この機能を使用することにより、リモートで呼び出されるさまざまなSAP システムで構成される仮想 SAP システムを作成できます。リモートログオンデータを認証システムでチェックできます。
認証関係は相互関係ではありません。つまり、認証関係は 1 方向にのみ適用されます。パートナシステム間で相互の信頼関係を構築するには、それぞれのパートナシステムにおいてお互いを認証済システムとして定義する必要があります。
追加のセキュリティについては、Kerberos や SECUDE などのサードパーティセキュリティシステムを対象としたSAP SNC (セキュアネットワークコミュニケーション) インタフェースを使用することができます。
認証システムで認証済システムを照会または更新するには、次の手順を行います。
…
1. SAP システムを認証済システムとして定義するには、最初に、認証済システムの関係を許可する論理宛先を登録する必要があります。
2. RFC 宛先の概要画面 (トランザクション SM59) で RFC → 認証済システムを選択するか、トランザクションコード SMT1 を入力します。
3. 認証済システムがすでに定義されている場合は、階層ツリーに表示されます。既存の認証済システムを表示するには、階層ツリーのノードを展開します。
4. 認証済システムを登録するには、登録アイコンをクリックします。
5. ダイアログウィンドウでリモートシステムの宛先を入力します。宛先を変更するには、この後の認証済宛先の変更を参照してください。
6. アプリケーションサーバ名やセキュリティキーなどの必要情報はすべて自動的に提供されます。
7. ログオンデータの有効期間を制限するには、有効期間項目に終了日を入力します。
8. 呼出元プログラムのトランザクションコードを呼び出されるシステムに引き継がせる場合は、該当するチェックボックスを選択します。
9. その場合にのみ、呼び出されるシステムでそのトランザクションコードの権限チェックが実行されます (S_RFCACL 権限オブジェクトの項目 RFC_TCODE、この後の認証システムへのログオン権限チェックを参照してください)。
認証済システムの関係を削除する際に、有効なログオンデータが提供されないと、該当するシステムのログオン画面が表示されます。該当するシステムにログオンして、削除を完了する必要があります。
各システムの既存の宛先の変更は、宛先の更新ボタンをクリックして表示される認証済システムの更新画面から行えます (RFC → 認証済システム、トランザクションコード SMT1)。
認証済システムでは、認証システムの宛先が自動的に登録されます。これらの宛先は、RFC → 認証済システム (トランザクションコード SMT2) を選択して認証システムを照会するときに使用されます。
認証済の宛先が他のユーザによって変更されないようにするには、属性のセクションでチェックボックス宛先は変更不可を選択します。宛先を再度変更可能にするには、このチェックボックスをダブルクリックします。
宛先は整合性を保つ必要があります。このため、対象システムの ID、システム番号、宛先名は変更することができません。
認証済システムで、認証システムすべての一覧を取得できます。RFC → 認証システムを選択すると、認証システムの一覧を照会できます。
認証システムの名称をクリックすると、そのシステムのアプリケーションサーバを照会できます。アプリケーションサーバ名には接尾辞 _TRUSTED が含まれています。
アプリケーションサーバの名称をダブルクリックするとダイアログボックスが表示され、認証システムで実行するトランザクションを入力できます。トランザクションを同じセッションまたは新規セッションのいずれで実行するかを指定することもできます。
認証システムへのログオンに使用されるログオンデータには、権限チェックが行われます。
認証済システムから提供されたデータは、システム名、クライアント、ユーザ名、その他のオプションデータについてチェックされます。これらのデータは、権限オブジェクト S_RFCACL の項目値と一致する必要があります。
システム管理者は、汎用モジュール AUTHORITY_CHECK_TRUSTED_SYSTEM を使用してユーザのログオンデータをチェックできます。
エラーのリターン値については、下記のトラブルシューティングのセクションで説明します。
認証済システムをテストするには、現在のサーバと認証システムに関する権限チェックを行います。この操作を行うには、メニューオプションを選択します。有効なログオンデータが提供されない場合、認証済システムのログオン画面が表示されます。システムにログオンします。テストに合格しない場合は、次の認証済システム/認証システムのトラブルシューティングのセクションを参照してください。
認証済システムを登録した後、宛先をテストする必要があります。テストは、リモートログインを使用して認証済システムにログオンして実行します。
または、認証済サーバの権限チェックを実行します。そのためには、テストメニューから個々の機能を選択します。
ログインに失敗すると、次のメッセージを受け取ります。Trusted System としてログオンする権限がありません (エラーコード = <0|1|2|3>)。特殊ユーザ DDIC と SAP* は使用できません。
エラーコードの説明は次のとおりです。
● 認証システムのログオンデータ(ユーザ ID とクライアント) が無効。
● 解決策: 認証システムでクライアントのユーザID を登録します。
● 呼出元システムの認証済システムエントリがないか、システムのセキュリティキーが無効。
● 解決策: 認証済システムエントリを再度登録します。
● ユーザに認証済システムの権限がない (オブジェクトS_RFCACL)。
● 解決策: ユーザに必要な権限を提供します。
● ログオンデータのタイムスタンプが無効。
● 解決策: クライアントおよびサーバのホストのクロック設定と、ログオンデータの有効期限をチェックします。(デフォルトの有効期限 00:00:00 は期限がないことを意味します。)
認証システムで認証済システムの正しいログオン情報が提供されたかどうかを、汎用モジュール AUTHORITY_CHECK_TRUSTED_SYSTEM を使用して確認できます。
すべてのテストに合格したにも関わらず認証システムにアクセにスできない場合は、ユーザ管理画面から関連処理 → 一括変更 → 全バッファをリセットを選択して、該当するデータベースをリフレッシュしてください。
エラーの原因を突きとめるには、宛先詳細画面でトレースフラグを有効にして同じエラーを再現し、呼び出されたシステム(認証システム) で生成されたショートダンプでCALL_FUNCTION_SINGLE_LOGIN_REJ というエラー ID とともに提供される情報を参照します。
認証済/認証関係に関する詳細と実用的なヒントについては、以下を参照してください。