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、権限、パーミッションの管理 » ユーザのパーミッションと権限の管理の概要

 

ユーザのパーミッションと権限の取り消し

ユーザのパーミッションは、付与されたパーミッションと取り消されたパーミッションの組み合わせで決まります。パーミッションの付与と取り消しを使って、データベースのユーザ・パーミッションを管理できます。

DBA 権限を持つユーザまたはプロシージャの所有者が、このコマンドを発行してください。

接続パーミッションまたは別のユーザからのテーブル・パーミッションを取り消す場合、他のユーザはそのデータベースに接続できません。dbo からの接続パーミッションの取り消しはできません。

REVOKE 文を実行すると、ユーザに明示的に付与されたパーミッション (ユーザが所属するグループから継承されたものではないパーミッション) が取り消されます。REVOKE 文の構文は、GRANT 文と同じです。たとえば、ユーザ M_Haneef に付与された my_procedure を実行するためのパーミッションを取り消すには、次のコマンドを実行します。

REVOKE EXECUTE
ON my_procedure
FROM M_Haneef;

sample_table からローを削除するためのパーミッションを取り消すには、次のコマンドを実行します。

REVOKE DELETE
ON sample_table
FROM M_Haneef;

グループにユーザを追加すると、ユーザはそのグループに割り当てられたすべてのパーミッションと継承可能な権限を継承します。SQL Anywhere では、グループのメンバとしてユーザが継承するパーミッションと権限のサブセットを取り消すことはできません。取り消しが可能なパーミッションは、GRANT 文によって明示的に付与されたパーミッションだけです。継承されたパーミッションまたは権限をユーザから削除する必要がある場合は、新しいグループを作成して必要なパーミッションと権限を割り当てた上でユーザをそのグループのメンバにするか、ユーザをグループから削除して必要なパーミッションを明示的に付与します。

参照