Azure Web PubSub 서비스 데이터 평면 REST API 참조
위의 워크플로 그래프 및 내부적으로 설명된 자세한 워크플로에 설명된 대로 앱 서버는 Web PubSub 서비스에서 노출하는 REST API를 사용하여 클라이언트에 메시지를 보내거나 연결된 클라이언트를 관리할 수 있습니다. 이 문서에서는 REST API에 대해 자세히 설명합니다.
Important
원시 연결 문자열 데모용으로만 이 문서에 표시됩니다.
연결 문자열에는 애플리케이션이 Azure Web PubSub 서비스에 액세스하는 데 필요한 권한 부여 정보가 포함됩니다. 연결 문자열 내의 액세스 키는 서비스의 루트 암호와 비슷합니다. 프로덕션 환경에서는 항상 액세스 키를 보호합니다. Azure Key Vault를 사용하여 키를 안전하게 관리 및 회전하고 연결을 WebPubSubServiceClient
보호합니다.
액세스 키를 다른 사용자에게 배포하거나 하드 코딩하거나 다른 사용자가 액세스할 수 있는 일반 텍스트로 저장하지 않도록 합니다. 키가 손상되었다고 생각되면 키를 교체하세요.
REST API 사용
Azure Web PubSub Service AccessKey를 통해 인증
각 HTTP 요청에서 JSON 웹 토큰(JWT)이 있는 인증 헤더가 Azure Web PubSub Service로 인증하는 데 필요합니다.
서명 알고리즘 및 서명
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 | 이 토큰이 만료되는 Epoch 시간입니다. |
JS의 의사 코드:
원시 연결 문자열 데모용으로만 이 문서에 표시됩니다. 프로덕션 환경에서는 항상 액세스 키를 보호합니다. Azure Key Vault를 사용하여 키를 안전하게 관리 및 회전하고 연결을 WebPubSubServiceClient
보호합니다.
const bearerToken = jwt.sign({}, connectionString.accessKey, {
audience: request.url,
expiresIn: "1h",
algorithm: "HS256",
});
Microsoft Entra 토큰을 통해 인증
AccessKey
를 사용하는 것과 마찬가지로 HTTP 요청을 인증하려면 JWT(JSON 웹 토큰)도 필요합니다.
차이점은 이 시나리오에서 JWT 토큰은 Microsoft Entra ID에 의해 생성됩니다.
Microsoft Entra 토큰을 생성하는 방법 알아보기
사용되는 자격 증명 범위는 https://webpubsub.azure.com/.default
이어야 합니다.
RBAC(역할 기반 액세스 제어)를 사용하여 권한을 서버에서 Azure Web PubSub Service로의 요청에 부여할 수도 있습니다.
리소스에 대한 역할 기반 액세스 제어 역할을 구성하는 방법 알아보기
API
작업 그룹 | 설명 |
---|---|
서비스 상태 | 서비스 상태를 확인하는 작업을 제공합니다. |
Hub 작업 | 연결을 관리하고 메시지를 보내는 작업을 제공합니다. |