Intune App Wrapping Tool 사용하여 앱 보호 정책에 대한 Android 앱 준비

Android용 Microsoft Intune App Wrapping Tool 사용하여 앱 자체의 코드를 변경하지 않고 앱의 기능을 제한하여 사내 Android 앱의 동작을 변경합니다.

이 도구는 PowerShell에서 실행되고 Android 앱 주위에 래퍼를 만드는 Windows 명령줄 애플리케이션입니다. 앱을 래핑한 후에는 Intune 모바일 애플리케이션 관리 정책을 구성하여 앱의 기능을 변경할 수 있습니다.

도구를 실행하기 전에 App Wrapping Tool 실행하기 위한 보안 고려 사항을 검토합니다. 도구를 다운로드하려면 GitHub의 Android용 Microsoft Intune App Wrapping Tool 이동합니다.

참고

앱에서 Intune App Wrapping Tool 사용하는 데 문제가 있는 경우 GitHub에서 지원 요청을 제출합니다.

App Wrapping Tool 사용하기 위한 필수 조건을 충족합니다.

  • 앱에서 최신 라이브러리를 사용해야 합니다.

  • 앱이 Google Play 요구 사항과 호환되어야 합니다.

  • 앱이 복잡한 경우 android용 Intune 앱 SDK와 통합해야 합니다.

  • Windows 10 이상을 실행하는 Windows 컴퓨터에서 App Wrapping Tool 실행해야 합니다.

  • 입력 앱은 파일 확장 .apk 및 를 사용하는 유효한 Android 애플리케이션 패키지여야 합니다.

    • 암호화할 수 없습니다.
    • 이전에 Intune App Wrapping Tool 래핑하지 않았어야 합니다.
    • Android 9.0 이상용으로 작성해야 합니다.

    참고

    입력 앱이 Android 앱 번들(.aab)인 경우 Intune App Wrapping Tool 사용하기 전에 APK로 변환해야 합니다. 자세한 내용은 AAB(Android 앱 번들)를 APK로 변환을 참조하세요. 2021년 8월부터 새로운 프라이빗 앱을 Google Play 스토어에 APK로 게시할 수 있습니다.

  • 앱을 회사 또는 회사에서 개발해야 합니다. Google Play 스토어에서 사용할 수 있는 앱에서는 이 도구를 사용할 수 없습니다. 여기에는 Google Play 스토어에서 앱을 다운로드하거나 가져오는 것이 포함됩니다.

  • App Wrapping Tool 실행하려면 최신 버전의 Java 런타임 환경을 설치한 다음 Windows 환경 변수에서 Java 경로 변수가 C:\ProgramData\Oracle\Java\javapath로 설정되어 있는지 확인해야 합니다. 자세한 도움말은 Java 설명서를 참조하세요.

    참고

    경우에 따라 32비트 버전의 Java로 인해 메모리 문제가 발생할 수 있습니다. 64비트 버전을 설치하는 것이 좋습니다.

  • Android는 모든 앱 패키지(.apk)에 서명해야 합니다. 기존 인증서 및 전체 서명 인증서 지침을 다시 사용하려면 서명 인증서 다시 사용 및 앱 래핑을 참조하세요. Intune App Wrapping Tool 사용하여 .apk 파일을 래핑한 후에는 Google에서 제공하는 Apksigner 도구를 사용하는 것이 좋습니다. 이렇게 하면 앱이 최종 사용자 디바이스에 도달하면 Android 표준에서 제대로 시작할 수 있습니다.

  • (선택 사항) 래핑 중에 추가되는 Intune MAM SDK 클래스로 인해 앱이 DEX(Dalvik 실행 파일) 크기 제한에 도달할 수 있습니다. DEX 파일은 Android 앱 컴파일의 일부입니다. Intune App Wrapping Tool 최소 API 수준이 21 이상인 앱에 대해 래핑하는 동안 DEX 파일 오버플로를 자동으로 처리합니다(v. 1.0.2501.1 기준). 최소 API 수준이 21인 앱의 < 경우 래퍼의 -UseMinAPILevelForNativeMultiDex 플래그를 사용하여 최소 API 수준을 늘리는 것이 가장 좋습니다. 앱의 최소 API 수준을 늘릴 수 없는 고객의 경우 다음 DEX 오버플로 해결 방법을 사용할 수 있습니다. 특정 조직에서는 앱을 컴파일하는 사용자(예: 앱 빌드 팀)와 함께 작업해야 할 수 있습니다.

    • ProGuard를 사용하여 앱의 기본 DEX 파일에서 사용되지 않는 클래스 참조를 제거합니다.
    • Android Gradle 플러그 인의 v3.1.0 이상을 사용하는 고객의 경우 D8 dexer를 사용하지 않도록 설정합니다.

Intune App Wrapping Tool 사용하여 Android 애플리케이션을 얼마나 자주 다시 래프해야 하나요?

애플리케이션을 다시 래프해야 하는 기본 시나리오는 다음과 같습니다.

  • 애플리케이션 자체가 새 버전을 릴리스했습니다. 이전 버전의 앱이 래핑되어 Microsoft Intune 관리 센터에 업로드되었습니다.

  • Android용 Intune App Wrapping Tool 주요 버그 수정 또는 새로운 특정 Intune 애플리케이션 보호 정책 기능을 사용하도록 설정하는 새 버전을 릴리스했습니다. 이는 Android용 Microsoft Intune App Wrapping Tool 대한 GitHub 리포지토리를 통해 6~8주마다 발생합니다.

다시 래핑에 대한 몇 가지 모범 사례는 다음과 같습니다.

