InfoGrab DocsInfoGrab Docs

Microsoft Intune MAM(모바일 애플리케이션 관리) 구성

요약

iOS에서 Mattermost 모바일 앱이 Microsoft Intune 앱 보호 정책(MAM)을 적용하도록 구성하여 기기 등록(MDM) 없이도 BYOD(개인 기기 업무 활용) 및 혼용 기기에서 조직 데이터를 보호할 수 있습니다.

사용 가능 플랜: Entry, Enterprise Advanced

iOS에서 Mattermost 모바일 앱이 Microsoft Intune 앱 보호 정책(MAM)을 적용하도록 구성하여 기기 등록(MDM) 없이도 BYOD(개인 기기 업무 활용) 및 혼용 기기에서 조직 데이터를 보호할 수 있습니다.

이 가이드는 iOS에서 Intune MAM을 성공적으로 활성화하는 데 필요한 구성을 설명합니다.

먼저 읽어보세요#

Mattermost의 Intune MAM 적용은 ID 기반이며 System Console > Environment > Mobile Security에서 적용된 인증 공급자로 선택된 로그인 방법에만 적용됩니다.

  • 적용된 인증 공급자는 Azure AD objectId(IdAttribute = objectId)를 사용하여 사용자를 확인해야 합니다.
  • MSAL 액세스 토큰에는 oid 클레임이 포함되어야 하며, 동일한 Azure AD objectId와 일치해야 합니다(신원 정렬 확인: objectId ↔ oid).
Important

Intune MAM 등록이 기술적 오류로 인해 실패하면, 영향을 받은 Mattermost 서버는 모바일 앱에서 제거되고 해당 서버에 대한 캐시된 데이터는 기기에서 삭제됩니다.

지원되지 않는 시나리오#

이 가이드는 다음 경우에는 적용되지 않습니다.

  • Android 기기에서 Intune MAM이 필요한 경우.
  • Microsoft Entra ID가 지원하지 않는 로그인 방법에 대해 Intune MAM 적용을 원하는 경우.
  • 적용된 인증 공급자가 사용자를 Azure AD objectId로 확인할 수 없는 경우.
  • 사용자가 적용된 로그인 방법에 대해 Intune MAM을 우회하거나 연기할 수 있는 롤아웃 모델이 필요한 경우.

게스트 액세스와 같은 다른 인증 방법은 별도로 활성화할 수 있지만, Intune MAM에 의해 평가되지 않습니다.

전제 조건#

계속하기 전에 다음을 확인하세요.

  • Microsoft Entra ID가 인증에 사용되고 있습니다.
  • Azure AD objectId를 권한 있는 신원으로 사용하기로 결정할 수 있습니다.
  • 서버에 Mattermost Enterprise Advanced 라이선스를 사용할 수 있습니다.
  • 대상 사용자가 Microsoft Intune에 라이선스가 부여되어 있습니다.
  • Microsoft Entra에서 애플리케이션을 등록하고 테넌트 전체 관리자 동의를 부여할 수 있습니다.
  • SAML에서 Intune MAM을 적용하는 경우, 사용자가 이미 Mattermost에 존재해야 합니다(모바일 로그인은 SAML에 대해 사용자를 생성하지 않습니다).
Note

이 가이드에서 OpenID Connect(OIDC)는 MSAL을 통해 Mattermost 모바일 앱에서 사용하는 Microsoft Entra 로그인 방법을 의미합니다.

구성 개요#

Intune MAM 적용을 성공적으로 수행하려면 다음 항목 전반에 걸쳐 조율된 구성이 필요합니다.

  • Microsoft Entra ID – 앱 등록, 범위, API 권한, 관리자 동의
  • Microsoft Intune – iOS 앱 보호 정책
  • Mattermost 서버 – MAM 활성화 및 공급자 선택
  • Mattermost 모바일 앱(iOS) – 등록 및 적용

아래 단계를 순서대로 완료하세요.

설정 요약#

  1. 신원 요구 사항 및 정렬을 확인합니다(objectId ↔ oid).
  2. Microsoft Entra를 구성합니다(서버에서 참조하는 애플리케이션).
  3. Intune 앱 보호 정책을 구성합니다.
  4. Mattermost에서 Intune MAM을 활성화하고 적용할 공급자를 선택합니다.
  5. 공식 Mattermost iOS 앱을 배포합니다.
  6. 등록 및 적용을 검증합니다.

나중에 필요한 값#

설정 중에 다음 값을 확보하세요.

값 확인 위치 사용 위치
디렉터리(테넌트) ID Entra 앱 등록 개요 Mattermost 시스템 콘솔
애플리케이션(클라이언트) ID Entra 앱 등록 개요 Mattermost 시스템 콘솔
애플리케이션 ID URI Entra 앱 > API 노출 승인된 클라이언트 애플리케이션에서 api://<APPLICATION-ID>/login.mattermost 범위 참조를 구성하는 데 사용
login.mattermost 범위 Entra 앱 > API 노출 승인된 클라이언트 애플리케이션
모바일 클라이언트 애플리케이션 ID Mattermost에서 제공 Entra 앱 > 승인된 클라이언트 애플리케이션
iOS 번들 ID(프로덕션/베타) 이 가이드 Intune 앱 보호 정책

1단계: Intune MAM에 대한 신원 구성#

이 단계에서는 Intune MAM 적용을 위해 선택된 인증 공급자에 필요한 신원 모델을 정의합니다.

필수 신원 모델#

Mattermost용 Microsoft Intune MAM은 Azure AD objectId를 권한 있는 사용자 식별자로 요구합니다. 다음은 협상 불가능한 사항입니다.

  • 적용된 공급자에 대해 IdAttribute는 반드시 objectId와 같아야 합니다.
  • MSAL 액세스 토큰에는 oid 클레임이 포함되어야 합니다.
  • Intune MAM을 활성화하기 전에 신원 정렬(objectId ↔ oid)을 확인하세요.

신원 정렬 확인(objectId ↔ oid)#

동일한 사용자에 대해 다음 값이 일치해야 합니다.

  • Azure AD objectId
  • MSAL 액세스 토큰 oid 클레임
  • SAML objectidentifier(해당하는 경우)
  • LDAP msDS-aadObjectId(해당하는 경우)

불일치가 있으면 등록이 진행되지 않습니다.

인증 방법별 신원 적용#

OIDC(MSAL을 통한 모바일 로그인)

  • Mattermost는 신원 확인 및 등록에 MSAL 액세스 토큰을 사용합니다.
  • 신원 정렬을 확인하세요(objectId ↔ oid).

SAML(Entra 기반)

  • SamlSettings.IdAttribute는 반드시 objectidentifier에 매핑되어야 합니다.
  • 이메일, UPN, immutableID는 지원되지 않습니다.
  • 모바일 로그인 전에 사용자가 이미 Mattermost에 존재해야 합니다.

LDAP(Entra ID Domain Services)

  • msDS-aadObjectId를 사용하세요.
  • objectGUID는 사용하지 마세요.

런타임 적용 동작#

Intune MAM이 공급자에 대해 활성화되면:

  • 적용은 활성 세션 중에도 발생하며, 로그인 시에만 국한되지 않습니다.
  • 정책, 라이선스 또는 구성 변경으로 인해 Intune MAM이 새로 필요해지면 즉시 등록이 트리거될 수 있습니다.
  • 사용자는 적용된 공급자에 대한 적용을 우회할 수 없습니다.

사전 점검 체크리스트#

  • 라이선스가 부여된 Intune 테스트 사용자 확보
  • 테넌트 전체 관리자 동의를 부여할 수 있는 권한
  • 적용할 공급자 확인(OIDC 또는 SAML)
  • IdAttribute = objectId 구성 완료
  • 신원 정렬 확인(objectId ↔ oid)
  • 공식 Mattermost iOS 앱 배포 완료
  • 대상 번들 ID 확인: com.mattermost.rn(프로덕션), com.mattermost.rnbeta(베타)

2단계: Intune MAM에 대한 Microsoft Entra 구성#

Mattermost 서버가 참조하는 단일 테넌트 Microsoft Entra 애플리케이션을 등록합니다. 이 애플리케이션은 MSAL 액세스 토큰을 검증하고 Intune MAM 등록을 지원합니다.

Mattermost 모바일 앱 자체를 등록하지는 않습니다. 리디렉션 URI 구성은 필요하지 않습니다.

Entra 애플리케이션 등록#

  1. ID > 애플리케이션 > 앱 등록으로 이동합니다.
  2. 새 등록을 선택합니다.
  3. 구성:
    • 이름: Mattermost Mobile (Intune MAM)
    • 지원되는 계정 유형: 단일 테넌트
  4. 앱을 등록합니다.
  5. 다음을 복사합니다.
    • 애플리케이션(클라이언트) ID
    • 디렉터리(테넌트) ID

