16 lutego, 2022

jak znaleźć użytkowników posiadających rolę dba w Oracle

domyślna rola dba jest automatycznie tworzona podczas instalacji bazy danych Oracle. Ta rola zawiera większość uprawnień systemu bazodanowego. W związku z tym rola DBA powinna być przyznawana jedynie faktycznym administratorom baz danych. Jeśli chcesz wiedzieć, którzy użytkownicy otrzymali rolę dba, musisz zapytać dba_role_privs w schemacie SYS.

USERS_HAVING_DBA_ROLES

rola DBA nie obejmuje uprawnień systemu SYSDBA ani sysoper. Są to specjalne uprawnienia administracyjne, które umożliwiają administratorowi wykonywanie podstawowych zadań administracyjnych, takich jak tworzenie bazy danych oraz uruchamianie i zamykanie instancji.

ta rola mówi beneficjentowi, granted_role, czy ma przyznaną opcję administratora i czy rola jest ich domyślną rolą:

DBA_ROLE_PRIVS opisuje role przyznane wszystkim użytkownikom i rolom w bazie danych.

USER_ROLE_PRIVS opisuje role przyznane aktualnemu użytkownikowi.

SQL> desc dba_role_privs
Nazwa Null? Typ
—- — —-
GRANTEE VARCHAR2 (30)
GRANTED_ROLE NOT NULL VARCHAR2 (30)
ADMIN_OPTION VARCHAR2 (3)
DEFAULT_ROLE VARCHAR2(3)

beneficjent: nazwa użytkownika lub roli otrzymującej dotację
——
GRANTED_ROLE: Nazwa przydzielonej roli
———
ADMIN_OPTION: wskazuje, czy dotacja była z opcją ADMIN (tak), czy Nie (Nie)
———
DEFAULT_ROLE: Wskazuje, czy rola jest wyznaczona jako domyślna rola dla użytkownika (tak), czy nie (nie)

za pomocą poniższego zapytania można znaleźć użytkowników posiadających uprawnienia DBA

SQL> select * from dba_role_privs where granted_role='DBA';
GRANTEE GRANTED_ROLE ADM DEF
--------- ------------ --- ---
SYS DBA YES YES
SYSTEM DBA YES YES

istnieje wiele sytuacji, w których chcesz odwołać role dba przyznane użytkownikowi ze względów bezpieczeństwa. Powyższe zapytanie pomoże Ci znaleźć użytkowników posiadających uprawnienia DBA.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.