PREPARATION
受験対策

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

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

例題

1.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です。

今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。

※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

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

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

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

サンプル問題/例題解説

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

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

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

無料技術解説セミナー

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

OSS-DB道場

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