EMM 콘솔을 통해 신규 고객을 등록하려면 엔터프라이즈를 만들어야
합니다. Enterprises
리소스는 EMM과 조직 간의 바인딩을 나타냅니다. 이 인스턴스를 사용하여 조직을 대신하여 작업을 호출합니다.
Play EMM API는 엔터프라이즈에서 지원할 계정 유형에 따라 두 가지 방법으로 엔터프라이즈 인스턴스를 만듭니다.
관리 Google Play 계정 가입: 조직에서 관리 Google Play 계정을 사용하려고 합니다. Google의 Android 가입 UI를 EMM 콘솔과 통합하면 고객이 EMM으로 바인딩되는 엔터프라이즈 인스턴스를 빠르고 쉽게 생성할 수 있습니다. 이 접근 방식을 사용하면 특정 조직 내에 여러 기업을 만들 수 있고 사용자와 기기에 관리 Google Play 계정을 사용 설정할 수 있습니다. 이 접근 방식을 API 문서에서는 EMM에서 시작하는 경우도 있습니다.
Google 도메인 기반 엔터프라이즈 등록: 조직에 기존 Google 관리 도메인이 있습니다. 관리자는 Google에 도메인 소유권 확인, EMM 토큰 획득, 엔터프라이즈 서비스 계정 만들기와 같은 여러 수동 작업을 완료합니다. 이 접근 방식을 API 문서에서는 Google에서 시작하는 경우도 있습니다.
EMM 콘솔에서 Enterprises
리소스를 사용하여 두 가지 방법 중 하나를 지원할 수 있습니다. 표 1에는 조직을 EMM에 바인딩하기 위한 이 리소스의 관련 필드와 작업이 나와 있습니다.
표 1: Enterprise API 및 대체 바인딩 프로세스
Managed Google Play 계정 | Google 관리 계정 | 설명 | |
---|---|---|---|
필드 | |||
id | register 및 completeRegistration 호출에서 반환된 조직의 고유 식별자입니다. | ||
kind | 고정 문자열 값인 'androidenterprise#enterprise➘'를 사용하여 리소스 유형을 식별합니다. | ||
이름 | enterprise 객체와 연결된 조직 (고객) | ||
기본 도메인 | 설정되지 않음 | EMM에서 시작한 Android 가입 프로세스는 Google 도메인 모델에 연결되어 있지 않으므로 이 필드는 Google 등록 프로세스에만 관련이 있습니다. | |
관리자[] | 설정되지 않음 | EMM에서 시작한 가입 프로세스를 사용하여 Android에 가입하는 관리자가 엔터프라이즈의 관리자 (소유자)가 됩니다. 관리자는 관리 Google Play Console을 사용하여 기업 내의 다른 사용자를 관리 작업에 참여하도록 초대할 수 있습니다. 관리 Google Play 고객센터를 참고하세요. | |
admin[].이메일 | 설정되지 않음 | ||
방법 | |||
가입 완료 | completionToken 및 enterpriseToken 이 지정된 경우 응답 본문에서 Enterprise 리소스를 반환합니다. | ||
회원 가입 URL | callbackUrl 이 주어지면 URL과 completionToken 를 반환합니다. | ||
enroll | 토큰을 요청과 함께 제출하는 EMM에 호출자를 등록합니다. | ||
getServiceAccount | 서비스 계정과 사용자 인증 정보를 반환합니다. | ||
계정 설정 | API로 기업 인증에 인증하는 데 사용할 계정을 설정합니다. | ||
unenroll | EMM은 등록 해제를 사용하여 두 유형의 기업에 바인딩을 버릴 수 있습니다. ESA 사용자 인증 정보가 아니라 MSA의 EMM 사용자 인증 정보를 사용하여 호출해야 합니다. |
관리 Google Play 계정 엔터프라이즈 등록
EMM 콘솔에서 등록 프로세스를 통합할 수 있습니다. 이 기업 등록 유형에서 프로비저닝된 사용자 계정을 관리 Google Play 계정이라고 하며, Google Play를 통해 앱에 대한 액세스 권한을 제공합니다. 관리 Google Play 계정을 프로비저닝하는 데 사용할 수 있는 Play EMM API에 관한 자세한 내용은 사용자 계정 프로비저닝을 참고하세요.

