두 개의 UUID 값이 관리되는 iPhone 앱 하나가 앱별 터널을 타는지 결정하며, 둘 중 어느 것도 그것들을 담고 있는 프로파일의 식별자가 아닙니다. 앱의 VPNUUID 속성은 앱별 VPN 페이로드 안의 VPNUUID와 같아야 합니다. 배포된 앱은 같은 기기 관리 서비스로 관리되어야 하고, 보내는 명령이 실제로 그 속성을 담아야 합니다. 각 단계가 다음 단계에 필요한 값을 만들기 때문에 아래 네 단계를 순서대로 진행하세요.

기기를 만지기 전에 식별자 네 개를 모으세요

값 네 개, 곧 관리 대장의 번들 식별자, 앱별 VPN 페이로드의 식별자, 그 페이로드 안의 VPNUUID, 그리고 곧 보낼 명령의 식별자를 적으세요. 번들 식별자는 설정을 받는 애플리케이션을 가리키며, 홈 화면의 라벨이 그 자리를 대신하지 못합니다. PayloadUUID는 프로파일 안의 페이로드를 가리키며 다른 질문에 답하는 값이므로 이 목록에서 완전히 빼 두세요. 둘 다 UUID처럼 보인다는 이유로 바꿔 넣는 것이, 절대 일치할 수 없는 연결을 만드는 가장 흔한 방법입니다.

VPN 관리자가 앱별 페이로드와 그 식별자를 넘겨주지 않았다면, 가장 가까운 설정 파일에서 UUID를 긁어내는 대신 그 두 가지를 요청하세요.

관리 채널을 통해 속성을 적용하세요

알려진 번들 식별자가 있다고 해서 관리되지 않는 설치가 연결 대상이 되는 것은 아니므로, 대상 앱이 그 기기에서 관리되고 있는지 확인하세요. 그다음 ApplicationAttributes 유형의 설정 항목을 제품의 앱별 VPN 할당이나 Settings 명령의 지원 구현을 통해 보내세요. 그 항목은 번들 식별자로 앱을 지정하고, VPNUUID가 페이로드와 일치하는 Attributes 사전을 담습니다. 그 항목 안에는 완전한 명령 봉투가 없고, 안의 무엇도 손으로 프로파일로 설치할 수 없습니다.

제거도 설치만큼 신중하게 다루세요. 스키마에 따르면 Attributes 사전을 빼면 앱의 기존 속성이 제거되므로, 절반만 만든 업데이트는 조용히 초기화가 됩니다. 이름이 비슷한 Managed Application Attributes 명령은 검증을 위해 속성을 다시 읽을 뿐 설정하지 않으며, 그것을 설정자로 쓰는 것은 낭비되는 배포 창입니다.

앱 아이콘이 아니라 명령 결과를 읽으세요

보낸 명령의 확인 응답을 확인하고, 관리되는 앱이 이제 그 속성을 보고하는지 확인하세요. 상태 표시줄의 VPN 배지는 폰 어딘가에 터널이 있다는 것만 알려줍니다. 이 특정 앱이 앱별 구성에 할당되었는지는 알려주지 못하며, 터널이 요청 시 열리는 기기에서는 배지가 아예 나타나지 않을 수도 있습니다. 시각적 단서를 찾는 대신 할당 안의 식별자를 비교하세요.

같은 플릿에 앱별 구성이 둘 있다면, 할당이 의도한 쪽에 들어갔다고 가정하기 전에 두 구성의 식별자를 비교하세요.

리소스로 시험하고, 그다음 쌍을 기록하세요

권한 있는 사용자가 할당된 앱에서 비공개 리소스를 열게 하고, 그를 위해 앱별 터널이 올라오는지 지켜보세요. 그다음 같은 폰의 관리되지 않는 앱에서 반복해, 처리가 다르다는 것을 확인하세요. 동작하는 비공개 리소스는 변경 기록에 아무도 적지 않은 기기 전체 터널로도 도달할 수 있었기 때문에, 바로 그 대비가 실제 시험입니다. 기기가 눈앞에 있는 동안 결과를 기록하세요.

번들 식별자, 페이로드 식별자, 공유된 VPNUUID, 명령 결과를 함께 보관해, 다음 조사가 기억이 아니라 같은 네 값에서 시작하게 하세요.

부수 피해 없이 되돌리세요

할당을 제거하려면 앱을 명령에서 빼는 대신, 제품이 문서화한 형식으로 빈 Attributes 사전과 함께 앱 속성을 다시 보내세요. 그 뒤 앱이 더는 앱별 터널을 열지 않고 다른 관리 앱이 자기 터널을 유지했는지 확인하세요. 같은 폰에 기기 전체 VPN 프로파일도 있다면, 한 기기에 VPN 구성이 둘일 때가 이 단계가 보통 틀어지는 지점이므로, 되돌리기 전과 같이 동작하는지 확인하세요. 그다음 보관해 둔 기록을 갱신하세요.

특정 앱이 왜 터널을 탔는지 묻는 감사는 배포 설명이 아니라 UUID 쌍과 날짜를 원할 것입니다.

관련 글