[第18回] 一時権限にも終了時刻が必要だった — QueryPieポリシー例外管理
2026年11月9日
「精算金額だけ少し確認したい」
こうした依頼に権限を開いたら終了時刻も管理する必要がある。業務後も例外が残る状況を避けたいからだ。
第13回で承認された精算アクセスの期間終了後に、表示と参照結果を確認した。例外を一か所で管理できる点が便利だった。
1時間だけ許可した精算テーブル
Demo Developerは通常注文を参照できるがsettlement_detailsは不可だった。4002の精算照合のため別途申請した。
対象・理由とともに開始と期間を指定し、2026年11月8日17時から1時間とした。

後で管理者が覚えて整理する代わりに、申請時から明確にできた。業務と期間を併記するので単なる許可より管理しやすい。
期間終了の例外はExpiredで区別される
Databases → Policies → Policy Exceptionには精算アクセスと電話の解除履歴が同じ一覧にあった。
精算は終了18時でExpired、期間が残る電話はActiveだった。この確認では手動取り消しもポリシー変更も行っていない。

誰にどのデータの例外をいつまで許可し、どの申請で承認したかを一画面で確認できた。申請が増えても個別メッセージを探す手間が減りそうだ。
Webエディターでは精算参照が遮断された
開発者のWeb SQLエディターで4002の精算を検索すると、データではなくsettlement_detailsへの権限がないと表示された。

期間中に見えた情報が再び制限された。共通テーブルポリシーを解除・再設定せず、必要な例外を期間付きで管理できた。
DBeaverでは再接続して確認した
QueryPie経由のDBeaverでも同じSQLを実行した。期限前から開いていた接続では引き続き精算が読めたが、切断して再接続するとテーブル権限がないと遮断された。

同じ接続で通常注文を参照すると4002の状態と金額は正常に返った。

一時的な精算と日常の注文参照を分けて管理できた。機密データの例外を管理しながら通常業務を続けられる点がよかった。
参照試行は監査ログでも確認する
Query Auditに開発者、Orders Control Lab、時刻、Failure、Preventedが残っていた。

詳細にはSQLと権限不足の理由があった。承認期間はPolicy Exception、実行結果はQuery Auditで確認すれば具体的に説明できそうだ。

例外を許可した後も管理が続く
Policy Exceptionは一時許可を継続把握するのに便利だった。ユーザー、範囲、開始・終了、状態がまとまり、何が有効か分かりやすい。
必要なアクセスを認めつつ例外を無期限に蓄積させず管理できる点は魅力的だ。理由、期間、実参照を順に見て管理状況を説明できる。
今回の実習はQueryPie Community 11.6.7、MySQL 8.0.42、DBeaver 26.2.4で架空注文を使って行った。
![[第17回] このユーザーは何をしたのか — QueryPieユーザータイムライン](/assets/content/acp-lab-notes/user-timeline/01.webp)
![[第19回] 注文変更後に元の値も確認する — QueryPie DML Snapshot](/assets/content/acp-lab-notes/dml-snapshot/01.webp)