Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* PRIVILÉGIO DE SISTEMA */
- --CRIANDO USUÁRIO
- CREATE USER HR_2
- IDENTIFIED BY HR;
- --ALTERANDO SENHA DO USUARIO
- ALTER USER HR_2
- IDENTIFIED BY HR2;
- --PREVILEGIOS PARA USUARIO
- GRANT
- CREATE SESSION,
- CREATE TABLE,
- CREATE PROCEDURE,
- CREATE VIEW,
- CREATE SEQUENCE
- TO HR_2;
- --ATRIBUIR PERMISSÕES DE UMA VEZ
- CREATE ROLE DEVS;
- GRANT
- CREATE SESSION,
- CREATE TABLE,
- CREATE PROCEDURE,
- CREATE VIEW,
- CREATE SEQUENCE
- TO DEVS;
- --ATRIBUINDO GRANT ROLE PARA USUÁRIO
- GRANT DEVS
- TO HR_2;
- /* PRIVILEGIOS DE OBJETOS
- ALTER
- DELETE
- EXECUTE
- INDEX
- INSERT
- REFERENCES
- SELECT
- UPDATE
- TABELA: TODOS, EXCETO EXECUTE.
- VIEW: DELETE, INSERT, SELECT, UPDATE.
- SEQUENCE: ALTER, SELECT.
- PRCEDURE: EXECUTE.
- WITH GRANT OPTION FAZ COM QUE O USUÁRIO POSSA DAR
- AS PERMISSÕES QUE ELE TEM PARA OUTRO USUÁRIO
- */
- GRANT SELECT
- ON employees
- TO HR_2;
- GRANT UPDATE (department_name, location_id)
- ON departments
- TO HR_2;
- GRANT SELECT, UPDATE (department_name, location_id), INSERT
- ON departments
- TO HR_2
- WITH GRANT OPTION;
- /*
- DICIONÁRIO DE DADOS PARA PRIVILÉGIOS
- ROLE_SYS_PRIVS: Privilégios do sistema dentro de uma ROLE;
- ROLE_TAB_PRIVS: Privilégios de objetos concedidos a uma ROLE;
- USER_ROLE_PRIVS: Roles que o usuário tem;
- USER_TAB_PRIVS_MADE: Privilégios de objetos concedidos nos objetos do usuário;
- USER_TAB_PRIVS_RECD: Privilégios de objetos que o usuário possui;
- USER_COL_PRIVS_MADE: Privilégios nas colunas dos objetos do usuário;
- USER_COL_PRIVS_RECD: Privilégios que o usuário possuí em colunas de tabelas de outros usuários;
- USER_SYS_PRIVS: Privilégios de sistema concedidos ao usuário;
- RETIRANDO PRIVILÉGIOS DE USUÁRIOS
- (TAMBÉM SERVE PARA WITH GRANT OPTION)
- OBS: CASO REVOKE O PRIMEIRO USUÁRIO, OS DEMAIS QUE RECEBERAM
- GRANT DESSE USUÁRIO, PERDERAM AS PERMISSÕES TAMBÉM.
- */
- SELECT * FROM ROLE_SYS_PRIVS;
- SELECT * FROM USER_TAB_PRIVS_MADE;
- SELECT * FROM USER_COL_PRIVS_MADE;
- SELECT * FROM USER_COL_PRIVS_RECD;
- SELECT * FROM USER_SYS_PRIVS;
- REVOKE SELECT, INSERT
- ON departments
- FROM HR_2;
- /* Crie um usuário com o seu nome, este usuário deve ter as permissões de se conectar,
- criar tabelas e functions.*/
- CREATE USER MESH
- IDENTIFIED BY 123;
- GRANT
- CREATE SESSION,
- CREATE TABLE,
- CREATE PROCEDURE
- TO MESH;
- /* Para o usuário que foi criado no Exercício 01,
- de à ele as permissões de de alterar as colunas department_id e department_name da tabela
- departments, select na tabela employees e delete na tabela jobs. Sendo que este usuário poderá
- conceder esta permissão à outros usuários.*/
- GRANT UPDATE (department_id, department_name)
- ON departments
- TO HR_2
- WITH GRANT OPTION;
- GRANT SELECT
- ON employees
- TO HR_2
- WITH GRANT OPTION;
- GRANT DELETE
- ON jobs
- TO HR_2
- WITH GRANT OPTION;
- /* Coloque todas as permissões de sistema que foram dadas ao usuário criado em uma ROLE,
- após isso retire as permissões de sistema desse usuário e atribua a ROLE para ele.*/
- CREATE ROLE DBAS;
- GRANT
- CREATE SESSION,
- CREATE TABLE,
- CREATE PROCEDURE
- TO DBAS;
- REVOKE
- CREATE SESSION,
- CREATE TABLE,
- CREATE PROCEDURE
- FROM HR_2;
- GRANT DBAS
- TO HR_2;
- /* Mostre no dicionário de dados com apenas uma query (Será necessário usar o UNION ALL)
- todas as permissões de objeto que este usuário novo possuí*/
- SELECT a.grantee, a.TABLE_NAME, a.privilege, NULL Nulo
- FROM USER_TAB_PRIVS_MADE a
- WHERE a.grantee = 'HR_2'
- UNION ALL
- SELECT b.grantee, b.TABLE_NAME, b.previlege, b.colum_name
- FROM USER_TAB_PRIVS_RECD b
- WHERE b.grantee = 'HR_2';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement