権限エラーの原因を最速で調査する裏技

SAP Basisの担当業務の中に権限管理があります。
権限はインフラ領域とアプリケーション領域に跨るため、権限を苦手にしているSAP Basisも多いかと思います。

本記事ではSAP Basisが権限エラーの原因を最速で調査する方法について解説していきます。

目次

なぜ権限エラーは頻発するのか?

権限エラーの調査方法について解説する前に「なぜ権限エラーは頻発するのか?」についてお話していきたいと思います。

なぜ権限エラーは頻発するのでしょうか?

それは権限作成時点で必要となる権限オブジェクトを洗い出すことが非常に難しいからです。
(本当は権限作成時点であらかじめ必要な権限オブジェクトを洗い出す裏技がありますが、この方法は別の記事で解説します)

SAPの権限はトランザクションコード:PFCGでロール(権限オブジェクトを格納するための箱)を作成し、ロールの中に権限オブジェクト(どういう処理を実行できるのか定義したもの)を追加する形で作成していきます。

権限を作成する場合はロールの中に設定する権限オブジェクトを必要最低限にする必要があります。
ですが、権限に精通したコンサルタントでも権限作成時に必要となる権限オブジェクトを正確に設定することはなかなかに難しいのが現状です。

ゆえに、下記のサイクルでモグラ叩き的に必要となる権限オブジェクトを洗い出すアプローチにならざるを得ません。

 権限を作成 ⇒ 権限テスト ⇒ 権限エラー発生 ⇒ 不足した権限オブジェクトを調査 ⇒ 権限を改修 ⇒ 権限テスト・・・

したがって、本記事でご紹介する方法でこのサイクルを加速させ、障害の原因となるバグを取り除く必要があります。

権限エラーの調査方法

それでは、権限エラーの原因を調査する2つの方法について解説していきます。

【その1】トランザクションコード:ST01で権限トレースを取得する

権限エラーの原因を調査する1つ目の方法はトランザクションコード:ST01で権限トレースを取得するという方法です。

トランザクションコード:ST01はシステムの様々なトレースを取得する機能で、その機能の1つに権限トレースがあります。
通常は無効化された状態ですが、これを有効化すると権限チェックの結果を取得することができ、そこから権限チェックでエラーになった権限オブジェクトを洗い出すことができます。

この方法は権限エラー調査時よりも権限作成時の方がより効果を発揮します。
権限トレースには権限チェックが行われた全ての権限オブジェクトを記録できるため、権限作成前に権限作成対象の処理を一通り実行することで、権限トレースから必要となる権限オブジェクトを網羅的に洗い出すことができます。

【その2】トランザクションコード:SU53を実行する

権限エラーの原因を調査する2つ目の方法はトランザクションコード:SU53を実行するという方法です。

権限エラーが発生した直後にトランザクションコード:SU53を実行すると、権限チェックでエラーになった権限オブジェクトが表示されます。

最初にご説明した方法は主にSAP Basis向けの方法ですが、こちらの方法はSAP利用者向けの方法となります。
SAP利用者は実際に権限トレースを取得することが難しいため、権限エラーが発生した場合はトランザクションコード:SU53の実行結果画面をSAP Basisに送付して原因を調査する方が良いでしょう。

権限エラーの原因を最速で調査する裏技

権限エラーの原因を調査する2つの方法について解説しました。
「そんな方法は既に知っている」という方もいると思いますが、実は先程ご紹介した方法に権限エラーの原因を最速で調査する裏技が隠されていますので、最後にこの裏技をご紹介したいと思います。

1つ目のトランザクションコード:ST01で権限トレースを取得する方法は権限作成時の方がより効果的とご説明した通り、権限テスト時や本番稼働時は2つ目のトランザクションコード:SU53を実行する方法を使用します。

トランザクションコード:SU53を実行する方法はSAP利用者に実施して頂く必要があります。
慣れたSAP利用者の場合、SAP Basisからトランザクションコード:SU53の実行結果画面を送付するように案内すればすぐにエラー情報を提供して頂けるのですが、不慣れなSAP利用者の場合はこのやり取りがスムーズにいかず、原因究明に多くの時間がかかります。

権限に限らず、SAP利用者からエラー情報を提供してもらうことは一見簡単なことのようで、これが意外に難しいことは運用経験者であればご理解頂けるかと思います。

今回ご紹介する裏技はSAP利用者側で権限エラーが発生した直後、SAP Basisがトランザクションコード:SU53を実行し、SAP利用者の権限エラー状況を確認することでこの無駄なやり取りを省くことができます。

トランザクションコード:SU53を実行し、メニュー「権限値」⇒「その他のユーザ」⇒「エラーが発生したユーザ」を指定すると、権限チェックでエラーが発生した権限オブジェクトを確認することができます。
この方法を使用すると、SAP利用者からエラー情報を提供して頂かなくても、SAP Basisですぐにエラー原因を調査することが可能となります。

今回ご紹介した裏技を知っている方は非常に少ないと思いますので、是非プロジェクトの現場でも活用してください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次