iOS SDK 개발자 가이드 MAM용 Microsoft Tunnel

참고

이 기능은 Microsoft Intune 플랜 2 또는 Microsoft Intune Suite 추가 기능 라이선스로 추가할 때 사용할 수 있습니다. 자세한 내용은 Intune Suite 추가 기능 사용을 참조하세요.

MAM용 Microsoft Tunnel iOS SDK 개발자 가이드는 개발자를 위한 리소스입니다. 개발자가 iOS/iPadOS 앱에 SDK를 통합하고 구성하는 데 도움이 됩니다. MAM용 Microsoft Tunnel 대한 개요는 iOS/iPadOS용 MAM용 Microsoft Tunnel - Intune 관리자 가이드로 이동합니다.

이 가이드에서는 프레임워크 설치, 파일 구성 info.plist , 빌드 설정, 키 공유, SDK 대리자 메서드 구현 등 Xcode 앱 프로젝트의 통합 프로세스의 다양한 부분을 다룹니다.

이러한 구성 요소는 iOS/iPadOS 앱 개발에 중요합니다. 개발자는 SDK 구성 요소를 탐색하고 구성하는 방법을 이해해야 합니다. Xcode 및 iOS/iPadOS 앱 개발을 접하는 경우 이 가이드가 도움이 될 수 있습니다. 다양한 SDK 구성 요소를 찾을 수 있는 위치와 앱 프로젝트에서 이러한 요소를 사용하는 방법에 대한 개요를 제공합니다.

이 기능은 다음에 적용됩니다.

  • iOS/iPadOS

SDK 리포지토리의 내용

SDK 리포지토리에는 다음 프레임워크가 포함됩니다. 이후 단계에서 앱 프로젝트에 이러한 프레임워크를 추가합니다.

  • crypto.xcframework
  • MCPCommon.xcframework
  • MCPCore.xcframework
  • MCPPluginUnencryptedFile.xcframework
  • MicrosoftTunnelApi.xcframework
  • MSTAPNextPluginSecurityOpenssl.xcframework
  • MSTAPNextPluginSwiftSupport.xcframework
  • MSTAPNextPluginVpnMicrosoftTunnel.xcframework
  • ssl.xcframework

필수 구성 요소

MAM용 Microsoft Tunnel iOS SDK를 사용하려면 다음 필수 구성 요소가 필요합니다.

  • Xcode 14.0 이상이 설치된 macOS 컴퓨터

  • LOB(기간 업무) iOS/iPadOS 앱은 iOS/iPadOS 14.0 이상을 대상으로 해야 합니다.

  • Xcode에서 iOS 앱을 다운로드하고 통합해야 하는 두 가지 GitHub SDK가 있습니다. MAM용 Microsoft Tunnel iOS SDK를 계속 진행하기 전에 다음 프로젝트가 성공적으로 빌드되었는지 확인합니다.

    1. iOS용 앱 SDK를 Intune(GitHub 사이트 열기): 최소한 16.1.1 버전을 설치합니다.

      이 사이트에서는 iOS용 Microsoft 사용 조건 Intune 앱 SDK 파일도 검토합니다.

      레코드의 경우 사용 조건의 복사본을 유지합니다. MAM용 Microsoft Tunnel iOS SDK를 다운로드하고 사용하면 사용 조건에 동의합니다. 사용 조건에 동의하지 않는 경우 소프트웨어를 사용하지 마세요.

    2. MSAL(Microsoft 인증 라이브러리) (GitHub 사이트 열기): 최소한 1.2.3 버전을 설치합니다.

  • MAM용 Microsoft Tunnel iOS SDK를 설치하고 설정합니다(GitHub 사이트 열기). 이 SDK는 이 문서의 초점입니다.

    중요

    Intune 정기적으로 MAM용 Microsoft Tunnel iOS SDK에 대한 업데이트를 릴리스합니다. 정기적으로 업데이트를 위해 MAM용 Microsoft Tunnel iOS SDK를 검사. 소프트웨어 개발 릴리스 주기에 이러한 업데이트를 추가합니다. 앱이 Microsoft Tunnel Gateway 업데이트 및 기능 향상을 지원하는지 확인하려고 합니다.

MAM용 Microsoft Tunnel iOS SDK 작동 방식

