2011年10月27日木曜日

HBA

どうも、69と申します。

今回はPostgreSQLについてです。
インストールも終わったし、PHPもそろそろデータベースが必要になりそうなので。。

では、いきなりですがタイトルのHBAとは何の略でしょうか?


ググって見ると”HBA ブラック”とか”NPO法人日本ホリスティックビューティ協会”とか出ます。。

しかし、ヒント:PostgreSQL
正解:host-based authentication(ホストベース認証)


PostgreSQLのクライアント認証を行うことです。では、どのファイルで行うか?

データベースクラスタ内のpg_hba.conf 

 というファイルです。データベースクラスタとは?
データベース格納領域のことです。(PostgreSQL設定参照)
PostgreSQL設定ではクラスタとは言っていないですが。。。
書式は

local <database> <user> <auth-method> (<auth-options>)

host <database> <user> <CIDER-address> <auth-method> (<auth-options>)

hostssl <database> <user> <CIDER-address> <auth-method> (<auth-options>)

hostnossl <database> <user> <CIDER-address> <auth-method> (<auth-options>)

host <database> <user> <IP-address> <IP-mask> <auth-method> (<auth-options>)

hostssl <database> <user> <IP-address> <IP-mask> <auth-method> (<auth-options>)

hostnossl <database> <user> <IP-address> <IP-mask> <auth-method> (<auth-options>)


の7つのいずれかです。
最初の”local”,”host”,”hostssl”,”hostnossl”は接続形式です。

”local”はUNIXドメインソケット経由の接続です。
簡単に言うと、同じノード上からの接続です。
でも、実はlocalhost経由だとTCP/IP経由になるんです。。
”host”はTCP/IP経由の接続です。
これは異なるノード同士の接続ですね。

あとはマニュアルの第19章をご覧くださいな!
で、今回言いたいのは、デフォルトでは

localとTCP/IPのlocalhostしか接続を許可されていない

ということです。
自分の今回の環境はWEBサーバもDBサーバも同じノードなので構わないのですが、
別サーバを作る方は要注意です。

0 件のコメント:

コメントを投稿