ServiceNowを学習していると、**「ACLを設定したはずなのに制御されない」**という場面に必ず遭遇します。
特にCSA(Certified System Administrator)を目指す学習者にとって、ACLは避けて通れない重要分野です。
本記事では、
ACLが効かない時に“最初に”確認すべき3点を、試験対策と実務の両方の視点から整理します。
やみくもにACLを書き直す前に、まずここを確認してください。
本番形式で慣れるのが合格への近道。UdemyのServiceNow模擬問題集を人気順で一覧比較できます👇
ACLの基本を誤解していないか
ACLが効かない原因の多くは、ACLの種類そのものを誤解していることにあります。
ServiceNowのACLは、大きく次の3種類に分かれます。
- Table ACL:テーブル全体に対する権限制御
- Field ACL:特定フィールドに対する制御
- Record ACL:レコード単位での制御(Condition / Script)
特に初心者が混乱しやすいのが、**「Table ACLを書いたのにフィールドが編集できる」**というケースです。
ServiceNowでは、
フィールドACLが存在する場合、テーブルACLよりも優先されます。
つまり、
- Table ACLで write=false にしても
- Field ACLで write=true になっていれば
→ フィールドは編集可能
という挙動になります。
試験対策ポイント
CSA試験では、
**「なぜACLが効かないのか?」**という問いに対して、
「設定が間違っている」ではなく
**“どのACLが評価されているか”**を答えさせる問題がよく出ます。
ロールは本当にユーザーに付与されているか
ACLが正しく書かれていても、ユーザー側のロールが原因で効いていないケースは非常に多いです。
よくある勘違いは次の3つです。
- ロールを グループに付けただけで満足している
- 上位ロールを付けたら 下位ロールも自動で評価されると思っている
- impersonate せずに adminのまま確認している
ServiceNowでは、
ACLは「ログインユーザーが直接 or 間接的に持つロール」だけを評価します。
特に注意すべきポイント
- グループ経由でロールが付与されているか
- ロール継承(contains)が想定通りか
- adminはACLをバイパスすることがある
adminで見えている=一般ユーザーでも見える
これはCSA学習者が最初にハマる落とし穴です。
実務・試験での鉄則
ACL確認時は必ず
Impersonate User を使い、対象ユーザーで動作確認する。
この癖を付けておくだけで、ACLトラブルは激減します。
Condition / Script が評価されていない
ACLのScriptやConditionが「正しく見える」のに効かない場合、
そもそもACL自体が評価されていないケースがあります。
これはCSAでも実務でも頻出です。
よくある原因
- operation(read / write / create / delete)が想定と違う
- table名を間違えている
- Field ACLを書いたつもりが Table ACLになっている
- より具体的なACLに上書きされている
ServiceNowのACLは、
より具体的なACL(field > table)が優先評価されます。
つまり、
- table.level でACLを書いたが
- table.field にACLが存在している
この場合、table.level側のScriptは一切評価されません。
Security Debug の活用
ACLが効かない時は、
**Security Debug(Debug Security Rules)**を必ず使いましょう。
- どのACLが評価されたか
- なぜtrue / falseになったか
- どこで落ちたか
がすべてログで確認できます。
CSA試験でも
「Security Debugで何が分かるか」は重要論点です。
それでもダメなら確認すべき応用ポイント
ここまでの3点を確認しても解決しない場合、次をチェックします。
- ACLのActiveがfalseになっていないか
- Script内で
currentを誤用していないか gs.hasRole()のロール名が正しいか- カスタムテーブルで継承(extends)が影響していないか
ただし、最初からここを見る必要はありません。
ほとんどのケースは、ここまで紹介した3点で解決します。
ACLが苦手な人におすすめの学習方法
ACLは
「仕様理解 → 実例 → 失敗体験」
の順で学ばないと定着しません。
公式ドキュメントだけでは、
「なぜ効かないのか?」が理解しにくいのが正直なところです。
そのため、
画面操作を見ながらACLを確認できるUdemy教材は非常に相性が良いです。
- ACLの評価順
- Field ACLの落とし穴
- Security Debugの実演
これらを動画で一度体験しておくと、
CSA試験でも実務でも確実に差が付きます。
本番形式で慣れるのが合格への近道。UdemyのServiceNow模擬問題集を人気順で一覧比較できます👇
ACLが効かない時は「書き直す前に3点確認」
ACLが効かないと焦ると、
ついScriptを書き直したり、ロールを追加したりしがちです。
しかし本当に大切なのは、次の3点を冷静に確認することです。
- どの種類のACLが評価されているか
- ユーザーに正しくロールが付与されているか
- ACL自体が評価対象になっているか
この順番で確認するだけで、
ACLトラブルの8割以上は解決できます。
ServiceNow資格学習においても、
ACLは「暗記」ではなく「挙動理解」が合格への近道です。
ぜひこの記事を、
ACLで詰まった時のチェックリストとして活用してください。


