이 문서는 암호화된 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 를 추가해야하는지 알 수 있다.
'NiFi' 카테고리의 다른 글
[NiFi] Understanding how NiFi's Content Repository Archiving works 링크 (0) | 2021.04.13 |
---|---|
[NiFi] Docker NiFi Cluster 에 security 적용하는 방법(OIDC) (0) | 2021.03.03 |
[NiFi] standalone NiFi 에 security 적용하는 방법(OIDC) (0) | 2021.03.02 |
[NiFi] Docker NiFi Cluster 에 security 적용하는 방법(TLS) (0) | 2021.03.02 |
[NiFi] Toolkit Guide 공부 필기 (0) | 2021.02.19 |