MAM iOS SDK용 터널을 사용하면 iOS/iPadOS 앱이 "앱 내" VPN 연결을 설정할 수 있습니다. VPN 연결은 앱 내에만 존재합니다.

요약하자면, 이러한 앱 내 VPN 연결은 다음과 같습니다.

  • 디바이스 수준 VPN 연결이 아닌 불연속
  • 애플리케이션 네트워크 계층으로만 범위 지정

앱이 네트워크 호출을 하면 SDK가 네트워크 호출을 가로채 VPN 연결을 설정합니다. 이 앱 내 VPN 연결은 iOS/iPadOS 디바이스의 설정 앱에 표시되지 않습니다.

아키텍처: MAM iOS SDK용 터널

다음 이미지는 MAM iOS SDK용 Tunnel과 성공적으로 통합된 관리되는 앱의 흐름을 설명합니다.

Microsoft Intune iOS/iPadOS 아키텍처의 MAM용 Microsoft Tunnel Gateway 그리기

  1. 앱을 처음 시작할 때 iOS용 MAM용 Microsoft Tunnel SDK를 사용하여 연결합니다.

  2. 터널은 Microsoft Entra ID 디바이스 인증 토큰을 가져옵니다.

    디바이스가 Outlook, Edge 또는 Microsoft 365 모바일 앱과 같은 다른 MAM 사용 앱에 로그인한 경우 디바이스에 이미 Microsoft Entra 인증 토큰이 있을 수 있습니다. 유효한 인증 토큰이 이미 있는 경우 기존 토큰이 사용됩니다.

  3. TCP Connect는 토큰과 터널 서버 간의 TLS 핸드셰이크입니다.

  4. Microsoft Tunnel Gateway에서 UDP를 사용하도록 설정하면 DTLS를 사용하는 데이터 채널 연결이 만들어집니다. UDP를 사용하지 않도록 설정한 경우 TCP는 터널 게이트웨이에 대한 데이터 채널을 설정합니다.

    자세한 내용은 Microsoft Tunnel 개요 - 아키텍처의 TCP 및 UDP 참고 사항으로 이동합니다.

  5. 모바일 앱이 온-프레미스 회사 리소스에 연결하는 경우:

    1. MAM용 Microsoft Tunnel API는 회사 리소스에 연결하도록 요청합니다.
    2. 암호화된 웹 요청이 만들어지고 회사 리소스로 전송됩니다.

Xcode 작업

이 섹션에서는 다음을 포함하여 완료해야 하는 Xcode 작업을 나열하고 설명합니다.

  • 프레임워크 및 라이브러리 추가
  • 다음 기능을 검토하고 업데이트합니다.
    • info.plist파일
    • 빌드 설정
    • 키 집합 공유
  • 샘플을 사용하여 Xcode AppDelegate 프로젝트를 업데이트하고 Microsoft Tunnel 대리자 파일을 추가합니다.

1단계 - 프레임워크 및 라이브러리 추가

다음 프레임워크에는 Intune Microsoft Tunnel Gateway와 통신하는 데 필요한 API 및 대리자 메서드가 포함됩니다. 앱 내에서 Microsoft Tunnel VPN 기능을 구현합니다.

