ユーザのパーミッションは、付与されたパーミッションと取り消されたパーミッションの組み合わせで決まります。パーミッションの付与と取り消しを使って、データベースのユーザ・パーミッションを管理できます。
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 文によって明示的に付与されたパーミッションだけです。継承されたパーミッションまたは権限をユーザから削除する必要がある場合は、新しいグループを作成して必要なパーミッションと権限を割り当てた上でユーザをそのグループのメンバにするか、ユーザをグループから削除して必要なパーミッションを明示的に付与します。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |