リソース

/

ACP 実習ノート

[第40回] DB権限を維持し、許可IPを定める

DBアクセス制御

2026年11月13日

必要権限を与えても接続元IPを限定し、指定ネットワークだけで使わせたい場合がある。

 

今回はQueryPieの Allowed Zoneを使い、同じ人・参照権限でIPだけを変え、復元後も確認した。

 

接続履歴で現在IPを確認する

実習接続を DB Allowed Zone Labとして作り、既存MySQLの注文と開発者の Read-Only 権限を用意した。

 

IP指定前にWebで一度接続し、管理者の Audit → DB Access Historyで人・接続・方式を確認した。今回のClient IPは 172.21.0.1だった。

 

画面1. 新接続の履歴で利用者とClient IPを確認した。
画面1. 新接続の履歴で利用者とClient IPを確認した。

 

実際に記録されるIPを基準にでき、登録すべき値が明確だった。

 

今回の接続だけへ許可IPを適用する

General → Company Management → Allowed ZonesこのメニューでZoneを作り、名前を EP40 - DB Client Zone、IP範囲を 172.21.0.1/32にした。/32はIPv4一つを指定する。

 

画面2. 現IP一つを許可する専用Zoneを作った。
画面2. 現IP一つを許可する専用Zoneを作った。

 

接続のAllowed Zoneで指定して保存した。Zone側の適用一覧も今回の一つだけだった。

 

画面3. DB接続へ専用IP範囲を指定した。
画面3. DB接続へ専用IP範囲を指定した。

 

名前付きZoneを接続で選ぶ構成で、接続側の範囲もZone側の対象DBも確認しやすかった。

 

開発者で新規接続し27002を検索すると、 SHIPPED, 18500.00 の1行が返った。現在IPが含まれれば通常どおり使えた。

 

画面4. IPが含まれる状態では正常参照できた。
画面4. IPが含まれる状態では正常参照できた。

 

参照権限に加えてIP条件も必要

切断後、同じZoneの範囲だけを 192.0.2.254/32へ変えた。現IPを除外するための文書用アドレスで、人もRead-Onlyも変えていない。

 

画面5. DBと権限を維持し許可IPだけ変更した。
画面5. DBと権限を維持し許可IPだけ変更した。

 

ConnectしてもSQLへ進まず次の案内が出た。

 

“This database is not accessible by this network zone.”

 

現ネットワークZoneからDBへアクセスできないという意味だ。背後のRead-Only・Activeは維持され、 DB接続のIP条件も適用された。

 

画面6. Read-Onlyのままでも許可外の新接続は制限された。
画面6. Read-Onlyのままでも許可外の新接続は制限された。

 

IP復元で同じ参照が戻る

同じZoneの範囲を元の 172.21.0.1/32へ戻した。再付与もDBアカウント変更も不要だ。

 

新接続で27002・SHIPPED・18500.00が再び返った。人と権限を維持してIP設定で接続条件を管理できた。

 

画面7. IP復元後、同SQLで同じ注文を取得した。
画面7. IP復元後、同SQLで同じ注文を取得した。

 

同じ環境から許可一覧だけ変え、各段階で切断・新規接続して比較した。

 

接続拒否理由も履歴で分かる

履歴は含む時Success、除外時Failure、復元時Successで、人・DB・Client IPは一致した。

 

失敗詳細のError Messageには 現在IPと、そのIPではDBへアクセスできない理由があり、利用者の案内を管理者も確認できた。

 

画面8. 失敗履歴にIPと拒否理由が残った。
画面8. 失敗履歴にIPと拒否理由が残った。

 

許可時のSELECT2件もQuery Auditで成功だった。接続可否は接続履歴、実操作はSQL監査で続けて見られた。

 

よかったのは、 誰が参照できるかと、どのIPから接続できるかを併せて管理できる点だ。必要権限を維持し接続別に範囲を定め、適用結果と理由まで残るので運用の流れが明確だった。

 

QueryPie Community 11.6.7とMySQL 8.0.42で実習ユーザー・注文を使用した。

 

参考: Allowed Zones · DB Connections · DB Access History