管理者は、ユーザーがデータベース オブジェクトで定義されている行レベル セキュリティを一時的に回避(上書き)できるようにする目的で、これらの権限を付与することができます。これらの権限はユーザーが行レベル セキュリティ ポリシー制限を上書きすることを可能にするため、上書き権限と呼ばれます。
- DML制限上書き権限
- アーカイブ/回復上書き権限。 アーカイブ/リカバリー制限上書き権限を参照してください。
DML制限上書き権限
これらのオブジェクト レベルの権限は、ユーザーが、削除、挿入、選択および更新操作を禁止する行レベル セキュリティ制限を持つ表に対してDMLリクエストを実行できるようにします。
管理者はこれらの権限を付与することにより、ユーザーがDMLリクエストを実行して削除、挿入、選択および更新などの禁止されている操作を一時的に実行できるようにすることができます。
- ユーザーとロールに付与する。
- テーブルまたは制約列に対して付与する。
- OVERRIDE DELETE CONSTRAINT
宛先表に対して付与された場合、ユーザーはその表に適用されるDELETE制約関数のそれぞれに含まれるDELETEセキュリティ ポリシーの妥当性検査を回避できます。
制約列に対して付与された場合、ユーザーは特定の制約関数のDELETEセキュリティ ポリシーの妥当性検査を回避できます。
この権限が宛先表に対して付与された場合も、ユーザーが表のすべての行を削除することはできません。これは、表に対するDELETEがSELECT制約関数によっても制約されており、ユーザーがアクセスを許可されていない行は除外されるためです。すべての行を削除するには、ユーザーがすべてのDELETEおよびSELECT制約検査を回避できる必要があります。 - OVERRIDE INSERT CONSTRAINT
ユーザーがINSERTリクエストを実行してINSERT行レベル セキュリティ制約を持つ列の値を指定できるようにします。
INSERTリクエストには、制約列に割り当てられた値が含まれる必要があります。Vantageは、制約列に割り当てられた値が制約の「名前:コード」ペアによって指定されているものであることを検証します。
- OVERRIDE SELECT CONSTRAINT
単一の制約列に対して付与された場合、ユーザーはその制約列に関連付けられたSELECT制約関数内のセキュリティ ポリシーを回避できます。これは、ユーザーが単一の行を取得することを許可するために使用されます。
すべての制約列に対して付与された場合、ユーザーは表のすべての制約列に関連付けられたSELECT制約関数内のセキュリティ ポリシーを回避できるため、表のすべての列を取得できます。
- OVERRIDE UPDATE CONSTRAINT
ユーザーが、UPDATEリクエストを実行してUPDATE行レベル セキュリティ制約を持つ列に関するSET句の値を指定できるようにします。
これらの権限の付与に関するルール
- ユーザーとロールに付与する。
- 行レベル セキュリティを持つテーブルが含まれるデータベースに対して付与する。
- 行レベル セキュリティを持つテーブルに対して付与する。
- 制約列(行レベル セキュリティ制約を持つ列)に対して付与する。
- これらの権限を付与するには、CONSTRAINT ASSIGNMENT権限が必要です。
- WITH GRANT OPTIONを指定してこれらの権限を付与することはできません。
WITH GRANT OPTIONを指定してこれらの権限のいずれかを付与しようとすると、システムはリクエストをアボートしてエラーを返します。
- GRANTリクエストでは、権限を付与する対象の行レベル セキュリティ制約オブジェクトの名前を指定する必要があります。
- GRANTリクエストの宛先オブジェクトは、データベース、行レベル セキュリティを持つ表(1つ以上の行レベル セキュリティ制約を持つ表)、または制約列である必要があります。1つ以上の行レベル セキュリティ制約を持たない表、または制約を持たない列に対するOVERRIDE CONSTRAINT権限を付与しようとすると、エラーが返されます。
リクエストの宛先 | 必要な上書き権限の対象オブジェクト |
---|---|
データベース | 指定されたデータベース内のすべてのテーブルのすべての制約列。 |
テーブル | 指定された表のすべての制約列。 |
列 | 該当する列。 |
アーカイブ/リカバリー制限上書き権限
これらのオブジェクト レベル権限は、ユーザーが行レベル セキュリティ制約を持つ表や行レベル セキュリティ制約を持つ表を含むデータベースをアーカイブまたは復元するためにアーカイブ/リカバリー ユーティリティ コマンドを実行することを可能にします。管理者はデータベースまたは表に対するこれらの権限を付与できます。
DML制限上書き権限とは異なり、これらの権限では、制約関数(UDF)で定義された行レベル セキュリティ ポリシーを回避できません。
- OVERRIDE DUMP CONSTRAINT
ユーザーが、アーカイブ/リカバリー ユーティリティのARCHIVEコマンドを実行して、1つ以上の行レベル セキュリティ制約列と共に定義されたデータベース オブジェクトをアーカイブできるようにします。ARCHIVEコマンドのすべての宛先オブジェクトで必要です。
- OVERRIDE RESTORE CONSTRAINT
ユーザーが、1つ以上の行レベル セキュリティ制約列と共に定義されたデータベース オブジェクトに対して、アーカイブ/リカバリー ユーティリティのCOPYおよびRESTOREコマンドを実行できるようにします。COPYおよびRESTOREコマンドのすべての宛先オブジェクトで必要です。
- これらの権限を付与するには、CONSTRAINT ASSIGNMENT権限が必要です。
- データベースやテーブルでユーザーおよびロールに対して付与できるのはこれらの権限だけです。
- WITH GRANT OPTIONを指定してこれらの権限を付与することはできません。
WITH GRANT OPTIONを指定してこれらの権限のいずれかを付与しようとすると、システムはリクエストをアボートしてエラーを返します。
- GRANTリクエストでは、権限を付与する対象の行レベル セキュリティ制約オブジェクトの名前を指定する必要があります。
- GRANTリクエストの宛先オブジェクトは、データベース、テーブルまたは制約列である必要があります。