グループは、メンバを持つことができるなどの特殊なパーミッションを持つユーザ ID と考えることができます。グループのパーミッションや権限の付与と取り消しは、ユーザの場合とまったく同じように行います。
グループの階層を構成し、各グループを別のグループのメンバにできます。メンバは、ユーザであるかグループであるかを問わず、その親グループから権限とパーミッションを継承します。ユーザ ID は複数のグループに属することができます。ユーザとグループの関係は多対多です。
ユーザの場合と同様に、テーブル、ビュー、またはプロシージャに対してグループ・パーミッションを付与または取り消しできます。その場合、グループのすべてのメンバが変更内容を継承します。
パスワードなしのグループも作成できます。これによって、グループのユーザ ID を使用したデータベースへの接続を防ぐことができます。パスワードのないグループを参照してください。
グループの権限とパーミッションを管理するには、ユーザのパーミッションと権限を管理する場合と同じ手順に従います。ユーザのパーミッションと権限の管理の概要を参照してください。
グループの REMOTE パーミッションの管理については、REMOTE パーミッションの付与と取り消しを参照してください。
パーミッション付与 (GRANT ... WITH GRANT OPTION 文) を除き、ユーザとグループは、メンバとして属するグループのすべてのパーミッションを継承します。
グループのメンバは、属しているグループに設定されている次の権限だけを継承できます。
次の例では、group1 と group2 の 2 つのグループを作成します。ユーザ bobsmith を両方のグループに作成し、メンバシップを付与します。テーブル table1 を作成し、この新しいテーブルに対する SELECT パーミッションと INSERT パーミッションを group2 に付与します。
GRANT CONNECT, GROUP TO group1; GRANT CONNECT, GROUP TO group2; GRANT CONNECT TO bobsmith IDENTIFIED BY sql; GRANT MEMBERSHIP IN GROUP group1 TO bobsmith; GRANT MEMBERSHIP IN GROUP group2 TO bobsmith; CREATE TABLE DBA.table1( column1 INT, modified_by VARCHAR(128) DEFAULT USER ); GRANT SELECT, INSERT ON DBA.table1 TO group2; |
bobsmith は group2 のメンバなので、table1 に対する SELECT パーミッションと INSERT パーミッションを継承し、次に示すようにテーブルに値を挿入できます。
CONNECT USER bobsmith IDENTIFIED BY sql; INSERT INTO DBA.table1(column1) VALUES(1); |
グループの作成
グループ・メンバシップを既存のユーザまたはグループに付与する
グループ・メンバシップの取り消し
グループのパーミッションと権限
グループが所有するテーブルの参照
パスワードのないグループ
特殊なグループ
データベースからグループを削除する
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |