메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 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접근및 파일 읽기
-->성공

번호 제목 날짜 조회 수
441 [Kerberos]Kerberos authentication cache를 FILE로 지정해도 KCM으로 저장되는 경우 조치방법 2024.11.03 5
440 [CDP7.1.7]Hive Replication수행시 Target Cluster에서 Specified catalog.database.table does not exist 오류 2024.05.08 1220
439 [Impala] alter table구문수행시 "WARNINGS: Impala does not have READ_WRITE access to path 'hdfs://nameservice1/DATA/Temp/DB/source/table01_ccd'" 발생시 조치 2024.04.26 180
438 [CDP7.1.7] oozie sqoop action으로 import혹은 export수행시 발생한 오류에 대한 자세한 로그 확인 하는 방법 2024.04.19 201
437 [CDP7.1.7]Hive Replication수행중 Specified catalog.database.table does not exist : hive.db명.table명 오류 발생시 조치방법 2024.04.05 1224
436 [Active Directory] AD Kerberos보안 설정 변경 방법 (Maximum lifetime for user ticket, Maximum lifetime for user ticket renewal) 2024.03.12 1120
435 [CDP7.1.7]BDR작업후 오류로 Diagnostic Data를 수집하는 동안 "No content to map due to end-of-input at [Source: (String)""; line: 1, column: 0]" 오류 발생시 조치 2024.02.20 1812
434 [CDP7.1.7, Replication]Encryption Zone내 HDFS파일을 비Encryption Zone으로 HDFS Replication시 User hdfs가 아닌 hadoop으로 수행하는 방법 2024.01.15 158
433 [CDP7.1.7]Oozie job에서 ERROR: Kudu error(s) reported, first error: Timed out: Failed to write batch of 774 ops to tablet 8003f9a064bf4be5890a178439b2ba91가 발생하면서 쿼리가 실패하는 경우 2024.01.05 1596
432 [CDP7.1.7][Replication]Table does not match version in getMetastore(). Table view original text mismatch 2024.01.02 1101
431 [CDP7.1.7, Hive Replication]Hive Replication진행중 "The following columns have types incompatible with the existing columns in their respective positions " 오류 2023.12.27 186
430 [CDP7.1.7]impala-shell을 이용하여 kudu table에 insert/update수행시 발생하는 오류(Transport endpoint is not connected (error 107)) 발생시 확인할 내용 2023.11.30 1807
429 [CDP7.1.7]impala-shell수행시 간헐적으로 "-k requires a valid kerberos ticket but no valid kerberos ticket found." 오류 2023.11.16 398
428 [CDP7.1.7]Encryption Zone내부/외부 간 데이터 이동(mv,cp)및 CTAS, INSERT SQL시 오류(can't be moved into an encryption zone, can't be moved from an encryption zone) 2023.11.14 1662
427 kudu table와 impala(hive) table정보가 틀어져서 테이블을 읽지 못하는 경우(Error Loading Metadata) 조치방법 2023.11.10 1236
426 임시 테이블에서 데이터를 읽어서 partitioned table에 입력하는 impala SQL문 예시 2023.11.10 1295
425 [EncryptionZone]User:hdfs not allowed to do 'DECRYPT_EEK on 'enc_key'오류 2023.11.02 1274
424 [Hadoop Encryption] Encryption Zone에 생성된 table에 Hue에서 insert 수행시 User:hdfs not allowed to do 'DECRYPT_EEK' ON 'testkey' 오류 2023.11.01 193
423 [보안/인증]javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target발생 원인/조치내용 2023.10.24 492
» [CDP7.1.7]EncryptionZone에 table생성및 권한 테스트 2023.09.26 1546
위로