MAM iOS SDK용 Tunnel을 사용하도록 설정하려면 다음 단계를 사용합니다.

  1. MAM iOS SDK용 Tunnel을 다운로드하여 macOS 컴퓨터의 폴더로 추출합니다. 이 작업은 필수 구성 요소에도 나열됩니다.

    다음 9개의 프레임워크를 Xcode 앱 프로젝트 프레임워크 폴더에 복사합니다.

    • crypto.xcframework
    • MCPCommon.xcframework
    • MCPCore.xcframework
    • MCPPluginUnencryptedFile.xcframework
    • MicrosoftTunnelApi.xcframework
    • MSTAPNextPluginSecurityOpenssl.xcframework
    • MSTAPNextPluginSwiftSupport.xcframework
    • MSTAPNextPluginVpnMicrosoftTunnel.xcframework
    • ssl.xcframework
  2. Xcode 프로젝트에서 앱 프로젝트 >파일 추가를 선택합니다. 다음 예제에서는 파일이 "Flash Chat"이라는 앱 프로젝트에 추가됩니다.

    macOS 디바이스의 Xcode에서 앱 프로젝트에 파일을 추가하는 방법을 보여 주는 화면입니다.

  3. 프로젝트>대상에서 빌드 단계>포함 프레임워크를 선택합니다. (+) 9개의 프레임워크를 모두 추가합니다.

    macOS 디바이스의 Xcode에 프레임워크 포함을 보여 주는 스크린샷

    다음 예제에서는 추가된 9개의 프레임워크를 모두 보여 줍니다.

    macOS 디바이스의 Xcode에 포함된 모든 Microsoft Tunnel 프레임워크를 보여 주는 스크린샷

  4. PROJECT>TARGETS에서 빌드 단계라이브러리와> 이진 연결 을 선택합니다. 목록에서 프레임워크만 MicrosoftTunnelApi.xcframework 추가해야 합니다. 다른 프레임워크가 나열된 경우 빼기(-)를 사용하여 제거합니다.

    macOS 디바이스의 Xcode에서 라이브러리와 이진 연결에서 프레임워크를 제거하는 방법을 보여 주는 스크린샷

2단계 - 파일 업데이트 info.plist

info.plist Xcode 앱 프로젝트의 에서 다음 설정을 확인합니다.

  • 번들 ID: iOS 모바일 앱에 대한 Microsoft Entra 앱 등록에 나열된 동일한 번들 ID가 앱 프로젝트에서 동일한 번들 ID인지 확인합니다.

    번들 ID를 검사:

    1. 프로젝트대상일반으로>> 이동합니다.

    2. ID번들 식별자를 선택합니다.>

      macOS 디바이스의 Xcode에서 번들 ID를 추가할 프로젝트, 대상, 일반 및 ID 선택을 보여 주는 스크린샷

  • URL 형식: 프로젝트>대상에서 정보를 선택합니다.

    URL 형식에서 변수가 $(PRODUCT_BUNDLE_IDENTIFIER) 있는지 확인합니다. iOS용 Intune 앱 SDK를 앱 프로젝트(필수 필수 구성 요소)와 통합한 경우 이 변수를 만들어야 합니다.

    변수가 없으면 다음을 추가해야 합니다.

    1. iOS용 Intune 앱 SDK(필수 필수 구성 요소)를 사용하여 Array 속성을 만들고 info.plist 이름을 쿼리된 URL 체계로 지정합니다.

      iOS용 Intune 앱 SDK 개발자 가이드 – 5단계에 나열된 문자열 항목을 추가합니다. 이 단계에서는 Intune MAM SDK URL 체계를 만듭니다.

      다음 예제에서는 쿼리된 URL 체계를 사용하는 info.plist를 보여 줍니다.

      macOS 디바이스의 Xcode에서 프로젝트, 대상, 정보, 쿼리된 URL 체계 값을 선택하는 방법을 보여 주는 스크린샷

    2. 변수를 $(PRODUCT_BUNDLE_IDENTIFIER) 추가합니다.

      다음 예제에서는 URL 형식$(PRODUCT_BUNDLE_IDENTIFIER) 변수를 보여줍니다.

      macOS 디바이스의 Xcode에서 프로젝트, 대상, 정보, URL 유형을 선택하는 방법을 보여 주는 스크린샷

  • IntuneMAMSettings: 다음 MSAL 설정이 적절한 Microsoft Entra 앱 등록 값으로 구성되었는지 확인합니다.

    1. PROJECTTARGETS>정보> 이동합니다.

    2. IntuneMAMSettings를 선택합니다. 설정을 확인합니다.

      • ADALAuthority: 와 같은 https://login.microsoftonline.com/USE_YOUR_ Directory (tenant) IDMicrosoft Entra 테넌트 ID를 입력합니다.
      • ADALClientId: 애플리케이션 클라이언트 ID를 입력합니다.
      • ADALRedirectUri: 를 입력합니다 msauth.$(PRODUCT_BUNDLE_IDENTIFIER):/auth.

    iOS용 Intune 앱 SDK를 앱 프로젝트(필수 필수 구성 요소)와 통합한 경우 이러한 설정이 구성되어야 합니다.

    이러한 설정이 구성되지 않은 경우 구성해야 합니다. IntuneMAMSettings info.plist 사전 속성 및 연결된 Microsoft 인증 라이브러리 문자열을 만들려면 Intune 앱 SDK에 대한 MSAL 설정 구성 지침에서 iOS용 앱 SDK(필수 필수 구성 요소) 개발자 가이드를 Intune 따릅니다.

    다음 예제에서는 이러한 값이 구성된 것을 보여줍니다.

    macOS 디바이스의 Xcode에서 프로젝트, 대상, 정보, IntuneMAMSetting 선택을 보여 주는 스크린샷

