A little bit of everything

情報系大学院生の備忘録

HBA:Host-based Authentication(ホストベース認証)とは

よくある認証方法は、User-based Authentication(ユーザベース認証)

FacebookTwitter にログインするときに、自分のユーザIDとパスワードを打ちますよね?
つまり、FacebookTwitter のサーバでは、
「このユーザ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を実現するための設定ファイルということになります。