2017-05-24 10 views
2

データベース内のすべてのスキーマを表示するようにユーザーを制限する方法はありますか? シナリオ:Redshift User managemt

私は複数のスキーマを持つデータベースを持っています。私は特定のスキーマのためにユーザーにアクセスする必要があり、それはテーブルに載っています。

私はその特定のユーザーとPUBLICグループへのすべてのアクセスを取り消そうとしますが、引き続きすべてのスキーマとそのテーブルを表示できます。 (データのみが、彼は見ることができない

は、私は、コマンドの下に試してみました:。

REVOKE ALL ON SCHEMA devops_test FROM testuser; 
REVOKE ALL ON SCHEMA devops_test FROM PUBLIC; 
REVOKE ALL on all tables IN SCHEMA devops_test FROM testuser; 

答えて

0

一度データベースに接続し、ユーザーが内のすべてのデータベース、スキーマの、テーブル、さらには表の列のリストを読み込むことができます。彼らはALL FROM REVOKEを使用してそれらのテーブル内のデータを読み込むことが防止されている場合でも、システム表からクラスタ
はこれを試してみてください:

REVOKE USAGE ON SCHEMA information_schema FROM PUBLIC; 
REVOKE USAGE ON SCHEMA pg_catalog FROM PUBLIC;  
REVOKE SELECT ON TABLE pg_catalog.pg_database FROM PUBLIC; 

私が悪いの仮定を行った場合は、コメントと私は」してください私の答えに焦点を当てます。