Azure Web PubSub サービス データ プレーン REST API リファレンス

Web PubSub サービス ワークフローを示す図。

上のワークフロー グラフ、および内部で説明されている詳細なワークフローが示すように、アプリ サーバーによって、メッセージがクライアントに送信されたり、Web PubSub Service によって公開された REST API を使用する接続済みクライアントが管理されたりします。 この記事では、REST API について詳しく説明します。

重要

この記事に示す生の接続文字列は、デモンストレーションのみを目的としています。

接続文字列には、アプリケーションがAzure Web PubSubサービスにアクセスするために必要な認可情報が含まれています。 接続文字列のアクセスキーはサービスのルートパスワードのように機能します。 運用環境では、常にアクセス キーを保護してください。 Azure Key Vault を使ってキーの管理とローテーションを安全に行い、WebPubSubServiceClient を使って接続をセキュリティ保護します

アクセス キーを他のユーザーに配布したり、ハードコーディングしたり、他のユーザーがアクセスできるプレーンテキストで保存したりしないでください。 キーが侵害された可能性があると思われる場合は、キーをローテーションしてください。

REST API の使用

Azure Web PubSub Service AccessKey を使用した認証

各 HTTP 要求での Azure Web PubSub Service を使用した認証には、JSON Web トークン (JWT) を含む Authorization ヘッダーが必要です。

署名アルゴリズムとシグネチャ

HS256 (HMAC-SHA256) は署名アルゴリズムとして使用されます。

生成されたJWTに署名するには、サービスインスタンスの接続文字列 Azure Web PubSubAccessKeyを使うべきです。

要求

以下の請求項はJWTに含める必要があります。

要求の種類 必須 説明
aud true HTTP 要求の URL と同じにする必要があります。 たとえば、ブロードキャスト要求の対象ユーザーは、https://example.webpubsub.azure.com/api/hubs/myhub/:send?api-version=2022-11-01 のようになります。
exp true このトークンの有効期限が切れるエポック時間。

JS の擬似コード:

この記事に示す生の接続文字列は、デモンストレーションのみを目的としています。 運用環境では、常にアクセス キーを保護してください。 Azure Key Vault を使ってキーの管理とローテーションを安全に行い、WebPubSubServiceClient を使って接続をセキュリティ保護します

const bearerToken = jwt.sign({}, connectionString.accessKey, {
  audience: request.url,
  expiresIn: "1h",
  algorithm: "HS256",
});

Microsoft Entra トークンによって認証する

AccessKey を使用する場合と同様に、HTTP 要求の認証には、JSON Web トークン (JWT) も必要です。

このシナリオでは、JWTはMicrosoft Entra IDによって生成されます。

Microsoft Entra トークンの生成方法を確認する

使用する資格情報スコープは https://webpubsub.azure.com/.default にする必要があります。

また、ロールベースのアクセス制御 (RBAC) を使用して、自分のサーバーから Azure Web PubSub Service への要求を承認することもできます。

役割割り当ての追加方法を学びましょう

API

操作グループ 説明
サービスの状態 サービスの状態を確認する操作を行います
REST 操作 接続を管理して、それにメッセージを送信する操作を行います。