リソース

/

ACP 実習ノート

[第41回] 参照用・作業用権限へ異なるDBアカウントを接続する

DBアクセス制御

2026年11月13日

注文確認者には参照だけ、状態変更者には必要な変更権限というようにDBアカウントを分けることがある。

 

今回は分けたDBアカウントをQueryPieの権限へ接続した。 Advanced Privilegeでは同じ接続でも権限別アカウントを指定できる。実際に変わるかと監査を確認した。

 

参照用と作業用を用意する

実習テーブル用に二つのアカウントを作った。 ep41_readerにはSELECTだけ、 ep41_operatorにはSELECT・UPDATEを付与した。41001はREADY、25000.00とした。

 

管理者画面の Databases → General → ConfigurationsでAdvanced Privilege Settingを有効にし、新規の DB Privilege Account Lab 接続のPrivilege Settingを開いた。

 

画面1. Advanced Privilege Settingで権限別設定を開始した。
画面1. Advanced Privilege Settingで権限別設定を開始した。

Read-Onlyはep41_reader、Read/Writeはep41_operatorを指定し、両方のTest Connection成功を確認して保存した。一接続内で区別が明確になった。

 

画面2. 二つのQueryPie権限に異なるDBアカウントを接続した。
画面2. 二つのQueryPie権限に異なるDBアカウントを接続した。

既存の用途別アカウントを引き継げる。管理者が対応を定め、利用者へ業務に合う権限を与える方式だ。

 

参照権限では参照アカウントが使われる

まずRead-Onlyを与えた。利用者側も確認でき、DBパスワードを入力せずConnectで開けた。

 

画面3. 利用者に接続とRead-Onlyが表示された。
画面3. 利用者に接続とRead-Onlyが表示された。

注文参照とともに CURRENT_USER()を確認した。MySQLの認証アカウントを示し、結果は ep41_reader@%で、状態と金額も準備どおりだった。

 

画面4. Read-Onlyの実DBアカウントはep41_readerだった。
画面4. Read-Onlyの実DBアカウントはep41_readerだった。

権限名だけでなく実アカウントまで見ると反映が明確だった。

 

作業権限に変えて再接続するとアカウントが変わる

切断後、同じ利用者の権限を Read/Writeにした。再接続して同SQLを使うとアカウントは ep41_operator@%へ変わった。

 

画面5. Read/Writeで新規接続すると作業用が使われた。
画面5. Read/Writeで新規接続すると作業用が使われた。

同じ接続でも付与権限でアカウントが変わり、両方のパスワードを配る必要がない点が便利だった。

 

続いて41001の状態を READYからCHECKEDへ変更した。1 Rows updatedで、再参照はCHECKED、金額25000.00は不変だった。

 

画面6. 作業アカウントで1件変更し結果を確認した。
画面6. 作業アカウントで1件変更し結果を確認した。

利用者と実DBアカウントが一緒に残る

管理者画面の DB Access HistoryにはDemo Developer、Read/Write、ep41_operatorがあり、以前の参照はRead-Only・ep41_readerだった。

 

画面7. 接続履歴で人・QueryPie権限・DBアカウントを確認した。
画面7. 接続履歴で人・QueryPie権限・DBアカウントを確認した。

Query AuditではUPDATE成功、人、時刻、Read/Write、Web Editorを確認した。

 

画面8. UPDATE監査に人、権限、成功が残った。
画面8. UPDATE監査に人、権限、成功が残った。

下部にはDB User、テーブル、SQLもあり、 誰がどの権限・DBアカウントで何のSQLを実行したか を続けて確認できた。

 

画面9. 作業用アカウントと41001の変更SQLを同じ記録で確認した。
画面9. 作業用アカウントと41001の変更SQLを同じ記録で確認した。

従来のアカウント分離を権限管理へつなげる

会社のDB運用とQueryPie権限を自然につなげ、参照・作業の分離を保ちながら担当業務へ適用できる点がよかった。

 

利用者は指定接続を使い、管理者は権限とアカウントをまとめる。実利用者と操作が監査へつながり、 分離の理由が接続・作業履歴にも明確に表れた。

 

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

 

参考: Databases Configurations · DB Connections