質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Q&A

解決済

2回答

1082閲覧

Postgresのテーブルを追加した場合、再度権限(Grant)を実行し付与してあげる必要がありますでしょうか。

prr4e

総合スコア73

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

0グッド

0クリップ

投稿2022/10/20 05:37

前提

Postgresのスキーマ―やテーブルに対し、
参照権限を持ったユーザーにアクセス権限持たせる際
以下を参照に権限を付与したのですが、テーブル追加などがあった場合は
新たに権限付与をする必要がありますでしょうか。

実現したいこと

参考資料
https://fullstacklife.net/database/postgresql-role-realonly/

上記を参考に全テーブルに対し、権限を追加し、
その後新しいテーブルを追加しました。

ですが、参照権限のユーザーがテーブルを参照できないことが分かり。
追加テーブルに対し

GRANT SELECT ON テーブル名 TO read_user;

私の解釈が間違っていたらご指摘ください。

権限を追加した時点のテーブルは権限を保持しているが、追加した場合は
そのテーブルに対し新たに権限を付与する必要がある。

と思っておりますが、いかがでしょうか。

###試したこと
権限付与に伴い
実行前後で以下のようになっており、DB全体に付与し、その後追加テーブルに対しても自動で権限が付与されている状態または、確認できる手順があればご教授いただけますでしょうか。

Schema | Name | Type | Access privileges | Column privileges | Policies --------+----------------+------+-------------------+-------------------+---------- | | | | | (1 row)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

ありがとうございます。

一応試した上で、追加テーブルに対しては同じ権限追加しないといけないことは分かったのですが、
一度権限DBに追加したら、後は追加されたテーブルも権限が付与されるということにはならないと言う
私の認識が間違っていないかを確認させていただいた次第です。

ご回答ありがとうございました。

投稿2022/10/20 06:53

prr4e

総合スコア73

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

質問の前に動作確認すれば済むことですが、
新しい追加したテーブルもGRANT SELECT ON しないとread_userでSELECTできません。

SQL

1GRANT SELECT ON 新しい追加したテーブル名 TO read_user;

投稿2022/10/20 06:19

Orlofsky

総合スコア16419

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問