BizOps 워크스페이스로 채팅 및 사용자를 안전하게 조정하는 방법
Published: 2024-05-23 10:05:11

이 사용법 문서는 [BizOps Workspace로](https://pubnub.com/docs/bizops-workspace/basics?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 통칭되는 PubNub의 데이터 관리 기능에 대해 설명하는 일련의 문서 중 일부입니다:

-   [BizOps Workspace로 사용자 및 채널을 관리하는 방법](https://pubnub.com/how-to/manage-users-and-channels-with-bizops-workspace/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko)
-   [BizOps Workspace로 대화를 모니터링하고 조정하는 방법](https://www.pubnub.com/how-to/monitor-and-moderate-conversations-with-bizops-workspace/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko)
-   BizOps Workspace로 대화 및 사용자를 안전하게 조정하는 방법

BizOps Workspace는 애플리케이션을 관리하는 데 도움이 되는 일련의 도구입니다. 이 문서에서는 이전의 "[BizOps Workspace로 대화를 모니터링하고 중재하는 방법](https://www.pubnub.com/how-to/monitor-and-moderate-conversations-with-bizops-workspace/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko)" 문서를 확장하여 수동 중재 기능, 즉 대화를 실시간으로 모니터링하고 사용자를 음소거하거나 금지하는 기능을 갖춘 엔드투엔드 보안 채팅 애플리케이션을 보여 줍니다.

이 문서는 단독으로 읽을 수도 있지만, 여기서 설명하는 개념의 배경을 더 잘 이해하려면 이전의 "[BizOps Workspace로 대화를 모니터링하고 중재하는 방법](https://www.pubnub.com/how-to/monitor-and-moderate-conversations-with-bizops-workspace/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko)" 문서를 읽어보시는 것이 좋습니다.

채널 모니터란 무엇인가요?
--------------

채널 모니터를 통해 채팅 중재자는 여러 채널에서 실시간으로 진행되는 대화의 실시간 미리보기를 볼 수 있습니다. 운영자는 잘못된 행동을 하는 사용자나 불쾌한 메시지 등 불쾌한 내용을 발견하면 즉시 조치를 취하여 문제를 완화할 수 있습니다.

운영자는 취할 수 있는 조치에 대해 많은 유연성을 가지고 있습니다:

-   액세스 권한을 제한하지 않고 사용자를 관찰하기
-   불쾌감을 주는 메시지 수정 또는 삭제
-   사용자의 메시지 게시 기능 제한[(뮤](https://pubnub.com/docs/bizops-workspace/channel-monitor#mute?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko)트)
-   사용자의 메시지 읽기 또는 게시 기능 제한[(금지](https://pubnub.com/docs/bizops-workspace/channel-monitor#ban?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko))

'모니터링' 기능의 모든 기능은 수동으로 할 수 있습니다. 메시지를 수동으로 검토하고, 사용자를 수동으로 뮤트하는 등의 기능을 수동으로 할 수 있습니다. 이 도움말에서는 자동 모더레이션에 대해서는 설명하지 않습니다.

채널 모니터를 사용하려면 최소한 [앱 컨텍스트와](https://www.pubnub.com/docs/general/metadata/channel-metadata?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) [메시지 지속성](https://www.pubnub.com/docs/general/storage?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 등 몇 가지 기능이 PubNub 키세트에서 활성화되어 있어야 합니다. 자세한 내용은 [이전 글의](https://www.pubnub.com/how-to/monitor-and-moderate-conversations-with-bizops-workspace/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko)'채널 모니터를 위한 키설정 요구 사항' 섹션을 참조하세요.

PubNub 액세스 관리자란 무엇인가요?
----------------------

**개발자는 사용자가 모더레이션 시스템을 우회하려는 시도를 방지해야** 하며, 이를 위해 PubNub 액세스 관리자를 사용해야 합니다.

[액세스 관리](https://www.pubnub.com/docs/general/security/access-control?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 자를 사용하면 지정된 사용자(또는 사용자)의 권한과 지정된 리소스에 대해 수행할 수 있는 작업을 설명하는 일련의 규칙을 정의할 수 있습니다. 예를 들어

-   ID가 `123인` 사용자에게는 채널 `456에` 대한 읽기 및 쓰기 권한이 있습니다.
-   ID가 정규식 `user-*역주`: ID가 `글로벌-*역주`: 정규식과 일치하는 모든 채널에서 읽을 수 있음-와 일치하는 모든 사용자에게 읽기 권한이 있습니다.
-   ID가 `123인` 사용자는 채널 메타데이터(즉, 앱 컨텍스트)를 업데이트할 수 있는 권한이 있습니다.

전체 권한 목록은 [https://www.pubnub.com/docs/general/security/access-control#permissions](https://www.pubnub.com/docs/general/security/access-control#permissions?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 에서 설명서를 참조하세요.

PubNub 액세스 관리자는 토큰 기반이며, 이를 설명하는 가장 쉬운 방법은 [문서에](https://www.pubnub.com/docs/general/security/access-control?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 표시된 대로 권한 부여 흐름을 살펴보고 해당 흐름이 모더레이션과 어떻게 관련되는지에 대한 몇 가지 추가 컨텍스트를 제공하는 것입니다:

![Access Manager workflow](https://www.pubnub.com/cdn/3prze68gbwl1/6VXlbbCqQz8X8GKG1yU7Xc/a8597a87f1bf8a701737935141b45918/pam-v3-authorization-flow-d3c28108b6948645d029e42097d1b30e.png "How-to - BizOps Workspace Secure Chat - Image 01")

1.  **로그인 시도**. 클라이언트는 사용자를 애플리케이션에 로그인하기 위해 서버를 인증합니다. 이 단계가 끝나면 서버는 등록된 앱 사용자와 대화하고 있으며 해당 사용자가 누구인지 확신하게 됩니다. 클라이언트는 초기화의 일부로 PubNub 액세스 관리자 인증 토큰을 요청합니다.
2.  **권한 부여 요청**. 서버는 SDK '[grantToken()](https://www.pubnub.com/docs/sdks/javascript/api-reference/access-manager#grant-token?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko)' API를 호출하여 클라이언트의 토큰 요청을 처리합니다. 이 API에 대해 몇 가지 주의할 점이 있습니다: PubNub **비밀 키로만** 호출할 수 있으므로 서버에서만 호출할 수 있고, 모든 서버 측 SDK에서 사용할 수 있으며, 이 API는 사용자 액세스를 정의하는 리소스 및 권한을 정의하기 위해 JSON 객체를 허용합니다.
3.  **토큰 반환**. PubNub는 요청된 사용자에게 요청된 권한을 부여하고 서버에 인증 토큰을 반환합니다.
4.  **토큰이 전달**되었습니다. 그러면 서버가 원래 호출한 클라이언트에 인증 토큰을 반환합니다.
5.  **토큰 세트**. 클라이언트는 초기화 중 또는 애플리케이션의 수명 주기 중 언제든지 [setToken()](https://www.pubnub.com/docs/sdks/javascript/api-reference/access-manager#set-token?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 메서드를 통해 이 인증 토큰을 지정할 수 있습니다. 토큰은 만료되므로 언제든지 토큰을 업데이트할 수 있어야 하지만, 채널 모니터가 권한을 업데이트하는 경우(예: 뮤트되거나 금지된 경우) 클라이언트는 새 토큰을 요청해야 합니다.
6.  **승인된 API 요청**. 이제 PubNub에 대한 모든 후속 호출은 승인된 것으로 간주됩니다. PubNub은 2단계에서 부여된 권한과 클라이언트의 토큰 유효성에 따라 모든 API 요청을 허용하거나 거부합니다.

보안 모더레이션 솔루션은 어떤 모습인가요?
-----------------------

[이전 글의](https://www.pubnub.com/how-to/monitor-and-moderate-conversations-with-bizops-workspace/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 마지막 부분에서 클라이언트 측에서 뮤트하거나 금지하는 것이 어떻게 보이는지 데모를 보여드렸습니다. Chat SDK에는 뮤트 또는 차단 여부를 클라이언트에게 알려주는 [중재 이벤트가](https://www.pubnub.com/docs/chat/chat-sdk/build/features/users/moderation#listen-to-moderation-events?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 포함되어 있지만, UI를 업데이트하는 것 외에는 **뮤트/차단된 후에도 클라이언트가 메시지를 계속 보내는 것을 막지는** 못합니다. 클라이언트를 안전하게 뮤트하거나 차단하려면 기존 액세스 관리자 권한을 해지하고 새로운 뮤트 또는 차단 상태를 반영하도록 새 권한을 부여해야 합니다.

사용자가 '뮤지컬' 채널에서 뮤트된 다음 시나리오를 예로 들어 보겠습니다:

![Secure chat sequence diagram](https://www.pubnub.com/cdn/3prze68gbwl1/2CHx5c361f7BWbrHAbI99t/220aebf2f99c53ba43b91053a2902d28/Secure_chat_sequence_diagram.png "How-to - BizOps Workspace Secure Chat - Image 02")

1.  사용자가 '영화'와 '뮤지컬' 두 개의 채널에 액세스할 수 있지만 관리자가 '뮤지컬' 채널에서만 해당 사용자를 뮤트하려고 합니다.
2.  관리자는 채널 모니터를 사용하여 해당 사용자를 뮤트합니다. 내부적으로 이것은 '[setRestrictions()](https://www.pubnub.com/docs/chat/chat-sdk/build/features/users/moderation#method-signature-1?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko)' API를 호출하는 것입니다.
3.  서버 애플리케이션은 [모더레이션 이벤트를](https://www.pubnub.com/docs/chat/chat-sdk/build/features/users/moderation#listen-to-moderation-events?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 통해 '뮤트' 알림을 수신하고 사용자의 기존 액세스 토큰을 [취소합니다](https://www.pubnub.com/docs/sdks/javascript/api-reference/access-manager#revoke-token?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko).
4.  클라이언트 애플리케이션은 [검토 이벤트를](https://www.pubnub.com/docs/chat/chat-sdk/build/features/users/moderation#listen-to-moderation-events?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 통해 '뮤지컬' 채널과 관련된 '뮤트' 알림을 수신합니다.
5.  애플리케이션은 더 이상의 메시지 전송을 방지하기 위해 UI를 업데이트합니다. 사용자는 페이지의 JavaScript를 수정하여 이 UI 변경을 해결할 수 있지만 인증 토큰이 해지되었으므로 메시지를 보내려는 시도는 실패합니다.
6.  애플리케이션은 위의 액세스 관리자 섹션에 설명된 대로 서버에 새 인증 토큰을 요청합니다. 새로 부여된 토큰에는 '뮤지컬' 채널에 대한 '읽기' 액세스 권한만 있는 등 사용자의 새로운 권한이 반영됩니다.

[이전 글에서](https://www.pubnub.com/how-to/monitor-and-moderate-conversations-with-bizops-workspace/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) '모더레이션 솔루션의 구성 요소'에 대해 설명하고 아래 그래픽을 사용하여 클라이언트와 서버 모두에서 사용할 수 있는 API를 나열했습니다. 위 단계에서 설명한 API도 이 그래픽에 나와 있습니다.

![Table showing components of a chat moderation solution](https://www.pubnub.com/cdn/3prze68gbwl1/50rOVZsxRPDbpl2azfmGCx/76842024f05c290e76ef9169f89994ad/moderation.png "How-to - BizOps Workspace Channel Monitor - Image 09")

Chat SDK 샘플 앱
-------------

채널 모니터와 Chat SDK 개발을 담당하는 바쁜 엔지니어링 팀이 Chat SDK를 사용하는 React Native로 작성된 샘플 애플리케이션도 만들었습니다.

이 샘플은 PubNub을 사용하여 사실적이고 모든 기능을 갖춘 채팅 앱을 개발하기 위한 SDK의 기능과 모범 사례를 보여줍니다. 이 샘플은 오픈 소스이며 [/샘플/react-native-group-chat에](https://github.com/pubnub/js-chat/tree/master/samples/react-native-group-chat) 있는 Chat SDK와 동일한 GitHub 리포지토리의 일부입니다.

![Sample app running on iOS and Android](https://www.pubnub.com/cdn/3prze68gbwl1/3LN1pHPw77sxb284B3ae3d/51cccbcd3b841bcb5dad1d3a3f0ced49/temp-chat-sdk-mobile-demo.png "How-to - BizOps Workspace Channel Monitor - Image 02")

이 애플리케이션은 최근 Access Manager 서버에서 토큰을 요청하고 사용자의 권한이 변경될 때, 즉 채널에서 금지되거나 뮤트되는 경우 새 토큰을 요청하도록 업데이트되었습니다. 이 개선 사항은 [이전 문서가](https://www.pubnub.com/how-to/monitor-and-moderate-conversations-with-bizops-workspace/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 작성된 이후에 이루어진 것이므로 [GitHub에서](https://github.com/pubnub/js-chat/tree/master/samples/react-native-group-chat) 최신 소스를 받아보세요. 이 글을 작성하는 시점에 가장 최근의 git 커밋 ID는 [ae9dfa0입니다](https://github.com/pubnub/js-chat/tree/ae9dfa0/samples/react-native-group-chat).

안전하게 사용자 뮤트 및 금지하기: 샘플 애플리케이션을 사용한 데모
-------------------------------------

이 섹션에서는 클라이언트 및 서버 관점에서 안전한 모더레이션을 보여주는 엔드투엔드 데모를 시작하고 실행하는 방법에 대해 설명합니다.

### PubNub 키세트 만들기

이 데모를 실행하려면 다음과 같이 새 PubNub 키셋을 만드는 것이 좋습니다:

1.  [관리자 포털에](https://admin.pubnub.com/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 로그인하여 새 애플리케이션을 만들거나 기존 애플리케이션 내에서 새 키 집합을 만듭니다. 필요한 경우 [관리자 포털 키를 만드는 방법에서](https://www.pubnub.com/how-to/admin-portal-create-keys/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 단계별 지침을 확인할 수 있습니다.
2.  키설정 페이지에서 다음 구성 옵션을 사용 설정합니다. 별도로 지정하지 않는 한 기본값을 그대로 사용할 수 있습니다:

-   [앱 컨텍스트](https://www.pubnub.com/docs/general/metadata/channel-metadata?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko). 여기에는 채널과 사용자에 대한 메타데이터가 저장되며 이전 글['사용자 및 채널 관리'](https://pubnub.com/how-to/manage-users-and-channels-with-bizops-workspace/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko)에 자세히 설명되어 있습니다. 또한 `사용자 메타데이터 이벤트`, `채널 메타데이터 이벤트` 및 `멤버십 이벤트도` 활성화합니다.
-   [메시지 지속성](https://www.pubnub.com/docs/general/storage?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko). 이렇게 하면 관리자가 대화를 검토하고 편집할 수 있도록 메시지 기록을 PubNub에 저장합니다.
-   [액세스 관리자](https://www.pubnub.com/docs/general/security/access-control?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko). 데이터에 대한 무단 액세스를 방지하고 안전한 모더레이션 솔루션을 만드는 데 필요합니다.
-   [현재](https://www.pubnub.com/docs/general/presence/overview?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 상태. 사용자가 온라인 상태인지 오프라인 상태인지 추적하는 데 사용됩니다.

변경 사항을 저장합니다.

다음 단계에서는 `게시 키`, `구독 키` 및 `비밀 키가` 필요합니다.

### 샘플 애플리케이션 빌드하기

앞서 설명한 것처럼 Chat SDK 샘플 앱은 Expo 프레임워크를 사용하여 React Native로 작성된 크로스 플랫폼 클라이언트 앱입니다.

[애플리케이션의](https://github.com/pubnub/js-chat/tree/ae9dfa0/samples/react-native-group-chat#readme) 사용 설명서에 제공된 지침에 따라 샘플 애플리케이션을 복제하고 빌드하세요. 특히, yarn 및 Node.js를 포함한 필수 구성 요소가 설치되어 있는지 확인하세요. 리드미에서는 XCode와 iOS 사용에 대해 설명하지만, Android 에뮬레이터에서도 앱을 실행할 수 있습니다. 이 글을 쓰는 시점에 가장 최근의 git 커밋 ID는 [ae9dfa0입니다](https://github.com/pubnub/js-chat/tree/ae9dfa0/samples/react-native-group-chat).

게시/서브 키를 제공할 때는 이전 단계에서 생성한 키를 사용하세요. `.env` 파일에 키를 포함하지 않으면 애플리케이션이 기본적으로 일부 `데모` 키를 사용하므로 혼동을 피하기 위해 [https://github.com/pubnub/js-chat/blob/ae9dfa0/samples/react-native-group-chat/App.tsx#L60](https://github.com/pubnub/js-chat/blob/ae9dfa0/samples/react-native-group-chat/App.tsx#L60) 에서 이 로직을 비활성화할 수 있습니다.

애플리케이션을 실행합니다. ReadMe에서 `yarn ios를` 실행하라고 안내하지만, `yarn android` 또는 `yarn 실행 시작을` 실행할 수도 있으며, 후자는 대화형 메뉴를 제공합니다.

로그인하면 콘솔에 다음과 같은 경고가 표시됩니다:

![Failed log message](https://www.pubnub.com/cdn/3prze68gbwl1/7jc5aAT6ohAvQdvszqUerY/36987e68ee4386813332e69c0d1d6ab0/Failed_to_obtain_auth_token.png "How-to - BizOps Workspace Secure Chat - Image ")

이는 클라이언트가 Access Manager 서버에 연결하지 못했기 때문이므로 서버를 빌드해 보겠습니다.

### 샘플 Access Manager 서버 빌드하기

샘플 Access Manager 서버는 [https://github.com/pubnub/js-chat/tree/master/samples/access-manager-api](https://github.com/pubnub/js-chat/tree/master/samples/access-manager-api) 에서 찾을 수 있으며, 앞서 설명한 클라이언트 애플리케이션과 동일한 모노레포입니다.

원하는 편집기에서 `src/chatsdk.service.ts` 파일을 열고 `게시키`, `구독키` 및 `비밀키를` 입력합니다. 게시 키와 구독 키는 클라이언트 앱을 만들 때 사용한 것과 일치해야 하며, 비밀 키는 [관리자 포털의](https://admin.pubnub.com?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 앱에 대한 키 설정 페이지에서 사용할 수 있습니다.

`REPO/samples/access-manager-api` 디렉터리에서 `yarn 실행 시작을` 실행하여 Access Manager 서버를 시작하면 아래와 같은 화면이 표시됩니다:

![Sample Access Manager Server output](https://www.pubnub.com/cdn/3prze68gbwl1/7vrAN5Y2vD6yQKucs25iHy/b8fb34f5ab9c1e75a23606c2b980cea3/auth_token_server.png "How-to - BizOps Workspace Secure Chat - Image 04")

Access Manager 서버가 무엇을 하고 있는지 확인하려면 `app.service.ts를` 보세요. 요청하는 사용자에 대해 생성된 권한 구조와 이러한 권한을 적용하기 위해 `chat.sdk.grantToken(` )을 호출하여 생성된 authKey를 호출하는 클라이언트에 반환하는 것을 볼 수 있습니다.

이 권한은 데모 애플리케이션에 필요한 권한이지만 애플리케이션에는 다른 권한이 필요할 수 있습니다. 제공된 규칙 집합을 시작 템플릿으로 사용할 수 있지만 앱용 액세스 관리자 서버를 만들 때는 [https://www.pubnub.com/docs/chat/chat-sdk/build/features/users/permissions](https://www.pubnub.com/docs/chat/chat-sdk/build/features/users/permissions?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 을 참조하여 어떤 Chat SDK 기능에 어떤 권한이 필요한지 정확히 파악하세요.

클라이언트 데모 앱 애플리케이션을 다시 실행하면 이제 오류 없이 로그인할 수 있을 것입니다. '인증 키 새로 고침' 건배 메시지가 표시되면 모든 것이 성공했음을 알 수 있습니다.

![AuthKey refreshed](https://www.pubnub.com/cdn/3prze68gbwl1/6DXY3wSm18YpJ4K08iwoJ4/f5db7a28ca9efcfcff54ddfb36369729/authkey_refreshed.png "How-to - BizOps Workspace Secure Chat - Image 05")

두 클라이언트 간의 대화를 시작합니다.

![Initiate a conversation between two clients](https://www.pubnub.com/cdn/3prze68gbwl1/1VS5T3rvnRYCDK6ITsSVZG/63901926e457c4d9cdf1bea009921bb1/In_Conversation.png "How-to - BizOps Workspace Secure Chat - Image 06")

### 채널 모니터를 사용하여 사용자 음소거 및 차단하기

**중요:** 이전에 두 클라이언트 간의 대화를 시작하지 않았다면 지금 바로 시작하세요. 채널은 데모 앱에서 동적으로 생성되므로 채팅이 시작된 후에만 채널 모니터에 표시됩니다.

'인증 키 새로 고침' 배너 또는 '차단된 사용자' 모달과 같이 아래에 표시된 사용자 인터페이스 업데이트는 데모 애플리케이션의 일부이며, 애플리케이션은 자체 UI를 통해 이 정보를 사용자에게 표시합니다.

-   [관리자 포털에](https://admin.pubnub.com/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 로그인하고 Access Manager 샘플 및 클라이언트 애플리케이션에 사용한 키 집합을 선택하여 채널 모니터를 시작합니다.
-   왼쪽 탐색 패널의 **BizOps 작업 공간** 섹션으로 이동하여 **채널 모니터를** 선택합니다. **BizOps 워크스페이스** 섹션이 표시되지 않으면 [PubNub 요금제를](https://www.pubnub.com/pricing/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 업그레이드해야 하는 경우가 대부분이지만 문제가 있는 경우 [지원팀에 문의](https://support.pubnub.com/hc/en-us?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 하세요.
-   모더레이션을 시작할 채널을 선택하라는 메시지가 표시됩니다. 채널 이름은 `USER_ID를 가진 1:1 사용자로` 표시되며, 여기서 USER\_ID는 대화를 시작한 사람의 사용자 아이디입니다.
-   키 설정에서 지속성을 사용 설정한 경우 이전 메시지를 포함하여 채널 메시지가 실시간으로 표시됩니다.

![Initial conversation with channel monitor](https://www.pubnub.com/cdn/3prze68gbwl1/3bjU02EMdQk4dwYcgaAS0d/6dd2b2b1c9b7be3e8fef76ca8306b8db/1._Channel_Monitor.png "How-to - BizOps Workspace Secure Chat - Image 07")

-   해당 사용자가 보낸 메시지 옆의 마이크 버튼을 눌러 해당 사용자를 뮤트할 수 있습니다. 음소거된 사용자의 디바이스에 인증 키가 새로 고침되었음을 알리는 메시지가 표시됩니다. 뮤트한 사용자로 메시지를 보내려고 하면 금지됨을 알리는 메시지 대화 상자가 표시되지만, 뮤트하지 않은 사용자는 영향을 받지 않습니다.

![Muted user](https://www.pubnub.com/cdn/3prze68gbwl1/1RdO4jGGHDiSiL4Qq7TReO/0d924dae0e07f5b4ac0f5c3ef5dc11cd/2._Muted_User.png "How-to - BizOps Workspace Secure Chat - Image 08")

-   마이크 버튼을 다시 눌러 사용자의 음소거를 해제합니다. 음소거 해제된 사용자의 디바이스에 인증 키가 새로 고쳐졌으며 이제 메시지 전송에 성공했음을 알리는 메시지가 표시됩니다.

![User unmuted](https://www.pubnub.com/cdn/3prze68gbwl1/58g7AQjJ7pRqc3eoV8RB49/428d3ca094f369bc1f4fa592eeb53589/3._Unmuted_User.png "How-to - BizOps Workspace Secure Chat - Image 09")

-   해당 사용자가 보낸 쪽지 옆에 있는 차단 버튼을 눌러 해당 사용자를 차단하고 차단 사유를 입력합니다. 사유는 자유 형식의 텍스트로 제공되므로 관련 정보를 입력할 수 있습니다. 인증 키가 새로고침되고 해당 사용자는 앱의 채팅 선택 화면으로 돌아갑니다.

![User is banned](https://www.pubnub.com/cdn/3prze68gbwl1/5ZaHnr78P2KEkPnb71RbGU/90d13bab4b2e144b0582ec58cdcb7bf0/4._Banned_User.png "How-to - BizOps Workspace Secure Chat - Image 10")

차단된 채널에 접근을 시도하면 사용자에게 오류가 표시됩니다:

![Banned user error message](https://www.pubnub.com/cdn/3prze68gbwl1/2eyswSTv0uMNS6SedvR0Ea/68c0f54239a1283c7fc56e7a9df765d7/5._Banned_User_error.png "How-to - BizOps Workspace Secure Chat - Image 11")

-   채널 모니터에서 '차단 해제'를 선택하여 해당 사용자를 차단 해제합니다. 인증 키가 새로 고쳐집니다. 해당 사용자는 차단이 해제되어 다시 채팅에 참여할 수 있습니다.

![User is unbanned](https://www.pubnub.com/cdn/3prze68gbwl1/3L0k1itC0X4yHApaWxohJU/340c12f4a84503a165f3b98904e0aaa0/6_Unbanned_User_2.png "How-to - BizOps Workspace Secure Chat - Image 12")

요약
--

[채팅 애플리케이션](https://www.pubnub.com/solutions/chat/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 개발은 첫 단계에 불과합니다. 가장 어려운 과제는 증가하는 사용자 기반을 지원하기 위해 앱을 배포한 후에 발생합니다. 비즈옵스 워크스페이스는 채팅 애플리케이션의 모든 측면을 관리하도록 설계된 일련의 도구로, 출시 후의 어려움을 간소화해 줍니다.

이 문서에서는 사용자를 안전하게 음소거하고 금지하는 데 중점을 두었지만, [BizOps Workspace의](https://pubnub.com/docs/bizops-workspace/basics?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 기능은 계속 확장되고 있습니다. 또한 이 문서에서는 Chat SDK에만 초점을 맞추었지만 채널 모니터는 모든 SDK와 함께 작동하도록 [구성할](https://www.pubnub.com/docs/bizops-workspace/basics#configuration?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 수도 있습니다.

![Channel monitor configuration](https://www.pubnub.com/cdn/3prze68gbwl1/FYH6PoZLSHGPgvikC9vCd/e74f82e37fbfb7fe6f370594adf1da7f/Channel_Monitor_Configuration.png "How-to - BizOps Workspace Channel Monitor - Image 00")

도움이나 지원이 필요하면 언제든지 [전담 지원팀에](https://support.pubnub.com/hc/en-us?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 문의하거나 개발자 지원팀( [devrel@pubnub.com](mailto:devrel@pubnub.com))으로 이메일을 보내주세요.

펍넙이 어떤 도움을 드릴 수 있나요?
====================

이 문서는 원래 [PubNub.com에](https://www.pubnub.com/how-to/securely-moderate-chat-and-users/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 게시되었습니다.

저희 플랫폼은 개발자가 웹 앱, 모바일 앱, IoT 디바이스를 위한 실시간 상호작용을 구축, 제공, 관리할 수 있도록 지원합니다.

저희 플랫폼의 기반은 업계에서 가장 크고 확장성이 뛰어난 실시간 에지 메시징 네트워크입니다. 전 세계 15개 이상의 PoP가 월간 8억 명의 활성 사용자를 지원하고 99.999%의 안정성을 제공하므로 중단, 동시 접속자 수 제한 또는 트래픽 폭증으로 인한 지연 문제를 걱정할 필요가 없습니다.

PubNub 체험하기
-----------

[라이브 투어를](https://www.pubnub.com/tour/introduction/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 통해 5분 이내에 모든 PubNub 기반 앱의 필수 개념을 이해하세요.

설정하기
----

PubNub [계정에](https://admin.pubnub.com/signup/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 가입하여 PubNub 키에 무료로 즉시 액세스하세요.

시작하기
----

사용 사례나 [SDK에](https://www.pubnub.com/docs?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 관계없이 [PubNub 문서를](https://www.pubnub.com/docs?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ko) 통해 바로 시작하고 실행할 수 있습니다.