프로비저닝은 enterprise
가 policies
를 사용하여 관리할 기기를 설정하는 프로세스입니다. 이 과정에서 기기는 policies
를 수신하고 적용하는 데 사용되는 Android Device Policy를 설치합니다. 프로비저닝에 성공하면 API는 devices
객체를 만들어 기기를 기업에 바인딩합니다.
Android Management API는 등록 토큰을 사용하여 프로비저닝 프로세스를 트리거합니다. 사용하는 등록 토큰 및 프로비저닝 방법에 따라 기기의 소유권 (개인 소유 또는 회사 소유) 및 관리 모드 (직장 프로필 또는 완전 관리형 기기)가 설정됩니다.
개인 소유 기기
Android 5.1 이상
직원이 소유한 기기는 직장 프로필로 설정할 수 있습니다. 직장 프로필은 개인 앱 및 데이터와 별개로 직장 앱 및 데이터를 위한 자체 공간을 제공합니다. 대부분의 앱, 데이터, 기타 관리 policies
는 직장 프로필에만 적용되며 직원의 개인 앱과 데이터는 비공개로 유지됩니다.
개인 소유 기기에서 직장 프로필을 설정하려면 등록 토큰을 만들고 (allowPersonalUsage
이 PERSONAL_USAGE_ALLOWED
로 설정되어 있는지 확인) 다음 프로비저닝 방법 중 하나를 사용합니다.
업무 및 개인용 회사 소유 기기
Android 8 이상
직장 프로필을 사용하여 회사 소유 기기를 설정하면 기기를 업무 및 개인 용도로 모두 사용할 수 있습니다. 직장 프로필이 있는 회사 소유 기기:
- 대부분의 앱, 데이터, 기타 관리
policies
는 직장 프로필에만 적용됩니다. - 직원의 개인 프로필은 비공개로 유지됩니다. 그러나 기업은 특정 기기 전체 정책 및 개인 사용 정책을 시행할 수 있습니다.
- 기업은
blockScope
를 사용하여 전체 기기 또는 직장 프로필에만 규정 준수 조치를 시행할 수 있습니다. devices.delete
및 기기 명령어는 전체 기기에 적용됩니다.
직장 프로필이 있는 회사 소유 기기를 설정하려면 등록 토큰을 만들고 (allowPersonalUsage
이 PERSONAL_USAGE_ALLOWED
로 설정되어 있는지 확인) 다음 프로비저닝 방법 중 하나를 사용합니다.
업무용 회사 소유 기기만 해당
Android 5.1 이상
전체 기기 관리는 업무 전용으로 사용하도록 회사에서 소유한 기기에 적합합니다. 기업은 기기의 모든 앱을 관리하고 모든 Android Management API 정책 및 명령을 시행할 수 있습니다.
전용 목적이나 사용 사례에 맞게 기기를 단일 앱 또는 소수의 앱으로 정책을 통해 잠글 수도 있습니다. 완전 관리 기기의 이 하위 집합을 전용 기기라고 합니다. 이러한 기기의 등록 토큰은 allowPersonalUsage
를 PERSONAL_USAGE_DISALLOWED_USERLESS
로 설정해야 합니다.
회사 소유 기기에서 전체 관리를 설정하려면 등록 토큰을 만들고 allowPersonalUsage
가 PERSONAL_USAGE_DISALLOWED
또는 PERSONAL_USAGE_DISALLOWED_USERLESS
로 설정되어 있는지 확인한 다음 다음 프로비저닝 방법 중 하나를 사용합니다.
정책은 기기 프로비저닝 중에 UI 생성에 영향을 줄 수 있습니다. 이러한 정책은 다음과 같습니다.
PasswordPolicyScope
: 비밀번호 요구사항을 결정합니다.PermittedInputMethods
: 패키지 입력 방법을 결정합니다.PermittedAccessibilityServices
: 완전 관리형 기기 및 직장 프로필에 허용되는 접근성 서비스를 결정합니다.SetupActions
: 설정 중에 실행되는 작업을 결정합니다.ApplicationsPolicy
: 개별 앱의 정책을 결정합니다.
기기 프로비저닝 중에 비즈니스 앱 설치 및 기기 등록 카드와 함께 비밀번호 단계를 표시하려면 기기를 연결된 정책 없이 등록할 경우 발생하는 격리 상태로 유지하여 UI 생성 시작을 지연하도록 정책을 업데이트하는 것이 좋습니다. 그런 다음 설정 요구사항과 관련된 항목으로 채워진 기기 설정에 대해 최종 선택한 정책을 지정합니다. 기기 프로비저닝이 완료되면 필요에 따라 정책을 변경할 수 있습니다.
등록 토큰 만들기
![Android 관리 개요](https://developers.google.cn/static/android/management/images/enrollment-token.png?authuser=6&hl=ko)
등록하려는 기기마다 등록 토큰이 필요합니다 (여러 기기에 동일한 토큰을 사용할 수 있음). 등록 토큰을 요청하려면 enterprises.enrollmentTokens.create
를 호출합니다. 등록 토큰은 기본적으로 1시간 후에 만료되지만 최대 10,000년까지 맞춤 만료 시간 (duration
)을 지정할 수 있습니다.
요청이 성공하면 IT 관리자와 최종 사용자가 기기를 프로비저닝하는 데 사용할 수 있는 enrollmentTokenId
및 qrcode
가 포함된 enrollmentToken
객체가 반환됩니다.
정책 지정
기기가 등록될 때 동시에 정책을 적용하도록 요청에 policyName
를 지정하는 것도 좋습니다. policyName
를 지정하지 않으면 정책 없이 기기 등록하기를 참고하세요.
개인 사용 지정
allowPersonalUsage
는 프로비저닝 중에 기기에 직장 프로필을 추가할 수 있는지 확인합니다. 사용자가 직장 프로필을 만들 수 있도록 PERSONAL_USAGE_ALLOWED
로 설정합니다 (개인 소유 기기에는 필요, 회사 소유 기기에는 선택사항).
QR 코드 정보
QR 코드는 다양한 정책을 유지하는 기업에 효과적인 기기 프로비저닝 방법으로 작동합니다. enterprises.enrollmentTokens.create
에서 반환된 QR 코드는 등록 토큰과 Android 기기 정책에서 기기를 프로비저닝하는 데 필요한 모든 정보를 포함하는 키-값 쌍의 페이로드로 구성됩니다.
QR 코드 번들의 예
번들에는 Android Device Policy의 다운로드 위치와 등록 토큰이 포함됩니다.
{
"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME": "com.google.android.apps.work.clouddpc/.receivers.CloudDeviceAdminReceiver",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM": "I5YvS0O5hXY46mb01BlRjq4oJJGs2kuUcHvVkAPEXlg",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "https://play.google.com/managed/downloadManagingApp?identifier=setup",
"android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":{
"com.google.android.apps.work.clouddpc.EXTRA_ENROLLMENT_TOKEN": "{enrollment-token}"
}
}
enterprises.enrollmentTokens.create
에서 반환된 QR 코드를 직접 사용하거나 맞춤설정할 수 있습니다. QR 코드 번들에 포함할 수 있는 속성의 전체 목록은 QR 코드 만들기를 참고하세요.
qrcode
문자열을 스캔 가능한 QR 코드로 변환하려면 ZXing과 같은 QR 코드 생성기를 사용하세요.
프로비저닝 방법
이 섹션에서는 기기를 프로비저닝하는 다양한 방법을 설명합니다.
'설정'에서 직장 프로필 추가
Android 5.1 이상
사용자는 기기에서 직장 프로필을 설정하기 위해 다음 작업을 할 수 있습니다.
- 설정 > Google > 설정 및 복원으로 이동합니다.
- 직장 프로필 설정을 탭합니다.
이 단계에서는 기기에 Android Device Policy를 다운로드하는 설정 마법사를 시작합니다. 그런 다음 사용자에게 QR 코드를 스캔하거나 직장 프로필 설정을 완료하기 위해 등록 토큰을 수동으로 입력하라는 메시지가 표시됩니다.
Android Device Policy 다운로드
Android 5.1 이상
사용자는 기기에서 직장 프로필을 설정하기 위해 Google Play 스토어에서 Android 기기 정책을 다운로드할 수 있습니다. 앱이 설치되면 사용자에게 QR 코드를 스캔하거나 등록 토큰을 직접 입력하여 직장 프로필 설정을 완료하라는 메시지가 표시됩니다.
등록 토큰 링크
Android 5.1 이상
enrollmentTokens.create
에서 반환된 등록 토큰 또는 기업의 signinEnrollmentToken
를 사용하여 다음 형식의 URL을 생성합니다.
https://enterprise.google.com/android/enroll?et=<enrollmentToken>
이 URL을 IT 관리자에게 제공하면 IT 관리자가 최종 사용자에게 제공할 수 있습니다. 최종 사용자가 기기에서 링크를 열면 직장 프로필 설정을 안내받게 됩니다.
로그인 URL
이 메서드를 사용하면 프로비저닝을 완료하는 데 필요한 추가 정보를 입력할 수 있는 페이지로 이동합니다. 사용자가 입력한 정보를 기반으로 기기 프로비저닝을 진행하기 전에 사용자에게 적절한 정책을 계산할 수 있습니다. 예를 들면 다음과 같습니다.
enterprises.signInDetails[]
에서 로그인 URL을 지정합니다. 사용자가 직장 프로필을 만들 수 있도록 허용하려면allowPersonalUsage
를PERSONAL_USAGE_ALLOWED
로 설정합니다 (개인 소유 기기의 경우 필수, 회사 소유 기기의 경우 선택사항).결과
signinEnrollmentToken
를 QR 코드, NFC 페이로드 또는 제로터치 구성에 프로비저닝 추가로 추가합니다. 또는 사용자에게signinEnrollmentToken
를 직접 제공할 수 있습니다.다음 옵션 중 하나를 선택합니다.
- 회사 소유 기기: 새 기기 또는 초기화된 기기를 켠 후 QR 코드, NFC 탭 등을 통해
signinEnrollmentToken
를 기기에 전달하거나 사용자에게 토큰을 직접 입력하도록 요청합니다. 기기에서 1단계에 지정된 로그인 URL이 열립니다. - 개인 소유 기기: 사용자에게 '설정'에서 직장 프로필을 추가하도록 요청합니다. 메시지가 표시되면 사용자는
signinEnrollmentToken
가 포함된 QR 코드를 스캔하거나 토큰을 직접 입력합니다. 기기에서 1단계에 지정된 로그인 URL이 열립니다. - 개인 소유 기기: 사용자에게 등록 토큰 링크를 제공합니다. 여기서 등록 토큰은
signinEnrollmentToken
입니다. 기기에서 1단계에서 지정한 로그인 URL이 열립니다.
- 회사 소유 기기: 새 기기 또는 초기화된 기기를 켠 후 QR 코드, NFC 탭 등을 통해
Google에서 이미 사용자를 인증했는지 확인합니다. GET 매개변수
provisioningInfo
를 사용하여 기기 등록 중에 기기 프로비저닝 정보를 가져오고authenticatedUserEmail
필드의 값을 확인합니다. 이 필드에 값이 있으면 사용자가 이미 Google에서 인증을 완료한 것이므로 추가 인증 없이 이 ID를 사용할 수 있습니다.Google에서 아직 사용자를 인증하지 않은 경우 로그인 URL에 사용자 인증 정보를 입력하라는 메시지가 표시됩니다. ID를 기반으로 적절한 정책을 결정하고 GET 매개변수
provisioningInfo
를 사용하여 기기 등록 중에 기기 프로비저닝 정보를 가져올 수 있습니다.사용자의 사용자 인증 정보에 따라 적절한
policyId
를 지정하여enrollmentTokens.create
를 호출합니다.URL 리디렉션을 사용하여 5단계에서 생성된 등록 토큰을
https://enterprise.google.com/android/enroll?et=<token>
형식으로 반환합니다.
QR 코드 방법
Android 7.0 이상
회사 소유 기기를 프로비저닝하려면 QR 코드를 생성하여 EMM 콘솔에 표시하면 됩니다.
- 새 기기 또는 초기화된 기기에서 사용자 (일반적으로 IT 관리자)가 화면을 같은 지점에서 여섯 번 탭합니다. 그러면 기기에서 사용자에게 QR 코드를 스캔하라는 메시지가 표시됩니다.
- 사용자가 관리 콘솔 (또는 유사한 애플리케이션)에 표시된 QR 코드를 스캔하여 기기를 등록하고 프로비저닝합니다.
NFC 메서드
Android 6.0 이상
이 방법을 사용하려면 등록 토큰, 초기 정책 및 Wi-Fi 구성, 설정, 고객이 완전 관리 기기 또는 전용 기기를 프로비저닝하는 데 필요한 기타 모든 프로비저닝 세부정보가 포함된 NFC 프로그래머 앱을 만들어야 합니다. 개발자 또는 고객이 Android 지원 기기에 NFC 프로그래머 앱을 설치하면 해당 기기가 프로그래머 기기가 됩니다.
NFC 메서드를 지원하는 방법에 관한 자세한 안내는 Play EMM API 개발자 문서에서 확인할 수 있습니다. 이 사이트에는 NFC 버핑 시 기기에 푸시되는 기본 매개변수의 샘플 코드도 포함되어 있습니다. Android Device Policy를 설치하려면 기기 관리자 패키지의 다운로드 위치를 다음으로 설정합니다.
https://play.google.com/managed/downloadManagingApp?identifier=setup
DPC 식별자 메서드
QR 코드나 NFC를 사용하여 Android 기기 정책을 추가할 수 없는 경우 사용자 또는 IT 관리자는 다음 단계에 따라 회사 소유 기기를 프로비저닝할 수 있습니다.
- 새 기기 또는 초기화된 기기에서 설정 마법사를 따릅니다.
- Wi-Fi 로그인 세부정보를 입력하여 기기를 인터넷에 연결합니다.
- 로그인하라는 메시지가 표시되면 Android Device Policy를 다운로드하는 afw#setup을 입력합니다.
- QR 코드를 스캔하거나 등록 토큰을 직접 입력하여 기기를 프로비저닝합니다.
제로터치 등록
Android 8.0 이상 (Pixel 7.1 이상)
공인 제로터치 리셀러에서 구매한 기기는 제로터치 등록을 사용할 수 있습니다. 제로터치 등록은 기기를 사전 구성하여 첫 부팅 시 자동으로 프로비저닝되도록 하는 간소화된 방법입니다.
조직은 제로터치 등록 포털을 통해 또는 EMM 콘솔 (제로터치 고객 API 참고)을 사용하여 제로터치 기기의 프로비저닝 세부정보가 포함된 구성을 만들 수 있습니다. 제로터치 기기는 처음 부팅할 때 구성이 할당되었는지 확인합니다. 이 경우 기기에서 Android Device Policy를 다운로드한 다음 할당된 구성에 지정된 프로비저닝 추가 항목을 사용하여 기기 설정을 완료합니다.
고객이 제로터치 등록 포털을 사용하는 경우 생성하는 각 구성의 EMM DPC로 Android Device Policy를 선택해야 합니다. 구성을 만들고 기기에 할당하는 방법을 비롯하여 포털을 사용하는 방법에 관한 자세한 안내는 Android Enterprise 고객센터에서 확인할 수 있습니다.
고객이 EMM 콘솔에서 직접 구성을 설정하고 할당하도록 하려면 제로터치 고객 API와 통합해야 합니다. 구성 만들기 시 dpcExtras
필드에 프로비저닝 추가 항목을 지정합니다. 다음 JSON 스니펫은 로그인 토큰이 추가된 dpcExtras
에 포함할 항목의 기본 예시를 보여줍니다.
{
"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":"com.google.android.apps.work.clouddpc/.receivers.CloudDeviceAdminReceiver",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":"I5YvS0O5hXY46mb01BlRjq4oJJGs2kuUcHvVkAPEXlg",
"android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":{
"com.google.android.apps.work.clouddpc.EXTRA_ENROLLMENT_TOKEN":"{Sign In URL token}"
}
}
설정 중에 앱 실행
![setupaction](https://developers.google.cn/static/android/management/images/setupaction.png?authuser=6&hl=ko)
setupActions
를 사용하여 설정 중에 앱을 실행합니다.policies
에서 Android Device Policy가 기기 또는 직장 프로필 설정 중에 실행할 앱을 하나 지정할 수 있습니다. 예를 들어 사용자가 설정 프로세스의 일부로 VPN 설정을 구성할 수 있도록 VPN 앱을 실행할 수 있습니다. 앱은 RESULT_OK
를 반환하여 완료를 알리고 Android Device Policy가 기기 또는 직장 프로필 프로비저닝을 완료하도록 허용해야 합니다. 설정 중에 앱을 실행하려면 다음 단계를 따르세요.
앱의 installType
가 REQUIRED_FOR_SETUP
인지 확인합니다. 기기에 앱을 설치하거나 실행할 수 없는 경우 프로비저닝에 실패합니다.
{
"applications":[
{
"packageName":"com.my.vpnapp.",
"installType":"REQUIRED_FOR_SETUP"
}
]
}
앱의 패키지 이름을 setupActions
에 추가합니다. title
및 description
을 사용하여 사용자 대상 안내를 지정합니다.
{
"setupActions":[
{
"title":{
"defaultMessage":"Configure VPN"
},
"description":{
"defaultMessage":"Enable your VPN client to access corporate resources."
},
"launchApp":{
"packageName":"com.my.vpnapp."
}
}
]
}
앱이 launchApp
에서 실행되는지 구분하기 위해 앱의 일부로 처음 실행되는 활동에는 불리언 인텐트 추가 항목 com.google.android.apps.work.clouddpc.EXTRA_LAUNCHED_AS_SETUP_ACTION
(true
로 설정됨)이 포함됩니다. 이 추가 항목을 사용하면 앱이 setupActions
에서 실행되는지 또는 사용자가 실행하는지에 따라 앱을 맞춤설정할 수 있습니다.
앱이 RESULT_OK
를 반환하면 Android Device Policy가 기기 또는 직장 프로필을 프로비저닝하는 데 필요한 나머지 단계를 완료합니다.
설정 중 등록 취소하기
SetupAction으로 실행된 앱은 RESULT_FIRST_USER
를 반환하여 등록을 취소할 수 있습니다.
등록을 취소하면 회사 소유 기기가 재설정되거나 개인 소유 기기의 직장 프로필이 삭제됩니다.
참고: 등록을 취소하면 사용자 확인 대화상자 없이 작업이 트리거됩니다. RESULT_FIRST_USER
를 반환하기 전에 사용자에게 적절한 오류 대화상자를 표시하는 것은 앱의 책임입니다.
새로 등록된 기기에 정책 적용
새로 등록된 기기에 정책을 적용하는 방법은 개발자와 고객의 요구사항에 따라 다릅니다. 다음과 같은 다양한 접근 방식을 사용할 수 있습니다.
(권장) 등록 토큰을 만들 때 처음에 기기에 연결할 정책 이름 (
policyName
)을 지정할 수 있습니다. 토큰으로 기기를 등록하면 정책이 기기에 자동으로 적용됩니다.정책을 기업의 기본 정책으로 설정합니다. 등록 토큰에 정책 이름이 지정되지 않았고
enterprises/<enterprise_id>/policies/default
라는 이름의 정책이 있는 경우 각 새 기기는 등록 시 기본 정책에 자동으로 연결됩니다.Cloud Pub/Sub 주제를 구독하여 새로 등록된 기기에 관한 알림을 받습니다.
ENROLLMENT
알림에 대한 응답으로enterprises.devices.patch
를 호출하여 기기를 정책에 연결합니다.
정책 없이 기기 등록하기
유효한 정책 없이 기기가 등록되면 기기가 격리 저장소에 배치됩니다. 격리된 기기는 기기가 정책에 연결될 때까지 모든 기기 기능에서 차단됩니다.
5분 이내에 기기가 정책에 연결되지 않으면 기기 등록에 실패하고 기기가 초기화됩니다. 격리 기기 상태를 사용하면 솔루션의 일부로 라이선스 확인 또는 기타 등록 유효성 검사 프로세스를 구현할 수 있습니다.
라이선스 확인 워크플로 예시
- 기기가 기본 정책 또는 특정 정책 없이 등록되었습니다.
- 기업에 남은 라이선스 수를 확인합니다.
- 사용 가능한 라이선스가 있는 경우
devices.patch
를 사용하여 기기에 정책을 연결한 다음 라이선스 수를 줄입니다. 사용 가능한 라이선스가 없는 경우devices.patch
를 사용하여 기기를 사용 중지합니다. 또는 등록 후 5분 이내에 정책에 연결되지 않은 기기는 API에서 초기화합니다.