[[DB/PostgreSQL]]

*pg_hba.conf (クライアント認証の設定) [#acd19c5f]

**書式 [#s2e0a99e]
-UNIXドメインソケットの設定
 local [データベース名] [ロール名(ユーザ名)] [認証方式] [オプション]
-TCP/IP接続時の設定
 host  [データベース名] [ロール名(ユーザ名)] [アドレス] [認証方式] [オプション]
 ※hostの代わりに以下も使用可能
 hostssl   <-- SSLで暗号化されている接続の場合
 hostnossl <-- SSLで暗号化されていない接続の場合

***データベース名 [#j9caabc2]
all を指定すると全てのデータベースが対象となります。
***ロール名(ユーザ名) [#rb554062]
all を指定すると全てのロールが対象となります。
***アドレス [#ge2bb3cb]
以下のような指定が可能
 0.0.0.0/0               <-- 全アドレス
 127.0.0.1/32            <-- IPv4の127.0.0.1のみ
 ::1/128                 <-- IPv6の::1のみ
 192.168.0.0/24          <-- IPv4の 192.168.0.0~192.168.0.255
 192.168.0.0 255.255.0.0 <-- IPアドレス サブネットマスクの形式でも良い 
***認証方式 [#aa00d786]
-trust
接続を無条件で許可する。(パスワード無しでログイン可能)
この方式を使っても良いのは、local か、アドレス 127.0.0.1/32 or ::1/128 ぐらい。
&color(red){注意! OSにログイン可能なユーザならアクセスできちゃう可能性があると思ってください。(PostgreSQLのユーザ名なんかは直ぐ分かるので)}
&color(red){注意! OSにログイン可能なユーザならアクセスできちゃう可能性があると思ってください。(PostgreSQLのユーザ名なんかは直ぐ分かるので)};
-reject
接続を無条件で拒否する。
-md5
認証にMD5暗号化パスワードを使用する。
-krb5
認証にKerberos V5を使用する。
-ident, peer
クライアントのOSにおけるユーザ名をクライアント上のidentサーバに問い合わせ、ユーザ名が一致するか検査する。
TCP接続の場合 ident、ローカル接続の場合はpeer認証が使用される。
-ldap
LDAPサーバを使用して認証する。
-radius
RADIUSサーバを使用して認証する。
-cert
SSLクライアント証明を使用して認証する。
-pam
PAMサービスを使用して認証する。
-gss
GSSAPIを使用して認証する。
-sspi
Windowsのみ。SSPIを使用して認証する。
***オプション [#e756e557]
認証方式のオプションを設定する。

**設定例 [#ra374445]
 # UNIX domain socket connections
 local   sandbox     all                               trust
 local   all         all                               ident
 # IPv4 local connections:
 host    sandbox     all         127.0.0.1/32          trust
 host    all         all         127.0.0.1/32          md5
 # IPv6 local connections:
 host    sandbox     all         ::1/128               trust
 host    all         all         ::1/128               md5

**参照 [#qcdf7857]
詳細は、[[PostgreSQLポータルサイト 19.1.pg_hba.confファイル:http://www.postgresql.jp/document/current/html/auth-pg-hba-conf.html]]を参照
トップ   差分 バックアップ リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS