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

21.7. SSPI認証 #

<title>SSPI Authentication</title>

<productname>SSPI</productname> is a <productname>Windows</productname> technology for secure authentication with single sign-on. <productname>PostgreSQL</productname> will use SSPI in <literal>negotiate</literal> mode, which will use <productname>Kerberos</productname> when possible and automatically fall back to <productname>NTLM</productname> in other cases. <productname>SSPI</productname> authentication only works when both server and client are running <productname>Windows</productname>, or, on non-Windows platforms, when <productname>GSSAPI</productname> is available. SSPIは、シングルサインオンで安全な認証を行うためのWindowsの技術です。 PostgreSQLは、negotiateモードにおいてSSPIを使用します。 これは、可能な場合はKerberosを使用し、他の場合については自動的にNTLMを使用することを意味しています。 SSPI認証は、サーバ、クライアントが共にWindows上もしくはGSSAPIが利用可能な場合はWindowsではないプラットフォームで稼働しているときにのみ動作します。

When using <productname>Kerberos</productname> authentication, <productname>SSPI</productname> works the same way <productname>GSSAPI</productname> does; see <xref linkend="gssapi-auth"/> for details. Kerberos認証を使用しているとき、 SSPIは、GSSAPIと同じように動作します。 詳細は21.6を参照してください。

The following configuration options are supported for <productname>SSPI</productname>: 次の設定オプションはSSPIのためにサポートされています。

include_realm

If set to 0, the realm name from the authenticated user principal is stripped off before being passed through the user name mapping (<xref linkend="auth-username-maps"/>). This is discouraged and is primarily available for backwards compatibility, as it is not secure in multi-realm environments unless <literal>krb_realm</literal> is also used. It is recommended to leave <literal>include_realm</literal> set to the default (1) and to provide an explicit mapping in <filename>pg_ident.conf</filename> to convert principal names to <productname>PostgreSQL</productname> user names. 0に設定されている場合は、認証されたユーザプリンシパルからのrealm名が、ユーザ名マッピング(21.2)で渡されるシステムユーザ名から外されています。 krb_realmも一緒に使われていない限り、これは複数realm環境で安全ではありませんので、非推奨であり、主に後方互換性のために利用できます。 include_realmをデフォルト(1)にしたまま、プリンシパル名をPostgreSQLユーザ名に変換するためにpg_ident.confで明示的なマッピングを指定することをお薦めします。

compat_realm

If set to 1, the domain's SAM-compatible name (also known as the NetBIOS name) is used for the <literal>include_realm</literal> option. This is the default. If set to 0, the true realm name from the Kerberos user principal name is used. 1に設定されている場合は、(NetBIOS名としても知られている)ドメインのSAM互換名がinclude_realmオプションのために使用されます。 これはデフォルトの動作です。 0に設定されている場合は、ケルベロスユーザプリンシパル名からの真のrealm名が使用されます。

Do not disable this option unless your server runs under a domain account (this includes virtual service accounts on a domain member system) and all clients authenticating through SSPI are also using domain accounts, or authentication will fail. ドメインアカウント(これはドメインメンバーシステムの仮想サービスアカウントを含みます)にて実行されているサーバで、SSPIで認証されているすべてのクライアントがドメインアカウントを使用している場合を除き、このオプションを無効にしないでください。 さもなくば認証は失敗します。

upn_username

If this option is enabled along with <literal>compat_realm</literal>, the user name from the Kerberos UPN is used for authentication. If it is disabled (the default), the SAM-compatible user name is used. By default, these two names are identical for new user accounts. compat_realmと共にこのオプションが有効の場合、認証にはケルベロスUPNからユーザ名が使用されます。 無効(デフォルト)である場合は、SAM互換ユーザ名が使用されます。 デフォルトでは、これらの2つのユーザ名は新しいユーザアカウントでは同じものとなります。

Note that <application>libpq</application> uses the SAM-compatible name if no explicit user name is specified. If you use <application>libpq</application> or a driver based on it, you should leave this option disabled or explicitly specify user name in the connection string. 明示的なユーザ名が指定されない場合、libpqはSAM互換名を使用することに注意してください。 libpqもしくはlibpqを基礎としたドライバを使用する場合は、このオプションを無効のままにするか、明示的なユーザ名を接続文字列にて指定してください。

map

Allows for mapping between system and database user names. See <xref linkend="auth-username-maps"/> for details. For an SSPI/Kerberos principal, such as <literal>username@EXAMPLE.COM</literal> (or, less commonly, <literal>username/hostbased@EXAMPLE.COM</literal>), the user name used for mapping is <literal>username@EXAMPLE.COM</literal> (or <literal>username/hostbased@EXAMPLE.COM</literal>, respectively), unless <literal>include_realm</literal> has been set to 0, in which case <literal>username</literal> (or <literal>username/hostbased</literal>) is what is seen as the system user name when mapping. システムとデータベースユーザ名の間のマッピングを許可します。 詳細は21.2を参照してください。 SSPI/Kerberosプリンシパルusername@EXAMPLE.COM(もしくは、あまり一般的ではありませんがusername/hostbased@EXAMPLE.COM)に対しては、もしinclude_realmが0に設定されていない限り、マッピングに使われるユーザ名はusername@EXAMPLE.COM(もしくはusername/hostbased@EXAMPLE.COM)です。 0に設定されている場合には、username(もしくはusername/hostbased)がマッピング時のシステムユーザ名です。

krb_realm

Sets the realm to match user principal names against. If this parameter is set, only users of that realm will be accepted. If it is not set, users of any realm can connect, subject to whatever user name mapping is done. realmをユーザプリンシパル名に一致するように設定します。もしこのパラメータが設定されている場合は realmのユーザのみが受け付けられます。もしこれが設定されていない場合は、 どのようなrealmのユーザも接続可能で、ユーザ名マッピングが設定されていれば、どれでも影響を受けます。