バージョンごとのドキュメント一覧

20.11. RADIUS認証 #

<title>RADIUS Authentication</title>

This authentication method operates similarly to <literal>password</literal> except that it uses RADIUS as the password verification method. RADIUS is used only to validate the user name/password pairs. Therefore the user must already exist in the database before RADIUS can be used for authentication. この認証方法は、RADIUSをパスワード検証として使用するという点を除いてpasswordと似た動作をします。 RADIUSはユーザ名/パスワードの組のみを検証するために使用されます。 よってユーザはRADIUSが認証に使用される以前にデータベースにすでに存在していなければいけません。

When using RADIUS authentication, an Access Request message will be sent to the configured RADIUS server. This request will be of type <literal>Authenticate Only</literal>, and include parameters for <literal>user name</literal>, <literal>password</literal> (encrypted) and <literal>NAS Identifier</literal>. The request will be encrypted using a secret shared with the server. The RADIUS server will respond to this request with either <literal>Access Accept</literal> or <literal>Access Reject</literal>. There is no support for RADIUS accounting. RADIUS認証を使用する場合に、設定されたRADIUSサーバにアクセスリクエストメッセージが送信されます。 このリクエストはAuthenticate Onlyの形式になり、ユーザ名、(暗号化された)パスワードNAS Identifierを含んでいます。 リクエストはサーバと共有している秘密を用いて暗号化されます。 RADIUSサーバは、このリクエストに対してAccess AcceptもしくはAccess Rejectを返します。 RADIUSアカウントのサポートはありません。

Multiple RADIUS servers can be specified, in which case they will be tried sequentially. If a negative response is received from a server, the authentication will fail. If no response is received, the next server in the list will be tried. To specify multiple servers, separate the server names with commas and surround the list with double quotes. If multiple servers are specified, the other RADIUS options can also be given as comma-separated lists, to provide individual values for each server. They can also be specified as a single value, in which case that value will apply to all servers. 複数のRADIUSサーバを指定することができ、その場合には各々が順に試行されます。 サーバから負の応答があると、認証は失敗します。 サーバから応答がない場合は、リスト内の次のサーバが試されます。 複数のサーバを指定するには、サーバ名をカンマで区切り、リストを二重引用符で囲みます。 複数のサーバを指定した場合は、別のRADIUSオプションをカンマ区切りのリストとして指定して、各サーバの値を個別に指定することもできます。 オプションは単一の値としても指定でき、その場合にはこの値がすべてのサーバに対して適用されます。

The following configuration options are supported for RADIUS: RADIUSのために次の設定オプションがサポートされています。

radiusservers

The DNS names or IP addresses of the RADIUS servers to connect to. This parameter is required. 接続するRADIUSサーバのDNS名称もしくはIPアドレス。 このパラメータは必須です。

radiussecrets

The shared secrets used when talking securely to the RADIUS servers. This must have exactly the same value on the PostgreSQL and RADIUS servers. It is recommended that this be a string of at least 16 characters. This parameter is required. RADIUSサーバと安全なやり取りに使用される共有の秘密データ。 これはPostgreSQLとRADIUSサーバにおいて厳密に同じ値にする必要があります。 少なくとも16文字以上の文字列が推奨されます。 このパラメータは必須です。

注記

The encryption vector used will only be cryptographically strong if <productname>PostgreSQL</productname> is built with support for <productname>OpenSSL</productname>. In other cases, the transmission to the RADIUS server should only be considered obfuscated, not secured, and external security measures should be applied if necessary. 使用されている暗号化ベクターはPostgreSQLOpenSSLをサポートするよう構築している場合にのみ暗号論的に強力です。 他の場合にはRADIUSサーバへの伝送は難読化されているだけで安全ではなく、必要ならば外部のセキュリティ方法を適用すべきです。

radiusports

The port numbers to connect to on the RADIUS servers. If no port is specified, the default RADIUS port (<literal>1812</literal>) will be used. 接続するRADIUSサーバのポート番号。 もしポート番号が指定されていない場合は、デフォルトのRADIUSポートである1812が使用されます。

radiusidentifiers

The strings to be used as <literal>NAS Identifier</literal> in the RADIUS requests. This parameter can be used, for example, to identify which database cluster the user is attempting to connect to, which can be useful for policy matching on the RADIUS server. If no identifier is specified, the default <literal>postgresql</literal> will be used. RADIUSリクエスト内でNAS Identifierとして使用される文字列。 このパラメータは、例えばユーザがどのデータベースクラスタに接続しようとしているかを識別するために使用できます。 これはRADIUSサーバにおいてポリシーを一致させるのに便利です。 もし識別子が指定されていない場合は、デフォルトのpostgresqlが使用されます。

If it is necessary to have a comma or whitespace in a RADIUS parameter value, that can be done by putting double quotes around the value, but it is tedious because two layers of double-quoting are now required. An example of putting whitespace into RADIUS secret strings is: RADIUSパラメータ値にカンマまたは空白を含める必要がある場合は、値を二重引用符で囲むことで実行できますが、二重引用符の2つのレイヤが必要になるため面倒なことになります。 RADIUSシークレット文字列に空白を入れる例を次に示します。

host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""secret two"""