[[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]]を参照