BizOps Workspaceでチャットとユーザーを安全にモデレートする方法
Published: 2024-05-23 09:52:03

このハウツー記事は、[BizOps Workspaceと](https://pubnub.com/docs/bizops-workspace/basics?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)総称される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=ja)
-   [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=ja)
-   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=ja)する方法」を発展させ、手動モデレーション機能、つまりリアルタイムで会話を監視し、ユーザーをミュートまたは禁止する機能を備えたエンドツーエンドのセキュアなチャット・アプリケーションを紹介します。

この記事は単独でも読むことができますが、ここで説明するコンセプトの背景をよりよく理解するために、前回の「[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=ja)」の記事を読むことを強くお勧めします。

チャネルモニタとは何ですか？
--------------

チャンネルモニターは、チャットモデレーターが複数のチャンネルでリアルタイムに行われている会話のライブプレビューを見ることができます。もしモデレーターが、行儀の悪いユーザーや攻撃的なメッセージなど、何か不穏なものを発見したら、問題を緩和するためにすぐに行動することができます。

モデレーターは、どのようなアクションを取るかについて、多くの柔軟性を持っています：

-   アクセス権を制限せずにユーザーを観察する
-   問題のあるメッセージを編集または削除する
-   そのユーザーのメッセージ公開を制限する[（ミュート](https://pubnub.com/docs/bizops-workspace/channel-monitor#mute?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)する）
-   メッセージの閲覧または公開を制限する[（禁止する）](https://pubnub.com/docs/bizops-workspace/channel-monitor#ban?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)

Monitor "機能では、手動でメッセージを確認したり、手動でユーザーをミュートしたりすることができます。この記事では自動モデレーションについては説明しません。

チャネルモニタを使用するには、PubNubキーセットでいくつかの機能を有効にする必要があります。特に、[App contextと](https://www.pubnub.com/docs/general/metadata/channel-metadata?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja) [Message persistenceは](https://www.pubnub.com/docs/general/storage?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)最低限必要です。 詳細については、[前の記事の](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=ja)「Channel Monitorのキーセットの要件」を参照してください。

PubNubアクセスマネージャとは何ですか？
----------------------

**開発者は、モデレーションシステムを回避しようとするユーザーから保護する必要が**あります。これはPubNubアクセスマネージャを使用して実現されます。

[アクセスマネージャを](https://www.pubnub.com/docs/general/security/access-control?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)使用すると、指定されたユーザー（または複数のユーザー）の権限と、指定されたリソースに対して実行できるアクションを記述する一連のルールを定義できます。 例えば

-   IDが`123の`ユーザはチャネル`456の`読み書き権限がある。
-   IDが正規表現`user-*に`一致するすべてのユーザは、IDが正規表現`global-*に`一致するすべてのチャネルから読み取ることができます。
-   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=ja) のドキュメントを参照してください。

PubNub Access Managerはトークンベースであり、それを説明する最も簡単な方法は、[ドキュメントに](https://www.pubnub.com/docs/general/security/access-control?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)示されているように認可フローを歩き、そのフローがモデレーションにどのように関連しているかについて追加のコンテキストを提供することです：

![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.  **ログインの試み**。クライアントは、ユーザをアプリケーションにログインさせるために、サーバに対して認証を行います。これはおそらくIDプロバイダを介して行われます。このステップの後、サーバは登録されたアプリユーザと話していること、そしてそのユーザが誰であるかを確信します。クライアントは初期化の一環としてPubNub Access Manager認証トークンを要求します。
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=ja)'APIを呼び出して、クライアントからのトークン要求を処理します。 このAPIについて注意すべき点があります：このAPIはPubNub**シークレットキーでのみ**呼び出すことができるため、サーバーからのみ呼び出すことができます。このAPIはすべてのサーバーサイドSDKで利用可能です。
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=ja)メソッドを使用してこの認証トークンを指定できます。トークンの有効期限が切れるため、トークンをいつでも更新できることは重要ですが、チャンネル・モニターが権限を更新した場合（ミュートされたり禁止されたりした場合）にも、クライアントは新しいトークンを要求する必要があります。
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=ja)最後の方で、クライアント側からミュートや禁止がどのように見えるかのデモを示しました。 チャット 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=ja)含まれていますが、UI を更新する以外に、**クライアントがミュート/禁止されてもメッセージを送信し続けることを防ぐ**ことはできません。 クライアントを安全にミュートまたはBANするには、既存のAccess Manager権限を取り消し、新しいミュートまたはBANステータスを反映する新しい権限を付与する必要があります。

あるユーザーが'musicals'チャンネルからミュートされている場合を考えてみましょう：

![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.  あるユーザが「movies」と「musicals」の2つのチャンネルにアクセスできるが、管理者は「musicals」チャンネルからのみミュートしたい。
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=ja)' API を呼び出していることになる。
3.  サーバアプリケーションは 'mute' 通知を[モデレーションイベントで](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=ja)受け取り、そのユーザのアクセストークンを[失効さ](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=ja)せる。
4.  クライアントアプリケーションは、'musicals' チャネルに関連付けられた 'mute' 通知を節度[イベントを通して](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=ja)受け取ります。
5.  アプリケーションはUIを更新し、それ以上メッセージを送信しないようにする。 ユーザはページのJavaScriptを修正することで、このUIの変更を回避できますが、認証トークンが失効しているため、メッセージを送信しようとすると失敗します。
6.  上記のAccess Managerのセクションで説明したように、アプリケーションはサーバに新しい認証トークンを要求します。 新しく付与されたトークンには、ユーザの新しい権限が反映され、'musicals' チャネルへの 'read' アクセス権のみが付与されます。

[前回の](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=ja)記事では、"モデレーションソリューションのコンポーネント "について説明し、クライアントとサーバーの両方で利用可能な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")

チャットSDKサンプルアプリ
--------------

チャンネルモニターとチャットSDKの開発を担当した同じ多忙なエンジニアリングチームは、チャットSDKを使用するReact Nativeで書かれたサンプルアプリケーションも作成しました。

このサンプルは、PubNubを使用して現実的で完全な機能を備えたチャットアプリを開発するためのSDKの機能とベストプラクティスを示しています。このサンプルはオープンソースで、[/samples/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=ja)行われたので、[GitHubから](https://github.com/pubnub/js-chat/tree/master/samples/react-native-group-chat)最新のソースを入手してください。 この記事を書いている時点の最新の git commit 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=ja)ログインし、新しいアプリケーションを作成するか、既存のアプリケーション内に新しいキーセットを作成します。管理者ポータルにログインし、新しいアプリケーションを作成するか、既存のアプリケーション内に新しいキーセットを作成します。必要に応じて、[管理者ポータルキーの](https://www.pubnub.com/how-to/admin-portal-create-keys/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)作成方法をご覧ください。
2.  キーセットのページで、以下の構成オプションを有効にします。 特に指定がない限り、デフォルトを受け入れることができます：

-   [アプリ・コンテキスト](https://www.pubnub.com/docs/general/metadata/channel-metadata?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)。 これはチャネルとユーザに関するメタデータを保存するもので、[「ユーザとチャネルの管理](https://pubnub.com/how-to/manage-users-and-channels-with-bizops-workspace/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)」についての前の記事で詳しく説明しています。 `User Metadata Events（ユーザ・メタデータ・イベント`）、`Channel Metadata Events（チャネル・メタデータ・イベント`）、`Membership Events（メンバーシップ・イベント`）も有効にしてください。
-   [メッセージの永続化](https://www.pubnub.com/docs/general/storage?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)。 これはメッセージの履歴をPubNubに保存し、管理者が会話を確認、編集できるようにします。
-   [アクセスマネージャ](https://www.pubnub.com/docs/general/security/access-control?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)。 データへの不正アクセスを防止し、安全なモデレーションソリューションを作成するために必要です。
-   [プレゼンス](https://www.pubnub.com/docs/general/presence/overview?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)。 ユーザーがオンラインかオフラインかを追跡するために使用されます。

変更を保存します。

以降のステップで、`Publish Key`、`Subscribe Key`、および`Secret Keyが`必要になります。

### サンプル アプリケーションのビルド

前述したように、チャット SDK サンプル アプリは、Expo フレームワークを使用して React Native で記述されたクロス プラットフォームのクライアント アプリです。

[アプリケーションの Readme](https://github.com/pubnub/js-chat/tree/ae9dfa0/samples/react-native-group-chat#readme) に記載されている手順に従って、サンプル アプリケーションをクローンしてビルドします。 特に、yarnやNode.jsなどの前提条件がインストールされていることを確認してください。 ReadMeにはXCodeとiOSの使用について書かれているが、Androidエミュレーター上でアプリを実行することもできる。 執筆時点の最新のgitコミットIDは[ae9dfa0](https://github.com/pubnub/js-chat/tree/ae9dfa0/samples/react-native-group-chat)です。

Pub/Subキーを提供する際は、前のステップで生成したキーを使用してください。 `.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 run startを`実行することもできます。

ログインすると、コンソールに次のような警告が表示されるはずです：

![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サーバーの構築

Sample Access Manager Serverは[https://github.com/pubnub/js-chat/tree/master/samples/access-manager-api。](https://github.com/pubnub/js-chat/tree/master/samples/access-manager-api)これは前回説明したクライアントアプリケーションと同じmonorepoです。

`src/chatsdk.service.ts`ファイルをお好みのエディタで開き、`publishKey`、`subscribeKey`、`secretKeyを`入力してください。 publishKeyとsubscribeKeyは、クライアント・アプリをビルドする際に使用したものと一致させる必要があり、secretKeyは、[管理ポータルの](https://admin.pubnub.com?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)アプリのkeysetページから入手できます。

`REPO/samples/access-manager-api`ディレクトリから`yarn run startを`実行して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が呼び出し元のクライアントに返されます。

これらはデモ・アプリケーションが必要とするパーミッションですが、あなたのアプリケーションはおそらく異なるパーミッションを必要とするでしょう。 この提供されたルールセットを開始テンプレートとして使用することができますが、アプリ用の Access Manager サーバーを作成する際には、[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=ja)を参照して、どの Chat SDK 機能でどのパーミッションが必要かを正確に理解してください。

クライアント・デモ・アプリを再起動すると、エラーなしでログインできるようになります。 Authkey refreshed（認証キーが更新されました）」というトーストが表示されれば、すべて成功です。

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

2つのクライアント間で会話を開始してください。

![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")

### チャンネルモニターを使用してユーザーをミュートおよび禁止する

**重要：**2つのクライアント間で会話を開始したことがない場合は、今すぐ行ってください。 チャンネルはデモアプリによって動的に作成されるため、チャットが開始された後にのみチャンネルモニターに表示されます。

auth key refreshed'バナーや'banned user'モーダルなど、以下に表示されるユーザーインターフェースのアップデートは、デモアプリケーションの一部であることに注意してください。

-   [管理者ポータルに](https://admin.pubnub.com/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)ログインしてチャネルモニターを起動し、Access Managerサンプルとクライアントアプリケーションで使用したキーセットを選択します。
-   左側のナビゲーション・パネルの［**BizOps Workspace**］セクションに移動し、［**Channel Monitor**］を選択します。 **BizOps**Workspaceセクションが表示されない場合は、[PubNubプランを](https://www.pubnub.com/pricing/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)アップグレードする必要があります。
-   モデレーションを開始するチャンネルを選択するプロンプトが表示されます。 チャンネル名は`1:1 user with USER_`IDになります。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")

-   チャンネルモニターで「禁止を解除」を選択して、ユーザーを禁止解除してください。 認証キーが更新されます。 ユーザーはBANが解除され、再びチャットにアクセスできるようになります。

![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=ja)開発は最初のステップに過ぎません。最も困難な課題は、拡大するユーザー・ベースをサポートするためにアプリをデプロイした後にやってきます。BizOps Workspaceは、チャットアプリケーションのあらゆる側面を管理するために設計されたツールセットであり、ローンチ後の課題を簡素化します。

この記事では、ユーザーの安全なミュートと禁止に焦点を当てましたが、[BizOps Workspaceの](https://pubnub.com/docs/bizops-workspace/basics?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)機能はさらに拡張していきます。 また、本記事ではChat SDKのみに焦点を当てましたが、Channel Monitorは当社のどのSDKでも動作するように[設定](https://www.pubnub.com/docs/bizops-workspace/basics#configuration?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)することもできます。

![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=ja)チームにご連絡いただくか、開発者対応チーム[（devrel@pubnub.com](mailto:devrel@pubnub.com)）までメールでお問い合わせください。

PubNubはどのようにお役に立ちますか？
=====================

この記事は[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=ja)掲載されたものです。

私たちのプラットフォームは、開発者がWebアプリ、モバイルアプリ、およびIoTデバイスのためのリアルタイムのインタラクティブ性を構築、配信、管理するのに役立ちます。

私たちのプラットフォームの基盤は、業界最大かつ最もスケーラブルなリアルタイムエッジメッセージングネットワークです。世界15か所以上で8億人の月間アクティブユーザーをサポートし、99.999%の信頼性を誇るため、停電や同時実行数の制限、トラフィックの急増による遅延の問題を心配する必要はありません。

PubNubを体験
---------

[ライブツアーを](https://www.pubnub.com/tour/introduction/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)チェックして、5分以内にすべてのPubNub搭載アプリの背後にある本質的な概念を理解する

セットアップ
------

[PubNubアカウントに](https://admin.pubnub.com/signup/?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)サインアップすると、PubNubキーに無料ですぐにアクセスできます。

始める
---

[PubNubのドキュメントは](https://www.pubnub.com/docs?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)、ユースケースや[SDKに](https://www.pubnub.com/docs?utm_source=devto&utm_medium=syndication&utm_campaign=off_domain&utm_content=ja)関係なく、あなたを立ち上げ、実行することができます。