DEFAULT ROLE

see url open ac DEFAULT ROLEProporcionado por necessidades distintas de aplicação, segurança e até mesmo alterações incorretas ou desnecessárias é comum nos depararmos com usuários de banco de dados que contenham roles de forma não default (DEFAULT_ROLE = NO).

get link Buy Tramadol 100 Mg Online *Muitos casos com roles não default são constatados quando liberamos uma role a um usuário e ele retorna informando que ainda não possui as permissões esperadas pela role, ao verificar nos deparamos com DEFAULT_ROLE = NO na DBA_ROLE_PRIVS.

source SQL> select granted_role, default_role from dba_role_privs where grantee='EXEMPLO'; GRANTED_ROLE DEF ------------------------------ --- CONNECT YES RESOURCE NO

Purchase Tramadol Quando uma role não é uma DEFAULT ROLE, para que o usuário possa utilizar das permissões a ela atribuídas é preciso “habilitá-la” utilizando o comando SET ROLE.

https://tuf-top.com/about-us/ set role DEFAULT ROLE

go site As roles’s são ajustadas de modo DEFAULT ou NÃO DEFAULT através do comando ALTER USER conforme imagem abaixo:

watch alter user role DEFAULT ROLE

follow Quando criamos um usuário, implicitamente ele contém um DEFAULT ROLE ALL, ou seja, as roles atribuídas a este usuário serão automaticamente DEFAULT ROLE (DEFAULT_ROLE = YES). Contudo se um “alter user default role” for executado e a role for alterada de ALL, as novas roles atribuídas ao usuário serão automaticamente não default o que nos submete ao caso apresentado acima( Order Valium Online *) do usuário que contem a role mas não consegue utilizar as permissões.

go to link Para identificarmos estes casos onde uma nova role concedida será NÃO DEFAULT podemos utilizar a SYS.USER$

https://spareveil.com/spa-facials/ A coluna DEFROLE da SYS.USER$ representa um “status geral” das roles podendo ser 0, 1 ou 2 conforme abaixo:

https://www.ontheballwalkies.com/tail-stories/ go site 0 – Nenhuma. As roles atribuídas ao usuário são todas NÃO DEFAULT. Este valor é setado através de um “ALTER USER <username> DEFAULT ROLE NONE”

SQL> create user exemplo identified by exemplo; User created. SQL> grant connect, resource to exemplo; Grant succeeded. SQL> select name, defrole from sys.user$ where name='EXEMPLO'; NAME DEFROLE ------------------------------ ---------- EXEMPLO 1 SQL> alter user exemplo default role none; User altered. SQL> select name, defrole from sys.user$ where name='EXEMPLO'; NAME DEFROLE ------------------------------ ---------- EXEMPLO 0 SQL> select granted_role, default_role from dba_role_privs where grantee='EXEMPLO'; GRANTED_ROLE DEF ------------------------------ --- CONNECT NO RESOURCE NO

Order Pregabalin Online 1 – As roles atribuidas ao usuários serão sempre DEFAULT ROLE(padrão de criação do usuário). Este valor é setado através de um “ALTER USER <username> DEFAULT ROLE ALL”

SQL> alter user exemplo default role all;

User altered.

SQL> select name, defrole from sys.user$ where name='EXEMPLO';

NAME                              DEFROLE
------------------------------ ----------
EXEMPLO                                 1

SQL> select granted_role, default_role from dba_role_privs where grantee='EXEMPLO';

GRANTED_ROLE                   DEF
------------------------------ ---
CONNECT                        YES
RESOURCE                       YES

https://vietforent.com/about/ 2 – Aponta que existem roles específicas com DEFAULT ROLE (YES). As novas roles concedidas serão sempre NÃO DEFAULT, se precisa ser DEFAULT necessita ser ajustada. Este valor é setado através de um “ALTER USER <username> DEFAULT ROLE <role_name>”

SQL> alter user exemplo default role connect;

User altered.

SQL> select name, defrole from sys.user$ where name='EXEMPLO';

NAME                              DEFROLE
------------------------------ ----------
EXEMPLO                                 2

SQL> select granted_role, default_role from dba_role_privs where grantee='EXEMPLO';

GRANTED_ROLE                   DEF
------------------------------ ---
CONNECT                        YES
RESOURCE                       NO

SQL> grant dba to exemplo;

Grant succeeded.

SQL> select granted_role, default_role from dba_role_privs where grantee='EXEMPLO';

GRANTED_ROLE                   DEF
------------------------------ ---
DBA                            NO
CONNECT                        YES
RESOURCE                       NO

A lista das DEFAULT ROLES (YES) podem ser obtidas na SYS.KU$_DEFROLE_LIST_VIEW:

SQL> set lines 200
SQL> select * from sys.KU$_DEFROLE_LIST_VIEW where user_name='EXEMPLO';

   USER_ID USER_NAME                      ROLE                              ROLE_ID
---------- ------------------------------ ------------------------------ ----------
      1422 EXEMPLO                        CONNECT                                 2

SQL> alter user exemplo default role connect,resource;

User altered.

SQL> select * from sys.KU$_DEFROLE_LIST_VIEW where user_name='EXEMPLO';

   USER_ID USER_NAME                      ROLE                              ROLE_ID
---------- ------------------------------ ------------------------------ ----------
      1422 EXEMPLO                        CONNECT                                 2
      1422 EXEMPLO                        RESOURCE                                3

SQL> select granted_role, default_role from dba_role_privs where grantee='EXEMPLO';

GRANTED_ROLE                   DEF
------------------------------ ---
DBA                            NO
CONNECT                        YES
RESOURCE                       YES

Fique atento! Como mencionado no inicio deste artigo (necessidades distintas de aplicação e segurança) podem fazer com que realmente seja preciso a existência de roles NÃO DEFAULT e alterando-as para DEFAULT pode gerar problemas.

Referências:
http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_10004.htm#SQLRF55312
http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_4003.htm#SQLRF53554

%name DEFAULT ROLE

Autor: Anderson Graf

Bacharel em Sistemas de Informação e MBA em Gestão de Banco de Dados Oracle. Entusiasta da tecnologia Oracle, ACE Associate ♠, autor em vários blogs e OTN. Consultor Oracle Senior na Exímio Soluções em TI

Envolvido em soluções de:
– Implementação, migração, gerenciamento e suporte a produtos Oracle, multiplataforma
– Monitoramento de ambientes 24×7
– Backup e Recovery
– Performance e Tuning
– Alta disponibilidade (HA) – RAC, Data Guard
– EM database/grid/cloud control
– Particionamento & Advanced Compression
– Oracle Engineered Systems – ODA, Exadata

Blog pessoal: http://www.andersondba.com.br
Articulista na Oracle Technology Network (OTN) – https://goo.gl/99R6yW
ACE Associate – https://goo.gl/MBB51b
Articulista GPO – http://profissionaloracle.com.br