B2B Solution/트러블슈팅

AADSTS50105 오류 해결: Azure AD 애플리케이션 사용자 할당 문제 완벽 가이드

SangPedia 2026. 3. 24. 09:05
반응형
AADSTS50105 오류 해결: Azure AD 애플리케이션 사용자 할당 문제 완벽 가이드

AADSTS50105 오류 해결: Azure AD 애플리케이션 사용자 할당 문제 완벽 가이드

Azure Active Directory (Azure AD) 환경에서 애플리케이션을 사용하다 보면 예기치 않은 오류가 발생할 수 있습니다. 그중 하나가 AADSTS50105 오류입니다. 이 오류는 사용자가 애플리케이션에 접근하려고 할 때, 해당 사용자에게 필요한 역할이 할당되지 않았을 때 발생합니다. 이 글에서는 AADSTS50105 오류의 원인을 분석하고, 단계별 해결 방법과 예방 조치를 상세하게 안내합니다.

에러 현상

사용자가 Single Sign-On(SSO)을 통해 애플리케이션에 로그인하려고 할 때 다음과 같은 오류 메시지가 표시됩니다.

AADSTS50105: The signed in user '{user name}' is not assigned to a role for the application '{application name}'.

이 오류는 일반적으로 사용자가 애플리케이션에 대한 명시적인 접근 권한이 없거나, 필요한 그룹 멤버십을 가지고 있지 않을 때 발생합니다. 오류가 발생하는 환경은 다음과 같습니다.

  • OS: Windows Server, Linux
  • Azure AD Connect: 2.0 이상
  • 애플리케이션 유형: SaaS 애플리케이션, 사용자 지정 애플리케이션
  • 인증 프로토콜: SAML, OAuth 2.0

원인 분석

AADSTS50105 오류는 여러 가지 원인으로 인해 발생할 수 있습니다. 가장 일반적인 원인 3가지를 빈도순으로 나열하고, 각 원인에 대한 자세한 설명을 제공합니다.

1. 사용자에게 애플리케이션 역할이 할당되지 않음

가장 흔한 원인은 사용자가 애플리케이션에 접근하기 위한 역할 기반 접근 제어(RBAC)가 제대로 설정되지 않았기 때문입니다. Azure AD에서 사용자는 애플리케이션에 직접 할당되거나, 그룹 멤버십을 통해 간접적으로 할당될 수 있습니다. 만약 사용자가 어떤 방식으로도 애플리케이션에 할당되지 않았다면, AADSTS50105 오류가 발생합니다.

2. 그룹 기반 할당의 지연

사용자가 애플리케이션에 접근 권한을 주는 그룹에 추가되었지만, 변경 사항이 Azure AD에 즉시 반영되지 않을 수 있습니다. Azure AD는 그룹 멤버십 변경 사항을 전파하는 데 시간이 걸릴 수 있으며, 이로 인해 일시적으로 사용자에게 접근 권한이 없는 것으로 나타날 수 있습니다.

3. 잘못된 애플리케이션 구성

애플리케이션 자체가 Azure AD와 제대로 통합되지 않았거나, 필요한 권한 설정이 누락되었을 수 있습니다. 예를 들어, 애플리케이션이 사용자의 특정 속성(예: 부서, 직책)을 요구하지만, 해당 속성이 Azure AD에서 제대로 설정되지 않았을 경우 오류가 발생할 수 있습니다.

Mermaid diagram: graph TD

해결 방법

이제 각 원인별로 AADSTS50105 오류를 해결하는 방법을 단계별로 안내합니다.

1. 사용자에게 애플리케이션 역할 할당

Azure Portal을 사용하여 사용자에게 직접 애플리케이션 역할을 할당하거나, 그룹 멤버십을 통해 간접적으로 할당할 수 있습니다.

단계 1: Azure Portal에 로그인하고, Azure AD로 이동합니다.

단계 2: 엔터프라이즈 애플리케이션을 선택하고, 문제가 발생하는 애플리케이션을 찾습니다.

단계 3: 왼쪽 메뉴에서 사용자 및 그룹을 클릭합니다.

단계 4: 사용자/그룹 추가를 클릭하고, 사용자 또는 그룹을 선택합니다.

단계 5: 역할 선택 드롭다운에서 적절한 역할을 선택하고, 할당을 클릭합니다.

# PowerShell을 사용하여 사용자에게 애플리케이션 역할 할당
Connect-AzureAD

$userPrincipalName = "user@contoso.com"
$appObjectId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # 애플리케이션의 ObjectId
$roleId = "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" # 역할의 Id

$appRoleAssignment = New-Object -TypeName Microsoft.Open.MSGraph.Model.AppRoleAssignment
$appRoleAssignment.PrincipalId = (Get-AzureADUser -Filter "UserPrincipalName eq '$userPrincipalName'").ObjectId
$appRoleAssignment.ResourceId = $appObjectId
$appRoleAssignment.AppRoleId = $roleId

New-AzureADServicePrincipalAppRoleAssignment -ObjectId $appObjectId -AppRoleAssignment $appRoleAssignment

실행 전 확인: 사용자가 현재 애플리케이션에 할당되어 있는지 확인합니다.

Get-AzureADServicePrincipalAppRoleAssignment -ObjectId $appObjectId | Where-Object {$_.PrincipalId -eq (Get-AzureADUser -Filter "UserPrincipalName eq '$userPrincipalName'").ObjectId}

