이 문서는 암호화된 NiFi 에 익명으로 접근하는 방법을 설명한다.

다음 두 가지 암호화 방법을 적용하여 NiFi 를 모의 구축, 테스트한 후 이 문서 작성하였다.

  • TLS(Transport Layer Security) : 인증서를 통해 사용자를 인증

  • OIDC(OpenID Connect) : 제 3자(google 등)에게 인증을 위탁(oauth2)하여 사용자를 인증

 

이 문서는 암호화 방법 자체는 설명하지 않는다.

암호화가 되면 https 로 접근이 가능하며, keystore, truststore 정보를 갖추게 된다.

 

이 문서는 toolkit cli 에서 익명으로 NiFi 에 접근하는 방법에 대해서도 설명한다.

 

 

 

< 적용해야 할 옵션 >

 

nifi.properties 에 다음 옵션을 추가한다.

 

nifi.security.allow.anonymous.authentication=true

 

이후 NiFi 를 재실행하여 설정한 옵션값을 적용한다.

 

 

 

< 익명으로 NiFi WebUI 에 접근하는 방법 >

 

user, group 및 권한 수정이 가능한 admin 계정으로 NiFi 에 접근한다.

햄버거버튼을 클릭하고 users 을 선택한다.

"anonymous" 라는 user 를 추가한다.

햄버거버튼을 클릭하고 policies 을 선택한다.

view the user interface 를 선택하고, "anonymous" 에 권한을 준다.

 

이후 새로운 브라우저, 시크릿모드 등을 통해 NiFi 에 접근하면 다음과 같이 Anonymous user 로 접근이 가능해진다.

"anonymous" user 에게 권한을 주게되면 익명의 사용자가 그 권한을 받을 수 있다.

 

 

< toolkit cli.sh 로 NiFi 에 접근하는 방법 >

 

user, group 및 권한 수정이 가능한 admin 계정으로 NiFi 에 접근한다.

햄버거버튼을 클릭하고 users 을 선택한다.

"CN=localhost, OU=NIFI" 라는 user 를 추가한다.

햄버거버튼을 클릭하고 policies 을 선택한다.

view the user interface 를 선택하고, "CN=localhost, OU=NIFI" 에 권한을 준다.

 

이후 toolkit 의 cli.sh 명령어를 사용한다.

예를 들어 nifi cluster-summary 명령어를 사용하려면

 

 

bin/cli.sh nifi cluster-summary \

-u https://dev-nifi:9443 \

-ks /home/eye/nifi/nifi-1.12.1/conf/keystore.jks \

-kst jks \

-ksp k/3DzChrIQdW1YZ7LbIUKQTHNRjNVuwPGv9bNP/NcbI \

-ts /home/eye/nifi/nifi-1.12.1/conf/truststore.jks \

-tst jks \

-tsp knuSwM0/3HDO5MRZU63IoBAA9oYhJfGb/pCIQbS40bY

 

결과가 출력된다.

 

 

 

만약 권한이 없다면 다음과 같은 에러 로그가 뜬다.

 

ERROR: Error executing command 'cluster-summary' : Error retrieving cluster summary: Unable to view the user interface. Contact the system administrator.

 

해당 로그를 보고 어떤 권한을 추가해야하는지 알 수 있다.

 

만약 접근을 위한 user 가 등록되어있지 않다면, 다음과 같은 에러 로그가 뜬다.

 

ERROR: Error executing command 'cluster-summary' : Error retrieving cluster summary: Unknown user with identity 'CN=localhost, OU=NIFI'. Contact the system administrator.

 

해당 로그를 보고 어떤 user 를 추가해야하는지 알 수 있다.

 

 

 

 

 

 

 

+ Recent posts