목요일, 4월 15, 2021
Home Linux zookeeper ACL(Action Control List) 설정

zookeeper ACL(Action Control List) 설정

zookeeper ACL(Action Control List) 설정

 

Action Control List (ACL) – ACL은 기본적으로 z 노드에 액세스하기위한 인증 메커니즘입니다. 
모든 znode 읽기 및 쓰기 조작을 제어합니다.

ACL Permissions

 ZooKeeper에서의 권한은 unix-like 파일시스템의 권한과 크게 다를 것은 없다.
 특정 권한들에 대해 allow flag가 있어서 이것이 어떻게 설정되는가에 따라서 해당 권한을 실행시킬 수 있는지가 결정된다.

 ZooKeeper에서 설정할 수 있는 ACL의 종류는 아래의 5가지이다.

  • CREATE : 해당 znode의 자식 node를 만들 수 있는 권한.
  • READ : 해당 znode에서 data를 읽고 와 그 자식들의 목록을 읽을 수 있는 권한.
  • WRITE : 해당 znode에 값을 쓸 수 있는 권한.
  • DELETE : 해당 znode의 자식들을 지울 수 있는 권한.
  • ADMIN : 해당 znode에 권한을 설정할 수 있는 권한.

 unix-like file system과 다른 부분이 2가지 있다.
 첫 번째는 보통의 file system에는 없는 CREATE와 DELETE라는 권한이 존재하여 자식 node를 생성하고 삭제할 수 있는 권한이 있다는 것이다.
 unix-like file system에서 directory는 실제로는 자기 자식의 list를 가지고 있는 file이다.
 그래서 자식을 만들고 지우는 것은 부모 directory에 내용을 변경하는 것이고, 부모 directory에 쓰기 권한이 있는지가 자식을 만들고 지우는 권한이 된다.
 하지만 ZooKeeper에서는 모든 znode가 directory이기도 하고, file이기도 해서 자기 자신에 대한 쓰기 권한과 자식 node에 대한 생성/삭제 권한을 같이 쓸 수 없다.

Schemes

 ZooKeeper는 unix-like 시스템과 다르게 각 znode에 user/group/others라는 개념이 존재하지 않는다.
 대신 scheme이라는 것을 이용하여 권한을 구분하게 되어 있다.
 built in으로 제공되는 설정할 수 있는 scheme은 아래와 같이 4가지가 있다.

  • WORLD
  • AUTH
  • DIGEST
  • HOST
  • IP
 WORLD는 모든 요청에 대해 허락하는 것이고, AUTH는 authenticated된 session에서 들어오는 요청에 대해서만 허락하는 것이다.
 DIGEST는 username과 password를 보내서 이를 이용하여 만든 MD5 hash값이 같은 요청에 대해서만 처리하는 것이고, IP는 해당 IP에서의 요청만을 처리하도록 하는 것이다.

Stat

 ZNode는 node와 node의 data에 관한 여러 정보를 들고 있고, 이것을 stat이라고 부른다. stat이 가지는 정보는 다음과 같다.
  • czxid : znode를 생성한 트랜잭션의 id
  • mzxid : znode를 마지막으로 수정 트랜잭션의 id
  • ctime : znode가 생성됐을 때의 시스템 시간
  • mtime : znode가 마지막으로 변경되었을 때의 시스템 시간
  • version : znode가 변경된 횟수
  • cversion : znode의 자식 node를 수정한 횟수
  • aversion : ACL 정책을 수정한 횟수
  • ephemeralOwner : 임시 노드인지에 대한 flag
  • dataLength : data의 길이
  • numChildren : 자식 node의 수

Scheme ACL 살펴보기

WORLD Scheme명령 구문은 다음과 같습니다.

AUTH Scheme 명령 구문은 다음과 같습니다.

인증 사용자를 추가 후 ACL 설정을 할 수 있습니다.

인증 사용자를 추가후 znode에 ACL을 설정합니다.


아래와같이 설정합니다.

 

DIGEST Scheme 명령 구문은 다음과 같습니다.

 

HOST Scheme 명령 구문은 다음과 같습니다.

 

IP Scheme 명령 구문은 다음과 같습니다.

 

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Time limit is exhausted. Please reload the CAPTCHA.

최신글

에픽게임즈 – Dandara: Trials of Fear Edition

억압받으며 종말의 위기에 처한 기이한 세계에서 Dandara는 세상을 바로잡기 위해 깨어났습니다. 신비한 생물과 끝없는...

인기글

ubuntu SNMP 설치 및 설정

ubuntu SNMP 설치 및 설정 1.apt-get snmpd snmp rrdtool 2.snmpd.conf 백업 3.iostat-persist.pl 다운로드 4.snmpd.conf생성 5./etc/default/snmpd 수정 6.service snmpd restart 7.snmpwalk (snmp확인)

Tvheadend 4.4.20171030 로그인 문제 해결방법

Tvheadend 4.4.20171030 로그인 문제 해결방법 tvheadend-testing 4.4.20170707-3 를 설치하게 되면 sc-media 라는 그룹이 생성됨. 아래와 같이 tvheadend 로그인 사용자를 sc-media 그룹에 추가 permission 수정 chown -R sc-tvheadend:tvheadend-testing /var/packages/tvheadend-testing vi...

Asrock Rack X470D4U Ryzen VMWare ESXi 적용 리뷰

Asrock Rack X470D4U Ryzen VMWare ESXi 적용 리뷰 #1 제품 선택 배경  Ryzen ESXi 서버를 사용하는 목적은 가상시스템(윈도우10)에 GPU(GTX1060), USB PCI Expansion Card를 패스스루하여 거실의 LG Smart TV...

DB접속정보 암호화 Spring 및 프로퍼티 설정

DB접속정보 암호화 Spring 및 프로퍼티 설정 Spring으 DataSource이용하다보면 DB 접속 User, password를 설정화일에 그대로 노출되는 경우가 보안에 너무 취약하게 됩니다. jasypt 을 이용하여 password부분 암호화에 대하여 설명하겠습니다. 1. 다운로드 http://www.jasypt.org/download.html에서...