메뉴 건너뛰기

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 [Impala jdbc]CDP7.1.7환경에서 java프로그램을 이용하여 kerberized impala cluster에 접근하여 SQL을 수행하는 방법 gooper 2023.08.22 61
720 [Hue metadata]Oracle에 있는 Hue 메타정보 테이블을 이용하여 coordinator와 workflow관계 목록을 추출하는 방법 gooper 2023.08.22 15
719 [Hue admin]Add/Sync LDAP user, Sync LDAP users/groups 버튼 기능 설명 gooper 2023.08.09 15
718 oozie의 sqoop action수행시 ooize:launcher의 applicationId를 이용하여 oozie:action의 applicationId및 관련 로그를 찾는 방법 gooper 2023.07.26 10
717 [CDP7.1.6,HDFS]HDFS파일을 삭제하고 Trash비움이 완료된후에도 HDFS 공간을 차지하고 있는 경우 확인/조치 방법 gooper 2023.07.17 19
716 [Encryption Zone]Encryption Zone에 생성된 table을 select할때 HDFS /tmp/zone1에 대한 권한이 없는 경우 gooper 2023.06.29 12
715 [EncryptionZone]User:testuser not allowed to do "DECRYPT_EEK" on 'testkey' gooper 2023.06.29 11
714 [HDFS]Encryption Zone에 생성된 테이블 조회시 Failed to open HDFS file hdfs://nameservice1/tmp/zone1/sec_test_file.txt Error(255): Unknown error 255 Root cause: AuthorizationException: User:impala not allowd to do 'DECRYPT_EEK' on 'testkey' gooper 2023.06.29 53
713 [Hadoop Encryption] Encryption Zone 생성/설정시 User:hadoop not allowed to do 'DECRYPT_EEK' ON 'testkey' 오류 발생 조치 사항 gooper 2023.06.28 19
712 [KTS Cluster의 Key Trustee Server]self-signed 인증서 발급및 설정 방법 gooper 2023.06.27 29
711 [Ranger]RangerAdminRESTClient Error gertting pplicies; Received NULL response!!, secureMode=true, user=rangerkms/node01.gooper.com@ GOOPER.COM (auth:KERBEROS), serviceName=cm_kms gooper 2023.06.27 24
710 [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
709 [impala]insert into db명.table명 select a, b from db명.table명 쿼리 수행시 "Memory limit exceeded: Failed to allocate memory for Parquet page index"오류 조치 방법 gooper 2023.05.31 23
708 Impala Admission Control 설정시 쿼리가 사용하는 메모리 사용량 판단 방법 gooper 2023.05.19 94
707 [Atlas Server]org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions (user=atlas/node01.gooper.com@GOOPER.COM, scope=default:atlas_janus, params=[table=default:atlas_janus,], action-CREATE)] gooper 2023.05.15 66
706 [Solr in Cloudera]Solr Data Directory변경 방법/절차 gooper 2023.04.21 23
705 [Ranger]계정에 admin권한(grant, create등)의 권한 부여 방법 gooper 2023.04.18 54
704 [DataNode]org.apache.hadoop.security.KerberosAuthException: failure to login: for principal: hdfs/datanode03@GOOPER.COM from keytab hdfs.keytab오류 gooper 2023.04.18 4749
703 [KUDU] kudu tablet server여러가지 원인에 의해서 corrupted상태가 된 경우 복구방법 gooper 2023.03.28 37
702 Hadoop Clsuter에 이미 포함된 host의 hostname변경시 처리 절차 gooper 2023.03.24 15

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.

위로