読者です 読者をやめる 読者になる 読者になる

A little bit of everything

情報系大学院生の備忘録

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

概要

ざっくりいうと

「特定のマシン(ホスト)からの接続要求だったら、誰であろうと接続OKですよ」という認証方法。

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

よくあるサーバ&クライアントシステムでは、
「Aさんからの接続要求だったら接続OKですよ」
みたいな認証をしています。

つまり、サーバに接続するときにあユーザIDとパスワードを打ってもらって、「このユーザIDの人(ユーザ)なら接続OK!」という感じです。
ユーザごとにユーザ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を実現するための設定ファイルということになります。