IT 관리자가 엔터프라이즈를 만드는 프로세스를 시작합니다. 이를 위해 IT 관리자는 다음을 수행합니다.
- EMM 콘솔에 로그인합니다.
- Configure Android(예: Android)를 클릭하거나 선택하면 Google Play에서 호스팅하는 가입 UI로 리디렉션됩니다.
- 가입 UI에서 기업에 대한 세부정보를 제공합니다.
- EMM 콘솔로 리디렉션됩니다.
이제 IT 관리자의 Google 계정이 새 기업의 관리자 계정이 됩니다.
권장사항: Google 보안 가이드라인에 따라 관리자 계정을 안전하게 보호하세요.
기본 요건
IT 관리자용
EMM 콘솔에 대한 액세스 및 콘솔에서 적절한 선택을 하는 데 필요한 권한(예: 메뉴 선택으로 Android 사용해 보기)
Google 계정 이 계정은 G Suite 또는 기타 관리 도메인 계정과 연결된 개인 계정이 아니라 개인 계정이어야 합니다.
EMM 콘솔
관리 Google Play 계정 가입 흐름을 구현하려면 EMM 콘솔에서 다음을 할 수 있어야 합니다.
Play EMM API에서 호출을 호출할 때 MSA 사용자 인증 정보를 사용하세요. MSA는 조직의 엔터프라이즈 서비스 계정 (ESA)이 설정될 때까지 IT 관리자를 대신하여 여러 작업을 호출하는 데 사용됩니다.
보안 URL을 통해 Google에서 제공하는 외부 사이트로의 리디렉션을 처리하여 가입 절차를 시작하고 등록 절차를 완료합니다.
등록 후 ESA 사용자 인증 정보로 구성 가능 EMM 콘솔은 특정 고객 사이트 내에서 많은 기업을 만드는 데 사용될 수 있으므로 각
enterpriseId
을 자체 서비스 계정 및 사용자 인증 정보와 연결하는 방법이 필요합니다.Enterprises.getServiceAccount
를 호출하고Serviceaccountkeys
API를 사용하여 키 관리를 처리하여 고객의 서비스 계정을 만드는 것이 좋습니다. 자세한 내용은 프로그래매틱 방식으로 엔터프라이즈 서비스 계정 만들기를 참조하세요.
Android 가입 프로세스에서는 런타임 시 콘솔 사용을 위한 보안 (https) 서비스를 제공해야 합니다. 이 보안 서비스의 URL은 로컬 URL일 수 있으며 시스템에서 파싱할 수 있도록 형식이 올바른 경우 세션 또는 기타 고유한 식별 정보를 포함할 수 있습니다. 예를 들면 다음과 같습니다.
https://localhost:8080/enrollmentcomplete?session=12345
등록 절차
가입 절차는 5분 이내에 완료할 수 있습니다. 아래 단계에서는 callbackUrl
을 호스팅하는 서버가 실행되어 있다고 가정합니다. 또한 이러한 단계에서는 Console에 Android 사용해 보기가 옵션으로 표시된 메뉴 선택과 같은 UI 구성요소가 포함되어 있다고 가정하고, 이 인증 옵션은 인증된 IT 관리자가 옵션을 선택할 때 가입 절차를 시작합니다.

