こんにちは。
ServiceNow AI Platformは、接続元IPアドレスによってインスタンスへのアクセスを制御することができます。
つい最近、IPアドレス制御の設定を行う機会があったため、その際に学んだ設定手順や実際に設定を行う際の挙動、注意点をまとめていきます。
※IPアドレス制御は、インバウンド、アウトバウンドの両方が設定できますが、今回はインバウンドに絞って記事にしていきます
IPアドレス制御の仕組み
ドキュメントには、以下のような記載があります。
つまり、自身のIPアドレスがDenyルールにマッチし、かつ、Allowルールにはマッチしないときに始めて、インスタンスへのアクセスが却下されるということになります。
そのため、Allowルールだけ設定しても、接続を許可するIPアドレスを絞り込むことはできず、Denyルールの設定が必要です。
The system only blocks an IP address if a matching Deny rule exists and no matching Allow rule exists.
設定方法
System Security > IP Address Access Controlのモジュールから設定を行います。
始めに、Allowルールを設定します。
Type: Allow
Direction: Inbound
Range start/Range end: アクセスを許可するIPアドレス
続いてDenyルールは以下のように設定します。
Type: Deny
Direction: Inbound
Range start/Range end: アクセスを拒否するIPアドレス
※特定のIPアドレスからのアクセスのみ許可する場合は、DenyルールのIPアドレスに0.0.0.0~255.255.255.255を設定します
設定は以上で終了となります。
IPアドレス制御の設定をした際の挙動を確認
私自身が実務でIPアドレス制御を実施する際、どのような挙動をするか分からず不安だった点をいくつか紹介します。
設定者自身のIPアドレスがAllowルールに含まれない場合
もし、設定するIPアドレスを間違ってしまい、自分自身がインスタンスから締め出されてしまったらどうしようと、個人的に一番の不安ポイントでしたが、全く心配する必要はありませんでした。
Allowルールで自身が含まれないIPアドレスを設定して、その後Denyルールを保存する際、以下画像のようにエラーメッセージが表示されレコードの保存をキャンセルしてくれます。
IPアドレス制御を実施した瞬間、インスタンスにログインしているユーザーが存在する場合
もちろん、許可ルールに合致するIPアドレスを持つユーザーには何も影響はありません。
許可ルールに含まれないユーザーは、どのモジュールを開こうとしても、画像のように403エラーページが表示されます。
当たり前のことですが、設定する際は関係者への周知が必要です。
IPアドレス制御設定後、インスタンスにアクセスした際の挙動
インスタンスへの接続を試みると、ログインページに到達する前に403エラーページが表示され、アクセスが却下されます。
IPアドレス制御を行う際の考慮点
実際にIPアドレス制御を行う際、考慮したことを2点ほど記載します。
インスタンス間の通信
本番環境と非本番環境の複数環境で運用するのが通常ですが、以下の機能を使用する際は、インスタンス間での通信が発生するのでインスタンスのIPアドレスもアクセスを許可する必要があると思いました。
- インスタンス間のクローン
- Remote Instance等の機能を使った、更新セット・アプリケーションの自動移送
他システムとの連携
システム連携している場合、他システム起点でServiceNowへのアクセスが発生する場合は、IPアドレスをAllowルールに追加する必要があります。
おわりに
今回の記事では接続元のIPアドレスによるインスタンスへのアクセス制御について、ご紹介しました。
今後、同じような設定を行う際、どなたかの参考となれば幸いです。