許可 とは、あるユーザーまたはグループに対し、 データベースへの接続、表の作成、 システムの管理などの一般的なタスクを実行することを認めるものです。
特権 とは、あるユーザーまたはグループに対し、 ある特定のデータベース・オブジェクトに指定した方法でアクセスする権利を与えるものです。
データベース・マネージャーでは、 ユーザーが特定のタスクの実行に必要な個々のデータベース機能を使用するための権限を、 暗黙にまたは明示的に 13 与えられていることが必要です。 このため、ユーザーには、表を作成するには表を作成するための権限が、 表を変更するには表を変更するための権限が与えられていなければなりません。 他の処理についても同様です。
管理権限を有するユーザーは、データベース・マネージャーの制御を担当し、 データの安全性や保全性に関する責任を負います。 このようなユーザーは、誰がデータベース・マネージャーへアクセスできるか、 また各ユーザーがどの程度アクセスできるかを制御します。
データベース・マネージャーは、2 つの管理権限を提供しています。
また、システム制御権限には、以下の 2 つがあります。
SYSADM 権限は、最高位の権限であり、 データベース・マネージャーによって作成および管理されるすべての資源を制御します。
SYSADM 権限には、DBADM、 SYSCTRL、および SYSMAINT のすべての特権と、 DBADM 権限の付与または取り消しを行う権限が含まれています。
DBADM 権限は、単一のデータベースに固有の管理権限です。
この権限には、オブジェクトを作成したり、 データベース・コマンドを発行したり、 データベースの表に含まれるデータに SQL ステートメントによってアクセスしたりする特権が含まれています。 また DBADM 権限には、CONTROL および個々の特権を付与したり、 取り消したりする権限も含まれています。
SYSCTRL 権限は、高水準のシステム制御権限であり、 システム資源に影響を与える操作にのみ適用されます。
データへの直接アクセスは許されていません。 この権限には、データベースの作成、更新、または除去を行う特権、 インスタンスまたはデータベースを静止させる特権、 および表スペースの除去または作成を行う特権が含まれています。
SYSMAINT 権限は、第 2 レベルのシステム制御権限です。
SYSMAINT 権限を与えられたユーザーは、 あるインスタンスに関連したすべてのデータベースに対して保守操作を実行することができます。 データへの直接アクセスは許されていません。 この権限には、データベース構成ファイルの更新、 データベースまたは表スペースのバックアップ、 既存のデータベースの復元、データベースのモニターを行う特権が含まれています。
データベース権限は、管理者がデータベース内でユーザーが実行することを許可する活動で、 データベース・オブジェクトの特定のインスタンスに適用されない活動に適用されます。 たとえば、パッケージの作成はできるが表の作成はできない権限がユーザーに与えられることがあります。
特権は、管理者またはオブジェクト所有者によって、 ユーザーがデータベース・オブジェクトで実行を許されている活動に適用されます。 特権が付与されたユーザーは、種々のオブジェクトを作成できますが、 SYSADM または DBADM などの権限をもつユーザーとは異なり、いくつかの制約があります。 たとえば、ユーザーは表の視点は作成できるが、 同じ表でトリガーは作成できない特権を与えられることがあります。 特権を与えられたユーザーは、自分の所有するオブジェクトにアクセスでき、 自分の所有するオブジェクトに対する特権を GRANT ステートメントによって他のユーザーに付与することができます。
CONTROL 特権の与えられたユーザーは、 必要に応じて特定のデータベース・オブジェクトにアクセスしたり、 そのオブジェクトに関する特権を他のユーザーに付与したり (GRANT)、 取り消したり (REVOKE) できます。 CONTROL 特権を付与するには、DBADM 権限が必須です。
個々の特権およびデータベース権限は、特定の機能を許可するものですが、 これと同じ特権もしくは権限を他のユーザーに付与する権利は含まれていません。 表、視点、またはスキーマの特権を他のユーザーに付与する権利は、 GRANT ステートメントの WITH GRANT OPTION を使って他のユーザーに広げることができます。