3단계 - 비트 코드 끄기

  1. PROJECTTARGETS>빌드 설정으로> 이동합니다.
  2. 빌드 옵션>비트 코드 사용을 선택합니다.
  3. 아니요를 선택합니다.

macOS 디바이스에서 Xcode에서 프로젝트, 대상, 빌드 설정, 빌드 옵션 및 비트 코드 사용 안 을 선택하는 방법을 보여 주는 스크린샷

4단계 - 키체인 공유 추가

키 집합 공유는 앱 프로젝트에 있을 수도 있습니다. 없는 경우 다음을 추가합니다.

  1. PROJECT>TARGETS>서명 & 기능으로 이동합니다.
  2. 키 집합 공유를 선택합니다.
  3. 키 집합 그룹 목록에서 (+) com.microsoft.workplacejoin를 추가합니다.

macOS 디바이스의 Xcode에서 프로젝트, 대상, 서명 & 기능, 키체인 공유 및 키체인 그룹 추가를 보여 주는 스크린샷

5단계 - 앱과 SDK 통합

✔️ TunnelMAMTestApp2.xcproject 샘플 앱을 사용합니다.

LOB 앱 및 해당 구현/의도된 목적에 따라 의 사용은 MicrosoftTunnelApi 다를 수 있습니다. SDK를 앱과 통합할 때 알아야 할 몇 가지 핵심 기능이 있습니다.

  • MAM용 Microsoft Tunnel iOS SDK와의 모든 상호 작용은 단일 개체를 MicrosoftTunnelAPI 통해 처리됩니다.
  • 개체는 MicrosoftTunnelAPI 인터페이스를 구현하는 대리자를 사용하여 앱과 상호 작용합니다 MicrosoftTunnelDelegate . 

Microsoft Tunnel 대리자를 작성하는 방법과 를 초기화하는 MicrosoftTunnelAPI방법을 이해하려면 MAM용 Microsoft Tunnel iOS SDK 샘플 앱(GitHub 사이트 열기)을 사용합니다.

샘플 앱에서 Xcode 프로젝트 AppDelegate는 다음을 표시합니다.

  • MSAL URL 콜백을 처리하는 방법
  • Tunnel에 필요한 등록 및 초기화 프로세스를 시작하는 방법

시작하려면 샘플 앱을 열고 TunnelMAMTestApp2.xcproject 앱 프로젝트에서 AppDelegate & MicrosoftTunnelDelegate를 확인합니다.

샘플 앱

✔️ MAM용 Microsoft Tunnel iOS SDK 샘플 앱에서 다운로드합니다(GitHub 사이트 열기).

이러한 샘플 앱은 다양한 시나리오를 시작하고 다루는 데 도움이 될 수 있습니다.

MicrosoftTunnelAPI 메서드

