方法: 1. 「revoke system_privilege from user|role」コマンドを使用してシステム権限をキャンセルします; 2. 「revoke obj_privilege|allon object from user|role」コマンドを使用してオブジェクト権限をキャンセルします。
このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。
Oracle の権限取り消し
Oracle の権限取り消しの概念は、ユーザーまたはロールの権限を再利用することです。ユーザーの権限を取り消すことです。 特定のシステム権限を削除したり、オブジェクトの操作権限を削除したりします。
Oracle はシステム権限を取り消します
Oracle はシステム権限を取り消します。DBA 権限を持つユーザーのみが操作を取り消すことができます。システム権限を取り消すための構文は次のとおりです:
revoke system_privilege from user|role;
構文分析:
1. system_privilege: 取り消されたシステム権限の名前を参照します。システム権限を取り消す場合、ユーザーはシステム権限が存在しない場合、システム権限を取り消すことはできません。
2. user|role: 権限を取り消す対象がユーザーであるかロールであるかを示します。
例 1. revoke コマンドを使用して、ユーザー Teacher のセッション作成権限を取り消します。コードは次のとおりです:
revoke create session from teacher;
これにより、データ ディクショナリを通じて TEACHER のシステム権限をクエリできます。 dba_sys_privs を実行すると、作成セッションが存在しないことがわかります。
Oracle はオブジェクト権限を取り消します
Oracle はオブジェクト権限を取り消すために revoke コマンドも使用します。構文構造は次のとおりです:
revoke obj_privilege|all on object from user|role;
構文分析:
1. obj_privilege|all: 対応するデータベース オブジェクトの操作権限を指します。all はすべての操作権限を取り消すことを意味します。
例 2. revoke コマンドを使用して、学生情報テーブル (stuinfo) に対するユーザー Teacher の削除操作権限を取り消します。コードは次のとおりです:
revoke delete on student.stuinfo from teacher ;
次に、データを通じて stuinfo をクエリします。 Dictionary dba_tab_privs 操作権限が削除され、クエリ権限のみが残っていることがわかりました。
注: 権限を取り消す場合、システム権限の取り消しとオブジェクト権限の取り消しは異なります。Oracle 権限認可管理の前の章から、システム権限の認可はカスケードされていないことがわかります。オブジェクト権限の認可はカスケードされません。 認可はカスケードされます。権限を取り消す場合も同様で、オブジェクト権限が取り消されると、そのユーザーが他のユーザーに付与したオブジェクト権限も取り消されます。システム権限を取り消しても、他のユーザーの権限は取り消されません。
推奨チュートリアル: 「Oracle ビデオ チュートリアル 」
以上がOracleで権限をキャンセルする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。