<!-- doc/src/sgml/client-auth.sgml -->

<chapter id="client-authentication">
<!--
 <title>Client Authentication</title>
-->
 <title>クライアント認証</title>

 <indexterm zone="client-authentication">
<!--
  <primary>client authentication</primary>
-->
  <primary>クライアント認証</primary>
 </indexterm>

 <para>
<!--
  Since <productname>Pgpool-II</productname> is a middleware that works between
  <productname>PostgreSQL</> servers and a <productname>PostgreSQL</> database client, so when a client application
  connects to the <productname>Pgpool-II</productname>, <productname>Pgpool-II</productname>
  inturn connects to the <productname>PostgreSQL</> servers using the same credentials to serve the incomming
  client connection. Thus, all the access privileges and restrictions defined for the user in <productname>PostgreSQL</>
  gets automatically applied to all <productname>Pgpool-II</productname> clients, with an exceptions of
  the authentications on <productname>PostgreSQL</> side that depends on the client's IP addresses or hostnames.
  Reason being the connections to the <productname>PostgreSQL</> server are made by <productname>Pgpool-II</productname>
  on behalf of the connecting clients and <productname>PostgreSQL</> server can only see the IP address of the
  <productname>Pgpool-II</productname> server and not that of the actual client.
  Therefore, for the client host based authentications <productname>Pgpool-II</productname> has the
  <literal>pool_hba</literal> mechanism similar to the <literal>pg_hba</literal> mechanism for
  authenticating the incomming client connections.
-->
<productname>Pgpool-II</productname>は<productname>PostgreSQL</>サーバと<productname>PostgreSQL</>データベースクライアントの間で動作するミドルウェアであるため、クライアントアプリケーションが<productname>Pgpool-II</productname>に接続したときには、今度は<productname>Pgpool-II</productname>がクライアントが提供したのと同じ認証情報を使って<productname>PostgreSQL</>サーバに接続します。
したがって、<productname>PostgreSQL</>のユーザに対し定義された全てのアクセス権限と制約が、自動的に全ての<productname>Pgpool-II</productname>クライアントに適用されます。
例外はクライアントのIPアドレスやホスト名に依存する<productname>PostgreSQL</>側での認証です。
それは、<productname>PostgreSQL</>サーバへの接続は<productname>Pgpool-II</productname>によって作られ、<productname>PostgreSQL</>サーバは実際のクライアントではなく<productname>Pgpool-II</productname>のIPアドレスしか見ることができないからです。
このため、クライアントホストに基づく認証のため、<productname>Pgpool-II</productname>は<literal>pg_hba</literal>と同様にクライアント接続の認証処理を行う<literal>pool_hba</literal>のメカニズムを持っています。
 </para>

 <sect1 id="auth-pool-hba-conf">
<!--
  <title>The <filename>pool_hba.conf</filename> File</title>
-->
  <title><filename>pool_hba.conf</filename>ファイル</title>

  <indexterm zone="auth-pool-hba-conf">
   <primary>pool_hba.conf</primary>
  </indexterm>

  <para>
<!--
  Just like the <filename>pg_hba.conf</filename> file for <productname>PostgreSQL</>,
  <productname>Pgpool-II</productname> supports a similar client authentication
  function using a configuration file called <filename>pool_hba.conf</filename>.
  <productname>Pgpool-II</productname> installation also includes the sample
  <filename>pool_hba.conf.sample</filename> file in the default configuration directory
  (<literal>"/usr/local/etc"</literal>).
  By default, pool_hba authentication is disabled, and setting <varname>enable_pool_hba</varname>
  to <literal>on</literal> enables it. see the <xref linkend="guc-enable-pool-hba"> configuration parameter.
