관리 ID 사용
이 문서에서는 Azure Web PubSub에서 관리 ID를 만들고 사용하는 방법을 보여 줍니다.
Important
Azure Web PubSub는 하나의 관리 ID만 지원할 수 있습니다. 시스템 할당 ID 또는 사용자 할당 ID를 추가할 수 있습니다.
시스템 할당 ID 추가
Azure Portal에서 관리 ID를 설정하려면 Azure Web PubSub 인스턴스를 만든 다음 기능을 켭니다.
Azure Portal에서 Web PubSub 리소스를 만듭니다. 포털의 리소스로 이동합니다.
왼쪽 메뉴에서 ID를 선택합니다.
시스템 할당 탭을 선택한 다음 상태를 켜기로 설정합니다. 저장을 선택합니다.
사용자 할당 ID 추가
사용자 할당 ID를 사용하여 Web PubSub 리소스를 만들려면 ID를 만든 다음 ID의 리소스 식별자를 서비스에 추가합니다.
사용자 할당 관리형 ID 리소스를 만듭니다.
Azure Portal에서 Web PubSub 리소스를 만듭니다. 포털의 리소스로 이동합니다.
왼쪽 메뉴에서 ID를 선택합니다.
사용자 할당 탭을 선택한 다음, 추가를 선택합니다.
만든 ID를 검색하고 이를 선택합니다. 추가를 선택합니다.
클라이언트 이벤트 시나리오에서 관리 ID 사용
Azure Web PubSub는 완전 관리형 서비스이므로 관리 ID를 사용하여 토큰을 수동으로 가져올 수 없습니다. 대신 Web PubSub에서 이벤트 처리기에 이벤트를 보내면 관리 ID를 사용하여 액세스 토큰을 가져옵니다. 그런 다음 서비스는 HTTP 요청의 Authorization
헤더에 액세스 토큰을 설정합니다.
이벤트 처리기에 대한 관리 ID 인증 설정
시스템 할당 ID 또는 사용자 할당 ID를 추가합니다.
허브 설정 구성으로 이동하여 업스트림 이벤트 처리기를 추가하거나 편집합니다.
인증에서 관리 ID 사용을 선택한 다음, 발급된 토큰 대상 그룹 지정 확인란을 선택합니다. 대상 그룹은 액세스 토큰의
aud
클레임이 됩니다. 클레임은 이벤트 처리기에 대한 유효성 검사의 일부일 수 있습니다.인증의 경우 다음 옵션 중 하나를 선택할 수 있습니다.
- 기존 Microsoft Entra 애플리케이션을 사용합니다. 선택한 애플리케이션의 애플리케이션 ID가 사용됩니다.
- 서비스 주체의 애플리케이션 ID URI를 사용합니다.
Important
빈 리소스를 사용하면 실제로 Microsoft Graph의 토큰 대상이 획득됩니다. 현재 Microsoft Graph는 토큰 암호화를 사용하도록 설정하므로 애플리케이션이 Microsoft Graph 이외의 토큰을 인증하는 것은 지원되지 않습니다. 업스트림 대상을 나타내는 서비스 주체를 항상 만들어야 합니다. 만든 서비스 주체의 애플리케이션 ID 또는 애플리케이션 ID URI 값을 설정합니다.
Azure Functions 앱의 인증
코드를 변경하지 않고도 Functions 앱에 대한 액세스 유효성 검사를 쉽게 설정할 수 있습니다.
Azure Portal에서 함수 앱으로 이동합니다.
왼쪽 메뉴에서 인증을 선택합니다.
ID 공급자 추가를 선택합니다.
기본 사항 탭의 ID 공급자에서 Microsoft를 선택합니다.
요청이 인증되지 않은 경우 취해야 할 작업에서 Microsoft Entra ID로 로그인을 선택합니다.
새 등록을 만드는 옵션이 기본적으로 선택되어 있습니다. 등록의 이름을 변경할 수 있습니다. Microsoft Entra 공급자를 사용하도록 설정하는 방법에 대한 자세한 내용은 Microsoft Entra ID 로그인을 사용하도록 Azure App Service 또는 Azure Functions 앱 구성을 참조하세요.
Web PubSub 리소스로 이동하여 시스템 할당 ID 또는 사용자 할당 ID를 추가합니다.
Web PubSub 리소스의 왼쪽 메뉴에서 설정을 선택합니다.
편집을 선택하여 허브 설정을 편집한 다음, 편집을 선택하여 이벤트 처리기 설정을 편집합니다. 인증에서 관리 ID 사용을 선택하고 기존 애플리케이션에서 선택 확인란을 선택합니다. 만든 애플리케이션을 선택합니다.
이러한 설정을 구성한 후 Functions 앱은 헤더에 액세스 토큰이 없는 요청을 거부합니다.
액세스 토큰의 유효성 검사
Azure App Service 또는 Azure Functions의 Web Apps 기능을 사용하지 않는 경우 토큰의 유효성을 검사할 수도 있습니다.
Authorization
헤더의 토큰은 Microsoft ID 플랫폼 액세스 토큰입니다.
액세스 토큰의 유효성을 검사하려면 앱에서 대상 그룹 및 서명 토큰의 유효성을 검사해야 합니다. 서명 토큰은 OpenID 검색 문서의 값에 대해 유효성을 검사해야 합니다. 예를 들어 문서의 테넌트 독립적 버전을 참조하세요.
Microsoft Entra 미들웨어에는 액세스 토큰의 유효성을 검사하는 기능이 기본 제공되어 있습니다. 샘플을 탐색하여 사용하려는 언어로 작성된 샘플을 찾을 수 있습니다.
토큰 유효성 검사를 처리하는 방법을 보여 주는 라이브러리와 코드 샘플이 제공됩니다. JWT(JSON Web Token) 유효성 검사를 위해 여러 오픈 소스 파트너 라이브러리도 사용할 수 있습니다. 거의 모든 플랫폼 및 언어에 대해 하나 이상의 옵션이 있습니다. Microsoft Entra 권한 부여 라이브러리 및 코드 샘플에 대한 자세한 내용은 Microsoft ID 플랫폼 인증 라이브러리를 참조하세요.
이벤트 처리기가 Azure Function 또는 Web Apps에서 호스팅되는 경우 쉬운 방법은 Microsoft Entra 로그인 구성입니다.
Key Vault 참조에 관리 ID 사용
Web PubSub는 관리 ID를 사용하여 비밀을 가져오기 위해 키 자격 증명 모음에 액세스할 수 있습니다.
Azure Web PubSub에 대한 시스템 할당 ID 또는 사용자 할당 ID를 추가합니다.
키 자격 증명 모음에서 액세스 정책을 사용하여 관리 ID에 대한 비밀 읽기 권한을 부여합니다. 자세한 내용은 Azure Portal을 사용하여 Key Vault 액세스 정책 할당을 참조하세요.
현재 이 기능은 다음과 같은 시나리오에서 사용할 수 있습니다.
{@Microsoft.KeyVault(SecretUri=<secret-identity>)}
구문을 사용하여 이벤트 처리기 URL 템플릿 설정의 Key Vault에서 비밀을 가져옵니다.