関数とトリガのセキュリティ

PostgreSQL 9.0.0文書
前のページ | 巻戻し | 第 20章データベースロールと権限 | 早送り | 次のページ

# 20.5. 関数とトリガのセキュリティ

関数とトリガによって、ユーザは他のユーザが意識しないで実行できるようなコードを、バックエンドサーバに挿入することができます。 したがって、両機能によってユーザは比較的簡単に他のユーザにとってトロイの木馬となるものを実行することができます。 唯一の保護は、誰が関数やトリガを定義できるかを厳格に管理することです。

関数は、データベースサーバデーモンのオペレーティングシステム権限で、バックエンドサーバプロセスの中で実行されます。 プログラミング言語で関数に未検査のメモリアクセスを許可している場合、サーバの内部データ構造を変更することが可能です。 したがって、その他の多数のことの中でも、そのような関数はどのようなシステムアクセスコントロールも回避することができます。 このようなアクセスを許可する関数言語は"信頼されない"ものとみなされ、PostgreSQLはこうした言語による関数の作成をスーパーユーザのみに限定して許可しています。

前のページ | ホーム | 次のページ
ロールのメンバ資格 | 上に戻る | データベース管理