-->
<productname>PostgreSQL</>の<filename>pg_hba.conf</filename>と同じよう<productname>Pgpool-II</productname>でも<filename>pool_hba.conf</filename>とよばれる設定ファイルを使った同様のクライアント認証機能をサポートしています。
<productname>Pgpool-II</productname>インストールするとデフォルトインストール先の設定ファイルディレクトリ（<literal>"/usr/local/etc"</literal>）にサンプルの<filename>pool_hba.conf.sample</filename>が含まれています。
デフォルトではpool_hbaによる認証は無効になっており、<varname>enable_pool_hba</varname>を<literal>on</literal>に設定することで有効になります。
<xref linkend="guc-enable-pool-hba">設定パラメータをご覧ください。
  </para>

  <para>
<!--
   The format of the <filename>pool_hba.conf</filename> file follows very closely <productname>PostgreSQL</>'s <filename>pg_hba.conf</filename> format.

   The general format of the <filename>pool_hba.conf</filename> file is
   a set of records, one per line. Blank lines are ignored, as is any
   text after the <literal>#</literal> comment character.
   Records cannot be continued across lines.
   A record is made
   up of a number of fields which are separated by spaces and/or tabs.
   Fields can contain white space if the field value is double-quoted.
   Quoting one of the keywords in a database, user, or address field (e.g.,
   <literal>all</> or <literal>replication</>) makes the word lose its special
   meaning, and just match a database, user, or host with that name.
-->
<filename>pool_hba.conf</filename>のフォーマットは<productname>PostgreSQL</>の<filename>pg_hba.conf</filename>のものとほとんど同じです。
<filename>pool_hba.conf</filename>ファイルの一般的な書式は、1行につき1つのレコードというレコードの集合です。
空行はコメント用の<literal>#</literal>文字以降の文字と同じく無視されます。
レコードは行をまたいで続けることはできません。
レコードはスペースもしくはタブ、もしくはその両方で区切られた、複数のフィールドで構成されています。
フィールドには、フィールド値が二重引用符付きの場合空白文字を含むことができます。
データベース、ユーザもしくはアドレスフィールド内のキーワード(例：<literal>all</>または<literal>replication</>)の一つを引用するとその特別な意味が失われ、その名称のデータベース、ユーザもしくはホストと一致するようになります。
  </para>

  <para>
<!--
   Each record specifies a connection type, a client IP address range
   (if relevant for the connection type), a database name, a user name,
   and the authentication method to be used for connections matching
   these parameters. The first record with a matching connection type,
   client address, requested database, and user name is used to perform
   authentication. There is no <quote>fall-through</> or
   <quote>backup</>: if one record is chosen and the authentication
   fails, subsequent records are not considered. If no record matches,
   access is denied.
-->
それぞれのレコードは接続形式、（接続形式に対して意味を持つのであれば）クライアントのIPアドレス範囲、データベースの名前、ユーザ名およびこれらのパラメータに一致する接続で使用される認証方法を指定します。
接続形式、クライアントアドレス、要求されたデータベース、およびユーザ名に一致する最初のレコードが認証処理に使用されます。
「失敗時の継続」や、 あるいは「バックアップ」はありません。
これは、もしあるレコードが選択されて認証に失敗した場合、後続のレコードは考慮されないということです。
どのレコードも一致しない時はアクセスが拒否されます。
  </para>

  <para>
<!--
   A record can have one of the following formats
-->
レコードは以下の書式のうちの1つの形式を取ります。
<synopsis>
local      <replaceable>database</replaceable>  <replaceable>user</replaceable>  <replaceable>auth-method</replaceable>  <optional><replaceable>auth-options</replaceable></optional>
host       <replaceable>database</replaceable>  <replaceable>user</replaceable>  <replaceable>CIDR-address</replaceable>  <replaceable>auth-method</replaceable>  <optional><replaceable>auth-options</replaceable></optional>
</synopsis>
<!--
   The meaning of the fields is as follows:
-->
フィールドの意味は以下のようになっています。

   <variablelist>
    <varlistentry>
     <term><literal>local</literal></term>
     <listitem>
      <para>
