Ranger Plugin으로 접근제어 설정
  • PDF

Ranger Plugin으로 접근제어 설정

  • PDF

Apache Ranger로 빅데이터 에코시스템에 대한 보안 규칙을 구현할 수 있습니다. Ranger 프로젝트는 모든 Hadoop 애플리케이션에 통일된 방식으로 보안 가이드라인을 정의하고, 적용될 수 있게 합니다.

Ranger 플러그인 활성화

  1. Ambari UI에 접속한 후 Services > Ranger > CONFIGS > RANGER PLUGIN을 클릭한 후 설정을 변경해 주십시오.
    • 클러스터에 설치된 서비스가 어떤 것이 있냐에 따라 활성화할 수 있는 플러그인이 정해져 있습니다. (기본값: 플러그인 비활성화)
    • Ranger로 Security Policy를 관리하려면 플러그인을 ON 상태로 변경해 주십시오. 여기서는 HDFS, HIVE, YARN 플러그인을 모두 활성화하고 구성값을 저장합니다.
    • HDFS 플러그인 활성화 예시
      chadoop-3-8-01_ko
  2. Advanced hdfs-site 항목의 dfs.permissions.enabled의 값을 true로 설정해 주십시오. 이 설정을 반영해야 Ranger Audit에 이력이 남습니다.
    chadoop-3-8-01-hdfs_ko
  3. Ranger 서비스의 [RANGER PLUGIN] 탭에서 Plugin을 활성화해야 Ranger를 이용한 권한 관리가 가능합니다. HDFS Ranger Plugin을 활성화해 주십시오.
    chadoop-3-8-01-ranger_ko
  4. HDFS, HIVE, YARN, PRESTO 서비스는 재시작이 필요합니다. 오른쪽 상단의 [ACTIONS] > [Restart All] 을 클릭한 후, 팝업창의 [CONFIRM RESTART ALL] 을 클릭하여 바뀐 설정을 적용해 주십시오.
    chadoop-3-8-02_ko.png
참고

왼쪽 사이드 바에서 [...] > [Restart All Required] 를 클릭하여 재시작이 필요한 컴포넌트를 한번에 재시작 할 수도 있습니다.

  1. Dependent Configurations 프롬프트가 표시되면 [OK] 버튼을 클릭해 주십시오.
    chadoop-3-8-04_ko.png

Ranger Admin UI

  1. SSL VPN에 접속해 주십시오.

  2. Ranger Admin UI에 접속할 Cloud Hadoop 클러스터를 선택한 후 [Application 별 보기] > Ranger Web UI를 클릭해 주십시오.

또는 아래 URL로 Ranger Admin UI에 바로 접속할 수 있습니다.

    ```
    https://<PUBLIC-DOMAIN>:6182/
    ``` 

chadoop-3-8-05_ko.png

참고
  • Cloud Hadoop 1.3 버전 이하의 Ranger UI의 계정(ID/Password)은 admin/admin으로 설정됩니다.
  • Cloud Hadoop 1.4 버전 이상의 Ranger UI의 계정(ID/Password)은 admin/{사용자가 입력한 패스워드}로 설정됩니다.
  1. Ranger Admin UI에 접속하면 어떤 서비스에 Policy가 적용 중인지 확인해 주십시오.

    • 사전 작업으로 플러그인을 활성화한 HDFS, HIVE, YARN Policy가 존재하는 것을 확인할 수 있습니다.
      chadoop-3-8-06_ko.png
  2. HDFS의 플러그인을 클릭해 List of Policies 화면에서 기본으로 생성된 Policy의 규칙을 확인해 주십시오.
    chadoop-3-8-07_ko.png

  • Action > [edit] 를 클릭해 주십시오. Select User는 모든 path에 대하여 Read, Write, Execute 권한을 가지고 있음을 확인할 수 있습니다.
    chadoop-3-8-08_ko.png

Ranger Policy 생성하기

  1. Ranger Admin UI 첫 화면에서 HDFS 플러그인에 기본으로 노출되는 [{클러스터명}_hadoop] Policy를 클릭해 주십시오.
    chadoop-3-8-10-2_ko.png

  2. 다음과 같이 [Add New Policy] 버튼을 선택 후 정책을 넣어주십시오.

    • Resource Path에는 다른 경로를 입력해도 됩니다. 여기서는 관리자 계정의 HDFS 홈 디렉터리를 사용했습니다. 특정 디렉터리 아래 모든 파일 또는 하위 디렉터리에 권한이 적용되도록 하려면 [Recursive] 버튼 상태를 활성화로 설정하십시오.
    • SSH 접속 계정인 sshuser가 이 경로에 접근할 수 있도록 Select Usersshuser를 선택해 주십시오.
    • 여기서는 Read, Write, Execute 모든 권한을 부여했습니다.
      chadoop-3-8-10_ko.png

    chadoop-3-8-10-1_ko.png

참고

Cloud Hadoop은 설치 시 설정한 관리자 계정(e.g. df-test17)에 대해 HDFS 홈 디렉터리를 기본적으로 생성해 줍니다.

  1. ls 명령어로 생성한 규칙이 적용되었는지 확인해 주십시오.
    • 클러스터의 어떤 노드에 접속해도 상관없습니다.
    • 노드에 SSH로 접속하여 아래와 같이 mkdir 명령어로 sshuser 계정의 /user/{클러스터 계정명} 디렉터리에 새로운 디렉터리를 생성하고, ls 명령어로 디렉터리가 제대로 생성되었는지 테스트해 보십시오.
 $ hadoop fs -mkdir /user/{클러스터 계정명}/tmp
 $ hadoop fs -ls /user/{클러스터 계정명}

chadoop-3-8-11_ko.png

  1. Ranger Audit UI 를 통해서 접근 시도한 로그 확인이 가능합니다.
    chadoop-3-8-11-audit_ko.png
참고
  • Cloud Hadoop 1.8 버전은 PRESTO 플러그인을 추가 제공합니다.
    chadoop-3-8-01-presto_ko
  • Cloud Hadoop 1.8 버전은 Presto Ranger Plugin을 추가 제공합니다.
    chadoop-3-8-01-presto2_ko

이 글이 도움이 되었나요?