今回は、Silverの「S2 運用管理 - S2.5 基本的な運用管理作業」からの出題です。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2013年10月8日
デフォルトの設定では、テーブルなどのオブジェクトに対するアクセス権限は、その所有者、つまり作成者だけが所有しており、他のユーザは一切、そのオブジェクトにアクセスすることができません。アクセス権を付与するにはGRANT文を使います。
テーブルについてのアクセス権は、Aのようにテーブル単位で指定するだけでなく、Bのようにテーブル内の特定の列についてだけ付与することもできます。
権限付与の対象となるオブジェクトはテーブルだけではなく、CのようにスキーマについてCREATE権限を付与することができ、この場合はschema1の中にオブジェクトを新規に作成する権限を付与することになります。
個々のユーザに個別に権限を付与する代わりに、ロール(role)に権限を付与して、ユーザにはそのロールを割り当てる、という方法を採ることができます。Dがその例で、user2にGRANTされた権限がすべてuser1にGRANTされることになります。なお、PostgreSQLではユーザとロールに区別がないため、GRANTするロール名は、ログイン権限のあるユーザ名であってもかまいません。
ユーザ作成(CREATEROLE)やデータベース作成(CREATEDB)など、データベースクラスタに関する権限は、GRANT文ではなく、CREATE USERあるいはALTER USER文で付与します。user1にユーザ作成の権限を付与するには
ALTER USER user1 CREATEROLE;
とします。
間違っているものを選ぶ問題なので、正解はEです。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.