IT 관리자가 EMM 콘솔에서 등록 요청을 시작합니다.
callbackURL
를 유일한 매개변수로 사용하여Enterprises.generateSignupUrl
를 호출합니다. 예:https://localhost:8080/enrollcomplete?session=12345
응답에는 가입 URL (30분 동안 유효함)과 완료 토큰이 포함됩니다. 완료 토큰을 추출하고 저장합니다.
권장사항: IT 관리자가 등록 요청을 시작할 때 사용한 Google 계정과 완료 토큰을 연결하세요.
generateSignupURL
응답에서url
를 추출합니다.4단계에서 추출한 URL로 리디렉션합니다.
IT 관리자는 가입 UI의 설정 흐름을 따라 엔터프라이즈를 만듭니다.
IT 관리자가 Google 계정으로 로그인하거나 새 계정을 만듭니다.
참고: Google 계정이 이미 관리 Google Play 계정을 만드는 데 사용되었지만 ESA가 설정되지 않은 경우 가입 절차에서 관리자를 EMM 콘솔로 리디렉션하고 8단계의 설정 프로세스를 계속 진행합니다.
IT 관리자에게 EMM 이름이 표시되고 새 엔터프라이즈가 이 EMM에 등록된다는 것을 확인합니다.
IT 관리자가 기업 이름을 입력하고 서비스 약관에 동의합니다.
가입 UI는 2단계에서 지정한 URL을 기반으로 콜백 URL을 생성합니다.
가입 UI가 IT 관리자를 콜백 URL로 리디렉션합니다. 엔터프라이즈 토큰을 추출하여 URL에 저장합니다. 예:
https://localhost:8080/enrollcomplete?session=12345&enterpriseToken=5h3jCC903lop1
Enterprises.completeSignup
를 호출하여completionToken
(3단계) 및enterpriseToken
(8단계)을 전달합니다.이 호출은 응답 본문에서
Enterprises
인스턴스를 반환합니다. 다음과 같은 이유로 나중에 사용할 수 있도록id
,name
, 관리자 이메일을 저장합니다.- 관리 Google Play 계정 기업은
Enterprises.list
를 호출할 때 반환되지 않습니다. - 단일 IT 관리자가 여러 기업을 관리할 수 있습니다. 따라서 관리자 이메일만 저장하면 기업을 식별하기에 부족할 수 있습니다.
- 관리 Google Play 계정 기업은
엔터프라이즈 서비스 계정 (ESA)을 만듭니다. ESA 사용자 인증 정보는 이메일 주소와 비공개 키의 형태를 취합니다. ESA를 만드는 방법에는 두 가지가 있습니다.
- 권장사항: Play EMM API를 사용하여 프로그래매틱 방식으로 ESA를 생성하세요.
- IT 관리자에게 Google API 콘솔에서 ESA를 만들도록 지시하는 페이지를 표시합니다. 자세한 내용은 서비스 계정 만들기를 참조하세요. 관리자에게 프로젝트 > 편집자를 선택하고 비공개 키 다운로드 체크박스를 선택하도록 지시하세요. IT 관리자가 ESA를 만든 후 ESA의 비공개 키 사용자 인증 정보로 콘솔을 구성합니다.
MSA 사용자 인증 정보를 사용하여
setAccount
를 호출하여 이 조직의 ESA를 설정합니다.
등록 절차가 완료되었습니다
- 기업 관리 Google Play 계정이 새로 등록되었습니다.
- IT 관리자의 Google 계정은 기업 관리자로 구성되며 https://play.google.com/work에 액세스하여 기업 앱을 관리할 수 있습니다.
- EMM 콘솔에서 ESA를 사용하여 Google Play EMM API를 통해 엔터프라이즈 데이터를 관리할 수 있습니다.
프로그래매틱 방식으로 ESA 만들기
ESA 키 관리를 간소화하려면 Google Play EMM API를 사용하여 Google API 콘솔 대신 기업의 서비스 계정을 생성하세요. Play EMM API를 통해 생성된 서비스 계정:
- 개발자 또는 기업 소유의 Cloud Console 또는 API 콘솔 프로젝트에 표시되지 않습니다. 프로그래매틱 방식으로 관리해야 합니다.
- 기업 등록 해제 시 삭제됩니다.
프로그래매틱 방식으로 서비스 계정을 생성하려면 다음 안내를 따르세요.
enterpriseId
로Enterprises.getServiceAccount
를 호출하고(등록 프로세스의 10단계 참고) 원하는 키 유형(keyType
)을 지정합니다 (googleCredentials, pkcs12). 시스템이 서비스 계정의 이름과 서비스 계정 비공개 키를 반환합니다 (비공개 키는 Google API 콘솔에서 반환함).Enterprises.setAccount
를 호출하고 엔터프라이즈의 서비스 계정을 설정합니다.
권장사항: IT 관리자에게 ESA 사용자 인증 정보를 변경하도록 요청하세요. EMM 콘솔에서 이 작업을 수행하려면 기존 ESA를 사용하여 setAccount
를 호출하세요.
서비스 계정 키 관리
Enterprises.getServiceAccount
에서 반환된 서비스 계정은 Google에서 투명하게 만듭니다. EMM에서는 이러한 계정에 액세스할 수 없습니다. 하지만 Serviceaccountkeys
API를 Console에 통합하여 고객이 프로그래매틱 방식으로 생성된 ESA 및 키를 직접 관리할 수 있습니다.
Serviceaccountkeys API를 사용하면 기업은 서비스 계정의 활성 사용자 인증 정보를 삽입, 삭제, 나열할 수 있습니다. 이러한 API는 기업에 설정된 ESA로 승인되고 ESA가 getServiceAccount
에서 생성된 상태여야 합니다. 즉, 기업에서 Enterprises.getServiceAccount
에 의해 생성된 서비스 계정을 사용하여 Enterprises.setAccount
를 호출하면 해당 기업만 Serviceaccountkeys API에서 호출을 호출하여 계정을 관리할 수 있습니다.
표 2. Serviceaccountkeys API
필드 | |
id | 서버에서 할당한 ServiceAccountKey의 불투명한 고유 문자열 식별자입니다. |
kind | 고정 문자열 androidenterprise#serviceAccountKey 를 사용하여 리소스를 식별합니다. |
유형 | 생성된 키 데이터의 파일 형식입니다. 사용 가능한 값은 다음과 같습니다.
|
데이터 | 비공개 사용자 인증 정보 파일의 본문을 구성하는 문자열입니다. 생성 시 채워집니다. Google에 저장되지 않습니다. |
방법 | |
delete | enterpriseId 및 keyId 로 지정된 서비스 계정에 지정된 사용자 인증 정보를 삭제하고 무효화합니다.
|
insert | 기업과 연결된 서비스 계정의 새 사용자 인증 정보를 생성합니다. |
list | 기업과 관련된 서비스 계정의 모든 활성 사용자 인증 정보를 나열합니다. ID와 키 유형만 반환합니다. |
알림
Enterprises.pullNotificationSet
를 호출하여 프로그래매틱 방식으로 생성된 ESA에서 알림을 받을 수 있습니다.
자세한 내용은 EMM 알림 설정을 참조하세요.
Google 도메인 기반 엔터프라이즈 등록
Google 도메인 기반 엔터프라이즈 등록을 지원하려면 EMM 콘솔, 조직, Google 간에 연결을 설정해야 합니다.
기본 요건
조직에 관리형 Google 도메인, EMM 등록 토큰, 엔터프라이즈 서비스 계정 (ESA)이 있어야 합니다. IT 관리자를 위한 이러한 세부정보를 얻는 방법은 Android Enterprise 고객센터를 참고하세요.
관리 Google 도메인
조직의 IT 관리자가 G Suite에 가입할 때 관리형 도메인의 소유권을 주장한 경우 Google 관리 콘솔에서 Android 관리 사용 설정에 서명할 수 있습니다. 조직에 관리 Google 도메인이 없는 경우 IT 관리자는 Google의 일회성 웹 등록 프로세스를 거쳐야 합니다.
EMM 토큰
IT 관리자는 Google 관리 콘솔 (보안 > Android용 EMM 공급자 관리)에서 EMM 토큰을 가져올 수 있습니다.
ESA
관리자 또는 조직의 IT 관리자는 일반적으로 EMM 콘솔과 연결된 프로젝트에서 Google API 콘솔을 통해 ESA를 만들 수 있습니다. ESA에는 사용자를 대신하여 취한 조치에 대해 계정을 인증하는 이름, ID, 키가 있습니다. ID의 형식은 @ 기호 앞에 있는 서비스 계정의 이름과 Google 서비스 정보 (예:some-orgs-esa@myemmconsole313302.iam.gserviceaccount.com)가 포함된 이메일 주소와 유사합니다.
등록 절차
- IT 관리자는 Google 관리 콘솔에서 EMM 토큰을 받습니다.
- IT 관리자가 EMM 토큰을 공유해 사용자가 도메인에서 Android를 관리하도록 승인합니다.
- EMM 콘솔을 통해 EMM 토큰을 사용하여
Enterprises.enroll
를 호출합니다. 이렇게 하면 조직의 Android 솔루션이 Google 도메인에 결합됩니다.enroll
메서드는 나중에list
메서드를 사용하여 검색할 수 있는 고유한enterpriseId
를 반환합니다 (Google 도메인 기반 기업만 해당).- 원하는 경우 API 호출을 통해 이러한 세부정보를 가져오는 것을 방지하기 위해 결합에 관한 정보 (
enterpriseId
,primaryDomain
)를 Datastore에 저장할 수 있습니다. Google 계정 시나리오에서 조직의primaryDomain
는 조직을 EMM 및 Google에 식별하는 고유 키입니다.
- Google Play EMM API를 조직별로 호출하려면 다음 단계를 따르세요.
- 기업을 대신하여 ESA를 만들거나 관리자가 ESA를 만든 후 이를 공유합니다.
- EMM 콘솔을 통해 ESA의
enterpriseId
및 이메일 주소를 사용하여setAccount
를 호출합니다. 이를 통해 ESA는 기업에서 API에 인증할 수 있습니다.
예
다음은 primaryDomainName
, serviceAccountEmail
, authenticationToken
이 지정된 조직을 등록하는 예시입니다.
public void bind(String primaryDomainName, String serviceAccountEmail, String authenticationToken) throws IOException { Enterprise enterprise = new Enterprise(); enterprise.setPrimaryDomain(primaryDomainName); Enterprise result = androidEnterprise.enterprises() .enroll(authenticationToken, enterprise) .execute(); EnterpriseAccount enterpriseAccount = new EnterpriseAccount(); enterpriseAccount.setAccountEmail(serviceAccountEmail); androidEnterprise.enterprises() .setAccount(result.getId(), enterpriseAccount) .execute(); }
이 예에서는 자바용 클라이언트 라이브러리와 com.google.api.services.androidenterprise.model
패키지의 AndroidEnterprise
서비스 클래스를 사용합니다. 샘플에 표시된 절차는 다음 단계로 요약할 수 있습니다.
bind
에서 제공한 매개변수, 기본 도메인 이름, 서비스 계정 이메일 주소, EMM 등록 토큰이 포함된 모델 클래스를 사용하여 새AndroidEnterprise
객체를 만듭니다.- 새로 만든 엔터프라이즈 객체의 기본 도메인 이름을 지정합니다.
- 등록 메서드를 호출하여 엔터프라이즈 객체와 등록 토큰을 제공합니다.
- 고객의 ESA ID(
serviceAccountEmail
)를 사용하여 새 EnterpriseAccount 객체를 만듭니다. enterpriseId
(3단계에서 반환됨) 및enterpriseAccount
필드를 모두 제공하여 계정을 설정합니다.
원하는 경우 API 호출을 통해 이러한 세부정보를 가져오는 것을 방지하기 위해 결합에 관한 정보 (enterpriseId
, primaryDomain
)를 Datastore에 저장할 수 있습니다. Google 계정 시나리오에서 조직의 primaryDomain
는 조직을 EMM 및 Google에 식별하는 고유 키입니다.
온프레미스 배포 설정
조직의 데이터에 액세스할 수 없게 되어 사이트에 액세스할 수 없는 경우, 서버에 ESA에 대한 활성 사용자 인증 정보가 표시되지 않도록 해야 합니다. 이를 위해 사이트에서 ESA 사용자 인증 정보 세트를 생성하고 저장합니다.
- 등록 절차를 완료합니다.
- 11단계와 같이 MSA를 사용하여
getServiceAccount
를 호출합니다. 이렇게 하면 ESA 사용자 인증 정보가 생성됩니다. - 12단계와 같이 ESA에서
setAccount
를 사용하여 이 조직의 ESA로 설정합니다.
- 11단계와 같이 MSA를 사용하여
- ESA를 조직의 온프레미스 서버로 전달합니다.
- 온프레미스 서버에서 다음 단계를 수행합니다.
Serviceaccountkeys.insert
를 호출하여 ESA의 새 키를 만듭니다. 이 비공개 키는 Google 서버에 저장되지 않으며 계정이 생성되면 한 번만 반환됩니다. 다른 방법으로는 액세스할 수 없습니다.- 새 ESA 사용자 인증 정보를 사용하여
Serviceaccountkeys.list
를 호출합니다. 그러면 활성 서비스 계정 사용자 인증 정보가 반환됩니다. Serviceaccountkeys.delete
를 호출하여 온프레미스에서 방금 만든 ESA 사용자 인증 정보를 제외한 모든 사용자 인증 정보를 삭제합니다.- (선택사항)
Serviceaccountkeys.list
를 호출하여 현재 온프레미스에서 사용 중인 사용자 인증 정보가 서비스 계정에 유효한 유일한 사용자 인증 정보인지 확인합니다.
이제 온프레미스 서버가 ESA 사용자 인증 정보를 보유한 유일한 서버입니다. getServiceAccount
를 통해 생성된 ESA만 ServiceAccountKeys
에 액세스할 수 있습니다. MSA는 이 함수를 호출할 수 없습니다.
권장사항: MSA (마스터 서비스 계정) 사용자 인증 정보를 온프레미스에 저장하지 마세요. 각 온프레미스 배포에 별도의 ESA를 사용합니다.
기업 등록 해제, 재등록, 삭제하기
등록 해제
기업을 EMM 솔루션에서 결합 해제하려면 unenroll
를 사용하세요. 기업은 등록 해제 시 삭제되지 않지만 EMM 관리 사용자와 모든 관련 사용자 데이터는 30일 후에 삭제됩니다. 다음은 구현의 예입니다.
public void unbind(String enterpriseId) throws IOException {
androidEnterprise.enterprises().unenroll(enterpriseId).execute();
}
권장사항: 기업 이름 및 기업 ID 매핑용 Datastore가 있는 경우 unenroll
를 호출한 후 Datastore에서 정보를 삭제하세요.
재등록
IT 관리자는 기존 enterpriseId
를 사용하여 기업을 재등록할 수 있습니다. 그러려면 소유자 수준 계정으로 로그인한 다음 등록 절차를 따릅니다.
재등록 과정은 투명합니다. 리디렉션 URL (8단계)에서 반환된 엔터프라이즈 토큰이 새 엔터프라이즈인지 이전에 다른 EMM에 등록된 엔터프라이즈인지 확인할 수 없습니다.
이전에 기업을 EMM 솔루션에 등록한 경우 기업 ID를 인식할 수 있습니다. IT 관리자가 기업에서 등록을 취소한 후 30일 이내에 기업을 재등록하면 EMM 관리 사용자 및 관련 사용자 데이터를 복원할 수 있습니다. 이전에 기업을 다른 EMM으로 등록한 경우 다른 EMM에서 만든 EMM 관리 사용자의 사용자 ID에는 액세스할 수 없습니다. 이러한 사용자 ID는 EMM과 관련이 있기 때문입니다.
삭제
IT 관리자는 관리 Google Play에서 기업을 삭제할 수 있습니다. 24시간 이내에 기업의 데이터, 계정, 라이선스 할당, 기타 리소스를 관리자, 최종 사용자, 관리자가 액세스할 수 없게 됩니다. 따라서 API를 호출하면 enterpriseId
매개변수에 HTTP 404: Not Found
상태 코드가 반환됩니다. EMM 콘솔에서 이 오류를 처리하려면 엔터프라이즈와의 연결을 삭제하기 전에 IT 관리자에게 확인을 요청하세요.