API 노출 및 범위 생성#

  1. API 노출로 이동합니다.
  2. 애플리케이션 ID URI가 설정되어 있는지 확인합니다(예: api://).
  3. login.mattermost라는 이름의 범위를 추가합니다.
  4. 변경 사항을 저장합니다.

공식 모바일 클라이언트 승인#

Mattermost에서 제공하는 공식 Mattermost Mobile 클라이언트 애플리케이션 ID가 login.mattermost 범위를 요청하도록 승인합니다.

  1. Entra 앱 등록에서 API 노출로 이동합니다.
  2. 승인된 클라이언트 애플리케이션에서 클라이언트 애플리케이션 추가를 선택합니다.
  3. Mattermost에서 제공하는 공식 Mattermost Mobile 클라이언트 애플리케이션 ID를 다음과 같이 추가합니다.
  • 베타: 64e9952b-20eb-46dc-92ad-99089ed24903
  • 프로덕션: 9ac649f1-4f77-44d6-9792-b2f54ab3c9a7
  1. api:///login.mattermost 범위를 승인합니다.
  2. 변경 사항을 저장합니다.

API 권한 및 관리자 동의#

이는 Mattermost 서버가 참조하는 Entra 애플리케이션에 대해 고객 관리자가 부여해야 하는 권한입니다.

이러한 권한이 누락되었거나 테넌트 전체 관리자 동의가 부족한 경우, 등록이 Entra 권한/관리자 동의 오류(예: AADSTS650057)로 실패하거나 최초 로그인 시 사용자에게 표시되는 동의 거부됨 메시지가 나타날 수 있습니다.

MSAL 토큰 및 필수 클레임 구성#

Intune MAM을 활성화하기 전에, Entra 앱 등록이 모바일 로그인 중 Mattermost가 요구하는 클레임을 포함한 액세스 토큰을 발급하는지 확인하세요.

  1. Entra 앱 등록에서 토큰 구성으로 이동합니다.
  2. 선택적 클레임 추가를 선택합니다.
  3. 토큰 유형에서 액세스를 선택합니다.
  4. 다음 선택적 클레임을 추가합니다.
    • email
    • family_name
    • given_name
    • preferred_username
    • upn
  5. 변경 사항을 저장합니다.
Note

Mattermost Intune MAM 적용은 MSAL 액세스 토큰을 사용합니다. 필수 클레임이 누락되면 로그인 및/또는 등록이 실패할 수 있습니다.

MSAL v2 액세스 토큰 활성화#

  1. 앱 매니페스트를 엽니다.
  2. 토큰 버전을 2로 설정합니다.
    • 매니페스트에 api.requestedAccessTokenVersion이 표시되면 2로 설정합니다.
    • 그렇지 않으면 accessTokenAcceptedVersion을 2로 설정합니다.
  3. 변경 사항을 저장합니다.

3단계: Intune 앱 보호 정책 구성#

  1. Intune 관리 센터 > 앱 > 앱 보호 정책으로 이동합니다.
  2. 정책을 생성합니다.
    • 플랫폼: iOS/iPadOS
    • 대상 앱: 관리되는 앱
  3. 번들 ID로 Mattermost 앱을 추가합니다.
    • com.mattermost.rn(프로덕션)
    • com.mattermost.rnbeta(베타)
  4. 보호 설정을 구성합니다.
  5. Entra ID 사용자 그룹에 할당합니다.
  6. 변경 사항을 저장합니다.

프로덕션 앱과 베타 앱에는 각각 별도의 정책이 필요합니다.

4단계: Intune MAM에 대한 Mattermost 서버 구성#

  1. System Console > Environment > Mobile Security로 이동합니다.
  2. Microsoft Intune MAM 활성화를 True로 설정합니다.
  3. 인증 공급자를 선택합니다.
    • OpenID Connect(Entra 기반)
    • SAML 2.0(Entra 기반)
  4. 다음을 입력합니다.
    • 테넌트 ID
    • 애플리케이션(클라이언트) ID
  5. 변경 사항을 저장합니다.

적용된 공급자는 IdAttribute = objectId를 사용하여 신원을 확인해야 합니다.

5단계: Mattermost iOS 앱 배포#

다음을 사용하여 공식 Mattermost iOS 앱을 다운로드하고 설치하세요.

  • Apple App Store(프로덕션)
  • TestFlight(베타)

래핑되거나, 재서명되거나, 비공개로 배포된 앱은 지원되지 않습니다.

6단계: 등록 검증#

iOS에서 라이선스가 부여된 테스트 사용자로 검증하세요.

다음을 확인하세요.

  • 등록이 성공적으로 완료됨
  • 적용이 로그인 시 및 세션 중간에 적용됨
  • 신원 정렬이 올바름(objectId ↔ oid)

모바일 로그인 중 예상되는 동작#

  1. 사용자가 MSAL을 통해 로그인합니다.
  2. Mattermost가 액세스 토큰을 검증합니다.
  3. Intune MAM 등록이 트리거됩니다.
  4. 앱 보호 정책이 적용됩니다.

등록이 필요하지만 완료할 수 없는 경우, 등록이 성공할 때까지 액세스가 차단됩니다.

문제 해결#

대부분의 실패는 다음으로 인해 발생합니다.

  • 신원 불일치(objectId ↔ oid)
  • IdAttribute가 objectId로 설정되지 않음
  • Entra API 권한 또는 관리자 동의 누락
  • 앱 보호 정책이 사용자 또는 앱을 대상으로 하지 않음
  • 지원되지 않는 클라이언트 또는 플랫폼

빠른 진단#

  1. 신원 정렬을 확인합니다(objectId ↔ oid).
  2. IdAttribute = objectId를 확인합니다.
  3. Entra 권한 및 관리자 동의를 확인합니다.
  4. 인증 공급자 선택을 확인합니다.
  5. Intune 정책 대상 지정을 확인합니다.

사용자가 등록을 거부한 경우, 재시도가 허용됩니다.

Intune MAM 오류#

아래 오류는 모바일 로그인 중이나 Intune MAM 적용이 세션 중간에 트리거될 때 발생할 수 있습니다. 일부 오류는 Mattermost 모바일 앱에 표시되고, 다른 오류는 표시되지 않으며 Mattermost 서버 로그를 사용하여 진단해야 합니다.

Note

아래 표에서 폴백: Web SSO는 모바일 앱이 Intune MAM이 활성화되지 않은 것처럼 구성된 로그인 방법(SAML 또는 OpenID Connect)의 비 Intune 버전을 사용함을 의미합니다.

<tr>
  <td>
    <strong>Enrollment Failed</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>(다양함)</code></div>

      <div><span class="label">HTTP:</span> <code>(다양함)</code></div>

      <div><span class="label">시나리오:</span> 등록 실패(기술적)</div>

      <div><span class="label">사용자 메시지:</span> "Enrollment Failed"</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    기술적 오류로 인해 Intune MAM 등록이 실패했습니다.
  </td>
  <td>
    <span class="label">원인:</span> 기술적 실패(MSAL 오류, Intune 등록 API 실패, 신원 불일치 또는 Entra 권한 누락)로 인해 등록을 완료할 수 없습니다.<br/>
    <span class="label">동작:</span> 서버가 즉시 제거되며 재시도 옵션이 없습니다. 해당 서버에 대한 캐시된 데이터가 삭제됩니다.<br/>
    <span class="label">다음 단계:</span> 근본 원인을 해결한 다음, 사용자가 모바일 앱에서 서버를 다시 추가하도록 안내하세요.<br/>
    <span class="label">관리자 확인 사항:</span> <code>IdAttribute = objectId</code>를 확인하세요. 신원 정렬(<code>objectId ↔ oid</code>)을 확인하세요. 테넌트 전체 관리자 동의를 확인하세요. 앱 보호 정책이 사용자와 올바른 iOS 번들 ID를 대상으로 하는지 확인하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>Enrollment Declined</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>(다양함)</code></div>

      <div><span class="label">HTTP:</span> <code>(다양함)</code></div>

      <div><span class="label">시나리오:</span> 사용자가 등록을 거부함</div>

      <div><span class="label">사용자 메시지:</span> "Enrollment Declined"</div>

      <div><span class="label">재시도:</span> 가능</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    사용자가 Intune MAM 등록을 거부했습니다.
  </td>
  <td>
    <span class="label">원인:</span> 사용자가 등록 프롬프트를 취소했습니다.<br/>
    <span class="label">동작:</span> <strong>재시도</strong> 옵션이 표시됩니다. 이후 기술적 등록 실패가 발생하지 않는 한 서버 데이터는 제거되지 않습니다.<br/>
    <span class="label">다음 단계:</span> 준비가 되면 사용자에게 등록을 재시도하도록 안내하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>Consent Denied</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>(다양함)</code></div>

      <div><span class="label">HTTP:</span> <code>(다양함)</code></div>

      <div><span class="label">시나리오:</span> 관리자 동의 누락(최초 로그인)</div>

      <div><span class="label">사용자 메시지:</span> "You denied consent for Intune management. The affected accounts have been unenrolled and signed out."</div>

      <div><span class="label">재시도:</span> 가능(관리자 동의 이후)</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    필요한 Entra 앱 권한에 테넌트 전체 관리자 동의가 없어 등록을 완료할 수 없습니다.
  </td>
  <td>
    <span class="label">원인:</span> Mattermost 서버에 구성된 Entra 앱 등록의 필수 위임된 권한에 테넌트 전체 관리자 동의가 부여되지 않았습니다.<br/>
    <span class="label">동작:</span> 이 메시지는 사용자가 동의를 거부한 것처럼 보일 수 있지만, 근본 문제는 관리자 동의 누락입니다.<br/>
    <span class="label">다음 단계:</span> Microsoft Entra에서 Mattermost에 구성된 동일한 Entra 앱 등록에 대해 Microsoft Graph 위임된 권한 <code>email</code> 및 <code>profile</code>에 테넌트 전체 관리자 동의를 부여한 다음, 사용자가 모바일 로그인을 재시도하도록 안내하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>(표시 없음)</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>api.user.login_by_intune.not_available.app_error</code></div>

      <div><span class="label">HTTP:</span> 501</div>

      <div><span class="label">시나리오:</span> Enterprise 빌드 아님</div>

      <div><span class="label">사용자 메시지:</span> (표시 없음)</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 표준 SSO(비 Intune)</div>

    </div>

  </td>
  <td>
    이 서버에서는 Intune MAM 로그인을 사용할 수 없습니다.
  </td>
  <td>
    <span class="label">원인:</span> 서버가 Intune MAM을 지원하지 않습니다(이 빌드에서 사용할 수 없거나 배포에 대해 활성화되지 않음).<br/>
    <span class="label">다음 단계:</span> 서버 빌드에 Intune MAM 지원이 포함되어 있고 배포에 Enterprise Advanced 라이선스가 있는지 확인하세요.<br/>
    <span class="label">사용자 안내:</span> 서버가 업데이트되거나 구성이 수정되는 동안, 사용자가 웹/데스크톱에서 해당 공급자(SAML 또는 OpenID Connect)의 표준(비 Intune) SSO 흐름으로 로그인하도록 안내하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>(표시 없음)</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>api.user.login_by_intune.not_configured.app_error</code></div>

      <div><span class="label">HTTP:</span> 400</div>

      <div><span class="label">시나리오:</span> Intune이 구성되지 않음</div>

      <div><span class="label">사용자 메시지:</span> (표시 없음)</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 표준 SSO(비 Intune)</div>

    </div>

  </td>
  <td>
    조직에 Intune MAM이 활성화되어 있지만 서버에 구성되지 않았습니다.
  </td>
  <td>
    <span class="label">원인:</span> <strong>System Console &gt; Environment &gt; Mobile Security</strong>에서 Intune MAM이 완전히 구성되지 않았습니다.<br/>
    <span class="label">다음 단계:</span> Microsoft Intune MAM을 활성화하고 <strong>테넌트 ID</strong>, <strong>애플리케이션(클라이언트) ID</strong>, <strong>인증 공급자</strong>가 올바르게 설정되었는지 확인하세요.<br/>
    <span class="label">관리자 확인 사항:</span> 선택된 인증 공급자가 Entra 기반인지, 필요한 권한/관리자 동의가 Entra 앱 등록에 대해 부여되었는지 확인하세요.<br/>
    <span class="label">사용자 안내:</span> 서버가 업데이트되거나 구성이 수정되는 동안, 사용자가 웹/데스크톱에서 해당 공급자(SAML 또는 OpenID Connect)의 표준(비 Intune) SSO 흐름으로 로그인하도록 안내하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>Bot accounts cannot sign in using this method.</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>api.user.login_by_intune.bot_login_forbidden.app_error</code></div>

      <div><span class="label">HTTP:</span> 403</div>

      <div><span class="label">시나리오:</span> 봇이 로그인을 시도함</div>

      <div><span class="label">사용자 메시지:</span> "Bot accounts cannot sign in using this method."</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    이 계정은 Intune MAM 로그인을 사용할 수 없습니다.
  </td>
  <td>
    <span class="label">원인:</span> 봇 계정은 Intune MAM을 통해 인증할 수 없습니다.<br/>
    <span class="label">다음 단계:</span> Intune MAM 등록 및 액세스에는 사람 사용자 계정을 사용하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>Your account has been deactivated. Please contact your administrator.</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>api.user.login_by_intune.account_locked.app_error</code></div>

      <div><span class="label">HTTP:</span> 409</div>

      <div><span class="label">시나리오:</span> 사용자 삭제/비활성화됨</div>

      <div><span class="label">사용자 메시지:</span> "Your account has been deactivated. Please contact your administrator."</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    이 계정은 로그인이 허용되지 않습니다.
  </td>
  <td>
    <span class="label">원인:</span> Mattermost에서 사용자가 삭제, 비활성화 또는 잠긴 상태입니다.<br/>
    <span class="label">다음 단계:</span> Mattermost에서 사용자 계정을 다시 활성화하거나 복원한 다음, 로그인 및 등록을 재시도하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>(표시 없음)</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>ent.intune.login.not_configured.app_error</code></div>

      <div><span class="label">HTTP:</span> 403</div>

      <div><span class="label">시나리오:</span> IsConfigured() = false</div>

      <div><span class="label">사용자 메시지:</span> (표시 없음)</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 표준 SSO(비 Intune)</div>

    </div>

  </td>
  <td>
    현재 로그인 경로에 대해 Intune MAM이 구성되지 않았습니다.
  </td>
  <td>
    <span class="label">원인:</span> 요청된 인증 경로에 대해 Intune MAM이 구성되지 않았습니다(구성 미완료 또는 공급자 선택 불일치).<br/>
    <span class="label">다음 단계:</span> Intune MAM이 활성화 및 구성되어 있는지, 선택된 <strong>인증 공급자</strong>가 사용자의 실제 인증 방식(OIDC 대 SAML)과 일치하는지 확인하세요.<br/>
    <span class="label">사용자 안내:</span> 서버가 업데이트되거나 구성이 수정되는 동안, 사용자가 웹/데스크톱에서 해당 공급자(SAML 또는 OpenID Connect)의 표준(비 Intune) SSO 흐름으로 로그인하도록 안내하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>We couldn't complete your sign in. Please try again.</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>ent.intune.login.extract_auth_data.app_error</code></div>

      <div><span class="label">HTTP:</span> 400</div>

      <div><span class="label">시나리오:</span> IdAttribute 매핑 실패</div>

      <div><span class="label">사용자 메시지:</span> "We couldn't complete your sign in. Please try again."</div>

      <div><span class="label">재시도:</span> 가능(1회)</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    로그인 중 신원 매핑이 실패했습니다.
  </td>
  <td>
    <span class="label">원인:</span> 서버가 Intune MAM에 필요한 신원 속성을 추출하거나 매핑하지 못했습니다(일반적으로 <code>IdAttribute</code> 구성 오류 또는 토큰이 MSAL v2가 아님).<br/>
    <span class="label">다음 단계:</span> <code>IdAttribute = objectId</code>인지 확인한 다음 신원 정렬(<code>objectId ↔ oid</code>)을 확인하세요. Entra 앱이 v2 토큰(<code>accessTokenAcceptedVersion = 2</code>)을 발급하는지 검증하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>Your account isn't fully set up yet. Please sign in to Mattermost via the web or desktop app first.</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>ent.intune.login.account_not_found.app_error</code></div>

      <div><span class="label">HTTP:</span> 428</div>

      <div><span class="label">시나리오:</span> SAML 사용자 계정을 찾을 수 없음</div>

      <div><span class="label">사용자 메시지:</span> "Your account isn't fully set up yet. Please sign in to Mattermost via the web or desktop app first."</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    SAML 기반 로그인에서 사용자가 Mattermost에 존재하지 않습니다.
  </td>
  <td>
    <span class="label">원인:</span> SAML이 Intune MAM 적용을 위해 선택된 공급자인 경우, 모바일 로그인은 새 사용자를 생성할 수 없습니다.<br/>
    <span class="label">다음 단계:</span> 사용자가 웹 또는 데스크톱 앱을 통해 한 번 로그인하여 계정을 프로비저닝하도록 안내한 다음, 모바일 로그인을 재시도하세요.<br/>
    <span class="label">관리자 확인 사항:</span> 프로비저닝(웹/데스크톱 최초 로그인, LDAP 동기화 또는 기타 프로비저닝 방법)이 마련되어 있는지 확인하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>We couldn't verify your sign in. Please try again.</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>ent.intune.validate_token.invalid_token.app_error</code></div>

      <div><span class="label">HTTP:</span> 400</div>

      <div><span class="label">시나리오:</span> 토큰 검증 실패</div>

      <div><span class="label">사용자 메시지:</span> "We couldn't verify your sign in. Please try again."</div>

      <div><span class="label">재시도:</span> 가능(1회)</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    액세스 토큰을 검증할 수 없습니다.
  </td>
  <td>
    <span class="label">원인:</span> 토큰 검증이 실패했습니다(토큰 형식 오류, 잘못된 발급자/대상, 권한 누락 또는 Entra 구성 불일치).<br/>
    <span class="label">다음 단계:</span> 구성된 <strong>테넌트 ID</strong>와 <strong>애플리케이션(클라이언트) ID</strong>가 Mattermost 서버가 참조하는 Entra 앱 등록과 일치하는지 확인하세요. 동일한 앱 등록에서 Microsoft Graph 위임된 권한 <code>email</code> 및 <code>profile</code>에 테넌트 전체 관리자 동의가 부여되었는지 확인하세요. 그런 다음 영향을 받은 사용자의 신원 정렬(<code>objectId ↔ oid</code>)을 확인하세요.<br/>
    <span class="label">관리자 확인 사항:</span> v2 토큰(<code>accessTokenAcceptedVersion = 2</code>)과 Microsoft Graph 위임된 권한 <code>email</code> 및 <code>profile</code>에 테넌트 전체 관리자 동의가 있는지 확인하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>Your sign in session has expired. Please try signing in again.</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>ent.intune.validate_token.token_expired.app_error</code></div>

      <div><span class="label">HTTP:</span> 400</div>

      <div><span class="label">시나리오:</span> 토큰 만료됨</div>

      <div><span class="label">사용자 메시지:</span> "Your sign in session has expired. Please try signing in again."</div>

      <div><span class="label">재시도:</span> 가능(1회)</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    등록이 완료되기 전에 인증 세션이 만료되었습니다.
  </td>
  <td>
    <span class="label">원인:</span> 로그인/등록 중 액세스 토큰 또는 대화형 세션이 만료되었습니다.<br/>
    <span class="label">다음 단계:</span> 사용자가 다시 로그인하여 신속하게 등록을 완료하도록 안내하세요.<br/>
    <span class="label">관리자 확인 사항:</span> 반복적으로 발생하면 등록 중 기기가 Entra/Intune 엔드포인트에 접근할 수 있는지, 프롬프트가 차단되지 않는지 확인하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>We couldn't complete your sign in. Please contact your IT administrator.</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>ent.intune.validate_token.missing_claims.app_error</code></div>

      <div><span class="label">HTTP:</span> 400</div>

      <div><span class="label">시나리오:</span> 필수 클레임 누락</div>

      <div><span class="label">사용자 메시지:</span> "We couldn't complete your sign in. Please contact your IT administrator."</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    액세스 토큰에 로그인 및 등록에 필요한 클레임이 누락되었습니다.
  </td>
  <td>
    <span class="label">원인:</span> MSAL 액세스 토큰에 필수 클레임이 누락되었습니다(가장 흔하게는 <code>oid</code> 또는 Mattermost가 요구하는 선택적 클레임).<br/>
    <span class="label">다음 단계:</span> MSAL v2 액세스 토큰이 발급되고(<code>accessTokenAcceptedVersion = 2</code>) 토큰에 <code>oid</code>가 포함되어 있는지 확인하세요. Entra 앱 등록에서 <strong>토큰 구성</strong>으로 이동하여 <strong>액세스</strong> 토큰에 대해 선택적 클레임 <code>email</code>, <code>family_name</code>, <code>given_name</code>, <code>preferred_username</code>, <code>upn</code>이 추가되었는지 확인하세요. 적용된 공급자가 <code>IdAttribute = objectId</code>를 사용하는지 확인한 다음 신원 정렬(<code>objectId ↔ oid</code>)을 검증하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>There was a configuration issue. Please contact your IT administrator.</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>ent.intune.validate_token.invalid_tenant_id.app_error</code></div>

      <div><span class="label">HTTP:</span> 400</div>

      <div><span class="label">시나리오:</span> 토큰 테넌트 ≠ 구성된 테넌트</div>

      <div><span class="label">사용자 메시지:</span> "There was a configuration issue. Please contact your IT administrator."</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    토큰 테넌트가 구성된 테넌트와 일치하지 않습니다.
  </td>
  <td>
    <span class="label">원인:</span> 토큰이 Mattermost에 구성된 테넌트와 다른 테넌트에서 발급되었습니다.<br/>
    <span class="label">다음 단계:</span> <strong>System Console &gt; Environment &gt; Mobile Security</strong>에 구성된 <strong>테넌트 ID</strong>가 사용자에 대해 MSAL 토큰을 발급하는 Entra 테넌트와 일치하는지 확인하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>AADSTS650057</strong><br/>
    <span class="meta">(invalid_resource)</span>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>(AADSTS650057)</code></div>

      <div><span class="label">HTTP:</span> <code>(다양함)</code></div>

      <div><span class="label">시나리오:</span> invalid_resource</div>

      <div><span class="label">사용자 메시지:</span> (MSAL/Entra 오류)</div>

      <div><span class="label">재시도:</span> 불가(수정될 때까지)</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    Entra 앱 구성에 필요한 권한 및/또는 관리자 동의가 누락되었습니다.
  </td>
  <td>
    <span class="label">원인:</span> 필요한 Intune MAM API 권한이 누락되었거나 테넌트 전체 관리자 동의가 없습니다.<br/>
    <span class="label">다음 단계:</span> Microsoft Entra 관리 센터에서 (앱 등록이 아닌) <strong>엔터프라이즈 애플리케이션</strong>으로 이동하여 <strong>Mattermost Mobile</strong> / <strong>Mattermost Mobile Beta</strong>를 검색한 다음 <strong>권한</strong>을 열어 Intune MAM 권한(예: <code>https://msmamservice.api.application/.default</code> 및 <strong>Microsoft Mobile Application Management</strong> → <code>user_impersonation</code>(위임됨))에 대해 관리자 동의를 추가/부여하세요. 그런 다음 사용자가 로그인을 재시도하도록 안내하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>NotLicensed</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>(NotLicensed)</code></div>

      <div><span class="label">HTTP:</span> <code>(다양함)</code></div>

      <div><span class="label">시나리오:</span> 라이선스 누락 또는 비활성</div>

      <div><span class="label">사용자 메시지:</span> (다양함)</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    서버가 Intune MAM 적용에 대해 라이선스가 부여되지 않았습니다.
  </td>
  <td>
    <span class="label">원인:</span> 서버에 Enterprise Advanced 라이선스가 누락되었거나 적용되지 않았습니다.<br/>
    <span class="label">다음 단계:</span> 서버에 Enterprise Advanced 라이선스를 적용하고 라이선스가 활성 상태인지 확인한 다음 재시도하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>HTTP 403 Forbidden</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>(HTTP 403)</code></div>

      <div><span class="label">HTTP:</span> 403</div>

      <div><span class="label">시나리오:</span> 서버 측 접근 차단</div>

      <div><span class="label">사용자 메시지:</span> (다양함)</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    게이팅 조건으로 인해 서버 측 접근이 차단되었습니다.
  </td>
  <td>
    <span class="label">원인:</span> 서버 게이팅 조건이 등록을 방지하고 있습니다(Intune 서비스 장애가 아님).<br/>
    <span class="label">다음 단계:</span> Enterprise Advanced 라이선스, Intune MAM 활성화 여부, <strong>인증 공급자</strong> 선택이 사용자의 실제 인증 방식과 일치하는지, 구성된 <strong>테넌트 ID</strong>와 <strong>애플리케이션(클라이언트) ID</strong>가 올바른지, 테넌트 전체 관리자 동의가 부여되었는지 확인하세요. 그런 다음 신원 정렬(<code>objectId ↔ oid</code>)과 올바른 iOS 번들 ID에 대한 Intune 앱 보호 정책 대상 지정을 확인하세요.
  </td>
</tr>
오류 의미 관리자 원인 & 다음 단계

최초 로그인 시 동의#

사용자의 최초 모바일 로그인이 동의 거부됨으로 실패하거나 다음 메시지가 표시되는 경우:

You denied consent for Intune management. The affected accounts have been unenrolled and signed out.

이는 Mattermost 서버가 참조하는 Entra 앱 등록에 대한 테넌트 전체 관리자 동의가 누락된 것으로 처리하세요. 해결 방법은 위 Intune MAM 오류 표의 Consent Denied 항목을 참조하세요.

이를 해결하려면:

  1. Microsoft Entra 관리 센터에서 엔터프라이즈 애플리케이션으로 이동합니다.
  2. Mattermost Mobile 또는 Mattermost Mobile Beta를 검색합니다.
  3. 권한으로 이동하여 Intune MAM 권한(예: https://msmamservice.api.application/.default 및 Microsoft Mobile Application Management → user_impersonation(위임됨))에 대해 테넌트 전체 관리자 동의를 추가/부여합니다.
  4. 사용자가 모바일 로그인을 재시도하도록 안내합니다.

롤아웃 및 복구 안내#

  • 먼저 소규모 그룹으로 파일럿을 진행하세요.
  • 전체 롤아웃 전에 신원 정렬을 검증하세요.
  • 요구 사항이 변경되면 세션 중간에 적용이 발생할 수 있음을 예상하세요.

Microsoft Intune MAM(모바일 애플리케이션 관리) 구성

Mattermost v12.0
원문 보기

요약

iOS에서 Mattermost 모바일 앱이 Microsoft Intune 앱 보호 정책(MAM)을 적용하도록 구성하여 기기 등록(MDM) 없이도 BYOD(개인 기기 업무 활용) 및 혼용 기기에서 조직 데이터를 보호할 수 있습니다.

사용 가능 플랜: Entry, Enterprise Advanced

iOS에서 Mattermost 모바일 앱이 Microsoft Intune 앱 보호 정책(MAM)을 적용하도록 구성하여 기기 등록(MDM) 없이도 BYOD(개인 기기 업무 활용) 및 혼용 기기에서 조직 데이터를 보호할 수 있습니다.

이 가이드는 iOS에서 Intune MAM을 성공적으로 활성화하는 데 필요한 구성을 설명합니다.

먼저 읽어보세요#

Mattermost의 Intune MAM 적용은 ID 기반이며 System Console > Environment > Mobile Security에서 적용된 인증 공급자로 선택된 로그인 방법에만 적용됩니다.

  • 적용된 인증 공급자는 Azure AD objectId(IdAttribute = objectId)를 사용하여 사용자를 확인해야 합니다.
  • MSAL 액세스 토큰에는 oid 클레임이 포함되어야 하며, 동일한 Azure AD objectId와 일치해야 합니다(신원 정렬 확인: objectId ↔ oid).
Important

Intune MAM 등록이 기술적 오류로 인해 실패하면, 영향을 받은 Mattermost 서버는 모바일 앱에서 제거되고 해당 서버에 대한 캐시된 데이터는 기기에서 삭제됩니다.

지원되지 않는 시나리오#

이 가이드는 다음 경우에는 적용되지 않습니다.

  • Android 기기에서 Intune MAM이 필요한 경우.
  • Microsoft Entra ID가 지원하지 않는 로그인 방법에 대해 Intune MAM 적용을 원하는 경우.
  • 적용된 인증 공급자가 사용자를 Azure AD objectId로 확인할 수 없는 경우.
  • 사용자가 적용된 로그인 방법에 대해 Intune MAM을 우회하거나 연기할 수 있는 롤아웃 모델이 필요한 경우.

게스트 액세스와 같은 다른 인증 방법은 별도로 활성화할 수 있지만, Intune MAM에 의해 평가되지 않습니다.

전제 조건#

계속하기 전에 다음을 확인하세요.

  • Microsoft Entra ID가 인증에 사용되고 있습니다.
  • Azure AD objectId를 권한 있는 신원으로 사용하기로 결정할 수 있습니다.
  • 서버에 Mattermost Enterprise Advanced 라이선스를 사용할 수 있습니다.
  • 대상 사용자가 Microsoft Intune에 라이선스가 부여되어 있습니다.
  • Microsoft Entra에서 애플리케이션을 등록하고 테넌트 전체 관리자 동의를 부여할 수 있습니다.
  • SAML에서 Intune MAM을 적용하는 경우, 사용자가 이미 Mattermost에 존재해야 합니다(모바일 로그인은 SAML에 대해 사용자를 생성하지 않습니다).
Note

이 가이드에서 OpenID Connect(OIDC)는 MSAL을 통해 Mattermost 모바일 앱에서 사용하는 Microsoft Entra 로그인 방법을 의미합니다.

구성 개요#

Intune MAM 적용을 성공적으로 수행하려면 다음 항목 전반에 걸쳐 조율된 구성이 필요합니다.

  • Microsoft Entra ID – 앱 등록, 범위, API 권한, 관리자 동의
  • Microsoft Intune – iOS 앱 보호 정책
  • Mattermost 서버 – MAM 활성화 및 공급자 선택
  • Mattermost 모바일 앱(iOS) – 등록 및 적용

아래 단계를 순서대로 완료하세요.

설정 요약#

  1. 신원 요구 사항 및 정렬을 확인합니다(objectId ↔ oid).
  2. Microsoft Entra를 구성합니다(서버에서 참조하는 애플리케이션).
  3. Intune 앱 보호 정책을 구성합니다.
  4. Mattermost에서 Intune MAM을 활성화하고 적용할 공급자를 선택합니다.
  5. 공식 Mattermost iOS 앱을 배포합니다.
  6. 등록 및 적용을 검증합니다.

나중에 필요한 값#

설정 중에 다음 값을 확보하세요.

값 확인 위치 사용 위치
디렉터리(테넌트) ID Entra 앱 등록 개요 Mattermost 시스템 콘솔
애플리케이션(클라이언트) ID Entra 앱 등록 개요 Mattermost 시스템 콘솔
애플리케이션 ID URI Entra 앱 > API 노출 승인된 클라이언트 애플리케이션에서 api://<APPLICATION-ID>/login.mattermost 범위 참조를 구성하는 데 사용
login.mattermost 범위 Entra 앱 > API 노출 승인된 클라이언트 애플리케이션
모바일 클라이언트 애플리케이션 ID Mattermost에서 제공 Entra 앱 > 승인된 클라이언트 애플리케이션
iOS 번들 ID(프로덕션/베타) 이 가이드 Intune 앱 보호 정책

1단계: Intune MAM에 대한 신원 구성#

이 단계에서는 Intune MAM 적용을 위해 선택된 인증 공급자에 필요한 신원 모델을 정의합니다.

필수 신원 모델#

Mattermost용 Microsoft Intune MAM은 Azure AD objectId를 권한 있는 사용자 식별자로 요구합니다. 다음은 협상 불가능한 사항입니다.

  • 적용된 공급자에 대해 IdAttribute는 반드시 objectId와 같아야 합니다.
  • MSAL 액세스 토큰에는 oid 클레임이 포함되어야 합니다.
  • Intune MAM을 활성화하기 전에 신원 정렬(objectId ↔ oid)을 확인하세요.

신원 정렬 확인(objectId ↔ oid)#

동일한 사용자에 대해 다음 값이 일치해야 합니다.

  • Azure AD objectId
  • MSAL 액세스 토큰 oid 클레임
  • SAML objectidentifier(해당하는 경우)
  • LDAP msDS-aadObjectId(해당하는 경우)

불일치가 있으면 등록이 진행되지 않습니다.

인증 방법별 신원 적용#

OIDC(MSAL을 통한 모바일 로그인)

  • Mattermost는 신원 확인 및 등록에 MSAL 액세스 토큰을 사용합니다.
  • 신원 정렬을 확인하세요(objectId ↔ oid).

SAML(Entra 기반)

  • SamlSettings.IdAttribute는 반드시 objectidentifier에 매핑되어야 합니다.
  • 이메일, UPN, immutableID는 지원되지 않습니다.
  • 모바일 로그인 전에 사용자가 이미 Mattermost에 존재해야 합니다.

LDAP(Entra ID Domain Services)

  • msDS-aadObjectId를 사용하세요.
  • objectGUID는 사용하지 마세요.

런타임 적용 동작#

Intune MAM이 공급자에 대해 활성화되면:

  • 적용은 활성 세션 중에도 발생하며, 로그인 시에만 국한되지 않습니다.
  • 정책, 라이선스 또는 구성 변경으로 인해 Intune MAM이 새로 필요해지면 즉시 등록이 트리거될 수 있습니다.
  • 사용자는 적용된 공급자에 대한 적용을 우회할 수 없습니다.

사전 점검 체크리스트#

  • 라이선스가 부여된 Intune 테스트 사용자 확보
  • 테넌트 전체 관리자 동의를 부여할 수 있는 권한
  • 적용할 공급자 확인(OIDC 또는 SAML)
  • IdAttribute = objectId 구성 완료
  • 신원 정렬 확인(objectId ↔ oid)
  • 공식 Mattermost iOS 앱 배포 완료
  • 대상 번들 ID 확인: com.mattermost.rn(프로덕션), com.mattermost.rnbeta(베타)

2단계: Intune MAM에 대한 Microsoft Entra 구성#

Mattermost 서버가 참조하는 단일 테넌트 Microsoft Entra 애플리케이션을 등록합니다. 이 애플리케이션은 MSAL 액세스 토큰을 검증하고 Intune MAM 등록을 지원합니다.

Mattermost 모바일 앱 자체를 등록하지는 않습니다. 리디렉션 URI 구성은 필요하지 않습니다.

Entra 애플리케이션 등록#

  1. ID > 애플리케이션 > 앱 등록으로 이동합니다.
  2. 새 등록을 선택합니다.
  3. 구성:
    • 이름: Mattermost Mobile (Intune MAM)
    • 지원되는 계정 유형: 단일 테넌트
  4. 앱을 등록합니다.
  5. 다음을 복사합니다.
    • 애플리케이션(클라이언트) ID
    • 디렉터리(테넌트) ID

API 노출 및 범위 생성#

  1. API 노출로 이동합니다.
  2. 애플리케이션 ID URI가 설정되어 있는지 확인합니다(예: api://).
  3. login.mattermost라는 이름의 범위를 추가합니다.
  4. 변경 사항을 저장합니다.

공식 모바일 클라이언트 승인#

Mattermost에서 제공하는 공식 Mattermost Mobile 클라이언트 애플리케이션 ID가 login.mattermost 범위를 요청하도록 승인합니다.

  1. Entra 앱 등록에서 API 노출로 이동합니다.
  2. 승인된 클라이언트 애플리케이션에서 클라이언트 애플리케이션 추가를 선택합니다.
  3. Mattermost에서 제공하는 공식 Mattermost Mobile 클라이언트 애플리케이션 ID를 다음과 같이 추가합니다.
  • 베타: 64e9952b-20eb-46dc-92ad-99089ed24903
  • 프로덕션: 9ac649f1-4f77-44d6-9792-b2f54ab3c9a7
  1. api:///login.mattermost 범위를 승인합니다.
  2. 변경 사항을 저장합니다.

API 권한 및 관리자 동의#

이는 Mattermost 서버가 참조하는 Entra 애플리케이션에 대해 고객 관리자가 부여해야 하는 권한입니다.

이러한 권한이 누락되었거나 테넌트 전체 관리자 동의가 부족한 경우, 등록이 Entra 권한/관리자 동의 오류(예: AADSTS650057)로 실패하거나 최초 로그인 시 사용자에게 표시되는 동의 거부됨 메시지가 나타날 수 있습니다.

MSAL 토큰 및 필수 클레임 구성#

Intune MAM을 활성화하기 전에, Entra 앱 등록이 모바일 로그인 중 Mattermost가 요구하는 클레임을 포함한 액세스 토큰을 발급하는지 확인하세요.

  1. Entra 앱 등록에서 토큰 구성으로 이동합니다.
  2. 선택적 클레임 추가를 선택합니다.
  3. 토큰 유형에서 액세스를 선택합니다.
  4. 다음 선택적 클레임을 추가합니다.
    • email
    • family_name
    • given_name
    • preferred_username
    • upn
  5. 변경 사항을 저장합니다.
Note

Mattermost Intune MAM 적용은 MSAL 액세스 토큰을 사용합니다. 필수 클레임이 누락되면 로그인 및/또는 등록이 실패할 수 있습니다.

MSAL v2 액세스 토큰 활성화#

  1. 앱 매니페스트를 엽니다.
  2. 토큰 버전을 2로 설정합니다.
    • 매니페스트에 api.requestedAccessTokenVersion이 표시되면 2로 설정합니다.
    • 그렇지 않으면 accessTokenAcceptedVersion을 2로 설정합니다.
  3. 변경 사항을 저장합니다.

3단계: Intune 앱 보호 정책 구성#

  1. Intune 관리 센터 > 앱 > 앱 보호 정책으로 이동합니다.
  2. 정책을 생성합니다.
    • 플랫폼: iOS/iPadOS
    • 대상 앱: 관리되는 앱
  3. 번들 ID로 Mattermost 앱을 추가합니다.
    • com.mattermost.rn(프로덕션)
    • com.mattermost.rnbeta(베타)
  4. 보호 설정을 구성합니다.
  5. Entra ID 사용자 그룹에 할당합니다.
  6. 변경 사항을 저장합니다.

프로덕션 앱과 베타 앱에는 각각 별도의 정책이 필요합니다.

4단계: Intune MAM에 대한 Mattermost 서버 구성#

  1. System Console > Environment > Mobile Security로 이동합니다.
  2. Microsoft Intune MAM 활성화를 True로 설정합니다.
  3. 인증 공급자를 선택합니다.
    • OpenID Connect(Entra 기반)
    • SAML 2.0(Entra 기반)
  4. 다음을 입력합니다.
    • 테넌트 ID
    • 애플리케이션(클라이언트) ID
  5. 변경 사항을 저장합니다.

적용된 공급자는 IdAttribute = objectId를 사용하여 신원을 확인해야 합니다.

5단계: Mattermost iOS 앱 배포#

다음을 사용하여 공식 Mattermost iOS 앱을 다운로드하고 설치하세요.

  • Apple App Store(프로덕션)
  • TestFlight(베타)

래핑되거나, 재서명되거나, 비공개로 배포된 앱은 지원되지 않습니다.

6단계: 등록 검증#

iOS에서 라이선스가 부여된 테스트 사용자로 검증하세요.

다음을 확인하세요.

  • 등록이 성공적으로 완료됨
  • 적용이 로그인 시 및 세션 중간에 적용됨
  • 신원 정렬이 올바름(objectId ↔ oid)

모바일 로그인 중 예상되는 동작#

  1. 사용자가 MSAL을 통해 로그인합니다.
  2. Mattermost가 액세스 토큰을 검증합니다.
  3. Intune MAM 등록이 트리거됩니다.
  4. 앱 보호 정책이 적용됩니다.

등록이 필요하지만 완료할 수 없는 경우, 등록이 성공할 때까지 액세스가 차단됩니다.

문제 해결#

대부분의 실패는 다음으로 인해 발생합니다.

  • 신원 불일치(objectId ↔ oid)
  • IdAttribute가 objectId로 설정되지 않음
  • Entra API 권한 또는 관리자 동의 누락
  • 앱 보호 정책이 사용자 또는 앱을 대상으로 하지 않음
  • 지원되지 않는 클라이언트 또는 플랫폼

빠른 진단#

  1. 신원 정렬을 확인합니다(objectId ↔ oid).
  2. IdAttribute = objectId를 확인합니다.
  3. Entra 권한 및 관리자 동의를 확인합니다.
  4. 인증 공급자 선택을 확인합니다.
  5. Intune 정책 대상 지정을 확인합니다.

사용자가 등록을 거부한 경우, 재시도가 허용됩니다.

Intune MAM 오류#

아래 오류는 모바일 로그인 중이나 Intune MAM 적용이 세션 중간에 트리거될 때 발생할 수 있습니다. 일부 오류는 Mattermost 모바일 앱에 표시되고, 다른 오류는 표시되지 않으며 Mattermost 서버 로그를 사용하여 진단해야 합니다.

Note

아래 표에서 폴백: Web SSO는 모바일 앱이 Intune MAM이 활성화되지 않은 것처럼 구성된 로그인 방법(SAML 또는 OpenID Connect)의 비 Intune 버전을 사용함을 의미합니다.

<tr>
  <td>
    <strong>Enrollment Failed</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>(다양함)</code></div>

      <div><span class="label">HTTP:</span> <code>(다양함)</code></div>

      <div><span class="label">시나리오:</span> 등록 실패(기술적)</div>

      <div><span class="label">사용자 메시지:</span> "Enrollment Failed"</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    기술적 오류로 인해 Intune MAM 등록이 실패했습니다.
  </td>
  <td>
    <span class="label">원인:</span> 기술적 실패(MSAL 오류, Intune 등록 API 실패, 신원 불일치 또는 Entra 권한 누락)로 인해 등록을 완료할 수 없습니다.<br/>
    <span class="label">동작:</span> 서버가 즉시 제거되며 재시도 옵션이 없습니다. 해당 서버에 대한 캐시된 데이터가 삭제됩니다.<br/>
    <span class="label">다음 단계:</span> 근본 원인을 해결한 다음, 사용자가 모바일 앱에서 서버를 다시 추가하도록 안내하세요.<br/>
    <span class="label">관리자 확인 사항:</span> <code>IdAttribute = objectId</code>를 확인하세요. 신원 정렬(<code>objectId ↔ oid</code>)을 확인하세요. 테넌트 전체 관리자 동의를 확인하세요. 앱 보호 정책이 사용자와 올바른 iOS 번들 ID를 대상으로 하는지 확인하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>Enrollment Declined</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>(다양함)</code></div>

      <div><span class="label">HTTP:</span> <code>(다양함)</code></div>

      <div><span class="label">시나리오:</span> 사용자가 등록을 거부함</div>

      <div><span class="label">사용자 메시지:</span> "Enrollment Declined"</div>

      <div><span class="label">재시도:</span> 가능</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    사용자가 Intune MAM 등록을 거부했습니다.
  </td>
  <td>
    <span class="label">원인:</span> 사용자가 등록 프롬프트를 취소했습니다.<br/>
    <span class="label">동작:</span> <strong>재시도</strong> 옵션이 표시됩니다. 이후 기술적 등록 실패가 발생하지 않는 한 서버 데이터는 제거되지 않습니다.<br/>
    <span class="label">다음 단계:</span> 준비가 되면 사용자에게 등록을 재시도하도록 안내하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>Consent Denied</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>(다양함)</code></div>

      <div><span class="label">HTTP:</span> <code>(다양함)</code></div>

      <div><span class="label">시나리오:</span> 관리자 동의 누락(최초 로그인)</div>

      <div><span class="label">사용자 메시지:</span> "You denied consent for Intune management. The affected accounts have been unenrolled and signed out."</div>

      <div><span class="label">재시도:</span> 가능(관리자 동의 이후)</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    필요한 Entra 앱 권한에 테넌트 전체 관리자 동의가 없어 등록을 완료할 수 없습니다.
  </td>
  <td>
    <span class="label">원인:</span> Mattermost 서버에 구성된 Entra 앱 등록의 필수 위임된 권한에 테넌트 전체 관리자 동의가 부여되지 않았습니다.<br/>
    <span class="label">동작:</span> 이 메시지는 사용자가 동의를 거부한 것처럼 보일 수 있지만, 근본 문제는 관리자 동의 누락입니다.<br/>
    <span class="label">다음 단계:</span> Microsoft Entra에서 Mattermost에 구성된 동일한 Entra 앱 등록에 대해 Microsoft Graph 위임된 권한 <code>email</code> 및 <code>profile</code>에 테넌트 전체 관리자 동의를 부여한 다음, 사용자가 모바일 로그인을 재시도하도록 안내하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>(표시 없음)</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>api.user.login_by_intune.not_available.app_error</code></div>

      <div><span class="label">HTTP:</span> 501</div>

      <div><span class="label">시나리오:</span> Enterprise 빌드 아님</div>

      <div><span class="label">사용자 메시지:</span> (표시 없음)</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 표준 SSO(비 Intune)</div>

    </div>

  </td>
  <td>
    이 서버에서는 Intune MAM 로그인을 사용할 수 없습니다.
  </td>
  <td>
    <span class="label">원인:</span> 서버가 Intune MAM을 지원하지 않습니다(이 빌드에서 사용할 수 없거나 배포에 대해 활성화되지 않음).<br/>
    <span class="label">다음 단계:</span> 서버 빌드에 Intune MAM 지원이 포함되어 있고 배포에 Enterprise Advanced 라이선스가 있는지 확인하세요.<br/>
    <span class="label">사용자 안내:</span> 서버가 업데이트되거나 구성이 수정되는 동안, 사용자가 웹/데스크톱에서 해당 공급자(SAML 또는 OpenID Connect)의 표준(비 Intune) SSO 흐름으로 로그인하도록 안내하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>(표시 없음)</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>api.user.login_by_intune.not_configured.app_error</code></div>

      <div><span class="label">HTTP:</span> 400</div>

      <div><span class="label">시나리오:</span> Intune이 구성되지 않음</div>

      <div><span class="label">사용자 메시지:</span> (표시 없음)</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 표준 SSO(비 Intune)</div>

    </div>

  </td>
  <td>
    조직에 Intune MAM이 활성화되어 있지만 서버에 구성되지 않았습니다.
  </td>
  <td>
    <span class="label">원인:</span> <strong>System Console &gt; Environment &gt; Mobile Security</strong>에서 Intune MAM이 완전히 구성되지 않았습니다.<br/>
    <span class="label">다음 단계:</span> Microsoft Intune MAM을 활성화하고 <strong>테넌트 ID</strong>, <strong>애플리케이션(클라이언트) ID</strong>, <strong>인증 공급자</strong>가 올바르게 설정되었는지 확인하세요.<br/>
    <span class="label">관리자 확인 사항:</span> 선택된 인증 공급자가 Entra 기반인지, 필요한 권한/관리자 동의가 Entra 앱 등록에 대해 부여되었는지 확인하세요.<br/>
    <span class="label">사용자 안내:</span> 서버가 업데이트되거나 구성이 수정되는 동안, 사용자가 웹/데스크톱에서 해당 공급자(SAML 또는 OpenID Connect)의 표준(비 Intune) SSO 흐름으로 로그인하도록 안내하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>Bot accounts cannot sign in using this method.</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>api.user.login_by_intune.bot_login_forbidden.app_error</code></div>

      <div><span class="label">HTTP:</span> 403</div>

      <div><span class="label">시나리오:</span> 봇이 로그인을 시도함</div>

      <div><span class="label">사용자 메시지:</span> "Bot accounts cannot sign in using this method."</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    이 계정은 Intune MAM 로그인을 사용할 수 없습니다.
  </td>
  <td>
    <span class="label">원인:</span> 봇 계정은 Intune MAM을 통해 인증할 수 없습니다.<br/>
    <span class="label">다음 단계:</span> Intune MAM 등록 및 액세스에는 사람 사용자 계정을 사용하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>Your account has been deactivated. Please contact your administrator.</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>api.user.login_by_intune.account_locked.app_error</code></div>

      <div><span class="label">HTTP:</span> 409</div>

      <div><span class="label">시나리오:</span> 사용자 삭제/비활성화됨</div>

      <div><span class="label">사용자 메시지:</span> "Your account has been deactivated. Please contact your administrator."</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    이 계정은 로그인이 허용되지 않습니다.
  </td>
  <td>
    <span class="label">원인:</span> Mattermost에서 사용자가 삭제, 비활성화 또는 잠긴 상태입니다.<br/>
    <span class="label">다음 단계:</span> Mattermost에서 사용자 계정을 다시 활성화하거나 복원한 다음, 로그인 및 등록을 재시도하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>(표시 없음)</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>ent.intune.login.not_configured.app_error</code></div>

      <div><span class="label">HTTP:</span> 403</div>

      <div><span class="label">시나리오:</span> IsConfigured() = false</div>

      <div><span class="label">사용자 메시지:</span> (표시 없음)</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 표준 SSO(비 Intune)</div>

    </div>

  </td>
  <td>
    현재 로그인 경로에 대해 Intune MAM이 구성되지 않았습니다.
  </td>
  <td>
    <span class="label">원인:</span> 요청된 인증 경로에 대해 Intune MAM이 구성되지 않았습니다(구성 미완료 또는 공급자 선택 불일치).<br/>
    <span class="label">다음 단계:</span> Intune MAM이 활성화 및 구성되어 있는지, 선택된 <strong>인증 공급자</strong>가 사용자의 실제 인증 방식(OIDC 대 SAML)과 일치하는지 확인하세요.<br/>
    <span class="label">사용자 안내:</span> 서버가 업데이트되거나 구성이 수정되는 동안, 사용자가 웹/데스크톱에서 해당 공급자(SAML 또는 OpenID Connect)의 표준(비 Intune) SSO 흐름으로 로그인하도록 안내하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>We couldn't complete your sign in. Please try again.</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>ent.intune.login.extract_auth_data.app_error</code></div>

      <div><span class="label">HTTP:</span> 400</div>

      <div><span class="label">시나리오:</span> IdAttribute 매핑 실패</div>

      <div><span class="label">사용자 메시지:</span> "We couldn't complete your sign in. Please try again."</div>

      <div><span class="label">재시도:</span> 가능(1회)</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    로그인 중 신원 매핑이 실패했습니다.
  </td>
  <td>
    <span class="label">원인:</span> 서버가 Intune MAM에 필요한 신원 속성을 추출하거나 매핑하지 못했습니다(일반적으로 <code>IdAttribute</code> 구성 오류 또는 토큰이 MSAL v2가 아님).<br/>
    <span class="label">다음 단계:</span> <code>IdAttribute = objectId</code>인지 확인한 다음 신원 정렬(<code>objectId ↔ oid</code>)을 확인하세요. Entra 앱이 v2 토큰(<code>accessTokenAcceptedVersion = 2</code>)을 발급하는지 검증하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>Your account isn't fully set up yet. Please sign in to Mattermost via the web or desktop app first.</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>ent.intune.login.account_not_found.app_error</code></div>

      <div><span class="label">HTTP:</span> 428</div>

      <div><span class="label">시나리오:</span> SAML 사용자 계정을 찾을 수 없음</div>

      <div><span class="label">사용자 메시지:</span> "Your account isn't fully set up yet. Please sign in to Mattermost via the web or desktop app first."</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    SAML 기반 로그인에서 사용자가 Mattermost에 존재하지 않습니다.
  </td>
  <td>
    <span class="label">원인:</span> SAML이 Intune MAM 적용을 위해 선택된 공급자인 경우, 모바일 로그인은 새 사용자를 생성할 수 없습니다.<br/>
    <span class="label">다음 단계:</span> 사용자가 웹 또는 데스크톱 앱을 통해 한 번 로그인하여 계정을 프로비저닝하도록 안내한 다음, 모바일 로그인을 재시도하세요.<br/>
    <span class="label">관리자 확인 사항:</span> 프로비저닝(웹/데스크톱 최초 로그인, LDAP 동기화 또는 기타 프로비저닝 방법)이 마련되어 있는지 확인하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>We couldn't verify your sign in. Please try again.</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>ent.intune.validate_token.invalid_token.app_error</code></div>

      <div><span class="label">HTTP:</span> 400</div>

      <div><span class="label">시나리오:</span> 토큰 검증 실패</div>

      <div><span class="label">사용자 메시지:</span> "We couldn't verify your sign in. Please try again."</div>

      <div><span class="label">재시도:</span> 가능(1회)</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    액세스 토큰을 검증할 수 없습니다.
  </td>
  <td>
    <span class="label">원인:</span> 토큰 검증이 실패했습니다(토큰 형식 오류, 잘못된 발급자/대상, 권한 누락 또는 Entra 구성 불일치).<br/>
    <span class="label">다음 단계:</span> 구성된 <strong>테넌트 ID</strong>와 <strong>애플리케이션(클라이언트) ID</strong>가 Mattermost 서버가 참조하는 Entra 앱 등록과 일치하는지 확인하세요. 동일한 앱 등록에서 Microsoft Graph 위임된 권한 <code>email</code> 및 <code>profile</code>에 테넌트 전체 관리자 동의가 부여되었는지 확인하세요. 그런 다음 영향을 받은 사용자의 신원 정렬(<code>objectId ↔ oid</code>)을 확인하세요.<br/>
    <span class="label">관리자 확인 사항:</span> v2 토큰(<code>accessTokenAcceptedVersion = 2</code>)과 Microsoft Graph 위임된 권한 <code>email</code> 및 <code>profile</code>에 테넌트 전체 관리자 동의가 있는지 확인하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>Your sign in session has expired. Please try signing in again.</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>ent.intune.validate_token.token_expired.app_error</code></div>

      <div><span class="label">HTTP:</span> 400</div>

      <div><span class="label">시나리오:</span> 토큰 만료됨</div>

      <div><span class="label">사용자 메시지:</span> "Your sign in session has expired. Please try signing in again."</div>

      <div><span class="label">재시도:</span> 가능(1회)</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    등록이 완료되기 전에 인증 세션이 만료되었습니다.
  </td>
  <td>
    <span class="label">원인:</span> 로그인/등록 중 액세스 토큰 또는 대화형 세션이 만료되었습니다.<br/>
    <span class="label">다음 단계:</span> 사용자가 다시 로그인하여 신속하게 등록을 완료하도록 안내하세요.<br/>
    <span class="label">관리자 확인 사항:</span> 반복적으로 발생하면 등록 중 기기가 Entra/Intune 엔드포인트에 접근할 수 있는지, 프롬프트가 차단되지 않는지 확인하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>We couldn't complete your sign in. Please contact your IT administrator.</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>ent.intune.validate_token.missing_claims.app_error</code></div>

      <div><span class="label">HTTP:</span> 400</div>

      <div><span class="label">시나리오:</span> 필수 클레임 누락</div>

      <div><span class="label">사용자 메시지:</span> "We couldn't complete your sign in. Please contact your IT administrator."</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    액세스 토큰에 로그인 및 등록에 필요한 클레임이 누락되었습니다.
  </td>
  <td>
    <span class="label">원인:</span> MSAL 액세스 토큰에 필수 클레임이 누락되었습니다(가장 흔하게는 <code>oid</code> 또는 Mattermost가 요구하는 선택적 클레임).<br/>
    <span class="label">다음 단계:</span> MSAL v2 액세스 토큰이 발급되고(<code>accessTokenAcceptedVersion = 2</code>) 토큰에 <code>oid</code>가 포함되어 있는지 확인하세요. Entra 앱 등록에서 <strong>토큰 구성</strong>으로 이동하여 <strong>액세스</strong> 토큰에 대해 선택적 클레임 <code>email</code>, <code>family_name</code>, <code>given_name</code>, <code>preferred_username</code>, <code>upn</code>이 추가되었는지 확인하세요. 적용된 공급자가 <code>IdAttribute = objectId</code>를 사용하는지 확인한 다음 신원 정렬(<code>objectId ↔ oid</code>)을 검증하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>There was a configuration issue. Please contact your IT administrator.</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>ent.intune.validate_token.invalid_tenant_id.app_error</code></div>

      <div><span class="label">HTTP:</span> 400</div>

      <div><span class="label">시나리오:</span> 토큰 테넌트 ≠ 구성된 테넌트</div>

      <div><span class="label">사용자 메시지:</span> "There was a configuration issue. Please contact your IT administrator."</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    토큰 테넌트가 구성된 테넌트와 일치하지 않습니다.
  </td>
  <td>
    <span class="label">원인:</span> 토큰이 Mattermost에 구성된 테넌트와 다른 테넌트에서 발급되었습니다.<br/>
    <span class="label">다음 단계:</span> <strong>System Console &gt; Environment &gt; Mobile Security</strong>에 구성된 <strong>테넌트 ID</strong>가 사용자에 대해 MSAL 토큰을 발급하는 Entra 테넌트와 일치하는지 확인하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>AADSTS650057</strong><br/>
    <span class="meta">(invalid_resource)</span>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>(AADSTS650057)</code></div>

      <div><span class="label">HTTP:</span> <code>(다양함)</code></div>

      <div><span class="label">시나리오:</span> invalid_resource</div>

      <div><span class="label">사용자 메시지:</span> (MSAL/Entra 오류)</div>

      <div><span class="label">재시도:</span> 불가(수정될 때까지)</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    Entra 앱 구성에 필요한 권한 및/또는 관리자 동의가 누락되었습니다.
  </td>
  <td>
    <span class="label">원인:</span> 필요한 Intune MAM API 권한이 누락되었거나 테넌트 전체 관리자 동의가 없습니다.<br/>
    <span class="label">다음 단계:</span> Microsoft Entra 관리 센터에서 (앱 등록이 아닌) <strong>엔터프라이즈 애플리케이션</strong>으로 이동하여 <strong>Mattermost Mobile</strong> / <strong>Mattermost Mobile Beta</strong>를 검색한 다음 <strong>권한</strong>을 열어 Intune MAM 권한(예: <code>https://msmamservice.api.application/.default</code> 및 <strong>Microsoft Mobile Application Management</strong> → <code>user_impersonation</code>(위임됨))에 대해 관리자 동의를 추가/부여하세요. 그런 다음 사용자가 로그인을 재시도하도록 안내하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>NotLicensed</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>(NotLicensed)</code></div>

      <div><span class="label">HTTP:</span> <code>(다양함)</code></div>

      <div><span class="label">시나리오:</span> 라이선스 누락 또는 비활성</div>

      <div><span class="label">사용자 메시지:</span> (다양함)</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    서버가 Intune MAM 적용에 대해 라이선스가 부여되지 않았습니다.
  </td>
  <td>
    <span class="label">원인:</span> 서버에 Enterprise Advanced 라이선스가 누락되었거나 적용되지 않았습니다.<br/>
    <span class="label">다음 단계:</span> 서버에 Enterprise Advanced 라이선스를 적용하고 라이선스가 활성 상태인지 확인한 다음 재시도하세요.
  </td>
</tr>


<tr>
  <td>
    <strong>HTTP 403 Forbidden</strong>
    <div class="meta">
      <div><span class="label">오류 ID:</span> <code>(HTTP 403)</code></div>

      <div><span class="label">HTTP:</span> 403</div>

      <div><span class="label">시나리오:</span> 서버 측 접근 차단</div>

      <div><span class="label">사용자 메시지:</span> (다양함)</div>

      <div><span class="label">재시도:</span> 불가</div>

      <div><span class="label">폴백:</span> 없음</div>

    </div>

  </td>
  <td>
    게이팅 조건으로 인해 서버 측 접근이 차단되었습니다.
  </td>
  <td>
    <span class="label">원인:</span> 서버 게이팅 조건이 등록을 방지하고 있습니다(Intune 서비스 장애가 아님).<br/>
    <span class="label">다음 단계:</span> Enterprise Advanced 라이선스, Intune MAM 활성화 여부, <strong>인증 공급자</strong> 선택이 사용자의 실제 인증 방식과 일치하는지, 구성된 <strong>테넌트 ID</strong>와 <strong>애플리케이션(클라이언트) ID</strong>가 올바른지, 테넌트 전체 관리자 동의가 부여되었는지 확인하세요. 그런 다음 신원 정렬(<code>objectId ↔ oid</code>)과 올바른 iOS 번들 ID에 대한 Intune 앱 보호 정책 대상 지정을 확인하세요.
  </td>
</tr>
오류 의미 관리자 원인 & 다음 단계

최초 로그인 시 동의#

사용자의 최초 모바일 로그인이 동의 거부됨으로 실패하거나 다음 메시지가 표시되는 경우:

You denied consent for Intune management. The affected accounts have been unenrolled and signed out.

이는 Mattermost 서버가 참조하는 Entra 앱 등록에 대한 테넌트 전체 관리자 동의가 누락된 것으로 처리하세요. 해결 방법은 위 Intune MAM 오류 표의 Consent Denied 항목을 참조하세요.

이를 해결하려면:

  1. Microsoft Entra 관리 센터에서 엔터프라이즈 애플리케이션으로 이동합니다.
  2. Mattermost Mobile 또는 Mattermost Mobile Beta를 검색합니다.
  3. 권한으로 이동하여 Intune MAM 권한(예: https://msmamservice.api.application/.default 및 Microsoft Mobile Application Management → user_impersonation(위임됨))에 대해 테넌트 전체 관리자 동의를 추가/부여합니다.
  4. 사용자가 모바일 로그인을 재시도하도록 안내합니다.

롤아웃 및 복구 안내#

  • 먼저 소규모 그룹으로 파일럿을 진행하세요.
  • 전체 롤아웃 전에 신원 정렬을 검증하세요.
  • 요구 사항이 변경되면 세션 중간에 적용이 발생할 수 있음을 예상하세요.