[第40回] DB権限を維持し、許可IPを定める
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だった。

実際に記録されるIPを基準にでき、登録すべき値が明確だった。
今回の接続だけへ許可IPを適用する
General → Company Management → Allowed ZonesこのメニューでZoneを作り、名前を EP40 - DB Client Zone、IP範囲を 172.21.0.1/32にした。/32はIPv4一つを指定する。

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

名前付きZoneを接続で選ぶ構成で、接続側の範囲もZone側の対象DBも確認しやすかった。
開発者で新規接続し27002を検索すると、 SHIPPED, 18500.00 の1行が返った。現在IPが含まれれば通常どおり使えた。

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

ConnectしてもSQLへ進まず次の案内が出た。
“This database is not accessible by this network zone.”
現ネットワークZoneからDBへアクセスできないという意味だ。背後のRead-Only・Activeは維持され、 DB接続のIP条件も適用された。

IP復元で同じ参照が戻る
同じZoneの範囲を元の 172.21.0.1/32へ戻した。再付与もDBアカウント変更も不要だ。
新接続で27002・SHIPPED・18500.00が再び返った。人と権限を維持してIP設定で接続条件を管理できた。

同じ環境から許可一覧だけ変え、各段階で切断・新規接続して比較した。
接続拒否理由も履歴で分かる
履歴は含む時Success、除外時Failure、復元時Successで、人・DB・Client IPは一致した。
失敗詳細のError Messageには 現在IPと、そのIPではDBへアクセスできない理由があり、利用者の案内を管理者も確認できた。

許可時のSELECT2件もQuery Auditで成功だった。接続可否は接続履歴、実操作はSQL監査で続けて見られた。
よかったのは、 誰が参照できるかと、どのIPから接続できるかを併せて管理できる点だ。必要権限を維持し接続別に範囲を定め、適用結果と理由まで残るので運用の流れが明確だった。
QueryPie Community 11.6.7とMySQL 8.0.42で実習ユーザー・注文を使用した。
参考: Allowed Zones · DB Connections · DB Access History
![[第39回] DB担当者が変わっても承認規則はそのまま](/assets/content/acp-lab-notes/approval-rules/01.webp)
![[第41回] 参照用・作業用権限へ異なるDBアカウントを接続する](/assets/content/acp-lab-notes/database-account-mapping/01.webp)