4.3 二面性ビューの更新操作に必要なデータベース権限
アプリケーションが特定の二面性ビューのデータに対して実行できる操作の種類は、ビュー所有者と、アプリケーションがデータベースに接続する際に使用するデータベース・ユーザー(データベース・スキーマ)に付与されたデータベース権限によって異なります。
これにより、関連する権限をユーザーに付与することで、どのアプリケーション/ユーザーがどの二面性ビューでどのアクションを実行できるかを制御できます。
アプリケーションは、特定のデータベース・ユーザーとしてデータベース操作を起動します。ただし、二面性ビューでの更新操作(挿入と削除を含む)は、ビューの所有者として実行されます。
二面性ビューのデータに対して様々な種類の操作を実行するには、ユーザー(またはユーザーとして接続されているアプリケーション)にビューに対する次の権限を付与する必要があります。
-
データを問い合せるには: 権限
SELECT WITH GRANT OPTION
-
ドキュメント(行)を挿入するには: 権限
INSERT WITH GRANT OPTION
-
ドキュメント(行)を削除するには: 権限
DELETE WITH GRANT OPTION
-
ドキュメント(行)を更新するには: 権限
UPDATE WITH GRANT OPTION
また、ビューの所有者は、関連する各表のそれぞれに対して、つまり、対応するキーワードで注釈付けされたすべての表に対して、同じ権限が必要です。たとえば、挿入の場合、ビュー所有者は、INSERT
を使用してビュー定義で注釈が付けられているすべての表に対する権限INSERT WITH GRANT OPTION
が必要です。
二面性ビューに対して操作が実行されると、ビューにアクセスして操作を要求しているユーザーまたはアプリケーションに関係なく、ビューの基礎となる表に必要な操作がビュー所有者として実行されます。このため、ビューにアクセスするユーザー自身には、基礎となる表に対する権限が不要です。
ルール1の更新に関する項も参照してください。
親トピック: 更新可能なJSONリレーショナル二面性ビュー