【PostgreSQL】pg_hba.confのmethodに設定する値
pg_hba.confの中身
pg_hba.confの設定値のうちでMETHODについて、
恥ずかしながらよくわからなかったので、調べてまとめました。
# pg_hba.confの設定値(METHOD)について
# TYPE DATABASE USER ADDRESS METHOD
host all all 127.0.0.1/32 md5
METHODに設定できる値
METHODとは、「端末が接続してくる際の認証方式」です。
METHODは次の値から指定できます。
trust , reject , md5 , crypt , password , krb5 , ident , pam
それぞれについては以下の意味があります。
※ 困ったりよくわからない場合は、「md5」を選んでおきましょう。
trust … 全てのホストから、全てのデータベースへの接続を許可する(パスワードなし)。
# 全てのホストから、全てのデータベースへの接続を許可する
host all all 0.0.0.0/0 trust
reject … 接続を拒否する。特定のIP等からの接続を拒否する場合に使用する。
# rejectの例
host all 192.168.0.0 255.255.0.0 trust # 接続を許可するネットワーク
host all 0.0.0.0 0.0.0.0 reject # 上以外は接続を拒否する
md5 … 接続に暗号化したパスワードを使う。パスワードはMD5暗号化を使用する。
crypt … 接続にパスワードを要求する。パスワードはcrypt-暗号化を使用する
password … 接続にパスワードを要求する。パスワードは暗号化されず平文で送信する。
krb5 … Kerberos認証を使う場合に指定します。
ident … Ident認証を使う場合に指定します。
pam … PAM認証を使う場合に指定します。
追記(2021/1/11)
PostgreSQL13から、デフォルト値が「scram-sha-256」というものになっていました。
これは、以前からある md5 認証よりも安全なものですが、
ただし古いバージョンのPostgreSQLでは使用できない点が注意とのことです。ご参考まで。