PREPARATION
受験対策

Silverの例題解説
「S2.5 基本的な運用管理作業(テーブル単位の権限(GRANT/REVOKE))」

「S2 運用管理 - S2.5 基本的な運用管理作業(テーブル単位の権限(GRANT/REVOKE))」からの出題です。

例題

2.130

テーブルのアクセス権限をGRANT/REVOKEで管理することに関して、最も適切な記述を1つ選びなさい。

  1. 自分にアクセス権限があれば、その権限を他のユーザにGRANTで付与することができる。
  2. GRANTされたアクセス権限をREVOKEで取り消すことができるのは、スーパーユーザとテーブルの所有者だけである。
  3. テーブルの所有者は、テーブルに対してすべての権限を有するので、REVOKEでSELECT権限を取り消しても、引き続きテーブルからデータをSELECTできる。

  4. テーブルt1についてのSELECT権限をユーザu1とpublicに対してGRANTした後、この権限をu1からREVOKEした。このとき、ユーザu1はテーブルt1のデータをSELECTできない。

  5. テーブルt2についてのSELECT権限をユーザs1がユーザu2にGRANTした後、ユーザs2も同じユーザu2にGRANTした。この後、ユーザs1がt2についてのSELECT権限をu2からREVOKEした。このとき、ユーザu2はテーブルt2のデータをSELECTできる。なお、ユーザs1もs2もt2のSELECTをGRANTする権限を有するものとする。

※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2022年10月12日

解答と解説

デフォルトでは、テーブルの所有者(通常は作成したユーザ)のみがテーブルへのアクセス権を持っており、他のユーザがテーブルにアクセスできるようにするにはGRANTで権限を付与する必要があります。付与した権限はREVOKEによって取り消すこともできます。
GRANTコマンドをWITH GRANT OPTIONを指定して実行した場合、権限を付与されたユーザはその権限を他のユーザにGRANTで付与できるようになります。逆にWITH GRANT OPTIONが指定されていない場合は、権限を他のユーザにGRANTできないので、権限を持っているからと言って、それを他のユーザに付与できるとは限りません。

REVOKEで権限を取り消すことができるのは、GRANTを実行したユーザです。例えばユーザAがWITH GRANT OPTIONをつけてユーザBに権限を付与し、ユーザBがその権限をユーザCにGRANTした場合、ユーザCの権限をREVOKEできるのはユーザBだけです。なお、ユーザAがCASCADEオプション付きでユーザBから権限をREVOKEした場合は、ユーザCからもREVOKEされます。

テーブルの所有者はテーブルについてすべての権限を有しているので、明示的に権限をGRANTしなくてもアクセスできますが、自分自身の権限をREVOKEしてSELECTやDELETEなどの操作ができなくすることは可能です。この場合でも、テーブルの所有者として権限をGRANTすることはできますから、自身にSELECT権限などを付与すれば、再びアクセスできるようになります。

ユーザu1とpublicにテーブルt1のSELECT権限をGRANTした後、u1の権限をREVOKEした場合、取り消されるのはu1へのGRANTの部分だけで、publicへのGRANTは引き続き、残ります。従って、u1を含む全ユーザがt2からSELECTできる状態になっています。

ユーザs1とs2がそれぞれユーザu2にテーブルt2のSELECT権限をGRANTしたとき、データベース内部には、s1がu2にGRANTした権限、s2がu2にGRANTした権限の両方が記録されます。この後、s1が権限をREVOKEしたときに取り消されるのは、s1が付与した権限のみで、s2が付与した権限はそのまま残りますから、ユーザu2は引き続きt2からSELECTすることができます。

従って正解はEです。

例題解説についてのご質問やご意見は以下からご連絡ください。

※本例題および解説は、例題作成者から提供されたものです。実際の試験問題とは異なります。
※実際の試験問題に関するお問い合わせについてはご回答いたしかねます。あからじめご了承ください。

企業の基幹システムや業務システム、AIなどの
新領域での「PostgreSQL」の採用が拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定です

OSS-DBの受験対策について

受験の学習をサポートする情報や対策に役立つ情報をご紹介

サンプル問題/例題解説

例題 のアーカイブを試験ごとにまとめています。OSS-DB技術者認定試験の学習にお役立てください

学習教材・教育機関のご紹介

OSS-DB認定教材や教育機関について詳しくご説明いたします。

無料技術解説セミナー

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

OSS-DB道場

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。