<!--
       This record matches connection attempts using Unix-domain
       sockets.  Without a record of this type, Unix-domain socket
       connections are disallowed.
-->
このレコードはUnixドメインソケットを使用する接続に対応します。
この種類のレコードを使用しないと、Unixドメインソケット経由の接続は拒否されます
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term><literal>host</literal></term>
     <listitem>
      <para>
<!--
       This record matches connection attempts made using TCP/IP.
       <literal>host</literal> records match either
       <acronym>SSL</acronym> or non-<acronym>SSL</acronym> connection
       attempts.
-->
このレコードは、TCP/IPを使用した接続に対応します。
<literal>host</literal>レコードは、<acronym>SSL</acronym>もしくは非<acronym>SSL</acronym>接続のいずれかに対応します。
      </para>
     <note>
      <para>
<!--
       Remote TCP/IP connections will not be possible unless
       the server is started with an appropriate value for the
       <xref linkend="guc-listen-addresses"> configuration parameter,
       since the default behavior is to listen for TCP/IP connections
       only on the local loopback address <literal>localhost</>.
-->
サーバのデフォルトの動作は、ローカルループバックアドレスである<literal>localhost</literal>のみTCP/IP接続を監視しています。
よってサーバにおいて<xref linkend="guc-listen-addresses">パラメータが適切な値に設定された状態で起動されていない限り、リモートのTCP/IP接続はできません。
      </para>
     </note>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term><replaceable>database</replaceable></term>
     <listitem>
      <para>
<!--
       Specifies which database name(s) this record matches.  The value
       <literal>all</literal> specifies that it matches all databases.
-->
このレコードで対応するデータベース名を指定します。
<literal>all</literal>という値は、全てのデータベースと対応することを指定します。
      <note>
       <para>
<!--
       <literal>"samegroup"</literal> for database field is not supported:
-->
databaseフィールド値として<literal>"samegroup"</literal>はサポートされません
       </para>
       <para>
<!--
        Since <productname>Pgpool-II</productname> does not know anything about
        users in the <productname>PostgreSQL</> backend server, the database name is simply
        compared against the entries in the database field of <filename>pool_hba.conf</filename>.
-->
<productname>Pgpool-II</productname>は<productname>PostgreSQL</>バックエンドサーバにあるユーザ情報を事前に知る事ができないため、データベース名は<filename>pool_hba.conf</filename>にあるdatabaseフィールドの項目のみと比較されます。
       </para>
      </note>
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term><replaceable>user</replaceable></term>
     <listitem>
      <para>
<!--
       Specifies which database user name(s) this record
       matches. The value <literal>all</literal> specifies that it
       matches all users.  Otherwise, this is the name of a specific
       database user
-->
このレコードで対応するデータベースユーザ名を指定します。
<literal>all</literal>という値は、全てのユーザが対応することを指定します。
それ以外の場合には特定のデータベースユーザの名前となります。
       <note>
       <para>
<!--
       group names following <literal>"+"</literal> for user field is not supported:
-->
userフィールド値として"+"を使ったグループ指定はサポートされません

       </para>
       <para>
<!--
       This is for the same reason as for the <literal>"samegroup"</literal> of database field.
       A user name is simply checked against the entries in the user field of
       <filename>pool_hba.conf</filename>.
-->
上記の<literal>"samegroup"</literal>と同じ理由で、ユーザ名は単純に<filename>pool_hba.conf</filename>にあるuserフィールドの項目のみ対してチェックされます。
       </para>
      </note>
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term><replaceable>address</replaceable></term>
     <listitem>
      <para>
<!--
       Specifies the client machine address(es) that this record matches.
       An IP address range is specified using standard numeric notation
       for the range's starting address, then a slash (<literal>/</literal>)
       and a <acronym>CIDR</> mask length.  The mask
       length indicates the number of high-order bits of the client
       IP address that must match.  Bits to the right of this should
       be zero in the given IP address.
       There must not be any white space between the IP address, the
       <literal>/</literal>, and the CIDR mask length.
