메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

Bigdata, Hadoop ecosystem, Semantic IoT등의 프로젝트를 진행중에 습득한 내용을 정리하는 곳입니다.
필요한 분을 위해서 공개하고 있습니다. 문의사항은 gooper@gooper.com로 메일을 보내주세요.


<<사전 준비>>
1. ranger role 설정(AD의 GROUPS에 등록및 USERS의 각 사용자에 group을 매핑해줌)
* rl_gooperdb_all 
 - gooperdb및 HDFS /DATA/GOOPERDB에 대한 모든 권한
 - /tmp/zone2에 대한 all(이 설정은 안해도 됨)권한 
 - Encryption zone인 /tmp/zone2에 대한 생성, 조회 권한을 가짐(Get Get Keys Get Metadata Generate EEK Decrypt EEK)
* rl_gooperdb_sel
 - gooperdb및 /DATA/GOOPERDB에 대한 select 권한(이 설정은 안해도 됨)
 - /tmp/zone2에 대한 read(이 설정은 안해도 됨)
 - Encryption zone인 /tmp/zone2에 대한 조회 권한을 가짐(Decrypt EEK)

2. 사용자 계정및 매핑 그룹현황(AD의 USERS에 등록)
user1 : rl_gooperdb_all,    gooperdb.zone_table2를 create한 계정임
user2 : rl_gooperdb_sel

3. /tmp/zone2을 Encryption zone으로 생성한다.


<<테스트>>
1. 테스트1 (user2로 encryption zone인/tmp/zone2및 gooperdb.zone_table에 대한 권한이 전혀없는 상태에서 Hue에서 다음을 수행함)
select * from gooperdb.zone_table;
-->AuthorizationException: User 'user2' does not have privileges to execute 'SELECT' on: gooperdb.zone_table

insert into gooperdb.zone_table(nm) values ('user2가 입력함');
-->AuthorizationException: User 'user2' does not have privileges to execute 'INSERT' on: gooperdb.zone_table

invalidate metadata gooperdb.zone_table;

show grant user `user2` on table gooperdb.zone_table;
AD에서 Users에 Groups을 빼도 권한이 살아있는경우가 있는데.. 이때는 Hue의 사용자관리에서 Add/Sync LDAP user클릭후 해당 user명을 입력하면 
AD로 부터의 최신 현황을 update하면서 권한이 빠진다. 
--> Done. 0 results.

create table gooperdb.zone_table2(nm string) location '/tmp/zone2';
-->AuthorizationException: User 'user2' does not have privileges to execute 'CREATE' on: gooperdb

/tmp/zone2/sec_test_file.txt접근시
-->
Cannot access: /tmp/zone2/sec_test_file.txt.
500 Server Error: Internal Server Error for url: http://bdapnamt02.gooper.com:14000/webhdfs/v1/tmp/zone2/sec_test_file.txt?length=3&op=OPEN&user.name=hue&offset=0&doas=user2 {"RemoteException":{"message":"User:user2 not allowed to do 'DECRYPT_EEK' on 'pidi_key'","exception":"AuthorizationException","javaClassName":"org.apache.hadoop.security.authorize.AuthorizationException"}} (error 500)


2. 테스트2(user2로 encryption zone인/tmp/zone2에 decryption권한및 gooperdb.zone_table에 대한 select 권한이 있는 상태에서 Hue에서 다음을 수행함)
select * from gooperdb.zone_table;
-->성공

insert into gooperdb.zone_table(nm) values ('user2가 입력함');
-->AuthorizationException: User 'user2' does not have privileges to execute 'INSERT' on: gooperdb.zone_table


invalidate metadata gooperdb.zone_table;

show grant user `user2` on table gooperdb.zone_table;
AD에서 Users에 Groups을 빼도 권한이 살아있는경우가 있는데.. 이때는 Hue의 사용자관리에서 Add/Sync LDAP user클릭후 해당 user명을 입력하면 
AD로 부터의 최신 현황을 update하면서 권한이 빠진다. 
--> GROUP user2 gooperdb * *   select false NULL


create table gooperdb.zone_table2(nm string) location '/tmp/zone2';
-->AuthorizationException: User 'user2' does not have privileges to execute 'CREATE' on: gooperdb

/tmp/zone2접근시
-->Cannot access: /tmp/zone2.

/tmp/zone2/sec_test_file.txt접근시
-->Cannot access: /tmp/zone2/sec_test_file.txt.


3. 테스트3(user1로 encryption zone인/tmp/zone2에 생성권한및 gooperdb에 대한 all 권한이 있는 상태에서 Hue에서 다음을 수행함)
select * from gooperdb.zone_table;
-->성공

