May 23, 2024, 9:52 a.m. | PubNub Developer Relations

DEV Community dev.to

このハウツー記事は、BizOps Workspaceと総称されるPubNubのデータ管理機能について説明する一連の記事の一部です:



BizOps Workspaceは、アプリケーションの管理に役立つ一連のツールです。 この記事では、前回の「BizOps Workspaceで会話を監視してモデレートする方法」を発展させ、手動モデレーション機能、つまりリアルタイムで会話を監視し、ユーザーをミュートまたは禁止する機能を備えたエンドツーエンドのセキュアなチャット・アプリケーションを紹介します。


この記事は単独でも読むことができますが、ここで説明するコンセプトの背景をよりよく理解するために、前回の「BizOps Workspaceで会話を監視してモデレートする方法」の記事を読むことを強くお勧めします。





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


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


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



  • アクセス権を制限せずにユーザーを観察する

  • 問題のあるメッセージを編集または削除する

  • そのユーザーのメッセージ公開を制限する(ミュートする)

  • メッセージの閲覧または公開を制限する(禁止する)


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


チャネルモニタを使用するには、PubNubキーセットでいくつかの機能を有効にする必要があります。特に、App contextと Message persistenceは最低限必要です。 詳細については、前の記事の「Channel Monitorのキーセットの要件」を参照してください。





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


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


アクセスマネージャを使用すると、指定されたユーザー(または複数のユーザー)の権限と、指定されたリソースに対して実行できるアクションを記述する一連のルールを定義できます。 例えば



  • IDが123のユーザはチャネル456の読み書き権限がある。

  • IDが正規表現user-*に一致するすべてのユーザは、IDが正規表現global-*に一致するすべてのチャネルから読み取ることができます。

  • IDが123のユーザはチャネルのメタデータを更新する権限を持っています。


パーミッションの完全なリストについては、https://www.pubnub.com/docs/general/security/access-control#permissions のドキュメントを参照してください。


PubNub Access Managerはトークンベースであり、それを説明する最も簡単な方法は、ドキュメントに示されているように認可フローを歩き、そのフローがモデレーションにどのように関連しているかについて追加のコンテキストを提供することです:




  1. ログインの試み。クライアントは、ユーザをアプリケーションにログインさせるために、サーバに対して認証を行います。これはおそらくIDプロバイダを介して行われます。このステップの後、サーバは登録されたアプリユーザと話していること、そしてそのユーザが誰であるかを確信します。クライアントは初期化の一環としてPubNub Access Manager認証トークンを要求します。

  2. 許可リクエスト。 サーバはSDKの'grantToken()'APIを呼び出して、クライアントからのトークン要求を処理します。 このAPIについて注意すべき点があります:このAPIはPubNub*シークレットキーでのみ*呼び出すことができるため、サーバーからのみ呼び出すことができます。このAPIはすべてのサーバーサイドSDKで利用可

    access app channel message monitor sdk

Senior Technical Marketing Engineer (Threat Prevention)

@ Palo Alto Networks | Santa Clara, CA, United States

Senior Technical Support Engineer, EMEA - Cortex XSOAR

@ Palo Alto Networks | Warsaw, Poland

Senior Technical Marketing Engineer (AI/ML-powered Cloud Security)

@ Palo Alto Networks | Santa Clara, CA, United States

Senior Information Security Engineer

@ ServiceNow | Sydney, Australia

Principal Information Security Engineer

@ Mastercard | Pune, India

Senior Information Security Engineer – Endpoint Security (New Health Care Company)

@ Solventum | Remote - Nebraska