Redshiftを利用してます。
postgresql内でグループごとにアクセス制御行います。
グループaは、スキーマall、テーブルa、ユーザーaを付与。
グループbは、スキーマall、テーブルb、ユーザーbを付与。
この時、下記記事を参考に、所属グループごとにテーブルやユーザーを付与して、
設定したところ、
ユーザーaはテーブルaにアクセスでき、テーブルbにはアクセスできない、
ユーザーbはテーブルbにアクセスでき、テーブルaにはアクセスできない
実装を作成する事ができました。(select)
スキーマは、共通であります。
この時、select文は制御出来たのですが、showコマンドで、アクセスのないテーブル定義の情報が閲覧出来てしまいました。
こちらは「同じスキーマ配下」でテーブル定義の情報を閲覧できないようにする設定は、どのように行う事で実現が可能でしょうか?
こちらの記事を参考に設定いたしました。
https://dev.classmethod.jp/articles/amazon-redshift-managing-group-and-users/
/** スキーマ作成 */ # CREATE SCHEMA new_schema; /** テーブル作成 */ # CREATE TABLE new_schema.new_table (...); /** グループ作成 */ # CREATE GROUP new_group; /** ユーザー作成 */ # CREATE USER new_user WITH PASSWORD 'XXXXXXXXXXXX'; /** ユーザーをグループに追加 */ # ALTER GROUP new_group ADD USER new_user; /** スキーマに対する指定グループからのアクセスを許可 */ # GRANT USAGE ON SCHEMA new_schema TO GROUP new_group; /** 指定テーブルに対するアクセス権限設定 */ # GRANT SELECT ON new_schema.new_table TO GROUP new_group;
あなたの回答
tips
プレビュー