GRANT SELECTはGRANT USAGEとともに

普段は何も気にせず、777でいいや、rootでいいや、GRANT ALL PRIVILEGESでいいやな自分ですが、この度色気を出してこのユーザーはこのスキーマのテーブルをselectだけできるようにするという設定をしようとしたときの話

CREATE USER hoge PASSWORD 'hogeHoge123';
CREATE SCHEMA myschema;
GRANT SELECT ON ALL TABLES IN SCHEMA myschema TO hoge;

これでredshiftに接続可能なhogeができたのだがmyschemaのテーブルをselectするとなんと権限エラーが発生

なんかリフレッシュするコマンドが必要だったっけ?や、ええい、redshift クラスターの再起動じゃとあがいてもSELECTできずで、ネットをさまよっていたところ、天才がありがたい記録を残してくださってました

GRANT USAGE ON SCHEMA myschema TO hoge;

USAGEも付与する必要があります
公式ドキュメントの最初にも書いてあったけどコマンドシンタックスしか見ていなかった

感謝














この記事が気に入ったらサポートをしてみませんか?