私はpostgresデータベースを1つ持ち、2人のユーザーがいます。アリスとボブ。
NOTIFY alice_channel 'sensitive data'
ボブがLISTEN
チャネル名が「alice_channel」であると推測するだけでこっそりと侵入することなく、できるようにしたいと思います。
実際には、チャネル名を推測することは非常に困難ですが、これはせいぜいあいまいさによるセキュリティです。
データベースユーザーがLISTEN
&を使用する(乱用する)のを防ぐ方法はないと私は信じていますNOTIFY
か?つまり、付与または取り消すことができる関連する特権はないようです。
これは行き止まりですか?
ユーザーをリッスンから除外する方法がわかりません。しかし、セキュリティで保護されたパスワードを選択するようにチャネルの名前を選択した場合、これでうまくいきませんか?
—
Erwin Brandstetter 2013年
ええ、それは私が現在(大きなランダムな文字列を使用して)やっていることですが、それは汚いと感じ、かなり制限があります。私ができるかなりクールなことがいくつかあります
—
Chris Farmiloe 2013年
LISTEN
/ NOTIFY
それを少しロックすることができれば。現状では、「クライアントが必要とするすべてのデータを再ポーリングするように要求する」というかなり細かい機能です。
これが回答されてから状況が変わったかどうか知りたいだけでした。何か実装できましたか?
—
Phill Pafford 2014
アプリを信頼できない場合は、許可しないでください。本番システムでは行き止まりだと思います。ただし、関連する公民権についての提案もある。postgresql.org/message-id/51CC98FB.9040700%40agliodbs.com
—
Anssi