Microsoft Entra ID를 사용하여 Web PubSub 리소스에 대한 액세스 권한 부여

Azure Web PubSub 서비스를 사용하면 Microsoft Entra ID를 활용하여 Azure Web PubSub 리소스에 대한 요청 권한을 부여할 수 있습니다.

Microsoft Entra ID를 통해 RBAC(역할 기반 액세스 제어)를 활용하여 보안 주체[1]에 권한을 부여할 수 있습니다. Microsoft Entra는 이 보안 주체에 권한을 부여하고 Web PubSub 리소스가 요청에 권한을 부여하는 데 사용할 수 있는 OAuth 2.0 토큰을 반환합니다.

Web PubSub 요청의 권한 부여를 위해 Microsoft Entra ID를 사용하면 액세스 키 권한 부여에 비해 향상된 보안과 사용 편의성을 제공합니다. 필요한 최소 권한으로 액세스를 보장하기 위해 가능한 경우 Web PubSub 리소스로 Microsoft Entra 권한 부여를 활용하는 것이 좋습니다.

[1] 보안 주체: 사용자/리소스 그룹, 애플리케이션 또는 시스템 할당 ID 및 사용자 할당 ID와 같은 서비스 주체.

Web PubSub용 Microsoft Entra ID 개요

Microsoft Entra ID를 사용하는 경우 Web PubSub 리소스에 액세스하려면 인증이 필요합니다. 이 인증에는 다음 두 단계가 포함됩니다.

  1. 먼저 Azure는 보안 주체를 인증하고 OAuth 2.0 토큰을 발급합니다.
  2. 둘째, 토큰이 Web PubSub 리소스에 대한 요청에 추가됩니다. Web PubSub 서비스는 토큰을 사용하여 서비스 주체가 리소스에 액세스할 수 있는지 확인합니다.

Microsoft Entra ID를 사용하는 동안 클라이언트 쪽 인증

협상 서버/함수 앱은 Web PubSub 리소스와 액세스 키를 공유하므로 Web PubSub 서비스가 액세스 키에서 생성된 클라이언트 토큰을 사용하여 클라이언트 연결 요청을 인증할 수 있습니다.

그러나 보안 향상을 위해 Microsoft Entra ID를 사용하는 경우 액세스 키가 비활성화되는 경우가 많습니다.

이 문제를 해결하기 위해 클라이언트 토큰을 생성하는 REST API를 개발했습니다. 이 토큰을 사용하여 Azure Web PubSub 서비스에 연결할 수 있습니다.

이 API를 사용하려면 협상 서버가 먼저 자체 인증을 위해 Azure에서 Microsoft Entra 토큰을 가져와야 합니다. 그러면 서버는 Microsoft Entra 토큰으로 Web PubSub Auth API를 호출하여 클라이언트 토큰을 검색할 수 있습니다. 그런 다음, 클라이언트 토큰은 클라이언트에 반환되며, 클라이언트는 이를 사용하여 Azure Web PubSub 서비스에 연결할 수 있습니다.

지원되는 프로그래밍 언어에 대한 도우미 함수(예: 'GenerateClientAccessUri)'를 제공했습니다.

액세스 권한을 위한 Azure 역할 할당

Microsoft Entra는 Azure 역할 기반 액세스 제어를 통해 보안 리소스에 대한 액세스 권한을 권한 부여합니다. Azure Web PubSub는 Web PubSub 리소스에 액세스하는 데 사용되는 공통 권한 집합을 포함하는 Azure 기본 제공 역할 집합을 정의합니다. Web PubSub 리소스에 액세스할 사용자 지정 역할을 정의할 수도 있습니다.

리소스 범위

보안 주체에 Azure RBAC 역할을 할당하기 전에 보안 주체가 보유해야 하는 적절한 액세스 수준을 식별하는 것이 중요합니다. 가능한 범위가 가장 좁은 역할을 부여하는 것이 좋습니다. 아래에 있는 리소스는 더 넓은 범위의 Azure RBAC 역할을 상속합니다.

가장 좁은 범위부터 시작하여 다음 수준에서 Azure Web PubSub 리소스에 대한 액세스 범위를 지정할 수 있습니다.

  • 개별 리소스.

    이 범위에서 역할 할당은 대상 리소스에만 적용됩니다.

  • 리소스 그룹.

    이 범위에서 역할 할당은 리소스 그룹의 모든 리소스에 적용됩니다.

  • 구독.

    이 범위에서 역할 할당은 구독의 모든 리소스 그룹에 있는 모든 리소스에 적용됩니다.

  • 관리 그룹.

    이 범위에서 역할 할당은 관리 그룹의 모든 구독에 있는 모든 리소스 그룹의 모든 리소스에 적용됩니다.

Web PubSub 리소스에 대한 Azure 기본 제공 역할

  • Web PubSub Service Owner

    읽기/쓰기 REST API 및 인증 API를 포함하여 데이터 평면 권한에 대한 모든 액세스 권한.

    이 역할은 업스트림 서버를 빌드하는 데 가장 일반적으로 사용됩니다.

  • Web PubSub Service Reader

    Web PubSub 리소스에 대한 읽기 전용 REST API 권한을 부여하는 데 사용합니다.

    Web PubSub 데이터 평면 읽기 전용 REST API 호출하는 모니터링 도구를 작성하려는 경우에 사용됩니다.

다음 단계

Azure 애플리케이션을 만들고 Microsoft Entra 권한 부여를 사용하는 방법을 알아보려면 다음을 참조하세요.

관리 ID를 구성하고 Microsoft Entra 인증을 사용하는 방법을 알아보려면 다음을 참조하세요.

역할 및 역할 할당에 대한 자세한 내용은 다음을 참조하세요.

사용자 지정 역할을 만드는 방법을 알아보려면 다음을 참조하세요.

Microsoft Entra 권한 부여만 사용하는 방법을 알아보려면 다음을 참조하세요.