Azure SignalR Service용 관리되는 ID

Azure SignalR Service에서는 Microsoft Entra ID의 관리 ID를 사용하여 다음을 수행할 수 있습니다.

  • 액세스 토큰을 가져옵니다.
  • Azure Key Vault에 있는 비밀에 액세스합니다.

이 서비스는 하나의 관리 ID만 지원합니다. 시스템 할당 ID 또는 사용자 할당 ID를 만들 수 있습니다. 시스템 할당 ID는 Azure SignalR Service 인스턴스 전용이며 인스턴스를 삭제하면 삭제됩니다. 사용자 할당 ID는 Azure SignalR Service 리소스와 독립적으로 관리됩니다.

이 문서에서는 Azure SignalR Service용 관리 ID를 만드는 방법과 서버리스 시나리오에서 이를 사용하는 방법을 보여줍니다.

필수 조건

관리 ID를 사용하려면 다음 항목이 있어야 합니다.

  • Azure 구독 Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.
  • Azure SignalR Service 리소스.
  • Azure Key Vault 리소스와 같이 액세스하려는 업스트림 리소스입니다.
  • Azure Functions 앱(함수 앱)입니다.

Azure SignalR Service에 관리 ID 추가

Azure Portal 또는 Azure CLI에서 Azure SignalR Service에 관리 ID를 추가할 수 있습니다. 이 문서에서는 Azure Portal에서 Azure SignalR Service에 관리 ID를 추가하는 방법을 보여 줍니다.

시스템 할당 ID 추가

Azure SignalR Service 인스턴스에 시스템 할당 관리 ID를 추가하려면 다음을 수행합니다.

  1. Azure Portal에서 Azure SignalR Service 인스턴스를 찾습니다.

  2. ID를 선택합니다.

  3. 시스템 할당 탭에서 상태켜기로 바꿉니다.

    Screenshot that shows selections for adding a system-assigned identity in the portal.

  4. 저장을 선택합니다.

  5. 를 클릭하여 변경 내용을 확인합니다.

사용자 할당 ID 추가

Azure SignalR Service 인스턴스에 사용자 할당 ID를 추가하려면 ID를 만든 다음 서비스에 추가해야 합니다.

  1. 이러한 지침에 따라 사용자 할당 관리 ID 리소스를 만듭니다.

  2. Azure Portal에서 Azure SignalR Service 인스턴스를 찾습니다.

  3. ID를 선택합니다.

  4. 사용자 할당 탭에서 추가를 클릭합니다.

  5. 사용자 할당 관리 ID 드롭다운 메뉴에서 ID를 선택합니다.

    Screenshot that shows selections for adding a user-assigned identity in the portal.

  6. 추가를 선택합니다.

서버리스 시나리오에서 관리 ID 사용

Azure SignalR Service는 완전 관리형 서비스입니다. 관리 ID를 사용하여 액세스 토큰을 가져옵니다. 서버리스 시나리오에서 서비스는 업스트림 요청의 Authorization 헤더에 액세스 토큰을 추가합니다.

업스트림 설정에서 관리 ID 인증 사용

Azure SignalR Service 인스턴스에 시스템 할당 ID 또는 사용자 할당 ID를 추가한 후 업스트림 엔드포인트 설정에서 관리 ID 인증을 사용하도록 설정할 수 있습니다.

  1. Azure Portal에서 Azure SignalR Service 인스턴스를 찾습니다.

  2. 메뉴에서 설정을 선택합니다.

  3. 서버리스 서비스 모드를 선택합니다.

  4. 업스트림 URL 패턴 추가 텍스트 상자에 업스트림 엔드포인트 URL 패턴을 입력합니다. URL 템플릿 설정을 참조하세요.

  5. 업스트림 설정 하나 추가를 선택한 다음 별표를 선택합니다.

    Screenshot that shows Azure SignalR Service settings for adding an upstream URL pattern.

  6. 업스트림 설정에서 업스트림 엔드포인트 설정을 구성합니다.

    Screenshot of upstream settings for Azure SignalR Service.

  7. 관리 ID 인증 설정에서 발급된 토큰의 대상 그룹에 대상 그룹 리소스를 지정할 수 있습니다. 리소스는 획득된 액세스 토큰의 aud 클레임이 되며 업스트림 엔드포인트에서 유효성 검사의 일부로 사용할 수 있습니다. 리소스는 다음 형식 중 하나일 수 있습니다.

    • 서비스 주체의 애플리케이션(클라이언트) ID.
    • 서비스 주체의 애플리케이션 ID URI.

    Important

    빈 리소스를 사용하면 Microsoft Graph에 대한 토큰 대상을 실제로 획득할 수 있습니다. 현재와 마찬가지로 Microsoft Graph에서는 토큰 암호화를 사용하도록 설정하므로 애플리케이션에서는 Microsoft Graph 이외의 토큰을 인증하는 데 사용할 수 없습니다. 일반적으로 업스트림 대상을 나타내는 서비스 주체를 항상 만들어야 합니다. 그리고 만든 서비스 주체의 애플리케이션 ID 또는 애플리케이션 ID URI를 설정합니다.