-->
このレコードに対応しているクライアントマシンのアドレスを指定します。
IPアドレスの範囲は、範囲の開始アドレス、続いてスラッシュ(<literal>/</literal>)と<acronym>CIDR</>マスクの長さという標準の数値表記で指定されます。
CIDRマスク長とは、クライアントIPアドレスが一致しなければならない、高位のビット数を表すものです。
指定するIPアドレスのこれより右側のビットには、0を指定しなければなりません。
IPアドレスと<literal>/</literal>、およびCIDRマスク長の間には空白を入れてはいけません。
       <note>
       <para>
<!--
       Pv6 IP address/mask is currently not supported
-->
現在、IPv6アドレス/マスク表記法はサポートされません
       </para>
       </note>
      </para>

      <para>
<!--
       This field only applies to <literal>host</literal> records.
-->
このフィールドは<literal>host</literal>レコードにのみ適用されます。
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term><replaceable>auth-method</replaceable></term>
     <listitem>
      <para>
<!--
       Specifies the authentication method to use when a connection matches
       this record. The possible choices are summarized here; details
       are in <xref linkend="auth-methods">.
-->
接続がこのレコードに一致する場合に使用する認証方式を指定します。
使用できる選択肢は以下にまとめていますが、詳しく<xref linkend="auth-methods">を参照してください。

       <variablelist>
        <varlistentry>
         <term><literal>trust</></term>
         <listitem>
         <para>
<!--
          Allow the connection unconditionally. This method
          allows anyone that can connect to the
          <productname>Pgpool-II</productname>.
-->
接続を無条件で許可します。
この方式は、<productname>Pgpool-II</productname>に接続できる全てのユーザを許可します。
         </para>
        </listitem>
       </varlistentry>

       <varlistentry>
        <term><literal>reject</></term>
        <listitem>
         <para>
<!--
          Reject the connection unconditionally. This is useful for
          <quote>filtering out</> certain hosts, for example a
          <literal>reject</> line could block a specific host from connecting.
-->
接続を無条件に拒否します。
特定のホストをあるグループから「除外」するために便利です。
例えば、1行の<literal>reject</literal>は特定のホストが接続することを拒否します。
         </para>
        </listitem>
       </varlistentry>

       <varlistentry>
        <term><literal>md5</></term>
        <listitem>
         <para>
<!--
          Require the client to supply a double-MD5-hashed password for
          authentication.
-->
クライアントに対して認証時に二重MD5ハッシュ化パスワードを要求します。

        <note>
        <para>
<!--
         To use <literal>md5</literal> authentication, you need to register
         the user name and password in <filename>"pool_passwd"</filename>.
         See <xref linkend="auth-md5"> for more details.
-->
<literal>md5</literal>認証を使うには、ユーザ名とパスワードを<filename>pool_passwd</filename>というパスワードファイルに登録する必要があります。
詳細は<xref linkend="auth-md5">を参照してください。
         </para>
        </note>
         </para>
        </listitem>
       </varlistentry>

       <varlistentry>
        <term><literal>pam</></term>
        <listitem>
         <para>
<!--
          Authenticate using the Pluggable Authentication Modules
          (PAM) service provided by the operating system.
          See <xref linkend="auth-pam"> for details.
-->
オペレーティングシステムによって提供されるPAM（Pluggable Authentication Modules）サービスを使用した認証です。
詳細は<xref linkend="auth-pam">を参照してください
         </para>
         <para>
<!--
         PAM authentication is supported using user information on the host
         where <productname>Pgpool-II</productname> is running.
         To enable PAM support the <productname>Pgpool-II</productname>
         must be configured with <command>"&#045;&#045;with-pam"</command>
