사용 가능 플랜: 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) – 등록 및 적용
아래 단계를 순서대로 완료하세요.
설정 요약#
- 신원 요구 사항 및 정렬을 확인합니다(
objectId ↔ oid).
- Microsoft Entra를 구성합니다(서버에서 참조하는 애플리케이션).
- Intune 앱 보호 정책을 구성합니다.
- Mattermost에서 Intune MAM을 활성화하고 적용할 공급자를 선택합니다.
- 공식 Mattermost iOS 앱을 배포합니다.
- 등록 및 적용을 검증합니다.
나중에 필요한 값#
설정 중에 다음 값을 확보하세요.
| 값 |
확인 위치 |
사용 위치 |
| 디렉터리(테넌트) 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 애플리케이션 등록#
- ID > 애플리케이션 > 앱 등록으로 이동합니다.
- 새 등록을 선택합니다.
- 구성:
- 이름: Mattermost Mobile (Intune MAM)
- 지원되는 계정 유형: 단일 테넌트
- 앱을 등록합니다.
- 다음을 복사합니다.
- 애플리케이션(클라이언트) ID
- 디렉터리(테넌트) ID
API 노출 및 범위 생성#
- API 노출로 이동합니다.
- 애플리케이션 ID URI가 설정되어 있는지 확인합니다(예:
api://).
login.mattermost라는 이름의 범위를 추가합니다.
- 변경 사항을 저장합니다.
공식 모바일 클라이언트 승인#
Mattermost에서 제공하는 공식 Mattermost Mobile 클라이언트 애플리케이션 ID가 login.mattermost 범위를 요청하도록 승인합니다.
- Entra 앱 등록에서 API 노출로 이동합니다.
- 승인된 클라이언트 애플리케이션에서 클라이언트 애플리케이션 추가를 선택합니다.
- Mattermost에서 제공하는 공식 Mattermost Mobile 클라이언트 애플리케이션 ID를 다음과 같이 추가합니다.
- 베타:
64e9952b-20eb-46dc-92ad-99089ed24903
- 프로덕션:
9ac649f1-4f77-44d6-9792-b2f54ab3c9a7
api:///login.mattermost 범위를 승인합니다.
- 변경 사항을 저장합니다.
API 권한 및 관리자 동의#
- API 권한으로 이동합니다.
- 권한 추가를 선택합니다.
- 다음 Microsoft Graph 위임된 권한을 추가합니다.
- Microsoft Graph →
email(위임됨)
- Microsoft Graph →
profile(위임됨)
- 테넌트에 대해 관리자 동의 부여를 선택합니다.
이는 Mattermost 서버가 참조하는 Entra 애플리케이션에 대해 고객 관리자가 부여해야 하는 권한입니다.
이러한 권한이 누락되었거나 테넌트 전체 관리자 동의가 부족한 경우, 등록이 Entra 권한/관리자 동의 오류(예: AADSTS650057)로 실패하거나 최초 로그인 시 사용자에게 표시되는 동의 거부됨 메시지가 나타날 수 있습니다.
MSAL 토큰 및 필수 클레임 구성#
Intune MAM을 활성화하기 전에, Entra 앱 등록이 모바일 로그인 중 Mattermost가 요구하는 클레임을 포함한 액세스 토큰을 발급하는지 확인하세요.
- Entra 앱 등록에서 토큰 구성으로 이동합니다.
- 선택적 클레임 추가를 선택합니다.
- 토큰 유형에서 액세스를 선택합니다.
- 다음 선택적 클레임을 추가합니다.
email
family_name
given_name
preferred_username
upn
- 변경 사항을 저장합니다.
Note
Mattermost Intune MAM 적용은 MSAL 액세스 토큰을 사용합니다. 필수 클레임이 누락되면 로그인 및/또는 등록이 실패할 수 있습니다.
MSAL v2 액세스 토큰 활성화#
- 앱 매니페스트를 엽니다.
- 토큰 버전을
2로 설정합니다.
- 매니페스트에
api.requestedAccessTokenVersion이 표시되면 2로 설정합니다.
- 그렇지 않으면
accessTokenAcceptedVersion을 2로 설정합니다.
- 변경 사항을 저장합니다.
3단계: Intune 앱 보호 정책 구성#
- Intune 관리 센터 > 앱 > 앱 보호 정책으로 이동합니다.
- 정책을 생성합니다.
- 플랫폼: iOS/iPadOS
- 대상 앱: 관리되는 앱
- 번들 ID로 Mattermost 앱을 추가합니다.
com.mattermost.rn(프로덕션)
com.mattermost.rnbeta(베타)
- 보호 설정을 구성합니다.
- Entra ID 사용자 그룹에 할당합니다.
- 변경 사항을 저장합니다.
프로덕션 앱과 베타 앱에는 각각 별도의 정책이 필요합니다.
4단계: Intune MAM에 대한 Mattermost 서버 구성#
적용된 공급자는 IdAttribute = objectId를 사용하여 신원을 확인해야 합니다.
5단계: Mattermost iOS 앱 배포#
다음을 사용하여 공식 Mattermost iOS 앱을 다운로드하고 설치하세요.
- Apple App Store(프로덕션)
- TestFlight(베타)
래핑되거나, 재서명되거나, 비공개로 배포된 앱은 지원되지 않습니다.
6단계: 등록 검증#
iOS에서 라이선스가 부여된 테스트 사용자로 검증하세요.
다음을 확인하세요.
- 등록이 성공적으로 완료됨
- 적용이 로그인 시 및 세션 중간에 적용됨
- 신원 정렬이 올바름(
objectId ↔ oid)
모바일 로그인 중 예상되는 동작#
- 사용자가 MSAL을 통해 로그인합니다.
- Mattermost가 액세스 토큰을 검증합니다.
- Intune MAM 등록이 트리거됩니다.
- 앱 보호 정책이 적용됩니다.
등록이 필요하지만 완료할 수 없는 경우, 등록이 성공할 때까지 액세스가 차단됩니다.
문제 해결#
- 신원 불일치(
objectId ↔ oid)
IdAttribute가 objectId로 설정되지 않음
- Entra API 권한 또는 관리자 동의 누락
- 앱 보호 정책이 사용자 또는 앱을 대상으로 하지 않음
- 지원되지 않는 클라이언트 또는 플랫폼
빠른 진단#
- 신원 정렬을 확인합니다(
objectId ↔ oid).
IdAttribute = objectId를 확인합니다.
- Entra 권한 및 관리자 동의를 확인합니다.
- 인증 공급자 선택을 확인합니다.
- 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 > Environment > 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 > Environment > 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 항목을 참조하세요.
이를 해결하려면:
- Microsoft Entra 관리 센터에서 엔터프라이즈 애플리케이션으로 이동합니다.
- Mattermost Mobile 또는 Mattermost Mobile Beta를 검색합니다.
- 권한으로 이동하여 Intune MAM 권한(예:
https://msmamservice.api.application/.default 및 Microsoft Mobile Application Management → user_impersonation(위임됨))에 대해 테넌트 전체 관리자 동의를 추가/부여합니다.
- 사용자가 모바일 로그인을 재시도하도록 안내합니다.
롤아웃 및 복구 안내#
- 먼저 소규모 그룹으로 파일럿을 진행하세요.
- 전체 롤아웃 전에 신원 정렬을 검증하세요.
- 요구 사항이 변경되면 세션 중간에 적용이 발생할 수 있음을 예상하세요.