ABAPデーモンはクライアント固有であり、単一のシステム内でのみ使用することができます。これは、同じシステム内から同じクライアントに対してのみABAPデーモンを登録できることを意味します。
実行時の許可
ABAPデーモンはアプリケーションから呼び出すことも、自動的に開始するように設定することもできるため、ユーザーごとに異なる権限チェックが必要です。したがって、起動プロセスごとに正しい権限オブジェクトが提供されていることを確認してください。
ABAPデーモンユーザー認証
非自動(たとえば、手動またはアプリケーションから)または起動設定により自動で開始されるABAPデーモンには、トランザクションSM59でRFC宛先が必要です。RFC宛先は、呼び出し元と同じシステムおよびクライアント内にある必要があります。そうでない場合、RFC宛先の使用は拒否されます。
さらに、ABAPデーモンの開始は、RFC権限オブジェクトS_RFCに基づくRFC権限チェックの対象となります(RFC権限も参照)。自動チェックは、ABAPデーモンプログラムの汎用モジュールAUTHORITY_CHECK_RFCを呼び出すことによってトリガされます。
ターゲットアプリケーションサーバインスタンスおよび指定されたRFC宛先のプロファイルパラメータauth/rfc_authority_checkの設定に応じて、デーモンを起動するABAPデーモンユーザには、対応するユーザ権限が必要です。つまり、ABAPデーモンユーザのロールは、 S_RFC権限チェックを含むプロファイル(トランザクションPFCG)に関連付けられている必要があります。
S_RFCチェックは、個々のABAPデーモン汎用モジュールに対して有効にすることができます。S_RFCのフィールド値は次のようになります。
- RFC_TYPE:FUNC
- RFC_NAME:
- ABAP_DAEMON_STOP
- ABAP_DAEMON_AUTOSTART
- ACTVT:16
構成ユーザー認証
自動起動設定を使用する場合、ABAPデーモンは設定ユーザによって自動的に起動するように設定されます。ユーザーが構成を行う権限を持っていることを確認するには、ユーザーに付与されたロールに権限オブジェクトS_ADF_CFGが含まれている必要があります。権限オブジェクトは、権限値で更新する必要がある以下の項目で構成されています。
- DAEMON_TYP:CLAS(ABAPデーモンクラス)
- DAEMON_ID:アクセスが許可されているABAPデーモンクラスのID(ホワイトリスト)
- ACTVT:01(作成または生成)、02(変更)、03(表示)、05(ロック/ロック解除)、06(削除)
ABAPデーモンユーザー認証
ABAPデーモンは、確立された信頼できるユーザー接続、いわゆる動的RFC宛先で自動的に開始するように設定することができます。静的RFC宛先を持つデーモンとは異なり、動的なデーモンはSM59で更新することができず、技術ユーザ( DDIC )とABAPデーモンユーザの間の信頼できるユーザ関係を確保する必要があります。デーモンを実行するユーザ(ABAPデーモンユーザ)は、デーモンを実行できるようにするために、権限オブジェクトS_RFCACLを含むロールを持っている必要があります。
自動起動を可能にするには、オブジェクトの権限フィールドに少なくとも次の値を指定する必要があります。
- RFC_SYSID:SAME_SYSTEM
- RFC_CLIENT:000
- RFC_USER:DDIC
- RFC_EQUSER:N
- RFC_TCODE:*
- RFC_INFO:*
- ACTVT:16
管理権限
ユーザ(システム管理者など)がトランザクションSMDAEMONでABAPデーモンを監視および管理できるようにするには、ユーザのロールに権限オブジェクトS_ADF_ADMが含まれている必要があります。オブジェクトには、以下の権限フィールドと値があります。
- ACTVT:02(変更)、03(表示)、05(ロック/ロック解除)、36(拡張メンテナンス)、B8(再実行)