

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# EMQX 브로커 구성
<a name="configure-emqx-broker"></a>

이 섹션에서는 사용자 이름과 암호를 추가하는 방법을 다룹니다. 또한 추가된 사용자 이름과 암호를 사용하여 외부 소스에서 TLS 연결을 설정하는 방법도 다룹니다. Linux 또는를 사용하여 EMQX 브로커를 구성할 수 있습니다Microsoft Windows.

**참고**  
브로커를 구성하려면 MQTT 지원 V3 게이트웨이에서 기본 EMQX 구성으로 설정된 코어 디바이스가 필요합니다.

**중요**  
이 절차를 완료한 후에는 권한 부여 규칙을 구성하는 것이 좋습니다. 자세한 내용은 [EMQX에서 AWS IoT SiteWise Edge에 대한 권한 부여 규칙 설정](authorization-rules-emqx-broker.md) 단원을 참조하십시오. 추가된 사용자에 대한 권한 부여 규칙은 보안을 강화합니다.

## 인증을 위한 EMQX 배포 구성 업데이트
<a name="update-emqx-broker-authentication"></a>

**인증을 위한 EMQX 배포 구성을 업데이트하려면**

1. <a name="sitewise-open-console"></a>[AWS IoT SiteWise 콘솔](https://console.aws.amazon.com/iotsitewise/)로 이동합니다.

1. 왼쪽 탐색의 엣지 **섹션에서 엣지 게이트웨이**를 선택합니다. **** 

1. 구성할 게이트웨이를 선택합니다.

1. **엣지 게이트웨이 구성** 섹션에서 **Greengrass 코어 디바이스** 값을 복사합니다. 나중에 사용할 수 있도록 저장합니다.

1. [AWS IoT 콘솔](https://console.aws.amazon.com/iot/)을 엽니다.

1. 왼쪽 탐색 창의 **관리** 섹션에서 **Greengrass 디바이스**를 선택한 다음 **배포를** 선택합니다.

1. 이전에 저장한 코어 디바이스 값을 찾아 해당 링크를 선택하여 배포를 엽니다.

1. **작업** 드롭다운 버튼을 선택한 다음 **수정을** 선택합니다.

1. 표시되는 메시지를 읽은 다음 **배포 수정을** 선택합니다. **대상 지정** 페이지가 나타납니다.

1. **구성 요소 구성** 단계에 도달할 때까지 **다음을** 선택합니다.

1. `aws.greengrass.clientdevices.mqtt.EMQX` 라디오 버튼을 선택합니다.

1. 구성 **요소 구성** 버튼을 선택합니다. 구성 요소에 대한 구성 페이지가 나타납니다.

1. **구성 업데이트**에서 구성 **요소 버전 2.\$1.\$1의 기본 구성으로 재설정**을 선택합니다.

1. OS를 기반으로 **병합할 구성** 섹션에 다음 구성을 입력합니다.

------
#### [ Linux ]

   ```
   {
       "emqxConfig": {
           "authorization": {
               "no_match": "allow"
           },
           "listeners": {
               "tcp": {
                   "default": {
                       "enabled": true,
                       "enable_authn": false
                   }
               },
               "ssl": {
                   "default": {
                       "enabled": true,
                       "enable_authn": true,
                       "ssl_options": {
                           "verify": "verify_none",
                           "fail_if_no_peer_cert": false
                       }
                   }
               }
           },
           "authentication": {
               "enable": true,
               "backend": "built_in_database",
               "mechanism": "password_based",
               "password_hash_algorithm": {
                   "iterations": 210000,
                   "mac_fun": "sha512",
                   "name": "pbkdf2"
               },
               "user_id_type": "username"
           },
           "dashboard": {
               "listeners": {
                   "http": {
                       "bind": 18083
                   }
               }
           }
       },
       "authMode": "bypass",
       "dockerOptions": "-p 8883:8883 -p 127.0.0.1:1883:1883 -p 127.0.0.1:18083:18083 -v emqx-data:/opt/emqx/data -e EMQX_NODE__NAME=emqx@local",
       "requiresPrivilege": "true"
   }
   ```

------
#### [ Windows ]

   ```
   {
       "emqxConfig": {
           "authorization": {
               "no_match": "allow"
           },
           "listeners": {
               "tcp": {
                   "default": {
                       "enabled": true,
                       "enable_authn": false
                   }
               },
               "ssl": {
                   "default": {
                       "enabled": true,
                       "enable_authn": true,
                       "ssl_options": {
                           "verify": "verify_none",
                           "fail_if_no_peer_cert": false
                       }
                   }
               }
           },
           "authentication": {
               "enable": true,
               "backend": "built_in_database",
               "mechanism": "password_based",
               "password_hash_algorithm": {
                   "iterations": 210000,
                   "mac_fun": "sha512",
                   "name": "pbkdf2"
               },
               "user_id_type": "username"
           },
           "dashboard": {
               "listeners": {
                   "http": {
                       "bind": 18083
                   }
               }
           }
       },
       "authMode": "bypass",
       "requiresPrivilege": "true"
   }
   ```

   `dockerOptions` 필드는 Linux 게이트웨이에만 해당됩니다.

------

1. **확인**을 선택합니다.

1. **검토** 단계에 도달할 때까지 **다음을** 선택합니다.

1. **배포(Deploy)**를 선택합니다.

1. 배포가 성공하면 다음 단계로 진행합니다.

## 사용자 이름 및 암호 인증 활성화
<a name="emqx-broker-username-password-auth"></a>

이 섹션에서는 EMQX 대시보드 GUI를 통해 사용자 이름과 암호를 추가하는 방법을 보여줍니다.

**참고**  
제공된 EMQX 관련 지침은 참조용일 뿐입니다. EMQX 설명서 및 기능은 시간이 지남에 따라 변경될 수 있으며 설명서를 유지 관리하지 않으므로 최신 정보는 [EMQX의 공식 설명서를 참조하는](https://docs.emqx.com/en/emqx/latest/) 것이 좋습니다.

------
#### [ EMQX Dashboard ]

**EMQX 대시보드를 통해 사용자 이름 및 암호 인증을 활성화하려면**

1. 게이트웨이 호스트 내에 있는지 확인합니다.

1. 브라우저 창을 열고를 방문합니다[http://localhost:18083/](http://localhost:18083/).

1. 의 기본 사용자 이름과의 **admin** 기본 암호를 입력합니다**public**. 자세한 내용은 [EMQX 문서의 EMQX 대시보드](https://docs.emqx.com/en/emqx/latest/dashboard/introduction.html#first-login)*를 참조하세요*.

1. 로그인한 후 암호를 변경하라는 메시지가 표시됩니다. 암호를 업데이트하여 EMQX 대시보드로 계속 진행합니다.

1. 왼쪽 탐색 창에서 보호 아이콘과 **인증을** 차례로 선택합니다.

1. **기본 제공 데이터베이스** 행에서 **사용자** 버튼을 선택합니다.

1. 더하기 기호 아이콘 버튼을 선택하여 사용자를 추가합니다. **추가** 화면이 나타납니다.

1. 외부 애플리케이션 사용자의 사용자 이름과 암호를 입력합니다.

1. **저장**을 선택합니다. 선택한 사용자 이름이 **인증** 페이지의 테이블에 나타납니다.

**참고**  
기존 또는 기본 권한 부여 규칙이 새 사용자에게 적용됩니다. 외부 애플리케이션 요구 사항에 맞게 검토하고 조정하는 것이 좋습니다.

------
#### [ EMQX Management with Linux ]

에서 AWS IoT SiteWise EMQX CLI 도구를 사용합니다`/greengrass/v2/bin/swe-emqx-cli`.

**Linux를 사용하여 EMQX Management를 통해 사용자 이름 및 암호 인증을 활성화하려면**

1. 다음 명령을 실행하여 관리자 암호를 변경합니다.

   ```
   /greengrass/v2/bin/swe-emqx-cli admin change-pwd
   ```

1. 메시지가 표시되면 다음을 수행합니다.

   1. 현재 관리자 사용자(기본값은 `admin`)와 암호(기본값은 )를 입력합니다`public`.

   1. 새 암호를 입력하고 확인합니다.

   성공하면 다음 메시지가 표시됩니다.

   ```
   admin password changed successfully
   ```

1. 다음 명령을 실행하여 외부 애플리케이션의 사용자를 추가합니다.

   ```
   /greengrass/v2/bin/swe-emqx-cli users add
   ```

1. 메시지가 표시되면 다음을 수행합니다.

   1. 새 사용자의 사용자 이름을 입력합니다.

   1. 새 사용자의 암호를 입력하고 확인합니다.

   성공하면 다음 메시지가 표시됩니다.

   ```
   User '[username]' created successfully
   ```

1. 다음 명령을 실행하여 사용자 구성을 확인합니다.

   ```
   /greengrass/v2/bin/swe-emqx-cli users list
   ```

   출력에는 구성된 모든 사용자가 표시됩니다.

   ```
   Users:
   - [your-added-username]
   
   Total users: 1
   ```

------
#### [ EMQX Management with Windows ]

다음 위치 중 하나에서 AWS IoT SiteWise EMQX CLI 도구를 사용합니다.
+ PowerShell: `C:\greengrass\v2\bin\swe-emqx-cli.ps1`
+ 명령 프롬프트: `C:\greengrass\v2\bin\swe-emqx-cli.bat`

**Windows를 사용하여 EMQX Management를 통해 사용자 이름 및 암호 인증을 활성화하려면**

1. 다음 명령을 실행하여 관리자 암호를 변경합니다.

   ```
   C:\greengrass\v2\bin\swe-emqx-cli.ps1 admin change-pwd
   ```

1. 메시지가 표시되면 다음을 수행합니다.

   1. 현재 관리자 사용자(기본값은 `admin`)와 암호(기본값은 )를 입력합니다`public`.

   1. 새 암호를 입력하고 확인합니다.

   성공하면 다음 메시지가 표시됩니다.

   ```
   admin password changed successfully
   ```

1. 다음 명령을 실행하여 외부 애플리케이션의 사용자를 추가합니다.

   ```
   C:\greengrass\v2\bin\swe-emqx-cli.ps1 users add
   ```

1. 메시지가 표시되면 다음을 수행합니다.

   1. 새 사용자의 사용자 이름을 입력합니다.

   1. 새 사용자의 암호를 입력하고 확인합니다.

   성공하면 다음 메시지가 표시됩니다.

   ```
   User '[username]' created successfully
   ```

1. 다음 명령을 실행하여 사용자 구성을 확인합니다.

   ```
   C:\greengrass\v2\bin\swe-emqx-cli.ps1 users list
   ```

   출력에는 구성된 모든 사용자가 표시됩니다.

   ```
   Users:
   - [your-added-username]
   
   Total users: 1
   ```

------