실행 후 확인: 사용자가 애플리케이션에 성공적으로 할당되었는지 확인합니다.

2. 그룹 기반 할당 지연 문제 해결

그룹 멤버십 변경 사항이 Azure AD에 즉시 반영되지 않는 경우, 다음 방법을 시도해 볼 수 있습니다.

단계 1: Azure AD Connect 동기화 상태를 확인합니다. Azure AD Connect 서버에서 동기화 서비스 관리자를 열고, 마지막 동기화가 성공적으로 완료되었는지 확인합니다.

단계 2: 강제 동기화를 실행합니다. PowerShell을 사용하여 Azure AD Connect 동기화를 강제로 실행할 수 있습니다.

# Azure AD Connect 동기화 강제 실행
Import-Module ADSync
Start-ADSyncSyncCycle -PolicyType Delta

단계 3: 사용자가 애플리케이션에 접근할 수 있는지 다시 시도합니다. 동기화가 완료된 후에도 문제가 지속되면, Azure AD의 감사 로그를 확인하여 동기화 오류가 있는지 확인합니다.

Mermaid diagram: sequenceDiagram

3. 애플리케이션 구성 확인 및 수정

애플리케이션의 구성이 잘못되었을 경우, 다음 단계를 따라 문제를 해결할 수 있습니다.

단계 1: Azure Portal에서 엔터프라이즈 애플리케이션으로 이동하여 해당 애플리케이션을 선택합니다.

단계 2: Single Sign-On 설정을 확인하고, 애플리케이션이 요구하는 클레임(Claims)이 Azure AD에서 제대로 제공되고 있는지 확인합니다. 특히, 사용자의 속성(예: user.department, user.jobTitle)이 클레임에 포함되어 있는지 확인합니다.

단계 3: 애플리케이션 등록(App Registration) 설정을 확인하고, 필요한 API 권한이 애플리케이션에 부여되었는지 확인합니다. 특히, User.Read, Group.Read.All과 같은 권한이 필요한 경우, 해당 권한이 애플리케이션에 부여되었는지 확인합니다.

# 애플리케이션 매니페스트(manifest)에서 필요한 클레임 확인
{
  "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "displayName": "Your Application",
  "signInAudience": "AzureADMyOrg",
  "requiredResourceAccess": [
    {
      "resourceAppId": "00000003-0000-0000-c000-000000000000",
      "resourceAccess": [
        {
          "id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
          "type": "Scope"
        }
      ]
    }
  ]
}

실행 전 확인: 애플리케이션의 현재 구성을 확인합니다.
실행 후 확인: 애플리케이션이 올바르게 구성되었는지 확인하고, 사용자가 애플리케이션에 접근할 수 있는지 확인합니다.

예방 조치

AADSTS50105 오류를 예방하기 위해 다음과 같은 조치를 취할 수 있습니다.

  1. 자동화된 사용자 프로비저닝: Azure AD Connect 또는 Azure AD Provisioning Service를 사용하여 사용자를 자동으로 프로비저닝하고, 애플리케이션에 필요한 역할을 자동으로 할당합니다.
  2. 정기적인 역할 검토: Azure AD Access Reviews를 사용하여 애플리케이션 역할 할당을 정기적으로 검토하고, 불필요한 권한을 제거합니다.
  3. 모니터링 및 알림: Azure Monitor를 사용하여 AADSTS50105 오류를 모니터링하고, 오류 발생 시 관리자에게 자동으로 알림을 보냅니다.
# Azure Monitor를 사용하여 AADSTS50105 오류 모니터링
$query = "SigninLogs | where ResultType == '50105' | summarize count() by UserPrincipalName, AppDisplayName"

# Azure Automation Runbook을 사용하여 정기적으로 쿼리 실행 및 결과 분석
# ...

FAQ

Q: AADSTS50105 오류는 왜 발생하나요?
A: AADSTS50105 오류는 사용자가 애플리케이션에 접근 권한이 없거나, 특정 역할에 할당되지 않았을 때 발생합니다. 이는 Azure AD 설정에서 사용자가 애플리케이션에 명시적으로 할당되지 않았거나, 필요한 그룹 멤버십을 가지고 있지 않기 때문일 수 있습니다. Azure 사용자 추가 시 역할을 반드시 확인해야 합니다.

Q: 애플리케이션에 사용자를 할당하는 방법은 무엇인가요?
A: Azure Portal에서 Azure Active Directory > 엔터프라이즈 애플리케이션으로 이동하여 해당 애플리케이션을 선택합니다. '사용자 및 그룹' 섹션에서 '사용자/그룹 추가'를 클릭하고, 사용자 또는 그룹을 선택한 후 역할을 할당합니다. 올바른 역할 할당은 Microsoft Entra 계정 관리의 핵심입니다.

Q: 오류 해결 후에도 문제가 지속되면 어떻게 해야 하나요?
A: 오류 해결 후에도 문제가 지속된다면, 애플리케이션의 Single Sign-On (SSO) 설정을 확인하고, 사용자의 계정 정보가 Azure AD에 정확하게 동기화되어 있는지 확인해야 합니다. 또한, 애플리케이션에서 요구하는 추가적인 권한 설정이 있는지 확인하는 것도 중요합니다. 필요하다면 Azure AD의 감사 로그를 확인하여 문제의 근본 원인을 파악할 수 있습니다.


반응형