CHAPTER 07読む目安 10分誰が触るのか、クラウド、権限と運用

現場でのPostgreSQL

この章のゴール:実際の会社でPostgreSQLが誰にどう使われているか、クラウドとの関係、権限の考え方をイメージできる。

データベースは「見えない場所」で動いている

ここまで学んだ仕組みは、実際の会社ではどこにあって、誰が触っているのでしょうか。この章では、みなと文具のような会社でPostgreSQLがどう使われているかを、人と場所の観点から見ていきます。

まず押さえたいのは、ほとんどの社員はPostgreSQLを直接触らないということです。販売管理システムや会計システムの画面を操作すると、その裏側でシステムがSQLを組み立ててサーバーに送り、結果を画面に表示しています。利用者から見れば、データベースは完全に裏方です。

PostgreSQL みなと文具のデータ 業務システム(販売管理・在庫・請求) 営業・倉庫・経理の社員が画面から使う SQLを自動で送る システム部門 開発者:テーブル設計・SQLを書く DB管理者:権限・バックアップ・ 性能の面倒を見る 帳票・BIツール 売上一覧、未入金一覧、 月次の集計グラフなど 経理・経営層が見る(読み取り専用) 会計ソフトへの連携 CSVや仕訳データとして出力 バックアップ保管先 毎晩の複製と変更の記録簿
図7-1 会社の中でのPostgreSQLの位置。直接触るのはシステム部門だけで、他の社員は業務システムや帳票ツールを通して間接的に使っています。経理の仕事に関係するのは、右と下の部分です。

誰が、どう関わるのか

立場PostgreSQLとの関わり
開発者テーブルを設計し、業務システムが送るSQLを書く。第4章・第5章の内容が日常業務
DB管理者(DBA)サーバーの設定、ユーザーと権限の管理、バックアップ、性能の監視。第6章の仕組みを「運用」する人
一般の社員業務システムの画面を通して、知らないうちに読み書きしている
経理・経営層帳票やBIツールで集計結果を見る。CSVに出して会計ソフトに取り込むこともある
監査人「誰がデータを変更できるか」「変更の記録は残るか」「バックアップは戻せるか」を確認する

どこで動いているのか:自社サーバーとクラウド

PostgreSQLが動くコンピューターの置き場所は、大きく2つあります。

自社で持つ(オンプレミス)

会社のサーバー室やデータセンターに自前の機械を置き、そこにPostgreSQLを入れて動かす方法。機械の購入・保守・故障対応・バックアップまで、すべて自社(またはシステム会社)の責任で行います。

クラウドで借りる(マネージドサービス)

Amazon(Amazon RDS / Aurora)、Google(Cloud SQL)、Microsoft(Azure Database for PostgreSQL)などのクラウド事業者が、「PostgreSQLを運用込みで貸す」サービスを提供しています。機械の管理、ソフトの更新、バックアップの取得などを事業者側が担い、利用者は使った分だけ月額で支払います。

第2章で「ソフトは無料だが、動かす場所と運用の手間はかかる」と説明しました。クラウドのマネージドサービスは、まさにその「場所と手間」をお金で買うものです。近年の新しいシステムはこちらが主流になっています。

経理が確認したいこと

クラウドのデータベース費用は、使った時間や容量で変動する「従量課金」です。月々の請求が何に対して発生しているか(稼働時間・保存容量・バックアップ容量・通信量など)を把握しておくと、費用の妥当性を判断しやすくなります。

権限:誰に何を許すか

第3章で、つなぐときに「ユーザー名とパスワード」が必要だと説明しました。PostgreSQLでは、ユーザー(正確にはロールと呼びます)ごとに「どのテーブルを読めるか」「書き換えられるか」を細かく決められます。

-- 帳票ツール用のロールを作り、読み取りだけを許す
CREATE ROLE report_user LOGIN PASSWORD '********';
GRANT SELECT ON customers, invoices TO report_user;   -- SELECTだけ。UPDATEやDELETEは不可

現場で守られている基本的な考え方は次の3つです。

  • 最小権限:必要な操作だけを許す。帳票を見るだけの人に書き換えの権限は与えない。
  • 本番データを直接いじらない:データの修正は業務システムの画面か、手順の決まった作業として行う。管理者が本番に直接SQLを打つのは最後の手段で、記録を残す。
  • 記録を残す:誰がいつ何を変えたかのログを取り、後から追えるようにする。

これらは、経理の業務でいう「職務分掌」や「承認の記録」と同じ発想です。データベースの権限設計は、内部統制の一部だと言ってよいでしょう。

この章のまとめ

  1. ほとんどの社員はPostgreSQLを直接触らず、業務システムや帳票ツールを通して間接的に使っている。直接触るのはシステム部門。
  2. 動かす場所は、自社サーバー(オンプレミス)か、クラウドの運用込みサービス(マネージドサービス)。近年はクラウドが主流。
  3. ロールごとに権限を細かく決められる。最小権限・本番を直接いじらない・記録を残す、が現場の基本。

確認クイズ

Q1クラウドの「PostgreSQLマネージドサービス」で支払っているお金は、主に何の代金ですか。

Q2帳票ツールが使うロールに与える権限として、現場の基本に沿っているものはどれですか。

Q3営業担当者が販売管理システムの画面で受注を登録したとき、PostgreSQLとの関係はどうなっていますか。