권한 및 인증 시스템이란?
데이터베이스 시스템에서 권한(authorization)은 어떤 사용자가 어떤 데이터베이스 오브젝트(테이블이나 뷰 등)에 대해 어떤 연산을 수행할 수 있는지를 제한할 수 있는 시스템을 말합니다. 흔히 인증(authentication)과 혼동하기도 하는데 인증은 데이터베이스 시스템에 접속한 사용자가 누구인지를 확인하는(identify) 과정을 말합니다. 인증 방법도 여러 가지가 있지만 가장 많이 사용하는 ID와 비밀번호 입력 방식을 사용한다면 해당 ID의 비밀번호를 정확히 알고 있다면 현재 접속한 사용자가 ID에 해당하는 사용자임을 확인하는것 입니다. 권한은 이와 같이 인증 과정을 통해 신원이 확인된 사용자에 대해 이 사용자가 접근 가능한 오브젝트에 수행할 수 있는 연산만을 수행하도록 하는 시스템입니다.
오브젝트 및 권한
Hive 역시 인증 및 권한 시스템을 제공하고 있습니다. 권한은 크게 스토리지 기반의 권한 시스템과 SQL 표준 기반의 권한 시스템으로 나뉘는데, 여기서는 SQL 표준 기반 권한 시스템에 대해 알아보도록 하겠습니다.
SQL 표준 기반의 권한시스템이라고는 하지만 Hive의 권한 시스템은 SQL 표준을 완벽히 지원하지는 않습니다. 우선 Hive의 권한 관리 대상 오브젝트는 다음과 같습니다.
- 테이블
- 뷰
데이터베이스 전체에 대한 권한이나 컬럼 단위의 세세한 권한 관리는 아직 제공하고 있지 않습니다.
그리고 이런 오브젝트에 대해 설정할 수 있는 권한은 다음과 같습니다.
- SELECT 권한
- INSERT 권한
- UPDATE 권한
- DELETE 권한
- ALL 권한 (위의 모든 권한)
- 롤 생성 관련
CREATE ROLE role_name; // 롤 생성DROP ROLE role_name; // 롤 삭제
- Current 롤 관련
SHOW CURRENT ROLES; // 사용자의 현재 롤을 보여준다.SET ROLE (role_name | ALL) // 특정 롤만을 지정한다 (ALL은 기본 롤 목록으로 복귀)
사용자가 로그인 하면 사용자에게 부여된 모든 롤이 기본으로 부여됩니다(admin 제외). 그러다 특정 롤만을 사용할 경우에는 SET ROLE 문을 통해 지정할 수 있습니다.
- 롤 부여
GRANT role_name [, role_name] ... // 롤 부여
TO principal_specification [, principal_specification] ...
[ WITH ADMIN OPTION ];
REVOKE [ADMIN OPTION FOR] role_name [, role_name] ... // 롤 회수
FROM principal_specification [, principal_specification] ... ;
principal_specification
: USER user
| ROLE role
- 오브젝트 권한 부여 관리
GRANT
priv_type [, priv_type ] ...
ON table_or_view_name
TO principal_specification [, principal_specification] ...
[WITH GRANT OPTION];
REVOKE [GRANT OPTION FOR]
priv_type [, priv_type ] ...
ON table_or_view_name
FROM principal_specification [, principal_specification] ... ;
principal_specification
: USER user
| ROLE role
priv_type
: INSERT | SELECT | UPDATE | DELETE | ALL
Posted by Bitnine(비트나인)
'ARCHIVES' 카테고리의 다른 글
pg_statsinfo 소개 (0) | 2015.09.22 |
---|---|
JDO(Java Data Objects)와 Datanucleus 소개 (0) | 2015.09.22 |
오픈소스 라이선스(Open Source License)의 개괄 (0) | 2015.09.22 |
PostgreSQL에서 사용하는 암호화 방식 (0) | 2015.09.22 |
Reflection (0) | 2015.09.22 |