Oracle 12c versiyonu ile bilikte hayataımıza ilk defa girmiş olan bazı role’ ler ve bu role’ lerin altında bazı system yetkileri girmiş oldu. 12c ile birlikte aslında görevler ayrılığı ilkeside biraz daha netlik kazanmış oldu. Ne demek istediğimi aslında role’ lerin detayına ve neye hizmet ettiklerine baktığınız da daha iyi anlayacağınızı düşünüyorum . Bahsetmiş olduğumuz bu role’ lerin detayına bakalım ;
• Sysdba Role ;
Oracle’ ın 12c öncesindeki tüm verssiyonlarında da var olan ve en yetkili power user olan SYS rolunun defaultta sahip olduğu role’ dür. Database’ i kapatıp açmak da dahil olmak üzere database genelinde ihtiyaç duyulan tüm yetkilere sahip olan role’ dür.
• Sysoper ;
Sysoper yetkside yine SYS userının sahip olduğu bir ayrıcalıktır. Sysdba’ e göre yetki bazında farklılıkları vardır. Diğer role’ lere geçmeden önce bu farklardan bahsedelim ;
Aaşğıdaki dökümandan bu iki role’ ün daha detaylı olarak nelere yetkisini olduğunu görebilirsiniz.
http://docs.oracle.com/cd/B19306_01/server.102/b14231/dba.htm#sthref137
• Sysasm Role ;
Yine buda SYS userına atanmış olan bir role’ dür. ASM instance ile ilgili tüm admin işlemlerinin yapılabilmesi için gerekli olan yetkilere sahiptir. (11g ile tanışmıştık.)
• Sysbackup Role ;
Adından da anlaşılacağı üzere rman ile yapabileceğiniz tüm restore, recover işlemleri için oluşturulmuş bir role’ dür. Aynı isimde userda bulunmaktadır.
Sysbackup role’ ünün sahip olduğu yetkileri scripleri ile birlikte aşağıdaki gibidir ;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
GRANT SELECT_CATALOG_ROLE TO SYSBACKUP; ALTER USER SYSBACKUP DEFAULT ROLE ALL; -- 13 System Privileges for SYSBACKUP GRANT ALTER DATABASE TO SYSBACKUP; GRANT ALTER SESSION TO SYSBACKUP; GRANT ALTER SYSTEM TO SYSBACKUP; GRANT ALTER TABLESPACE TO SYSBACKUP; GRANT AUDIT ANY TO SYSBACKUP; GRANT CREATE ANY CLUSTER TO SYSBACKUP; GRANT CREATE ANY DIRECTORY TO SYSBACKUP; GRANT CREATE ANY TABLE TO SYSBACKUP; GRANT DROP TABLESPACE TO SYSBACKUP; GRANT RESUMABLE TO SYSBACKUP; GRANT SELECT ANY DICTIONARY TO SYSBACKUP; GRANT SELECT ANY TRANSACTION TO SYSBACKUP; GRANT UNLIMITED TABLESPACE TO SYSBACKUP; -- 12 Object Privileges for SYSBACKUP GRANT SELECT ON APPQOSSYS.WLM_CLASSIFIER_PLAN TO SYSBACKUP; GRANT DELETE, INSERT ON SYS.APPLY$_SOURCE_SCHEMA TO SYSBACKUP; GRANT EXECUTE ON SYS.DBMS_BACKUP_RESTORE TO SYSBACKUP; GRANT EXECUTE ON SYS.DBMS_IR TO SYSBACKUP; GRANT EXECUTE ON SYS.DBMS_PIPE TO SYSBACKUP; GRANT EXECUTE ON SYS.DBMS_PLUGTS TO SYSBACKUP; GRANT EXECUTE ON SYS.DBMS_PLUGTSP TO SYSBACKUP; GRANT EXECUTE ON SYS.DBMS_RCVMAN TO SYSBACKUP; GRANT EXECUTE ON SYS.DBMS_SYS_ERROR TO SYSBACKUP; GRANT EXECUTE ON SYS.DBMS_TDB TO SYSBACKUP; GRANT EXECUTE ON SYS.DBMS_TTS TO SYSBACKUP; GRANT DELETE, INSERT, SELECT ON SYSTEM.LOGSTDBY$PARAMETERS TO SYSBACKUP; |
• Sysdg Rolü ;
DGMGRL veya dataguard Broker ile Dataguard operayonlarının yapılaması için gerekli olan yetkilerin toparlandığı role’ dür. 11g ve öncesinde tüm bu işlemler için sysdba rolü gerekiyordu. Buda zaman zaman kurumsal firmaların güvenlik birimlerinde sakıncalı bulunduğu için problem teşkil ediyordu.
Bir ufak not 11gR2 ile birlikte redo_transport_user parametresi gelmişti. Bu parametre ile logların transferi işlemini SYS userı dışında bir user ile yapabilir duruma gelmiştik.
Sysdg role’ ünün sahip olduğu yetkileri scripleri ile birlikte aşağıdaki gibidir ;
1 2 3 4 5 6 7 8 9 10 11 12 |
-- 4 System Privileges for SYSDG GRANT ALTER DATABASE TO SYSDG; GRANT ALTER SESSION TO SYSDG; GRANT ALTER SYSTEM TO SYSDG; GRANT SELECT ANY DICTIONARY TO SYSDG; -- 6 Object Privileges for SYSDG GRANT DELETE, SELECT ON APPQOSSYS.WLM_CLASSIFIER_PLAN TO SYSDG; GRANT SELECT ON SYS.DBA_CAPTURE TO SYSDG; GRANT SELECT ON SYS.DBA_LOGSTDBY_EVENTS TO SYSDG; GRANT SELECT ON SYS.DBA_LOGSTDBY_HISTORY TO SYSDG; GRANT SELECT ON SYS.DBA_LOGSTDBY_LOG TO SYSDG; GRANT EXECUTE ON SYS.DBMS_DRS TO SYSDG; |
• Syskm Rolü ;
Transparent data encrytion wallet (TDE) operasyonlarının yöetilmesi için oluşturulmuş olan role’ dür. Bu role’ e sahip olan aynı isimde bir kullanıcı kurulum sonrasında gelmektedir.
Syskm role’ ünün sahip olduğu yetkileri scripleri ile birlikte aşağıdaki gibidir ;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
-- 1 System Privilege for SYSKM GRANT ADMINISTER KEY MANAGEMENT TO SYSKM WITH ADMIN OPTION; -- 13 Object Privileges for SYSKM GRANT SELECT ON SYS.DBA_ENCRYPTED_COLUMNS TO SYSKM; GRANT SELECT ON SYS.GV_$CLIENT_SECRETS TO SYSKM; GRANT SELECT ON SYS.GV_$DATABASE_KEY_INFO TO SYSKM; GRANT SELECT ON SYS.GV_$ENCRYPTED_TABLESPACES TO SYSKM; GRANT SELECT ON SYS.GV_$ENCRYPTION_KEYS TO SYSKM; GRANT SELECT ON SYS.GV_$ENCRYPTION_WALLET TO SYSKM; GRANT SELECT ON SYS.GV_$WALLET TO SYSKM; GRANT SELECT ON SYS.V_$CLIENT_SECRETS TO SYSKM; GRANT SELECT ON SYS.V_$DATABASE_KEY_INFO TO SYSKM; GRANT SELECT ON SYS.V_$ENCRYPTED_TABLESPACES TO SYSKM; GRANT SELECT ON SYS.V_$ENCRYPTION_KEYS TO SYSKM; GRANT SELECT ON SYS.V_$ENCRYPTION_WALLET TO SYSKM; GRANT SELECT ON SYS.V_$WALLET TO SYSKM; |
Database’ de bu kritik yetkilere hangi userların sahip olduğunu sorgulamak için ;
1 |
Select * from v$pwfile_users ; |
sorgusundan faydalanabilirsiniz.
Reference;
http://docs.oracle.com/cd/B19306_01/server.102/b14231/dba.htm#sthref137