-->
<productname>Pgpool-II</productname>が稼働するホスト上のユーザ情報を使ったPAM認証を利用することができます。
PAMサポートを有効にするには、<productname>Pgpool-II</productname>が<command>"--with-pam"</command>をつけてconfigureされていなければなりません。
         </para>
         <para>
<!--
         To enable PAM authentication, you must create a service-configuration file
         for <productname>Pgpool-II</productname> in the system's PAM configuration
         directory (that is usually located at <literal>"/etc/pam.d"</literal>).
         A sample service-configuration file is also installed as <literal>"share/pgpool.pam"</literal>
         under the install directory.
-->
PAM認証を有効にするには、<productname>Pgpool-II</productname>のサービス設定ファイルをシステムのPAM設定ディレクトリ（通常は<literal>"/etc/pam.d"</literal>にあります）に作成しなければなりません。
サービス設定ファイルのサンプルはインストールディレクトリ下に<literal>"share/pgpool.pam"</literal>としてインストールされています。
         </para>
        </listitem>
       </varlistentry>
      </variablelist>

      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term><replaceable>auth-options</replaceable></term>
     <listitem>
      <para>
<!--
       After the <replaceable>auth-method</> field, there can be field(s) of
       the form <replaceable>name</><literal>=</><replaceable>value</> that
       specify options for the authentication method.
-->
<replaceable>auth-method</>フィールドの後ろに、認証方式のオプションを指定する、<replaceable>name</>=<replaceable>value</>の形式のフィールドが存在する可能性があります。
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>

  <para>
<!--
   Since the <filename>pool_hba.conf</filename> records are examined
   sequentially for each connection attempt, the order of the records is
   significant. Typically, earlier records will have tight connection
   match parameters and weaker authentication methods, while later
   records will have looser match parameters and stronger authentication
   methods. For example, one might wish to use <literal>trust</>
   authentication for local TCP/IP connections but require a password for
   remote TCP/IP connections. In this case a record specifying
   <literal>trust</> authentication for connections from 127.0.0.1 would
   appear before a record specifying password authentication for a wider
   range of allowed client IP addresses.
-->
<filename>pool_hba.conf</filename>レコードは接続が試みられる度に順番に検査されますので、レコードの順序はとても大切です。
典型的には、始めの方のレコードには厳しい接続照合パラメータと緩い認証方式があるのに対し、終わりの方のレコードにはより緩い照合パラメータとより厳しい認証方式があります。
例えば、ローカルTCP接続では<literal>trust</>認証方式、リモートTCP接続に対してはパスワードを要求したいとします。
この場合、広範囲にわたって許可されるクライアントのIPアドレスに対するパスワード認証を指定するレコードの前に127.0.0.1からの接続に対する<literal>trust</>認証指定のレコードが置かれなければなりません。
  </para>

  <tip>
    <para>
<!--
        All pool_hba authentication options described in this section are
        about the authentication taking place between a client and the
        <productname>Pgpool-II</productname>.
        A client still has to go through the <productname>PostgreSQL</>'s authentication
        process and must have the <literal>CONNECT</> privilege for the
        database on the backend <productname>PostgreSQL</> server.
-->
ここで説明された全てのpool_hba認証のオプションはクライアントと<productname>Pgpool-II</productname>の間についてだということに注意してください。
クラインアントは依然として、<productname>PostgreSQL</>による認証を通過しなければなりませんし、バックエンド<productname>PostgreSQL</>サーバ上のデータベースに対して<literal>CONNECT</>権限を持っていなければなりません。
    </para>
    <para>
<!--
        As far as pool_hba is concerned, it does not matter if a user name
        and/or database name given by a client
        (i.e. <command>psql -U testuser testdb</command>)
        really exists in the backend. pool_hba only cares if a match in the
        <filename>pool_hba.conf</filename> can be found or not.