함수 앱에서 인증

Azure Portal을 사용하여 코드 변경 없이 함수 앱에 대한 액세스 유효성 검사를 쉽게 설정할 수 있습니다.

  1. Azure Portal에서 함수 앱으로 이동합니다.

  2. 메뉴에서 인증을 선택합니다.

  3. ID 공급자 추가를 선택합니다.

  4. 기본 사항 탭의 ID 공급자 드롭다운 목록에서 Microsoft를 선택합니다.

  5. 요청이 인증되지 않은 경우 취해야 할 작업에서 Microsoft Entra ID로 로그인을 선택합니다.

  6. 새 등록을 만드는 옵션이 기본적으로 선택되어 있습니다. 등록의 이름을 변경할 수 있습니다. Microsoft Entra 공급자 사용 설정에 대한 자세한 내용은 Microsoft Entra ID 로그인을 사용하도록 App Service 또는 Azure Functions 앱 구성을 참조하세요.

    Screenshot that shows basic information for adding an identity provider.

  7. Azure SignalR Service로 이동하여 단계에 따라 시스템 할당 ID 또는 사용자 할당 ID를 추가합니다.

  8. Azure SignalR Service에서 업스트림 설정으로 이동한 다음 관리 ID 사용기존 애플리케이션에서 선택을 선택합니다. 이전에 만든 애플리케이션을 선택합니다.

이러한 설정을 구성하면 함수 앱은 헤더에 액세스 토큰이 없는 요청을 거부합니다.

액세스 토큰 유효성 검사

WebApp 또는 Azure 함수를 사용하지 않는 경우 토큰의 유효성을 검사할 수도 있습니다.

Authorization 헤더의 토큰은 Microsoft ID 플랫폼 액세스 토큰입니다.

액세스 토큰의 유효성을 검사하려면 앱에서 대상 그룹 및 서명 토큰의 유효성을 검사해야 합니다. 이러한 토큰은 OpenID 검색 문서에 있는 값에 대해 유효성 검사를 수행해야 합니다. 예를 들어 문서의 테넌트 독립적 버전을 참조하세요.

Microsoft Entra 미들웨어에는 액세스 토큰의 유효성을 검사하는 기능이 기본 제공되어 있습니다. Microsoft ID 플랫폼 코드 샘플을 탐색하여 원하는 언어로 된 코드를 찾을 수 있습니다.

토큰 유효성 검사를 처리할 수 있는 방법을 보여 주는 라이브러리와 코드 샘플 JWT(JSON Web Token) 유효성 검사를 위해 여러 오픈 소스 파트너 라이브러리도 사용할 수 있습니다. 거의 모든 플랫폼 및 언어에 대해 하나 이상의 옵션이 있습니다. Microsoft Entra 인증 라이브러리 및 코드 샘플에 대한 자세한 내용은 Microsoft ID 플랫폼 인증 라이브러리를 참조하세요.

Key Vault 참조에 관리 ID 사용

Azure SignalR Service는 관리 ID를 사용하여 Key Vault에 액세스하여 비밀을 가져올 수 있습니다.

  1. Azure SignalR Service 인스턴스에 시스템 할당 ID 또는 사용자 할당 ID를 추가합니다.
  2. Key Vault의 액세스 정책에서 관리 ID에 대한 비밀 읽기 권한을 부여합니다. Azure Portal을 사용하여 Key Vault 액세스 정책 할당을 참조하세요.

현재 이 기능을 사용하여 업스트림 URL 패턴에서 비밀을 참조할 수 있습니다.

다음 단계