アクセス policy の権限
アクセス policy を作成するときに、権限を選ぶ際の参考にしてください。フォームの権限テーブルは、選択した Resource type に応じて変わります。
リソースタイプ別の権限
| 権限 | 対象 | catalog | schema | table | function |
|---|---|---|---|---|---|
SELECT | テーブル | Yes | Yes | Yes | — |
INSERT + UPDATE | テーブル | Yes | Yes | Yes | — |
ALTER | テーブル | Yes | Yes | Yes | — |
DELETE | テーブル | Yes | Yes | Yes | — |
DROP | テーブル | Yes | Yes | Yes | — |
CREATE | Schema | Yes | Yes | — | — |
DROP | Schema | Yes | Yes | — | — |
VIEW DDL | Schema とテーブル | Yes | Yes | Yes | — |
ALL | 上記すべて | Yes | Yes | Yes | — |
VIEW_METADATA | メタデータテーブル | Yes | Yes | Yes | — |
CREATE | 関数 | — | — | — | Yes |
DROP | 関数 | — | — | — | Yes |
VIEW DDL | 関数 | — | — | — | Yes |
EXECUTE | 関数 | — | — | — | Yes |
各権限が許可する内容
| 権限 | 許可する操作 | 許可しない操作 |
|---|---|---|
SELECT | テーブルとビューの行を読み取ります。 | データの変更。 |
INSERT + UPDATE | 行の追加と、既存の行の変更。1 つの権限で両方を含みます。 | 行の削除。 |
ALTER | テーブルの変更。カラムの追加・名前変更・削除、テーブルプロパティの変更、マテリアライズドビューの更新を行います。 | 行の読み取りや変更。 |
DELETE | テーブルの行の削除と、テーブルを空にする操作。 | テーブル、Schema、Catalog の削除。 |
テーブルの DROP | テーブル、ビュー、マテリアライズドビューを削除します。 | — |
Schema の CREATE | Schema 内にテーブル、ビュー、マテリアライズドビューを作成します。 | — |
Schema の DROP | Schema を削除します。 | — |
VIEW DDL | Schema、テーブル、関数の CREATE ステートメントを表示します。 | ユーザーが他の権限を持たないオブジェクトの表示。 |
ALL | そのレベルのリストにあるすべての権限。 | 関数の権限。 |
EXECUTE | Schema 内の関数を実行します。 | 関数の作成や削除。 |
VIEW_METADATA | テーブルに付随するメタデータテーブルをクエリします。 | — |
レベルによる適用範囲の違い
catalogレベルでは、テーブルの権限は、その Catalog のすべての Schema にあるすべてのテーブルに適用されます。後から作成されたテーブルも含みます。schemaレベルでは、テーブルの権限は、その Schema のすべてのテーブルに適用されます。後から作成されたテーブルも含みます。tableレベルでは、選択したテーブルにのみ権限が適用されます。
警告
catalog または schema レベルの DELETE と ALL では、その配下のすべてのテーブルで行を削除できます。データのロードやクリーニングを担当するユーザーにのみ付与してください。
補足
- アクセスを拒否する権限はありません。ユーザーには、所属するすべての policy の権限を合わせたものが付与されます。
- Catalog に対して有効な権限が 1 つでもあれば、その
information_schemaにもクエリできます。これは Data Security では表示も管理もされません。 VIEW DDLは、ツリーに何が表示されるかを決めるものではありません。オブジェクト自体、またはその配下のオブジェクトに何らかの権限があれば、そのオブジェクトが表示されます。