-->
pool_hbaにとってはクライアントに指定されたユーザ名やデータベース名(例. psql -U testuser testdb)が実際にバックエンド上に存在するかどうかは問題ではありません。
pool_hbaは<filename>pool_hba.conf</filename>の値とマッチするかどうかのみを気にします。
    </para>
  </tip>

  <para>
   Some examples of <filename>pool_hba.conf</filename> entries are below.
   See the next section for details on the different authentication methods.
<filename>pool_hba.conf</filename>ファイルの例をいくつか以下に示します。
各種認証方式の詳細については次の節をご覧ください。
  </para>

   <example id="example-pg-hba.conf">
<!--
    <title>Example <filename>pool_hba.conf</filename> Entries</title>
-->
    <title><filename>pool_hba.conf</filename>の項目の例</title>
<programlisting>
# Allow any user on the local system to connect to any database with
# any database user name using Unix-domain sockets (the default for local
# connections).
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             all                                     trust

# The same using local loopback TCP/IP connections.
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             127.0.0.1/32            trust

# Allow any user from host 192.168.12.10 to connect to database
# "postgres" if the user's password is correctly supplied.
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    postgres        all             192.168.12.10/32        md5
</programlisting>
   </example>
 </sect1>

 <sect1 id="auth-methods">
<!--
  <title>Authentication Methods</title>
-->
  <title>認証方式</title>
  <para>
<!--
   The following subsections describe the authentication methods in more detail.
-->
以下の小節では、認証方式について詳細に説明します。
  </para>

  <sect2 id="auth-trust">
<!--
   <title>Trust Authentication</title>
-->
   <title>trust認証</title>

   <para>
<!--
    When <literal>trust</> authentication is specified,
    <productname>Pgpool-II</productname> assumes that anyone who can
    connect to the server is authorized to access connect with
    whatever database user name they specify.
-->
<literal>trust</literal>認証が指定されると<productname>Pgpool-II</productname>は、サーバに接続できる全ての人に対してその人が指定する任意のデータベースユーザ名としてのアクセス権限が付与されていると想定します
   </para>
  </sect2>

  <sect2 id="auth-md5">
<!--
   <title>MD5 Password Authentication</title>
-->
   <title>MD5パスワード認証</title>

   <indexterm>
    <primary>MD5</>
   </indexterm>

   <para>
<!--
    This authentication method is the password-based authentication
    methods in which MD-5-hashed password is sent by client.
    Since <productname>Pgpool-II</productname> does not has the visibility
    of <productname>PostgreSQL</>'s database user password and client application only sends
    the MD5-hash of the password, so <literal>md5</literal> authentication
    in <productname>Pgpool-II</productname> is supported using the
    <xref linkend="guc-pool-passwd"> authentication file.
-->
この認証方法はMD-5ハッシュ化されたパスワードがクライアントから送信されるパスワードベースの認証方法です。
<productname>Pgpool-II</productname>は<productname>PostgreSQL</>データベースユーザパスワードを見ることができず、クライアントプリケーションはMD5ハッシュ化されたパスワードを送るのみです。
そのため、<productname>Pgpool-II</productname>の<literal>md5</literal>認証は<xref linkend="guc-pool-passwd">認証ファイルを使ってサポートしています。
   </para>

    <sect3 id="md5-authentication-file-format">
<!--
    <title>Authentication file format</title>
-->
    <title>認証ファイル形式</title>

    <para>
<!--
        This <literal>pool_passwd</literal> file should contain lines in the following format:
-->
        <literal>pool_passwd</literal>ファイルは以下の形式の行を含みます。
    <programlisting>
        "username:encrypted_passwd"
    </programlisting>
    </para>
    </sect3>

    <sect3 id="setting-md5-authentication">
<!--
    <title>Setting md5 Authentication</title>
-->
    <title>md5認証の設定</title>
    <indexterm zone="setting-md5-authentication">
        <primary>MD5</primary>
    </indexterm>

    <para>
<!--
        here are the steps to enable <literal>md5</literal> authentication:
