Azure Web PubSub サービス データ プレーン REST API リファレンス
上のワークフロー グラフ、および内部で説明されている詳細なワークフローが示すように、アプリ サーバーによって、メッセージがクライアントに送信されたり、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) は署名アルゴリズムとして使用されます。
Azure Web PubSub Service インスタンスの接続文字列内の AccessKey
を使用して、JWT トークンに署名する必要があります。
要求
以下の要求は、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
操作グループ | 説明 |
---|---|
サービスの状態 | サービスの状態を確認する操作を行います |
ハブ操作 | 接続を管理して、それにメッセージを送信する操作を行います。 |