에는 MicrosoftTunnelAPI 다음 메서드가 포함됩니다.

  • Initialize– VPN 구성을 확인하고 설정하고, 로깅을 설정하고, instance 설정합니다 MicrosoftTunnelAPI .

  • Connect– instance 가져오 MicrosoftTunnelAPI 고 네트워크 트래픽 차단을 사용하도록 설정합니다. API가 초기화되지 않은 경우 오류가 표시됩니다.

  • Disconnect- instance 가져오 MicrosoftTunnelAPI 고 네트워크 트래픽 차단을 사용하지 않도록 설정합니다. API가 초기화되지 않은 경우 오류가 표시됩니다.

  • onTokenRequired –선택적. 앱이 이미 또는 MSAL과 IntuneMAM 통합된 경우 이 onTokenRequired 메서드를 구현해야 합니다. 이 메서드는 IntuneMAMSettings 및 MSAL을 사용하여 유효한 인증 토큰을 가져와 Microsoft Tunnel Gateway에 연결합니다.

  • Logging – 로깅 클래스가 몇 가지 있습니다. 로깅 클래스는 k로 표시됩니다. 예를 들어 는 kLoggingClassConnect Xcode 콘솔에서 로깅 출력을 만듭니다. 이러한 로깅 구성 키를 대리자 구성에 추가할 수 있습니다. 샘플 앱에는 이러한 로깅 클래스의 몇 가지 예가 있습니다.

    • kLoggingClassInternal
    • kLoggingClassConnect
    • kLoggingClassPacket
    • kLoggingClassSocket
    • kLoggingClassHttp
    • kLoggingClassIntune
    • kLoggingClassMobileAccess
    • kLoggingSeverityDebug
    • kLoggingSeverityInfo
    • kLoggingSeverityWarn
    • kLoggingSeverityMinor
    • kLoggingSeverityMajor
    • kLoggingSeverityCrit

경고

배포된 앱에서는 디버그 키를 사용하지 마세요. 키는 사용자 식별 정보 및 보안 데이터를 기록하고 표시할 수 있습니다.

iOS/iPadOS LOB 앱에 로그온

SDK를 통합해도 로깅이 자동으로 활성화되지는 않습니다. 개발자는 로깅 대리자 프레임워크를 구현하고 적절한 로깅 호출을 수행하려면 적절한 코드를 추가해야 합니다. 특정 구현은 SDK 및 개발자의 요구 사항에 따라 달라집니다.

개발자는 다음을 수행해야 합니다.

  • 고객 식별 가능 또는 최종 사용자 개인 데이터를 로깅에 포함하지 않는지 확인합니다. 개인 정보 보호 규정을 준수해야 합니다.

  • organization 회사/organization 개인 정보 보호 팀에 문의하고 작업합니다. 개인 정보 팀은 기록할 수 있는 적절한 데이터와 중요한 데이터를 처리하는 적절한 방법에 대한 지침을 제공할 수 있습니다.

경고

로깅 및 데이터 개인 정보 보호와 관련된 특정 지침은 MAM용 Microsoft Tunnel iOS SDK 개인 정보 설명서(GitHub에서 PDF 파일 열기)를 참조하세요.

MAM-Tunnel 로그 대리자 메서드 예제

macOS 디바이스의 Xcode에서 샘플 Microsoft Tunnel 로그 대리자 메서드를 보여 주는 스크린샷

macOS 디바이스의 Xcode에서 샘플 Microsoft Tunnel 로그 출력을 보여 주는 스크린샷

모바일 애플리케이션 관리 개인 정보용 Microsoft Tunnel

귀하의 개인 정보는 당사에 중요합니다. 다음 개인 정보 관련 온라인 설명서를 검토합니다.

MAM용 Microsoft Tunnel iOS SDK를 모바일 앱에 통합하면 개발자가 다음 데이터를 수집합니다.

  • 앱에서 Intune MAM 원격 분석 모듈을 사용하도록 설정합니다.

수집된 데이터에는 다음 영역이 포함될 수 있습니다.

  • SDK 버전 MAM용 Microsoft Tunnel
  • Microsoft에서 생성된 사용자 정보
    • 디바이스 ID
  • 하드웨어 및 소프트웨어 정보
    • 디바이스 제조업체
    • 장치 모델
    • 디바이스 OS 버전
  • 관리자 및 계정 정보
    • Intune 테넌트 ID
    • Microsoft Entra 테넌트 ID
  • 사용량 측정:
    • VPN 초기화
    • VPN 연결 및 연결 끊기 이벤트
  • 오류 정보
    • VPN 연결 오류와 관련된 오류

사용자 식별 가능한 정보는 수집되지 않습니다.

중요

개발자는 SDK를 통합할 때 코드를 사용하여 애플리케이션에서 메시지를 처리하고 캡처할 때 사용자 식별 데이터를 포함하지 않는 것이 중요합니다.

알려진 문제

더 알려진 문제는 iOS/iPadOS용 MAM용 Microsoft Tunnel - Intune 관리자 가이드로 이동합니다.

다음 단계

iOS/iPadOS용 MAM용 Microsoft Tunnel - Intune 관리자 가이드