En este artículo, analizaremos Es una práctica estándar crear roles de grupo, ya que puede reducir significativamente la complejidad y el tiempo requerido para otorgar o invocar privilegios en la base de datos. Pero hay una trampa en esta técnica. Por convención, un rol de grupo no tiene el privilegio LOGIN.
Para crear un rol de grupo, puede usar la declaración CREATE ROLE de la siguiente manera:
Syntax: CREATE ROLE group_role_name;
Syntax: GRANT group_role to user_role;
REVOCAR
Syntax: REVOKE group_role FROM user_role;
Un rol puede usar los privilegios del rol de grupo de las siguientes maneras:
- Si usamos el atributo INHERIT, los miembros del rol del grupo obtienen todos los privilegios del grupo automáticamente.
- Para crear un rol temporal, use la instrucción SET ROLE.
Ejemplo:
cuerpo
create database corp;
cuerpo
\c corp
contactos
create table contacts( id int generated always as identity primary key, name varchar(255) not null, phone varchar(255) not null );
previsiones
create table forecasts( year int, month int, amount numeric );
create role anil inherit login password 'securePass1';
seleccionar pronósticos
grant select on forecasts to anil;
\z
marketing
create role marketing noinherit;
planificación
create role planning noinherit;
marketing de contactos
grant all on contacts to marketing;
planificación de pronósticos
grant all on forecasts to planning;
marketing
grant marketing to anil;
planificacionmarketing
grant marketing to planning;
previsiones
select * from forecasts;
contactos
insert into contacts(name, phone) values('Raju kumar', '408-102-3459');
Como Anil puede pronosticar
SELECT * FROM contacts;
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA