個々のテーブルにパーミッションのセットを割り当てて、これらのパーミッションの組み合わせをユーザに付与すると、テーブルへのアクセスを定義できます。
Sybase Central または Interactive SQL のいずれかを使用して、パーミッションを設定できます。Interactive SQL では、GRANT 文を使用してテーブルに以下のパーミッションを付与できます。
ALTER パーミッションによって、ユーザはテーブルの構造を変更したりテーブル上でトリガを作成したりできます。REFERENCES パーミッションでは、テーブル上にインデックスを作成し、さらに外部キーを作成できます。これらのパーミッションにより、データベース・スキーマの変更権限が付与されます。したがって、ほとんどのユーザは付与の対象になりません。また、これらのパーミッションはビューには適用されません。
DELETE、INSERT、UPDATE の各パーミッションは、テーブルのデータを修正する権限を付与します。
SELECT パーミッションは、テーブルのデータを見る権限を付与しますが、変更するためのパーミッションは付与しません。
ALL パーミッションは、これらすべてのパーミッションを付与します。
REFERENCES、SELECT、および UPDATE パーミッションは、対象をテーブルまたはビューのカラムのセットに限定できます。
DBA 権限のあるユーザとしてデータベースに接続します。
[テーブル] をクリックします。
テーブルを右クリックして、[プロパティ] を選択します。
[パーミッション] タブをクリックし、テーブルのパーミッションを次の手順で設定します。
[付与] をクリックします。
ユーザまたはグループをダブルクリックします。
パーミッションの表で、ユーザまたはグループの横にあるフィールドをクリックして、特定のパーミッションを設定します。
ユーザを選択し、[変更] をクリックして、カラムに固有のパーミッションを設定します。
[OK] をクリックします。
すべてのパーミッションを取り消すには、ユーザまたはグループを選択して、[取り消し] をクリックします。
[適用] をクリックします。
[ユーザのプロパティ] または [グループのプロパティ] ウィンドウから、パーミッションを割り当てることもできます。パーミッションを複数のユーザまたはグループに割り当てるには、[テーブルのプロパティ] ウィンドウを使用します。パーミッションを複数のテーブルに割り当てるには、[ユーザのプロパティ] ウィンドウを使用します。
DBA 権限のあるユーザとしてデータベースに接続します。
GRANT 文を実行してパーミッションを割り当てます。
GRANT 文を参照してください。
テーブル・パーミッションはすべて、よく似た方法で付与されます。たとえば、次の手順では、M_Haneef に sample_table というテーブルからローを削除するパーミッションを与えることができます。
DBA 権限のあるユーザまたは sample_table の所有者としてデータベースに接続します。
次の SQL 文を実行します。
GRANT DELETE ON sample_table TO M_Haneef; |
次の手順で、sample_table という名前のテーブルに含まれるカラム column_1 と column_2 だけを更新するパーミッションを M_Haneef に与えることができます。
DBA 権限のあるユーザまたは sample_table の所有者としてデータベースに接続します。
次の SQL 文を実行します。
GRANT UPDATE ( column_1, column_2 ) ON sample_table TO M_Haneef; |
テーブル・パーミッションの対象は、テーブル内の全データに制限されます。ただし、REFERENCES、SELECT、および UPDATE パーミッションはカラムのサブセットに付与できます。さらに細かいユーザ・パーミッションを設定するには、テーブルに対してアクションを実行するプロシージャを作成し、そのプロシージャを実行するパーミッションをユーザに与えます。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |