PostgreSQL 16.0文書
F.12. dblink — 他のPostgreSQLデータベースへ接続する
前へ 上へdblink_connect_u 次へ

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()を参照してください。


前へ 上へ 次へ
dblink_connect ホーム dblink_disconnect