Embedded/RaspberryPI

[MQTT] CM4 RaspberryPi에 Node-RED에 편집 권한 부여하기

변화의 물결1 2023. 12. 29. 16:02

 

안녕하세요.

 

 이전 시간에 Node-RED를 설치했습니다.

 

 

[MQTT] CM4 RaspberryPi에 Node-RED 설치하기

안녕하세요. Mosquitto, InfluxDB 설치에 이어서 Node-RED를 설치하는 것을 진행해 보았습니다. 특별한 것이 있다기보다는 이렇게 하면 되는구나 확인하면 좋을 것 같습니다. 그리고 Node-RED를 설치하는

remnant24c1.tistory.com

 

그러나 누구나 들어와서 수정할 있기 때문에 Warning 메시지가 나타났습니다. 간단하게 계정을 추가해서 접근 제한을 해보도록 하겠습니다.


 

1. 보안 설정

 

 - 디폴트(Default) 설정은 누구나 들어와서 수정할 수 있도록 되어 있습니다. 그렇기 때문에 설정파일을 수정해서 계정을 생성합니다. 홈 디렉터리에 숨겨진 node-red 안에 settings.js 파일을 수정합니다.

 

pi@raspberrypi:~ $ sudo vim ~/.node-red/settings.js

 

- adminAuth가 있는 줄을 찾아갑니다. 거기서 주석된 adminAuth 세션을 복사해서 아래에 붙여 넣기 합니다. 그리고  password hash값을 변경해야 합니다.

   

 

 

- password hash 값은 node-red에서 제공하는 hash 프로그램을 사용합니다. 명령어를 입력하면  

 

pi@raspberrypi:~ $ node-red admin hash-pw

 

 

- 기존 password 값은 삭제하고 생성한 Hash 값을 붙여 넣습니다. 저장을 하고 편집기를 나옵니다.

 

 

 

2. 계정 확인하기

 

 - 새로운 계정을 적용하기 위해서 Node-RED를 재시작합니다.

 

pi@raspberrypi:~ $ node-red-restart

 

 

- 다시 RaspberryPi 주소로 접속을 하면 사용자명과 비밀번호를 입력하라는 창이 나타납니다.

 

 

- 사용자명에 admin과 hash-pw로 입력한 비밀번호를 입력하면 Node-RED를 편집할 수 있습니다.

 

 

 

3. settings.js 설정 파일  참고

1) type 옵션 (인증 옵션)

 

 - credentials : 기본 방식으로 사용자명과 비밀번호로 인증하는 방법

 - strategy : GitHub나 Twitter 같은 OAuth/OpenID를 이용해서 인증하는 방법

 

2) permissions 옵션 (권한 설정 가능)

* - full access

read - read-only access

 

3) sessionExpiryTime (세션 유지시간, 단위 : 초)

 

- 세션 지속 시간을 지정할 있습니다. (예, 하루는 86400초)

sessionExpiryTime : 86400,

 

(참고) https 접근을 활성화시키는 설정도 참조 사이트를 참고하면 가능합니다.

 

 

감사합니다.

 

 

<참조 사이트>

https://nodered.org/docs/user-guide/runtime/securing-node-red

 

반응형