Chapter 8. セキュリティ

Table of Contents
ユーザ認証
ユーザ名とグループ
アクセス制御
関数とルール

データベースのセキュリティは幾つかのレベルで行なえます:

ユーザ認証

認証は、バックエンド・サーバと postmasterが、ユーザのリクエストしているデー タへのアクセスが、実際にそのユーザに対して許されているかどうかを確かめる プロセスです。 Postgresを起動するすべてのユーザは、 pg_user クラスの内容と照合され、ユーザがそれぞれ行 なおうとしていることが承認されていることを確認されます。しかし、そのユー ザの実際の身元の証明は色々な方法で行なわれます:

ユーザシェルから

ユーザシェルから走らされるバックエンドサーバは、ユーザ postgres のユーザ-id へ setuidする前に、ユーザの(有効な)ユーザ-id を控 えておきます。有効なユーザ-id はアクセス制御の確認の基として使われます。 それ以外の認証は行なわれません。

ネットワークから

もし、その Postgres システムが分散 利用できるように構築されていれば、誰でも postmaster プロセスのインターネット TCP ポー トへアクセスできます。そこで DBA は、 PGDATA ディレクトリの pg_hba.conf ファイルに構成を記述して、接続を行なうホストと接続するデータベータベー ス毎に、どの認証システムを使うかを指定します。 利用できる認証システムについては pg_hba.conf(5) を参照して下さい。もちろん、Unixにおけるホストベースの認証はいずれも完璧 ではありません。確信をもった侵入者がべつのホストに成り済ますことが出来ます。 これらのセキュリティの問題は Postgres の 範疇外です。