App Wrapping Tool 설치

  1. GitHub 리포지토리에서 Android용 Intune App Wrapping Tool 대한 설치 파일 InstallAWT.exe Windows 컴퓨터에 다운로드합니다. 설치 파일을 엽니다.

  2. 사용권 계약에 동의한 다음 설치를 완료합니다.

도구를 설치한 폴더를 확인합니다. 기본 위치는 C:\Program Files (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool.

App Wrapping Tool 실행

중요

Intune 정기적으로 Intune App Wrapping Tool 업데이트를 릴리스합니다. 업데이트를 위해 Android용 Intune App Wrapping Tool 정기적으로 검사 소프트웨어 개발 릴리스 주기에 통합하여 앱이 최신 앱 보호 정책 설정을 지원하도록 합니다.

  1. App Wrapping Tool 설치한 Windows 컴퓨터에서 PowerShell 창을 엽니다.

  2. 도구를 설치한 폴더에서 App Wrapping Tool PowerShell 모듈을 가져옵니다.

    Import-Module .\IntuneAppWrappingTool.psm1
    
  3. 다음 사용 구문이 있는 invoke-AppWrappingTool 명령을 사용하여 도구를 실행합니다.

    Invoke-AppWrappingTool [-InputPath] <String> [-OutputPath] <String> [<CommonParameters>]
    

    다음 표에서는 invoke-AppWrappingTool 명령의 속성을 자세히 설명합니다.

속성 정보
-InputPath<문자열> 원본 Android 앱(.apk)의 경로입니다.
-Outputpath<문자열> 출력 Android 앱의 경로입니다. 이 경로가 InputPath와 동일한 디렉터리 경로인 경우 패키징이 실패합니다.
<CommonParameters> (선택 사항) 명령은 자세한 정보 표시 및 디버그와 같은 일반적인 PowerShell 매개 변수를 지원합니다.

예제:

PowerShell 모듈을 가져옵니다.

Import-Module "C:\Program Files (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool\IntuneAppWrappingTool.psm1"

네이티브 앱 HelloWorld.apk App Wrapping Tool 실행합니다.

invoke-AppWrappingTool -InputPath .\app\HelloWorld.apk -OutputPath .\app_wrapped\HelloWorld_wrapped.apk -Verbose

래핑된 앱과 로그 파일이 생성되어 지정한 출력 경로에 저장됩니다.

서명 인증서 다시 사용 및 앱 래핑

Android를 사용하려면 Android 디바이스에 설치하려면 모든 앱에 유효한 인증서로 서명해야 합니다.

래핑된 앱은 기존 서명 도구를 사용하여 래핑 한 후 서명할 수 있습니다(래핑하기 전에 앱의 모든 서명 정보는 삭제됨). 가능하면 빌드 프로세스 중에 이미 사용된 서명 정보를 래핑하는 동안 사용해야 합니다. 특정 조직에서는 키 저장소 정보(예: 앱 빌드 팀)를 소유한 사용자와 함께 작업해야 할 수 있습니다.

이전 서명 인증서를 사용할 수 없거나 이전에 앱을 배포하지 않은 경우 Android 개발자 가이드의 지침에 따라 새 서명 인증서를 만들 수 있습니다.

이전에 다른 서명 인증서를 사용하여 앱을 배포한 경우 업그레이드 후 Intune 앱을 업로드할 수 없습니다. 앱이 빌드된 인증서와 다른 인증서로 서명하면 앱 업그레이드 시나리오가 끊어집니다. 따라서 앱 업그레이드를 위해 새 서명 인증서를 유지 관리해야 합니다.

App Wrapping Tool 실행하기 위한 보안 고려 사항

잠재적인 스푸핑, 정보 공개 및 권한 상승 공격을 방지하려면 다음을 수행합니다.

  • 입력 LOB(기간 업무) 애플리케이션과 출력 애플리케이션이 App Wrapping Tool 실행 중인 동일한 Windows 컴퓨터에 있는지 확인합니다.

  • 도구가 실행 중인 동일한 컴퓨터에서 Intune 출력 애플리케이션을 가져옵니다. Java keytool에 대한 자세한 내용은 keytool을 참조하세요.

  • 출력 애플리케이션과 도구가 UNC(유니버설 명명 규칙) 경로에 있고 동일한 컴퓨터에서 도구 및 입력 파일을 실행하지 않는 경우 IPsec(인터넷 프로토콜 보안) 또는 SMB(서버 메시지 블록) 서명을 사용하여 환경을 보호하도록 설정합니다.

  • 애플리케이션이 신뢰할 수 있는 원본에서 제공되는지 확인합니다.

  • 래핑된 앱이 있는 출력 디렉터리를 보호합니다. 출력에 사용자 수준 디렉터리를 사용하는 것이 좋습니다.

AAB(Android 앱 번들)를 APK로 변환

Intune App Wrapping Tool 현재 APK 입력만 지원합니다. Android 앱 번들은 먼저 도구와 함께 사용하기 위해 APK로 변환되어야 합니다.

Android 앱 번들은 Google의 명령줄 도구 bundletool를 사용하여 APK로 변환할 수 있습니다. 의 최신 버전은 bundle-tool Google의 bundletool GitHub 리포지토리에서 다운로드할 수 있습니다.

bundletool은 다음 명령을 사용하여 Intune App Wrapping Tool 사용할 단일 유니버설 APK를 생성하는 데 사용할 수 있습니다.

bundletool build-apks --bundle=input.aab --mode=universal --output=input.apks

.apks 출력 파일은 단일 범용 APK 파일을 포함하는 ZIP 보관 파일입니다. 보관 파일의 압축을 풀고 해당 APK 파일을 Intune App Wrapping Tool 입력으로 사용합니다.

참고 항목