他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

dblink_connect_u

名前

dblink_connect_u -- リモートデータベースへの永続的な危険な接続を開きます。

概要

dblink_connect_u(text connstr) returns text
dblink_connect_u(text connname, text connstr) returns text

説明

dblink_connect_u()は、非スーパーユーザが任意の認証方式を使用して接続することができる点を除き、dblink_connect()と同じです。

リモートサーバがパスワードを含まない認証方式を選択していた場合、セッションがローカルなPostgreSQLサーバを実行するユーザから構成されたものとなりますので、なりすましやその後の権限昇格が起こり得ます。 また、リモートサーバがパスワードを要求したとしても、サーバ側のユーザに属する~/.pgpassファイルなどサーバの環境から提供されるパスワードになる可能性があります。 これはなりすましの危険性だけでなく、信頼できないリモートサーバへのパスワードが漏れる可能性を引き起こします。 このためdblink_connect_u()はまず、スーパーユーザ以外から呼び出すことができないように、PUBLICからすべての権限を取り除いた形でインストールされます。 状況によっては、信頼できるとみなされた特定のユーザにdblink_connect_u()EXECUTE権限を与えることが適切となる場合があります。 しかしこれは注意して行わなければなりません。 また、サーバのユーザに属する~/.pgpassファイルにはすべて、ホスト名としてワイルドカードを指定した項目をまったく含めないことを推奨します。

この他の情報はdblink_connect()を参照してください。