すべてのユーザーに、inventoryテーブルに対するINSERT、UPDATE、DELETEおよびSELECTのDAC(Discretionary Access Control: 任意アクセス制御)権限が付与されたと想定します(このテーブルへのアクセスは行レベル セキュリティ制約classification_levelおよびclassification_categoryによって制御されます)。
次のGRANTリクエストは、これらの権限をPUBLICに付与します。
GRANT INSERT, UPDATE, DELETE, SELECT ON inventory TO PUBLIC;
top_gunユーザーに、classification_levelテーブルのclassification_categoryおよびinventory列を更新するために必要な権限が付与されていると想定します。
ユーザーtop_gunは、次のように定義されています。
CREATE USER top_gun AS PERM=1E6, PASSWORD=Top1111GUN;
classification_levelのclassification_categoryおよびinventory列を更新するには、top_gunがこれらの制約に対するOVERRIDE UPDATE権限を持っている必要があります。
次のGRANTリクエストは、top_gunおよびclassification_level制約に対するOVERRIDE UPDATE CONSTRAINT権限をユーザーclassification_categoryに付与します。
GRANT OVERRIDE UPDATE CONSTRAINT (classification_level) ON inventory TO top_gun; GRANT OVERRIDE UPDATE CONSTRAINT (classification_category) ON inventory TO top_gun;
group_membershipという制約も作成したと想定します。 この制約を最初に作成したときに、group_membership制約の定義では、UPDATEおよびDELETE文アクションに対して指定された行レベル セキュリティ ポリシー関数がありませんでした。
emp_recordテーブルの更新と削除を可能にするには、適切な権限をユーザーまたはロールに付与する必要があります。そのため、以前にユーザーsally_jonesに付与されたロールpersonnel_clerkに、これらの権限を付与することにしました。ロールpersonnel_clerkは、テーブルに対するすべての任意アクセス制御権限をすでに持っています。
OVERRIDE UPDATE CONSTRAINTおよびOVERRIDE DELETE CONSTRAINT権限は、CONSTRAINT ASSIGNMENT権限を持っているセキュリティ管理者によってpersonnel_clerkに付与されます。
次のGRANTリクエストは、group_membership制約列に関するOVERRIDE UPDATE CONSTRAINTおよびOVERRIDE DELETE CONSTRAINT権限をpersonnel_clerkテーブルのemp_recordロールに付与します。
GRANT OVERRIDE UPDATE, DELETE CONSTRAINT (group_membership) ON emp_record TO personnel_clerk;