Ferramentas do usuário

Ferramentas do site


triggerprocedureapplygrant

Trigger - Aplicar Grants Automaticamente (PL/SQL)

Olá, nesse artigo gostaria de compartilhar com vocês uma trigger para aplicação de grants (automaticamente de um schema para outro schema ou role:

Considerações:

O script abaixo deve ser validado num ambiente não produtivo 1), antes de ser aplicado em produção.

Pré-requisitos:

GRANT CREATE JOB to DBAHERO;
  • É importante que o owner2) dos objetos tenha o privilégio de execução de JOB3).

1 - Segue abaixo a trigger:

tgr_apply_grants.sql
---------------------------------
---   DBAHero                 ---
---   Author: Leonardo Lopes  ---
---   Date: 09/12/2023        ---
---   v1                      ---
---------------------------------
 
--- DBAHERO e o nome do schema dono dos objetos (Substitua o nome da trigger e da procedure de acordo com o nome do schema dono dos objetos)
 
--- RL_DBAHERO_RO e o nome da role que recebera os acessos (Substitua o nome da role pelo nome do schema ou role que recebera os acessos)
 
CREATE OR REPLACE TRIGGER DBAHERO.GRANT_ON_DBAHERO
  AFTER CREATE OR ALTER ON DBAHERO.SCHEMA
DECLARE
  LV_JOB NUMBER;
BEGIN
  DBMS_JOB.SUBMIT(LV_JOB,q'{DBAHERO.APPLY_GRANTS_RO('DBAHERO','RL_DBAHERO_RO');}'); --- Dispara o job que faz a execucao da procedure
END;
/
  • DBAHERO ⇒ É o nome do schema dono dos objetos (Substitua o nome da trigger e da procedure de acordo com o nome do schema dono dos objetos).
  • RL_DBAHERO_RO ⇒ É o nome da role que receberá os acessos (Substitua o nome da role pelo nome do schema ou role que receberá os acessos).

O código da procedure mencionada acima, pode ser encontrado aqui: Procedure Aplicar Grants Read-Only (PL/SQL).

- Até a próxima.

Trigger - Aplicar Grants Automaticamente (PL/SQL)

— Autor: Leonardo Lopes 09/12/2023 07H:02

1)
Non-Prod.
2)
Dono dos objetos.
3)
JOB é a execução imediata ou agendada de uma tarefa.
triggerprocedureapplygrant.txt · Última modificação: 08/12/2024 03H:42 por admin