권한 (Privilege)
GRANT privilege
ON objectㅁ
TO [user, role, PUBLIC]
[WITH GRANT OPTION]
SQL> CONN system
SQL> GRANT CREATE SESSION TO ora10g;
ROLE
GRANT privilege01, privilege02, .. TO role_name;
SQL> GRANT CREATE SESSION, SELECT ANY TABLE TO select_table;
SQL> GRANT select_table TO ora10g;
role.sql
사용자의 Role 및 Privilege 정보를 확인하는 스크립트.
저장 영역 및 Quota 설정
SQL> ALTER USER ora10g
QUOTA 10M ON tablespace_name;
사용자 자원 및 프로파일 설정
Profile 정보 확인
SQL> SELECT profile, resource_name, limit
FROM dba_profiles
WHERE PROFILE = ‘profile_name’;
Profile을 이용한 시스템 자원 관리
a. Profile을 활성화 한다.
b. Profile을 생성하면서 제한하고자 하는 자원을 정의한다.
c. 생성된 profile을 사용자에게 부여한다.
데이터베이스 인증
a.접속 시 패스워드 암호화
– 네트워크를 이용한 원격 데이터베이스 접속 시 암호화된 패스워드 사용.
b.계정 잠금
SQL> CREATE PROFILE limit_login LIMIT
FAILED_LOGIN_ATTEMPTS 3
PASSWORD_LOCK_TIME unlimited;
SQL> ALTER USER ora10g PROFILE limit_login;
c.패스워드 lifetime과 폐기
SQL> ALTER PROFILE limit_login LIMIT
PASSWORD_LIFE_TIME 180;
SQL> ALTER USER ora10g PROFILE limit_login;
d. 패스워드 복합 검증
- 최소 4문자 이상의 길이를 가져야 한다.
- 사용자 ID와 같지 않아야 한다.
- 최소한 한 문자와 숫자 그리고 구두점을 포함한다.
- 단순한 단어와 일치하지 않도록 한다. 예를 들면 ACCOUNT, USER 등을 허락하지 않는다.
변경 전의 패스워드와 최소 3문자가 달라야 한다.
– 함수 VERIFY_FUNCTION을 생성하고, DEFAULT PROFILE에 이를 적용한다.