-->
以下が<literal>md5</literal>認証を有効にする手順です。
    </para>
    <para>
<!--
        1- Login as the database's operating system user and type
        <command>"pg_md5 &#045;&#045;md5auth &#045;&#045;username= "</command>
        user name and <literal>md5</literal> encrypted password are registered
        into pool_passwd.
        If pool_passwd does not exist yet, pg_md5 command will automatically create it for you.
-->
1. データベースのOSユーザとしてログインしてンし、<command>"pg_md5 --md5auth --username=ユーザ名"</command> を実行します。
pool_passwdがまだ存在していなかった場合は、pg_md5コマンドが自動的にこれを生成します。
        <note>
        <para>
<!--
        user name and password must be identical to those registered in <productname>PostgreSQL</> server
-->
ユーザ名とパスワードは、<productname>PostgreSQL</>に登録したものと完全に同じでなければなりません。
        </para>
        </note>
    </para>

    <para>
<!--
        2- Add an appropriate md5 entry to <filename>pool_hba.conf</filename>.
        See <xref linkend="auth-pool-hba-conf"> for more details.
-->
2. <filename>pool_hba.conf</filename>にmd5認証のエントリを作成します。
詳細については<xref linkend="auth-pool-hba-conf">を参照してください。
    </para>
    <para>
<!--
        3- After changing md5 password(in both pool_passwd and <productname>PostgreSQL</> of course),
        reload the <productname>Pgpool-II</> configurations.
-->
3. （もちろんpool_passwdと<productname>PostgreSQL</>の両方で）のmd5パスワードを変更したら、<productname>Pgpool-II</>設定の再読み込みを実行してください。
    </para>
    </sect3>

  </sect2>

  <sect2 id="auth-pam">
<!--
   <title>PAM Authentication</title>
-->
   <title>PAM認証</title>

   <indexterm zone="auth-pam">
    <primary>PAM</primary>
   </indexterm>

   <para>
<!--
    This authentication method uses PAM (Pluggable
    Authentication Modules) as the authentication mechanism. The
    default PAM service name is <literal>pgpool</literal>.
    PAM authentication is supported using user information on
    the host where <productname>Pgpool-II</productname> is executed.
    For more
    information about PAM, please read the
    <ulink url="http://www.kernel.org/pub/linux/libs/pam/">
    <productname>Linux-PAM</> Page</ulink>.
-->
この認証方式は認証機構としてPAM（Pluggable Authentication Modules）を使用します。
デフォルトのPAMサービス名は<literal>pgpool</literal>です。
<productname>Pgpool-II</productname>が稼働するホスト上のユーザ情報を使ったPAM認証を利用することができます。
PAMについての詳細は<ulink url="http://www.kernal.org/pub/linux/libs/pam/">Linux-PAM</>ページを読んでください
   </para>

   <para>
<!--
    To enable PAM authentication, you need to create a service-configuration
    file for <productname>Pgpool-II</productname> in the system's
    PAM configuration directory (which is usually at <literal>"/etc/pam.d"</literal>).
    A sample service-configuration file is installed as
    <filename>"share/pgpool.pam"</filename> under the install directory.
-->
PAM認証を有効にするには、<productname>Pgpool-II</productname>のサービス設定ファイルをシステムのPAM設定ディレクトリ（通常は<literal>"/etc/pam.d"</literal>にあります）に作成しなければなりません。
サービス設定ファイルのサンプルはインストールディレクトリ下に<literal>"share/pgpool.pam"</literal>としてインストールされています。
   </para>

   <note>
    <para>
<!--
     To enable PAM support the <productname>Pgpool-II</productname>
     must be configured with <command>"&#045;&#045;with-pam"</command>
-->
PAMサポートを有効にするには、<productname>Pgpool-II</productname>が<command>"--with-pam"</command>をつけてconfigureされていなければなりません。
    </para>
   </note>
  </sect2>
 </sect1>

 </chapter>
