HBA:Host-based Authentication(ホストベース認証)とは
よくある認証方法は、User-based Authentication(ユーザベース認証)
Facebook や Twitter にログインするときに、自分のユーザIDとパスワードを打ちますよね?
つまり、Facebook や Twitter のサーバでは、
「このユーザIDとパスワードの組み合わせは○○さんだ!ログインを許可します!」
みたいな判断をしています。
ユーザごとにユーザIDを持っていて、そのユーザIDをもとに認証をするので、この認証方法を
User-based Authentication(ユーザベース認証)といいます。
それに対してHost-based Authentication(ホストベース認証)は
ユーザベース認証ではなく、接続してきたマシン(ホスト)を見て、
「あっ、このマシンからの接続要求なら接続OKですよ」
みたいな認証方法が、Host-based Authentication(ホストベース認証)です。
つまり、AさんだろうがBさんだろうが、中の人は関係なくて、
「そのマシンからアクセスしてきてるならOK!」
とか、
「このマシンは知らないなぁ。接続NG!」
とか、マシン(ホスト)をもとに判断を下すわけです。
だからサーバ側では、「アクセスしてきてOKなホストのリスト」を持っています。
HBAの例
PostgreSQLの設定ファイルの一種に、pg_hba.conf があります。
この pg_hba.conf の hba は Host-based Authentication(ホストベース認証)の略です。
つまり、PostgreSQLでHBAを実現するための設定ファイルということになります。