2017-06-01 18 views
0

私の使用例の99%で、私はそのようなものは必要ありません。 PostgreSQLで完全に無効にすることは可能ですか?これらすべてのユーザ、ロール、権限など...PostgreSQLの役割、ユーザー、アクセス許可などを完全に無効にすることは可能ですか

+0

[dba.se] –

+1

とのマッチングをお勧めしますが、無効にすることはできませんが、気になることはありません。 すべてのユーザーに単一のユーザーを使用するだけで、ユーザーは作成したすべてのオブジェクトを使用してすべてを実行できます。 –

答えて

2

私は完全にを無効にすることはできません Postgresのユーザ/ロールシステムはクライアント/サーバアーキテクチャであり、接続にはユーザ/ロールなどが必要ですサーバーに送信します。

あなたのデフォルトのアカウントを設定することで、それをバイパスできます。 Unix/Linuxをデータベースのスーパーユーザーとして使用している場合はユーザー名、またはGRANTの場合はすべて必要な特権。

また、postgres設定ファイルを変更することもできます。 /etc/postgresql/9.x/main/pg_hba.confでローカルマシンからの接続をすべて信頼するように、例えば、trustに特定の認証方法を変更します。

# IPv4 local connections: 
#host all    all    127.0.0.1/32   md5 
host all    all    127.0.0.1/32   trust 
# IPv6 local connections: 
#host all    all    ::1/128     md5 
host all    all    ::1/128     trust 

また.pgpassファイルにパスワードを保存しますが、そこにセキュリティリスクを気にすることができます。

3

いいえ、そうではありません。

あなたが本当に主張しているのであれば、すべてをtrustに設定してpg_hba.confに設定し、すべての場合にpostgresスーパーユーザーを使用することができます。

あなたのシステムはインターネットから完全に隔離されていて、どんな種類の外部ユーザー入力も受け入れられないことを望みます。なぜなら、これらの機能はそこにあるからです。あなたのアプリがミドルウェア層の背後にあるなどしても、少なくとも通常のアプリケーション操作にスーパーユーザーではないユーザーを使用する必要があります。テーブルを所有しておらず、必要なアクセス権を与えられている人もいることが望ましい。これにより、ミドルウェア層を介したさまざまな攻撃の被害を制限するのに役立ちます。

関連する問題