2022. 11. 22. 17:45ㆍ데이터베이스
권한관리
Oracle 사용자 권한의 두 유형 :
- 시스템 권한 : 사용자가 데이터베이스에서 특정 작업을 수행할 수 있도록 합니다,
- 객체 권한 : 사용자가 특정 객체를 액세스 및 조작할 수 있도록 합니다.
시스템 권한
- 100개 이상의 구분 시스템 권한이 있습니다.
- 권한의 any 키워드는 사용자가 임의의 스키마에서 권한을 가짐을 의미합니다.
- grant 명령은 사용자 또는 사용자 그룹에 권한을 추가합니다.
- revoke명령은 권한을 삭제합니다.
시스템 권한 부여
- grant 명령을 사용하여 시스템 권한을 부여합니다.
- 권한을 부여받은 사용자는 ADMIN 옵션을 사용하여 시스템 권한을 부여할 수 있습니다.
- GRANT CREATE SESSION TO emi;
- GRANT CREATE SESSION TO emi WITH ADMIN OPTION;
시스템 권한 제한 사항
- O7_DICTIONARY_ACCESSIBILITY 매개변수
- SYSTEM 권한의 제한 사항 제어
- TRUE로 설정한 경우 SYS 스키마에 있는 객체에 액세스 가능
- 기본값은 FALSE이며 이 경우 임의의 스키마를 액세스 할수 있는 시스템 권한으로
SYS 스키마에 액세스할 수 없습니다.
시스템 권한 취소
- REVOKE 명령을 사용하여 사용자의 시스템 권한 제거
- 시스템 권한에 대해 ADMIN OPTION 권한이 있는 사용자는 시스템 권한을 취소할 수 있음
- GRANT 명령을 사용하여 부여받은 권한만 취소할 수 있음.
- REVOKE CREATE TABLE FROM emi;
객체 권한 부여
- GRANT 명령을 사용하여 객체 권한을 부여합니다.
- 객체가 권한을 부여한 사용자의 스키마에 있어야 하거나 권한을 부여한 사용자가
GRANT OPTION 권한을 가져야합니다.
- GRANT EXECUTE ON dbms_output TO jeff;
- GRANT UPDATE ON emi.customers TO jeff WITH GRANT OPTION;
객체 권한 취소
- REVOKE 명령을 사용하여 객체권한을 취소합니다.
- 권한을 취소하는 사용자는 취소될 객체 권한을 부여한 사용자여야 합니다.
- REVOKE SELECT ON emi.orders FROM jeff;
권한 정보 얻기
- 다음 뷰를 질의하여 권한에 대한 정보를 얻을 수 있습니다.
- DBA_SYS_PRIVS
- SESSION_PRIVS
- DBA_TAB_PRIVS
- DBA_COL_PRIVS
Role
사람들이 하는업무에서 ......개별업무를 분석해서 application role을 만듭니다.
롤의 이점
- 권한 관리 용이성
- 동적 권한 관리
- 권한의 선택적 가용성
- 운영 체제를 통한 부여
롤 생성
- ADMIM 옵션이 부여된 롤:
- Not identified :
- CREATE ROLE oe_clerk;
- By password :
- CREATE ROLE hr_clerk
2 IDENTIFIED BY bouns;
- Identified externally
- CREATE ROLE hr_manager
2 IDENTIFIED EXTERNALLY;
롤 수정
- ALTER ROLE을 사용하여 인증 방식 수정
- ADMIN옵션 또는 ALTER ANY ROLE 권한 필요
- ALTER ROLE oe_clerk
IDENTIFIED BY order;
- ALTER ROLE hr_clerk
IDENTIFIED EXTERNALLY;
- ALTER ROLE hr_manager
NOT IDENTIFIED;
롤 할당
- GRANT 명령을 사용하여 롤 할당
- GRANT oe_clerk TO scott;
- GRANT hr_clerk TO hr_manager;
- GRANT hr_manager TO scott WITH ADMIN OPTION;
기본 롤 설정
- 한 사용자에게 여러 롤 할당 가능
- 한 사용자에게 기본 롤 할당 가능
- 한 사용자의 기본 롤 개수 제한
- ALTER USER scott
DEFAULT ROLE hr_clerk, oe_clerk;
- ALTER USER scott DEFAULT ROLE ALL;
- ALTER USER scott DEFAULT ROLE ALL EXCEPT
hr_clerk;
- ALTER USER scott DEFAULT ROLE NONE;
응용 프로그램 롤
- 응용 프로그램 롤은 인증된 PL/SQL 패키지에 의해서만 활성화할 수 있습니다.
- USING 패키지 절은 응용 프로그램 롤을 생성합니다.
- CREATE ROLE admin_role
IDENTIFIED USING hr.employee;
롤 활성화 및 비활성화
- 롤을 비활성화하여 사용자로부터 해당 롤을 일시적으로 취소합니다.
- 롤을 활성화하여 해당 롤을 일시적으로 부여합니다.
- SET ROLE 명령은 롤을 활성화 및 비활성화합니다.
- 기본 롤은 로그인 시 사용자에 대해 활성화됩니다.
- 롤을 활성화하려면 암호가 필요할 수 있습니다.
- SET ROLE hr_clerk;
- SET ROLE oe_clerk IDENTIFIED BY order;
- SET ROLE ALL EXCEPT oe_clerk;
사용자의 롤 취소
- 사용자의 롤을 취소하려면 ADMIN OPTION 또는 GRANT ANY ROLE 권한이 필요합니다.
- 롤을 취소하려면 다음을 수행합니다.
- REVOKE oe_clerk FROM scott;
- REVOKE hr_manager FROM PUBLIC;
롤 제거
- 롤 삭제 :
- 부여된 모든 사용자와 롤에서 롤 제거
- 데이터베이스에서 롤 제거
- ADMIN OPTION 또는 FROP ANY ROLE 권한 필요
- 롤을 삭제하십시오.
- DROP ROLE hr_manager;
롤 정보 얻기
다음 뷰를 질의하여 롤에 대한 정보를 얻을수 있습니다.
- DBA_ROLES : 데이터베이스의 모든 롤 확인
- DBA_ROLES_PRIVS : 사용자 및 롤에 할당된 롤 확인
- ROLE_ROLE_PRIVS : 롤에 할당된 롤 확인
- DBA_SYS_PRIVS : 사용자 및 롤에 할당된 시스템 권한 확인
- DBA_TAB_PRIVS : 사용자 및 롤에 할당된 객체(OBJECT) 권한 확인
- ROLE_SYS_PRIVS : 롤에 할당된 시스템 권한 확인
- ROLE_TAB_PRIVS : 롤에 할당된 객체 권한 확인
- SESSION_ROLES : 사용자가 현재 활성화 한 롤 확인
DBA : 사람이나 롤이 가지고있는
ROLE : 롤이 가지고있는
어떤 사람이 뭘 가지고있는지 정보가 나온다.
'데이터베이스' 카테고리의 다른 글
오라클 DB - Profile, 암호관리 (0) | 2022.11.22 |
---|---|
오라클DB구조 - 사용자관리 (0) | 2022.11.16 |
데이터베이스 - 논리 모델링 (1) | 2022.11.16 |
오라클 DB - (open, close)상태에서 tablespace이동 (0) | 2022.11.15 |
데이터베이스 - 모델링(정규화) (0) | 2022.11.15 |