insert into gooperdb.zone_table(nm) values ('user1가 입력함2');
-->성공

show grant user `user1` on table gooperdb.zone_table;
AD에서 Users에 Groups을 빼도 권한이 살아있는경우가 있는데.. 이때는 Hue의 사용자관리에서 Add/Sync LDAP user클릭후 해당 user명을 입력하면 
AD로 부터의 최신 현황을 update하면서 권한이 빠진다. 
-->
principal_type principal_name database table column uri udf privilege grant_option create_time
GROUP user1 gooperdb * *   all false NULL

/tmp/zone2/table2폴더 생성 --> 성공

create table gooperdb.zone_table2(nm string) location '/tmp/zone2/table2';
-->성공

insert into gooperdb.zone_table2(nm) values ('user1가 gooperdb.zone_table2을 생성 후 입력함2');
-->성공

select * from gooperdb.zone_table2;
-->성공

/tmp/zone2접근시
-->성공

/tmp/zone2/table2접근및 파일 읽기
-->성공

번호 제목 글쓴이 날짜 조회 수
721 [Encryption Zone]Encryption Zone에 생성된 table을 select할때 HDFS /tmp/zone1에 대한 권한이 없는 경우 gooper 2023.06.29 12
720 [Hadoop Encryption] Encryption Zone에 생성된 table에 Hue에서 insert 수행시 User:hdfs not allowed to do 'DECRYPT_EEK' ON 'testkey' 오류 gooper 2023.11.01 12
719 [Oracle 11g]Kudu table의 meta정보를 담고 있는 table_params의 백업본을 이용하여 특정 컬럼값을 update하는 Oracle SQL문 gooper 2023.09.04 13
718 Hadoop Clsuter에 이미 포함된 host의 hostname변경시 처리 절차 gooper 2023.03.24 14
» [CDP7.1.7]EncryptionZone에 table생성및 권한 테스트 gooper 2023.09.26 14
716 service name방식의 oracle을 메타정보 저장소로 사용할때 Hue Configuration설정하는 방법 총관리자 2022.02.12 15
715 [kerberos]Kerberos HA구성 참고 페이지 gooper 2022.08.31 15
714 [Hue admin]Add/Sync LDAP user, Sync LDAP users/groups 버튼 기능 설명 gooper 2023.08.09 15
713 [Hue metadata]Oracle에 있는 Hue 메타정보 테이블을 이용하여 coordinator와 workflow관계 목록을 추출하는 방법 gooper 2023.08.22 15
712 [oozie]Oozie WF수행시 단계별 ID넘버링 비교/설명 총관리자 2022.03.23 16
711 [Sentry] sentry메타 DB를 이용하여 테이블에 매핑되어 있는 role명칭 찾는 방법. gooper 2022.06.22 16
710 [CDP7.1.6,HDFS]HDFS파일을 삭제하고 Trash비움이 완료된후에도 HDFS 공간을 차지하고 있는 경우 확인/조치 방법 gooper 2023.07.17 16
709 [EncryptionZone]User:hdfs not allowed to do 'DECRYPT_EEK on 'enc_key'오류 gooper 2023.11.02 16
708 임시 테이블에서 데이터를 읽어서 partitioned table에 입력하는 impala SQL문 예시 gooper 2023.11.10 16
707 [Active Directory] AD Kerberos보안 설정 변경 방법 (Maximum lifetime for user ticket, Maximum lifetime for user ticket renewal) gooper 2024.03.12 16
706 [HA구성 이슈]oozie 2대를 L4로 HA구성했을때 발생하는 이슈 gooper 2023.01.17 17
705 windows10 pro에서 microservice pattern책의 예제를 kubernetes에서 기동하는 방법 총관리자 2022.01.30 18
704 [Hadoop Encryption] Encryption Zone 생성/설정시 User:hadoop not allowed to do 'DECRYPT_EEK' ON 'testkey' 오류 발생 조치 사항 gooper 2023.06.28 18
703 [CDP7.1.3]Ranger WebUI에서 Error! Connection refused: Please check the KMS provider URL and whether the Ranager KMS is running발생시 조치 방법 gooper 2023.06.07 19
702 oozie webui접근시 id/pw를 물어보는 Windows보안 팝업창이 뜰때 확인/조치방법 총관리자 2022.05.02 20

A personal place to organize information learned during the development of such Hadoop, Hive, Hbase, Semantic IoT, etc.
We are open to the required minutes. Please send inquiries to gooper@gooper.com.

위로