Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - データベース管理 » データベースの設定 » ユーザ ID、権限、パーミッションの管理

 

グループの管理

グループは、メンバを持つことができるなどの特殊なパーミッションを持つユーザ 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);

グループの作成
グループ・メンバシップを既存のユーザまたはグループに付与する
グループ・メンバシップの取り消し
グループのパーミッションと権限
グループが所有するテーブルの参照
パスワードのないグループ
特殊なグループ
データベースからグループを削除する