はじめに

Vertica7.2より、スキーマレベルの権限継承が可能になりました。従来は、新規にテーブルを作成した場合、その都度DBユーザーに作成したテーブルの権限付与が必要でした。Vertica7.2からは、予めDBユーザーにスキーマの権限を付与しておくことで、新規に作成したテーブルに対しても権限を自動で付与することできます。

スキーマレベルの権限継承_ロール編
本機能を利用した場合、従来と比べて権限付与のオペレーションを省略することができます。

スキーマレベル権限継承の動作確認

本機能を利用した場合の実行例をご紹介します。

構文

テーブルとビューで、本機能を利用することができます。

【GRANT文】

GRANT文でスキーマに対しての権限をDBユーザやロールに割当てます。

【CREATE文】

テーブルを新規で作成する場合、スキーマに付与された権限を含めるかどうかをスキーマレベルで指定します。デフォルトは「DEFAULT EXCLUDE SCHEMA PRIVILEGES」(含めない) でスキーマは作成されます。

テーブル/ビューに対してアクセス制御をする場合、スキーマに付与された権限を含めるかどうかを指定します。

【ALTER文】

データベースレベルで指定する場合は「DisableInheritedPrivileges」パラメーターを変更します。

ALTER文でスキーマ/テーブル/ビューの権限管理を変更できます。


実行結果

Vertica7.1とVertica7.2以降の動作は、以下のとおりになります。

【Vertica7.1まで】


【Vertica7.2から】


参考情報

・権限管理を容易にする方法(ロールについて)
http://vertica-tech.ashisuto.co.jp/create_role/

・作成したロールの情報を確認する方法
http://vertica-tech.ashisuto.co.jp/role_informations/

検証バージョンについて

この記事の内容はVertica 9.2で確認しています。

更新履歴

2019/12/10 【ALTER文】項目の表現を一部修正
2019/04/15 検証バージョンを9.2に変更
2016/05/26 本記事を公開