Kerberos の使用
このセクションでは、Kerberos でPostgreSQL に認証する方法を説明します。
Kerberos
Kerberos を使用してPostgreSQL に認証するには、次のプロパティを設定します。
- KerberosKDC:Kerberos KDC マシンのホスト名またはIP アドレスに設定。
- KerberosRealm:PostgreSQL Kerberos プリンシパルのレルムに設定。これは、principal value(例:ServiceName/[email protected])の'@' 記号の後ろの値(例:EXAMPLE.COM)になります。
- KerberosSPN:PostgreSQL のKerberos プリンシパルのサービスとホストに設定。これは、principal value(例:ServiceName/[email protected])の'@' 記号の前の値(例:ServiceName/MyHost)です。
Kerberos チケットの取得
次のオプションのいずれかを使用して、必要なKerberos チケットを取得できます。
MIT Kerberos 資格情報キャッシュファイル
このオプションを使用すると、MIT Kerberos チケットマネージャーまたはkinit コマンドを使ってチケットを取得できます。このオプションでは、User またはPassword 接続プロパティを設定する必要はないことに注意してください。
- KRB5CCNAME という名前の環境変数が作成されていることを確認してください。
- KRB5CCNAME 環境変数をクレデンシャルキャッシュファイルを指すパスに設定します(例えばC:\krb_cache\krb5cc_0 または/tmp/krb5cc_0)。このファイルは、MIT Kerberos チケットマネージャーでチケットを生成するときに作成されます。
- チケットを取得するには、MIT Kerberos チケットマネージャーアプリケーションを開き、Get Ticket をクリックしてプリンシパル名とパスワードを入力し、OK をクリックします。成功すると、チケット情報がKerberos チケットマネージャーに表示され、クレデンシャルキャッシュファイルに保存されます。
- クレデンシャルキャッシュファイルを作成したので、本製品 はキャッシュファイルを使用してPostgreSQL に接続するためのKerberos チケットを取得します。
KRB5CCNAME 環境変数を設定する代わりに、KerberosTicketCache プロパティを使用してファイルパスを直接設定できます。 設定すると、本製品 は指定されたキャッシュファイルを使用してPostgreSQL に接続するためのKerberos チケットを取得します。
Keytab ファイル
KRB5CCNAME 環境変数が設定されていない場合、Keytab ファイルを使用してKerberos チケットを取得できます。これを行うには、User プロパティを目的のユーザー名に設定し、KerberosKeytabFile プロパティをユーザーに関連付けられたキータブファイルを指すファイルパスに設定します。
User およびPassword
KRB5CCNAME 環境変数およびKerberosKeytabFile プロパティの両方が設定されていない場合、ユーザーとパスワードの組み合わせを使用してチケットを取得できます。これを行うには、User およびPassword プロパティを、PostgreSQL での認証に使用するユーザー / パスワードの組み合わせに設定します。
クロスレルム
より複雑なKerberos 環境では、複数のレルムおよびKDC サーバーが使用されるクロスレルム認証が必要になる場合があります(例えば、1つのレルム / KDC がユーザー認証に使用され、別のレルム / KDC がサービスチケットの取得に使用される場合)。
このような環境では、KerberosRealm およびKerberosKDC プロパティをユーザー認証に必要な値に設定します。また、KerberosServiceRealm およびKerberosServiceKDC プロパティを、 サービスチケットの取得に必要な値に設定します。