データベースの各ユーザは、データベースに接続するときに入力する名前 (ユーザ ID) を持ち、少なくとも 1 つのグループに所属しています。また、ユーザとグループは、データベース内の情報のセキュリティとプライバシーを維持しながらタスクを実行するために許可された権限とパーミッションを持っています。
「パーミッション」は、テーブル、ビュー、ユーザなどのデータベース・オブジェクトを作成、変更、問い合わせ、使用、削除するために付与されます。「権限」は、データベースのバックアップや診断トレーシングの実行など、データベース・レベルでタスクを実行するために付与されます。SQL Anywhere では、パーミッションと権限をユーザとグループに付与できます。
パーミッションは、グループからそのグループに属するユーザにすべて継承可能ですが、権限は一部のみが継承可能です。
次の表に、ユーザに割り当てることができる権限と、グループ・メンバシップを通して継承可能かどうかを示します。
権限 | グループ・メンバシップを通して継承可能 | その他の情報 |
---|---|---|
BACKUP | いいえ | BACKUP 権限を参照してください。 |
DBA | いいえ | DBA 権限を参照してください。 |
PROFILE | はい | PROFILE 権限を参照してください。 |
READCLIENTFILE | はい | READCLIENTFILE 権限を参照してください。 |
READFILE | はい | READFILE 権限を参照してください。 |
REMOTE DBA | ||
RESOURCE | いいえ | RESOURCE 権限を参照してください。 |
VALIDATE | いいえ | VALIDATE 権限を参照してください。 |
WRITECLIENTFILE | はい | WRITECLIENTFILE 権限を参照してください。 |
次の表に、ユーザに割り当てることができるパーミッションと、グループ・メンバシップを通して継承可能かどうかを示します。
パーミッション | グループ・メンバシップを通して継承可能 | その他の情報 | |
---|---|---|---|
ALL | はい | データベース・オブジェクトに関連するすべてのタスクの実行をユーザに許可する (ALTER、DELETE、INSERT、REFERENCES、SELECT、UPDATE の付与と同等) | GRANT 文を参照してください。 |
ALTER | はい | データベース・オブジェクトの変更をユーザに許可する | グループ・メンバシップを通して継承したパーミッションを参照してください。 |
CONNECT | いいえ | データベースへの接続をユーザに許可する | 新しいユーザの作成を参照してください。 |
CONSOLIDATE | いいえ | SQL Remote で使用する統合データベースを指定する | CONSOLIDATE パーミッションを参照してください。 |
DELETE | はい | データベース・オブジェクトの削除をユーザに許可する | GRANT 文を参照してください。 |
INSERT | はい | データベース・オブジェクトへのデータ挿入をユーザに許可する | GRANT 文を参照してください。 |
INTEGRATED LOGIN | いいえ | 統合化ログインを使用したデータベースへの接続をユーザに許可する | 統合化ログインの使用方法を参照してください。 |
KERBEROS LOGIN | いいえ | Kerberos ログインを使用したデータベースへの接続をユーザに許可する | Kerberos 認証を参照してください。 |
PUBLISH | いいえ | SQL Remote でのデータベースのパブリッシャを指定する | PUBLISH パーミッションを参照してください。 |
REFERENCES | はい | テーブルへのインデックスの作成とテーブルを参照する外部キーの作成をユーザに許可する | GRANT 文を参照してください。 |
REMOTE | いいえ | SQL Remote と Mobile Link で使用するリモート・データベースを指定する | GRANT REMOTE DBA 文 [Mobile Link] [SQL Remote]を参照してください。 |
SELECT | はい | データベース・オブジェクトの問い合わせをユーザに許可する | GRANT 文を参照してください。 |
UPDATE | はい | データベース・オブジェクトの更新をユーザに許可する | GRANT 文を参照してください。 |
参照:GRANT 文。
SQL Anywhere はネガティブ・パーミッションをサポートしません。つまり、明示的に付与されていないパーミッションは取り消せません。
たとえば、ユーザ bob が sales グループのメンバであるとします。あるユーザがテーブル T に対する DELETE パーミッションを sales に付与すると、bob は T からローを削除できるようになります。bob に T からの削除を実行させないようにする場合は、REVOKE DELETE を単純に実行しただけでは bob から T へのパーミッションを取り消すことはできません。T に対する DELETE パーミッションは、直接 bob に付与されたものではないためです。この場合は、sales グループの bob のメンバシップを取り消さなければなりません。
次の項を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |