Ejemplos
En el siguiente ejemplo, se revocan privilegios INSERT en la tabla SALES del grupo de usuarios GUESTS. Este comando previene que los miembros de GUESTS puedan cargar datos en la tabla SALES con el comando INSERT.
revoke insert on table sales from group guests;
En el siguiente ejemplo, se le revoca el privilegio SELECT en todas las tablas del esquema QA_TICKIT al usuario fred
.
revoke select on all tables in schema qa_tickit from fred;
En el siguiente ejemplo, se le revoca el privilegio para seleccionar desde una vista al usuario bobr
.
revoke select on table eventview from bobr;
En el siguiente ejemplo, se le revoca el privilegio para crear tablas temporales en la base de datos TICKIT a todos los usuarios.
revoke temporary on database tickit from public;
En el siguiente ejemplo, se revoca el privilegio SELECT en las columnas cust_name
y cust_phone
de la tabla cust_profile
del usuario user1
.
revoke select(cust_name, cust_phone) on cust_profile from user1;
En el siguiente ejemplo, se revoca el privilegio SELECT en las columnas cust_name
y cust_phone
y el privilegio UPDATE en la columna cust_contact_preference
de la tabla cust_profile
del grupo sales_group
.
revoke select(cust_name, cust_phone), update(cust_contact_preference) on cust_profile from group sales_group;
En el siguiente ejemplo, se muestra el uso de la palabra clave ALL para revocar los privilegios SELECT y UPDATE de las tres columnas de la tabla cust_profile
del grupo sales_admin
.
revoke ALL(cust_name, cust_phone,cust_contact_preference) on cust_profile from group sales_admin;
En el siguiente ejemplo, se revoca el privilegio SELECT de la columna cust_name
de la vista cust_profile_vw
del usuario user2
.
revoke select(cust_name) on cust_profile_vw from user2;
Ejemplos de revocación del permiso USAGE a bases de datos creadas a partir de recursos compartidos de datos
En el ejemplo siguiente se revoca el acceso al recurso compartido de datos salesshare
desde el espacio de nombres 13b8833d-17c6-4f16-8fe4-1a018f5ed00d
.
REVOKE USAGE ON DATASHARE salesshare FROM NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
En el siguiente ejemplo se revoca el permiso USAGE en sales_db
a Bob
.
REVOKE USAGE ON DATABASE sales_db FROM Bob;
El siguiente es un ejemplo de permiso REVOKE USAGE en sales_schema
para el Analyst_role
.
REVOKE USAGE ON SCHEMA sales_schema FROM ROLE Analyst_role;
Ejemplos de revocación de permisos acotados
El siguiente ejemplo revoca el uso de todos los esquemas actuales y futuros de la base de datos Sales_db
al rol Sales
.
REVOKE USAGE FOR SCHEMAS IN DATABASE Sales_db FROM ROLE Sales;
El siguiente ejemplo revoca la posibilidad de conceder el permiso SELECT para todas las tablas actuales y futuras de la base de datos Sales_db
al usuario alice
. alice
conserva el acceso a todas las tablas en Sales_db
.
REVOKE GRANT OPTION SELECT FOR TABLES IN DATABASE Sales_db FROM alice;
En el siguiente ejemplo, se revoca el permiso EXECUTE para las funciones del esquema Sales_schema
al usuario bob
.
REVOKE EXECUTE FOR FUNCTIONS IN SCHEMA Sales_schema FROM bob;
En el siguiente ejemplo se revocan todos los permisos para todas las tablas del esquema ShareSchema
de la base de datos ShareDb
al rol Sales
. Al especificar el esquema, también puede indicar la base de datos del esquema mediante el formato de dos partes database.schema
.
REVOKE ALL FOR TABLES IN SCHEMA ShareDb.ShareSchema FROM ROLE Sales;
El siguiente ejemplo es el mismo que el anterior. Puede especificar la base de datos del esquema mediante la palabra clave DATABASE
en lugar de utilizar un formato de dos partes.
REVOKE ALL FOR TABLES IN SCHEMA ShareSchema DATABASE ShareDb FROM ROLE Sales;
Ejemplos de revocación del privilegio ASSUMEROLE
A continuación, se muestran ejemplos de revocación del privilegio ASSUMEROLE.
Un superusuario debe habilitar el uso del privilegio ASSUMEROLE para usuarios y grupos al ejecutar una sola vez la siguiente instrucción en el clúster:
revoke assumerole on all from public for all;
La siguiente instrucción revoca el privilegio ASSUMEROLE del usuario reg_user1 en todos los roles para todas las operaciones.
revoke assumerole on all from reg_user1 for all;
Ejemplos de revocación del privilegio ROLE
El siguiente ejemplo revoca sample_role1 a sample_role2.
CREATE ROLE sample_role2; GRANT ROLE sample_role1 TO ROLE sample_role2; REVOKE ROLE sample_role1 FROM ROLE sample_role2;
El siguiente ejemplo revoca los privilegios del sistema a user1.
GRANT ROLE sys:DBA TO user1; REVOKE ROLE sys:DBA FROM user1;
El siguiente ejemplo revoca sample_role1 y sample_role2 a user1.
CREATE ROLE sample_role1; CREATE ROLE sample_role2; GRANT ROLE sample_role1, ROLE sample_role2 TO user1; REVOKE ROLE sample_role1, ROLE sample_role2 FROM user1;
El siguiente ejemplo revoca sample_role2 con ADMIN OPTION a user1.
GRANT ROLE sample_role2 TO user1 WITH ADMIN OPTION; REVOKE ADMIN OPTION FOR ROLE sample_role2 FROM user1; REVOKE ROLE sample_role2 FROM user1;
El siguiente ejemplo revoca sample_role1 y sample_role2 a sample_role5.
CREATE ROLE sample_role5; GRANT ROLE sample_role1, ROLE sample_role2 TO ROLE sample_role5; REVOKE ROLE sample_role1, ROLE sample_role2 FROM ROLE sample_role5;
El siguiente ejemplo revoca los privilegios del sistema CREATE SCHEMA y DROP SCHEMA a sample_role1.
GRANT CREATE SCHEMA, DROP SCHEMA TO ROLE sample_role1; REVOKE CREATE SCHEMA, DROP SCHEMA FROM ROLE sample_role1;