ユーザーまたは他のロールからロールを取り消します。
必要な権限
ロールを取り消すには、それに対するWITH ADMIN OPTION権限が必要です。以下のユーザーが、ロールのメンバーシップを取り消せます。
- ユーザーDBC
- WITH ADMIN OPTION付きの指定されたロールを付与されたユーザー。
ロールは、WITH ADMIN OPTION付きのロールの作成者に自動的に付与されます。
- WITH ADMIN OPTION付きで指定されたロールが与えられたアクティブ ロールを持つユーザー。アクティブ ロールは、現在のロールか、現在のロールの入れ子ロールのいずれかです。
構文
REVOKE [ ADMIN OPTION FOR ] role_name [,...] { TO | FROM } { user_name | role_name } [,...] [;]
構文要素
- ADMIN OPTION FOR
- このロールを付与されたロールまたはユーザーが、GRANT、REVOKE、およびDROP ROLE文を使用して、指定されたロールを管理する権限を失うことを示します。
- role_name
- 1つまたは複数のカンマで区切られた、取り消すロールの名前を指定します。
- TO
- FROM
- user_name
- role_name
- ロールもしくはロールを管理する能力が取り消されているロール、またはユーザー、あるいはその両方の名前を指定します。
1つのロールを取り消して別のロールに付与する例
ユーザーmarksがsalesからmanagementへ昇進した場合、データベース管理者は次の文を使用して、salesロールを取り消してmanagementロールを付与できます。
REVOKE sales FROM marks; GRANT management TO marks;
ロールを取り消した場合の影響
ロールは、データベース オブジェクトに対する権限を定義します。ロールを活動化するユーザーは、ロールと入れ子ロールのすべての権限を継承します。ユーザーは、自身に付与されているロールだけを活動化することができます。
ユーザーは、組織内でのロールを変更されることがあります。ロールが権限を持っているオブジェクトにユーザーがアクセスする必要がなくなった場合は、管理者がロールを取り消せます。ロールが権限を持っているオブジェクトにユーザーがアクセスする必要がなくなった場合は、管理者がロールを取り消せます。
許可されたユーザーは、ロールの作成者からロールに対するWITH ADMIN OPTION権限を取り消せます。
ロール取り消しはすぐに有効になります。現在のロールまたは現在のロールの入れ子ロールとして、取り消されたロールを使用してログオンするユーザーは、そのロールで定義されている権限を失います。
取り消されたロールがデフォルト ロールとして設定されているユーザーは、次回のログオン時にエラーや警告を受け取りません。しかし、システムでは、権限の評価に、廃止されたデフォルト ロールを使用しません。ロールが再びユーザーに付与されると、ユーザーが次回ログオンする際に、再びデフォルト ロールが現在のロールになります。