はじめに
作成したDBユーザーがデータベースに接続したり、SQL文を発行してオブジェクトにアクセスするには「権限」の設定が必要です。今回は、Verticaでオブジェクトを操作するために必要な権限について、ご紹介します。権限一覧
スーパーユーザは、追加の権限を必要とせずに、次の表に示している全ての操作を実行できます。また、オブジェクトの所有者は、デフォルトでは自分のオブジェクトに対する操作をするために必要な権限を持っています。
No. | 項目 | 操作内容 | 必要な権限 |
---|---|---|---|
1 | データベース | CREATE DATABASE ※「Management Console」もしくは「Administration Tools」を利用して作成します。 | スーパユーザのみ可 |
2 | DROP DATABASE ※「Management Console」もしくは「Administration Tools」を利用して削除します。 | スーパユーザのみ可 | |
3 | ALTER DATABASE | スーパユーザのみ可 | |
4 | スキーマ | CREATE SCHEMA | データベースの CREATE権限 |
5 | DROP SCHEMA | スキーマの所有者 | |
6 | ALTER SCHEMA RENAME | データベースの CREATE権限 | |
7 | テーブル | CREATE TABLE | スキーマの CREATE権限 テーブル作成時にシーケンスを利用するためには、シーケンスの権限も必要になります。 ・シーケンスの SELECT権限 ・シーケンスが存在するスキーマに対しての USAGE権限 |
8 | DROP TABLE | テーブルが存在するスキーマに対しての USAGE権限もしくはスキーマの所有者 | |
9 | TRUNCATE TABLE | テーブルが存在するスキーマに対しての USAGE権限もしくはスキーマの所有者 | |
10 | ALTER TABLE ADD/DROP/ RENAME/ALTER-TYPE COLUMN | テーブルが存在するスキーマに対しての USAGE権限 | |
11 | ALTER TABLE ADD/DROP CONSTRAINT | テーブルが存在するスキーマに対しての USAGE権限 | |
12 | ALTER TABLE PARTITION (REORGANIZE) | テーブルが存在するスキーマに対しての USAGE権限 | |
13 | ALTER TABLE RENAME | テーブルが存在するスキーマに対しての CREATE権限と USAGE権限 | |
14 | ALTER TABLE SET SCHEMA | ・現在テーブルが存在するスキーマの USAGE権限 ・移動先スキーマの CREATE権限 |
|
15 | SELECT | ・テーブルの SELECT権限 ・テーブルが存在するスキーマの USAGE権限 |
|
16 | INSERT | ・テーブルの INSERT権限 ・テーブルが存在するスキーマの USAGE権限 |
|
17 | DELETE | ・テーブルの DELETE権限 ・テーブルが存在するスキーマの USAGE権限 ・WHERE句で他のテーブルのカラム値を参照する場合は、そのテーブルの SELECT権限も必要 |
|
18 | UPDATE | ・テーブルの UPDATE権限 ・テーブルが存在するスキーマの USAGE権限 ・WHERE句や SET句で他のテーブルのカラム値を参照する場合は、そのテーブルの SELECT権限も必要 |
|
19 | REFERENCES | ・外部キー制約を作成するテーブルの REFERENCES権限 ・外部キー制約を作成するテーブルが存在するスキーマの USAGE権限 |
|
20 | ANALYZE_STATISTICS ANALYZE_STATISTICS_PARTITION | ・テーブルの INSERT/UPDATE/DELETE権限 ・テーブルが存在するスキーマの USAGE権限 |
|
22 | DROP_STATISTICS | ・テーブルの INSERT/UPDATE/DELETE権限 ・テーブルが存在するスキーマの USAGE権限 |
|
23 | DROP_PARTITIONS | ・テーブルが存在するスキーマの USAGE権限 | |
24 | ビュー | CREATE VIEW | ・ビューが存在するスキーマの CREATE権限 ・ビューのもとになっているオブジェクト(テーブル/ビュー)の SELECT権限 ・ビューのもとになっているオブジェクトが存在するスキーマの USAGE権限 |
25 | DROP VIEW | ビューが存在するスキーマの USAGE権限もしくはビューの所有者 | |
26 | SELECT ... FROM VIEW | ・ビューの SELECT権限 ・ビューが存在するスキーマの USAGE権限 ・ビューのもとになっているオブジェクト(テーブル/ビュー)に対しての SELECT権限 |
|
27 | プロジェクション | CREATE PROJECTION | ・プロジェクションのもとになっているテーブルの SELECT権限 ・プロジェクションのもとになっているテーブルが存在するスキーマの USAGE 権限もしくはスキーマの所有者 ・プロジェクションが存在するスキーマの CREATE権限 |
28 | AUTO/DELAYED PROJECTION | INSERT..SELECTまたは COPYの実行時: ・プロジェクションのもとになっているテーブルの SELECT権限 ・プロジェクションのもとになっているテーブルが存在するスキーマの USAGE権限 |
|
29 | ALTER PROJECTION RENAME | プロジェクションが存在するスキーマの USAGE権限と CREATE権限 | |
30 | DROP PROJECTION | プロジェクションが存在するスキーマの USAGE権限もしくはスキーマの所有者 | |
31 | 外部プロシージャ | CREATE PROCEDURE | スーパユーザのみ可 |
32 | DROP PROCEDURE | スーパユーザのみ可 | |
33 | EXECUTE | ・プロシージャの EXECUTE権限 ・プロシージャが存在するスキーマの USAGE権限 |
|
34 | ライブラリ | CREATE LIBRARY | スーパユーザのみ可 |
35 | ALTER LIBRARY | スーパユーザのみ可 | |
36 | DROP LIBRARY | スーパユーザのみ可 | |
37 | ユーザ定義関数 | CREATE FUNCTION (SQL) CREATE FUNCTION (UDF) CREATE TRANSFORM FUNCTION (UDF) CREATE ANALYTIC FUNCTION (UDAnF) CREATE AGGREGATE FUNCTION (UDAF) | ・ユーザ定義関数が存在するスキーマの CREATE権限 ・ユーザ定義関数が利用しているライブラリの USAGE権限 |
38 | DROP FUNCTION DROP TRANSFORM FUNCTION DROP ANALYTIC FUNCTION DROP AGGREGATE FUNCTION | ・スーパユーザもしくはユーザ定義関数の所有者 ・ユーザ定義関数が存在するスキーマの USAGE権限 |
|
39 | ALTER FUNCTION RENAME TO | ユーザ定義関数が存在するスキーマの USAGE権限と CREATE権限 | |
40 | ALTER FUNCTION SET SCHEMA | ・現在ユーザ定義関数が存在するスキーマの USAGE権限 ・移動先スキーマの CREATE権限 |
|
41 | EXECUTE (SQL/UDF/UDT/ ADAF/UDAnF) function | ・ユーザ定義関数の EXECUTE権限 ・ユーザ定義関数が存在するスキーマの USAGE権限 |
|
42 | シーケンス | CREATE SEQUENCE | シーケンスが存在するスキーマの CREATE権限 |
43 | CREATE TABLE with SEQUENCE | ・シーケーンスの SELECT権限 ・シーケンスが存在するスキーマの USAGE権限 |
|
44 | DROP SEQUENCE | シーケンスが存在するスキーマの USAGE権限もしくはスキーマの所有者 | |
45 | ALTER SEQUENCE | スキーマの CREATE権限と USAGE権限 | |
46 | ALTER SEQUENCE SET SCHEMA | ・現在シーケンスが存在するスキーマの USAGE権限 ・移動先スキーマの CREATE権限 |
|
47 | CURRVAL NEXTVAL | ・シーケンスの SELECT権限 ・シーケンスが存在するスキーマの USAGE権限 |
|
48 | リソースプール | CREATE RESOURCE POOL | スーパユーザのみ可 |
49 | ALTER RESOURCE POOL | スーパユーザのみ変更可能なパラメータです。 ・MAXMEMORYSIZE ・PRIORITY ・QUEUETIMEOUT リソースプールに対しての UPDATE権限を割当てられたユーザが変更可能なパラメータです。 ・PLANNEDCONCURRENCY ・SINGLEINITIATOR ・MAXCONCURRENCY |
|
50 | SET SESSION RESOURCE_POOL | ・リソースプールに対しての USAGE権限 ・ユーザーは ALTER USER文を使用して独自にリソースプールの設定を変更することができます。 |
|
51 | DROP RESOURCE POOL | スーパユーザのみ可 | |
52 | ユーザ | CREATE USER | スーパユーザのみ可 |
53 | ALTER USER | スーパユーザのみ可 | |
54 | DROP USER | スーパユーザのみ可 | |
55 | プロファイル | CREATE PROFILE | スーパユーザのみ可 |
56 | ALTER PROFILE | スーパユーザのみ可 | |
57 | DROP PROFILE | スーパユーザのみ可 | |
58 | ロール | CREATE ROLE | スーパユーザのみ可 |
59 | ALTER ROLE RENAME | スーパユーザのみ可 | |
60 | DROP ROLE | スーパユーザのみ可 | |
61 | ストレージロケーション | CREATE LOCATION | スーパユーザのみ可 |
62 | ADD_LOCATION | スーパユーザのみ可 | |
63 | ALTER_LOCATION_USE | スーパユーザのみ可 | |
64 | RESTORE_LOCATION | スーパユーザのみ可 | |
65 | DROP_LOCATION | スーパユーザのみ可 | |
66 | ロケーション先からのファイル読込み | ロケーションの READ権限 | |
67 | ロケーション先へのファイル書込み | ロケーションの WRITE権限 | |
68 | オブジェクトの可視性 | スキーマの検索 | オブジェクトを含むスキーマに対して、少なくとも一つの権限があれば可 |
69 | 「スキーマ内のオブジェクト」または「システムテーブル」の検索 | スキーマの USAGE権限 次のオブジェクトに対して、少なくとも一つの権限があれば可: ・TABLE ・VIEW ・FUNCTION ・PROCEDURE ・SEQUENCE |
|
70 | プロジェクションの検索 | ・プロジェクションのもとになっているすべてのテーブルに対して、少なくとも一つの権限があれば可 ・プロジェクションのもとになっているすべてのテーブルが存在スキーマに対しての USAGE権限 |
|
71 | リソースプールの検索 | リソースプールの SELECT権限 | |
72 | オブジェクトの検索 | オブジェクトが存在するスキーマに対しての USAGE権限 | |
73 | I/O 操作 | 接続/切断 | なし |
74 | EXPORT TO 「別のVerticaデータベース」 | ・ソーステーブルの のSELECT権限 ・ソーステーブルが存在するスキーマの USAGE権限 ・EXPORT先のターゲットテーブルに対しての INSERT権限 ・ターゲットテーブルが存在するスキーマの USAGE権限 |
|
75 | COPY FROM 「別のVerticaデータベース」 | ・ソーステーブルの のSELECT権限 ・ソーステーブルが存在するスキーマの USAGE権限 ・EXPORT先のターゲットテーブルに対しての INSERT権限 ・ターゲットテーブルが存在するスキーマの USAGE権限 |
|
76 | COPY FROM ファイル | スーパユーザのみ可 | |
77 | COPY FROM STDIN | ・テーブルの INSERT権限 ・スキーマの USAGE特権 |
|
78 | COPY LOCAL | ・テーブルの INSERT権限 ・スキーマの USAGE特権 |
|
79 | コメント | COMMENT ON { 以下のいずれか }: ・AGGREGATE FUNCTION ・ANALYTIC FUNCTION ・COLUMN ・CONSTRAINT ・FUNCTION ・LIBRARY ・NODE ・PROJECTION ・SCHEMA ・SEQUENCE ・TABLE ・TRANSFORM FUNCTION ・VIEW | オブジェクトの所有者もしくはスーパーユーザ |
80 | トランザクション | COMMIT | なし |
81 | ROLLBACK | なし | |
82 | RELEASE SAVEPOINT | なし | |
83 | SAVEPOINT | なし | |
84 | セッション | SET { 以下のいずれか }: ・DATESTYLE ・ESCAPE_STRING_WARNING ・INTERVALSTYLE ・LOCALE ・ROLE ・SEARCH_PATH ・SESSION AUTOCOMMIT ・SESSION CHARACTERISTICS ・SESSION MEMORYCAP ・SESSION RESOURCE POOL ・SESSION RUNTIMECAP ・SESSION TEMPSPACE ・STANDARD_CONFORMING_STRINGS ・TIMEZONE | なし |
85 | SHOW { 名前 | ALL } | なし | |
86 | チューニング操作 | PROFILE | PROFILEを使用するクエリと同一の権限が必要 |
87 | EXPLAIN | EXPLAINを使用するクエリと同一の権限が必要 |
参考情報
以下マニュアルも合わせてご確認ください。Privileges Required for Common Database Operations
検証バージョンについて
この記事の内容はVertica 9.2で確認しています。更新履歴
2019/08/01 表からANALYZE_HISTOGRAMを削除。検証バージョンを9.2に変更2016/05/26 本記事を公開