PREPARATION
受験対策

Silverの例題解説「運用管理 - 設定ファイル(pg_hba.conf)」

今回は、Silverの「運用管理 - 設定ファイル(pg_hba.conf)」からの出題です。

例題

1.119

pg_hba.confが以下の内容の時、接続時にパスワードを要求するのはどの場合か。すべて答えなさい。なお、マシンcl1のIPアドレスは192.168.1.10、マシンcl2のIPアドレスは192.168.1.11である。

host db1 u1 192.168.1.10/32 trust
host db2 u2 192.168.1.11/32 md5
host db1 all 192.168.1.0/24 md5
host db2 all 192.168.1.0/24 trust

  1. マシンcl1からユーザu1でデータベースdb1に接続するとき
  2. マシンcl1からユーザu1でデータベースdb2に接続するとき
  3. マシンcl1からユーザu2でデータベースdb1に接続するとき

  4. マシンcl2からユーザu2でデータベースdb1に接続するとき

  5. マシンcl2からユーザu2でデータベースdb2に接続するとき

  6. マシンcl2からユーザu1でデータベースdb2に接続するとき

※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2021年11月2日

解答と解説

PostgreSQLではクライアント認証について、pg_hba.confというファイルで管理しています。hbaはHost-Based Authenticationの略で、ホストごとにどういう認証方式で接続を許可するか(あるいは接続を拒絶するか)を記述します。

TCP/IP経由での接続については、先頭にhost、それに続いてデータベース名、ユーザ名、クライアントのIPアドレス、認証方式をスペースで区切って1行に記述します。データベース名、ユーザ名、IPアドレスでマッチした行があれば(複数ある時は上の行が優先します)その行の認証方式が利用され、マッチする行がなければ接続は拒否されます。

データベース名、ユーザ名とも個別の名前を記述する、複数の名前をカンマで区切って記述する、あるいはすべてを意味するallと記述することができます。IPアドレスはIPv4の単一ホストは /32、複数のホストなら /24 などネットワークを指定します。あるいはホスト名を記述することもできます。

認証方式は、trustならパスワードなどの要求なしに接続許可します。パスワードで認証する場合はmd5と指定します。それ以外の認証方式もいろいろありますが、詳しくはマニュアルを参照してください。

次に例題のpg_hba.confの各設定行を見てみましょう。1行目は、ユーザu1がマシンcl1からデータベースdb1に接続するときは、パスワードなしに接続を許可するものです。2行目はユーザu2がマシンcl2からデータベースdb2に接続するときにパスワードを利用する、というものです。3行目はすべてのユーザについて、マシンcl1とcl2が含まれるネットワークからデータベースdb1に接続するときにパスワードを利用する、というものです。4行目はすべてのユーザについてマシンcl1とcl2が含まれるネットワークからデータベースdb2に接続するときに、パスワードなしに接続を許可するものです。

では、個々の選択肢を見てみましょう。Aは1行目そのものなので、パスワードは不要です。Bは4行目がマッチしますので、これもパスワードは不要です。Cは3行目がマッチするのでパスワードを要求します。Dも3行目がマッチするのでパスワードを要求します。Eは2行目と4行目の両方がマッチしますが、2行目が優先されるのでパスワードを要求します。Fは4行目がマッチするのでパスワードは不要です。

したがって正解はC、D、Eです。

本問は設定方法の理解について確認する問題なので、認証方式にtrustを使っていますが、現実のデータベース運用では、テスト用のデータベースに、特定の環境から接続する場合を除いて、trustを使うことはほとんどないでしょう。セキュリティの設計において重要なポイントとなる可能性があるので、どのような制限ができるのか、正しく理解しておいてください。

今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。

※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

企業の基幹システムや業務システム、AIなどの
新領域での「PostgreSQL」の採用が拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定です

OSS-DBの受験対策について

受験の学習をサポートする情報や対策に役立つ情報をご紹介

サンプル問題/例題解説

例題 のアーカイブを試験ごとにまとめています。OSS-DB技術者認定試験の学習にお役立てください

学習教材・教育機関のご紹介

OSS-DB認定教材や教育機関について詳しくご説明いたします。

無料技術解説セミナー

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

OSS-DB道場

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。