ID 프로비저닝 (또는 계정 프로비저닝)은 계정을 설정하고 세 가지 시스템 간에 연결을 설정하는 프로세스이며 경우에 따라 사용자와 기기 간의 연결을 설정하는 프로세스입니다.
Android Enterprise 환경에서는 최대 세 개의 서로 다른 시스템에 계정 정보가 보관됩니다.
- 조직의 사용자 디렉터리는 사용자에 관한 확실한 정보 소스입니다.
- EMM 솔루션 제공업체는 최소한 조직 사용자의 디렉터리를 유지해야 합니다.
- Google은 Google Play를 통해 앱 관리를 제공하기 위해 관리 Google Play 계정 및 Google 계정에 관한 일부 정보를 유지합니다.
Users
리소스는 기업과 연결된 계정을 나타냅니다. 계정은 기기별로 지정될 수도 있고, 여러 기기 (휴대전화, 태블릿 등)를 보유하고 모든 기기에서 해당 계정을 사용하는 개인과 연결될 수도 있습니다. 계정은 고객의 기업 설정에 따라 관리 Google Play에만 액세스 권한을 제공하거나 다른 Google 서비스에 액세스 권한을 제공할 수 있습니다.
관리 Google Play 계정은 기업이 기업 모바일 관리 (EMM) 솔루션 제공업체를 통해 사용자 또는 기기 계정을 자동으로 생성할 수 있는 투명한 수단을 제공합니다. 이러한 계정은 관리 Google Play에 대한 액세스 권한만 제공합니다.
Google 계정은 Google에서 관리하는 기존 계정이며 Google 계정 소스에 동기화해야 합니다.
표 1: Users API 필드 및 메서드
관리 Google Play 계정 | Google 관리형 계정 | |
---|---|---|
필드 | ||
id | ||
kind | ||
accountIdentifier | 개발자가 만들고 Google Play에서 반환된 ID (userId )에 매핑하는 고유 식별자입니다. 개인 식별 정보 (PII)를 사용하지 마세요. | 설정되지 않았습니다. |
accountType | deviceAccount, userAccount | userAccount |
displayName | Google Play와 같이 UI 항목에 표시할 이름입니다. 개인 식별 정보를 사용하지 마세요. | 설정되지 않았습니다. |
managementType | emmManaged | googleManaged, emmManaged |
primaryEmail | 설정되지 않았습니다. | 이 필드는 Google에서 관리하는 도메인 계정에서 시스템의 사용자 계정으로의 동기화를 관리하는 기본 키입니다. |
메서드 | ||
delete | ||
generateAuthenticationToken | ||
generateToken | ||
get | ||
getAvailableProductSet | ||
insert | ||
list | ||
revokeToken | ||
setAvailableProductSet | ||
update |
관리 Google Play 계정
관리 Google Play 계정에는 두 가지 유형이 있습니다.
- 사용자 계정
- 단일 사용자가 모든 기기에서 관리 Google Play에 액세스할 수 있도록 합니다. 관리자는 사용자를 위해 사용자 계정을 프로비저닝해야 합니다. 사용자에게는 관리 Google Play 계정을 직접 추가할 수 있는 사용자 인증 정보가 없습니다.
- 사용자 계정을 만들려면
Users.insert
를 호출합니다. 계정 유형을userType
로 설정하고 기업 내에서 사용자를 고유하게 참조하는accountIdentifier
를 설정합니다. - 권장사항: 10대 이상의 기기에서 동일한 계정을 사용하지 마세요.
- 기기 계정
- 단일 기기에서 관리 Google Play에 액세스할 수 있도록 지원합니다. 기기 계정에 인증 토큰이 발급된 경우 해당 기기 계정의 인증 토큰에 대한 새 요청으로 이전 토큰이 비활성화됩니다. 각 기기에 앱을 위한 별도의 라이선스가 있어야 합니다.
- 기기 계정을 만들려면
Users.insert
를 호출하고 계정 유형을deviceType
로 설정합니다.
사용자 또는 기기 ID와 상응하는 관리 Google Play 계정 간의 매핑을 생성하고 유지하며 계정 수명 주기를 통해 계정을 관리합니다. 이러한 관리 Google Play 계정은 순전히 애플리케이션 관리를 위해 존재하므로 조직에서 직접 관리할 필요가 없습니다.
EMM 콘솔 및 서버 요구사항
관리 Google Play 계정은 EMM 솔루션 구성요소 (EMM 콘솔, EMM 서버, DPC) 전반에서 Google Play EMM API 및 Android 프레임워크 API를 사용하여 프로그래매틱 방식으로 주문형으로 생성됩니다. 이러한 구성요소는 런타임에 상호작용하여 사용자 계정을 만들고 대상 기기에 업무 프로필을 프로비저닝합니다.
EMM 콘솔 또는 서버는 다음을 충족해야 합니다.
Users.insert
호출에 사용할 고유한 익명 계정 식별자(accountIdentifier
필드)를 만드는 메커니즘을 제공합니다. 예를 들어 사용자의 내부 값 ('sanjeev237389')이나 난해한 애셋 태그 번호 ('asset#44448')를 사용할 수 있습니다. 계정 식별자로 개인 식별 정보 (PII)를 사용하지 마세요.userId
(insert
호출에서 반환됨)와 선택한accountIdentifier
간의 매핑을 저장합니다.
DPC 요구사항은 기기 정책 컨트롤러 빌드를 참고하세요.
관리 Google Play 사용자 계정 만들기
- 사용자가 일반적으로 회사 사용자 인증 정보를 사용하여 DPC에 로그인합니다.
- DPC는 EMM 서버 또는 콘솔에서 사용자에 관한 세부정보를 요청합니다.
시스템에서 사용자를 알 수 없는 경우 다음 단계를 따르세요.
- 새
accountIdentifier
,displayName
,accountType
값으로Users.insert
를 호출하여 새 관리 Google Play 계정에 대한 요청을 제출합니다.- 시스템에서
accountIdentifier
를 만들어야 합니다. 계정 식별자는 시스템 전체에서 고유한 값이어야 합니다. 계정 식별자로 PII를 사용하지 마세요. displayName
는 Google Play 스토어의 계정 전환 도구에 표시되며 사용자에게 의미가 있어야 하지만 사용자에 관한 PII는 아닙니다. 예를 들어 조직 이름이나 EMM과 관련된 일반 이름을 포함할 수 있습니다.accountType
을userAccount
또는deviceAccount
로 설정합니다.userAccount
는 여러 기기에서 사용할 수 있지만deviceAccount
는 단일 기기에만 적용됩니다. 지정된accountType
는deviceType
또는userType
일 수 있습니다.managementType
를emmManaged
로 설정합니다.
- 시스템에서
- Google Play에서 요청을 처리하고 계정을 만들고
userId
를 반환합니다. accountIdentifier
와userId
간의 매핑을 데이터 스토어에 저장합니다.userId
및enterpriseId
를 사용하여Users.generateAuthenticationToken
를 호출합니다. Google Play는 한 번 사용할 수 있고 몇 분 이내에 사용해야 하는 인증 토큰을 반환합니다.- 인증 토큰을 DPC에 안전하게 전달합니다.
- 새
- DPC는 직장 프로필을 프로비저닝하고 직장 프로필 또는 기기에 계정을 추가합니다.
- 사용자는 직장 프로필 또는 기기 내에서 관리 Google Play에 액세스할 수 있습니다.
관리자 계정
관리자가 기업용 관리 Google Play 계정으로 기업을 만들 때 사용하는 Google 계정은 G Suite 계정이 될 수 없습니다. 이 사용자가 사용하는 계정이 기업의 소유자가 되며 소유자는 관리 Google Play Console에서 소유자와 관리자를 더 추가할 수 있습니다.
Enterprises.get
및 Enterprises.completeSignup
는 모두 기업(기업용 관리 Google Play 계정이 있는 기업만 해당)과 연결된 관리자 이메일 주소 목록을 반환합니다.
계정 수명 주기 관리
관리 Google Play 계정 배포에서는 사용자 및 기기 계정 수명 주기를 담당합니다. 즉, 이러한 계정을 만들고, 업데이트하고, 삭제합니다.
기기 프로비저닝 중에 계정을 만듭니다. 이 프로세스에는 DPC 앱과 EMM 콘솔이 사용됩니다. 자세한 내용은 관리 Google Play 계정 방법을 참고하세요.
계정 정보를 변경하려면 Users.update를 호출합니다.
계정을 삭제하려면 Users.delete를 호출합니다.
관리자는 개별 계정을 삭제할 수는 없지만 기업용 관리 Google Play 계정이 있는 기업은 삭제할 수 있습니다. 이렇게 하면 등록 해제, 재등록, 삭제에 설명된 대로 기업과 연결된 기기 및 사용자 계정이 최종적으로 삭제됩니다.
계정 만료
계정 또는 토큰이 만료되는 경우가 있습니다. 이는 다음과 같은 여러 가지 이유로 발생할 수 있습니다.
- 기기에 계정을 추가하기 위해 가져온 인증 토큰이 만료되었습니다.
- 계정 또는 기업이 삭제되었습니다.
- 기기 계정의 경우 계정이 새 기기에 추가되어 이전 기기에서 사용 중지됩니다.
- 자동 악용사례 검사가 트리거됩니다.
- 기기가 270일 이상 오프라인 상태이면 일괄 정리 프로세스로 인해 정보가 삭제될 수 있습니다.
대부분의 경우 (EMM에서 의도적으로 기기 계정을 새 기기로 이동하는 경우 제외) Play EMM API를 사용하여 EMM 서버에서 새 토큰을 요청하고 계정 및 기업의 상태와 반환된 오류를 기록한 다음 기기에서 적절한 조치를 취하는 것이 가장 좋습니다. 예를 들어 토큰을 갱신하거나 오류를 복구할 수 없는 경우 기기를 재설정하거나 등록 해제합니다.
토큰을 올바르게 갱신하려면 다음을 실행해야 합니다.
users.generateAuthenticationToken
를 호출하여 계정의 새 인증 토큰을 요청합니다.- 호출이 성공하면 기존 계정을 삭제하고 DPC 지원 라이브러리를 사용하여 새 계정을 추가합니다.
- 호출에 실패하면 기기에서 계정을 삭제하고
users.insert
를 사용하여 새 사용자를 만들고 인증 토큰을 생성한 후 계정을 기기에 추가합니다.
Google Play 서비스 버전 9.0.00은 브로드캐스트 작업을 사용하여 계정이 만료되었다고 DPC에 알립니다.
기기에서 관리 Google Play 계정이 무효화되면 DPC는 다음 작업이 포함된 브로드캐스트를 수신합니다.
com.google.android.gms.auth.ACCOUNT_REAUTH_REQUIRED
브로드캐스트 인텐트에는 이름이
account
인Parcelable
추가 항목이 포함되어 있으며, 이는 무효화된 계정의
객체입니다.Account
DPC는 EMM 서버와
Account#name
를 확인하여 무효화된 계정을 식별합니다.DPC는 처음에 기기를 프로비저닝하는 데 사용된 것과 동일한 흐름에 따라 새 사용자 인증 정보 또는 새 계정을 요청합니다.
Google 계정
Google 계정을 사용하는 조직의 경우 EMM 솔루션의 사용자 계정이 다른 Google 서비스(예: G Suite)와 연결된 기존 사용자 계정을 미러링합니다. 이러한 계정은 googleManaged
(표 1)입니다. Google의 백엔드 서비스가 계정 생성 및 계정 정보의 소스이기 때문입니다.
EMM은 Google Cloud 디렉터리 동기화 (GCDS) 및 Google Admin SDK Directory API와 같은 도구를 사용하여 시스템에 있는 사용자 계정을 Google 도메인 계정 소스와 지속적으로 동기화하고 만들 수 있는 메커니즘을 콘솔에 제공할 수 있습니다. 다양한 접근 방식에 관한 개요를 확인하세요. Google에서 관리하는 도메인 ID 모델을 사용하려면 사용자 계정이 솔루션 컨텍스트 (EMM 콘솔, EMM 서버, 데이터 스토어 등)에 있어야 직장 프로필 컨텍스트에서 사용자 기기에 프로비저닝할 수 있습니다.
ID 프로비저닝 중에 조직의 Google 관리 도메인에 사용자 계정이 채워집니다. 경우에 따라 사용자의 기존 온라인 ID(예: Microsoft Exchange 계정)가 Google 계정과 동기화됩니다.
초기 동기화 후 앱이 사용자 기기에 배포되기 전에 사용자는 기기에서 계정 활성화에 설명된 대로 Google 계정을 활성화해야 합니다. 이렇게 활성화하면 기기가 관리 Google Play에 액세스할 수 있습니다.
고객 계정 동기화
Google 계정 배포에서 조직은 GCDS 도구를 사용하여 G Suite 도메인의 데이터를 LDAP 디렉터리의 데이터와 동기화할 수 있습니다. 또는 조직에서 액세스 권한을 부여한 경우 GCDS를 사용하여 조직을 대신해 이 작업을 할 수 있습니다.
GCDS 도구는 Google 디렉터리 API를 호출하고 사용자 이름을 동기화하지만 비밀번호는 동기화하지 않습니다.
조직에서 Microsoft Active Directory를 사용하고 사용자의 G Suite 비밀번호를 Active Directory 비밀번호와 동기화 상태로 유지하려는 경우 GCDS와 함께 G Suite 비밀번호 동기화 (GSPS) 도구를 사용할 수 있습니다.
관리자를 위한 GCDS 안내는 동기화를 위해 G Suite 도메인 준비를 참고하세요.
Google Directory API
Google 계정 배포에서 Google Directory API를 사용하여 활성 디렉터리, 비밀번호 또는 둘 다를 동기화할 수 있습니다.
디렉터리 전용 동기화에 Directory API 사용 조직의 관리 Google 도메인에 대한 읽기 전용 액세스 권한이 있는 경우 Google Directory API를 사용하여 Google에서 사용자 이름 (비밀번호 제외)과 같은 Google 계정 정보를 가져올 수 있습니다. 사용자의 Google 계정에 데이터를 쓸 수 없으므로 조직에서 계정 수명 주기에 대한 모든 책임을 집니다.
시나리오 1 및 SAML 기반 SSO 인증 시나리오에서 이 상황을 더 자세히 설명합니다.
이러한 방식으로 Directory API를 사용하는 방법에 관한 자세한 내용은 Directory API 문서의 모든 계정 사용자 검색을 참고하세요.
디렉터리 및 선택적 비밀번호 동기화에 Directory API 사용 조직의 관리 Google 도메인에 대한 읽기/쓰기 액세스 권한이 있는 경우 Google Directory API를 사용하여 사용자 이름, 비밀번호, 기타 Google 계정 정보를 가져올 수 있습니다. 이 정보를 업데이트하고 자체 데이터베이스와 동기화할 수 있으며, 고객에게 제공하는 솔루션에 따라 계정 수명 주기에 대한 전부 또는 일부 책임이 있을 수 있습니다.
시나리오 2에서 이 상황을 더 자세히 설명합니다.
Directory API를 사용하여 사용자 계정 정보를 관리하는 방법에 관한 자세한 내용은 Directory API: 사용자 계정 개발자 가이드를 참고하세요.
Google 계정 시나리오
몇 가지 일반적인 Google 계정 ID 프로비저닝 시나리오는 아래에 설명되어 있습니다.
시나리오 1: 고객이 계정 수명 주기에 대한 책임을 지음
이 시나리오에서 고객은 사용자를 위해 Google 계정을 만들고 유지 관리합니다.
조직의 LDAP 디렉터리에서 사용자 계정 정보를 가져와 Google Directory API를 통해 Google에서 가져온 Google 계정 데이터와 상관시킵니다.
조직은 계정 수명 주기에 대한 모든 책임을 집니다. 예를 들어 새 Google 계정이 생성되면 조직에서 사용자를 LDAP 디렉터리에 추가합니다. 다음에 데이터베이스를 LDAP 디렉터리에 동기화하면 데이터베이스에 이 새 사용자에 관한 정보가 수신됩니다.
이 시나리오에서는 다음과 같습니다.
- Google 계정에 대한 읽기 전용 액세스 권한이 있습니다.
- 데이터베이스는 Google 계정 이름을 가져오지만 LDAP 사용자 이름이나 비밀번호는 가져오지 않습니다.
- Google Directory API를 사용하여 고객 사용자의 기본 계정 정보를 가져옵니다. 개발자가 사용할 수 있는 정보는
Users.get
요청에서 반환되는 쓰기 불가능한 정보입니다. 이 정보를 사용하여 사용자가 기기에 인증할 수 있도록 사용자의 Google 계정이 있는지 확인합니다. - 고객이 GCDS 도구를 사용하여 일방향 동기화를 실행하여 사용자의 Google 계정을 채웁니다. 조직은 ID 프로비저닝이 완료된 후에도 자체 동기화를 위해 GCDS를 사용할 수 있습니다. 원하는 경우 조직에서 GSPS 도구를 사용하여 사용자 이름뿐만 아니라 비밀번호도 동기화할 수 있습니다.
시나리오 2: 계정 수명 주기를 담당하는 EMM
이 시나리오에서는 개발자가 고객을 대신하여 Google 계정을 만드는 프로세스를 처리하고 사용자의 계정 수명 주기를 담당합니다.
예를 들어 조직의 LDAP 디렉터리에서 사용자 정보가 변경되면 사용자의 Google 계정을 업데이트해야 합니다. 이 시나리오에서는 GCDS가 사용되지 않습니다.
이 시나리오에서는 다음과 같습니다.
- Google 계정에 대한 읽기 및 쓰기 액세스 권한이 있습니다.
- 데이터베이스는 Google 계정 이름과 LDAP 사용자 이름 (선택적으로 비밀번호 해시)을 획득합니다.
- 고객을 대신하여 Google Directory API를 사용하여 조직 사용자의 계정 정보를 읽고 씁니다. 개발자가 사용할 수 있는 정보는
Users.get
요청에서 반환되는 쓰기 불가능한 정보입니다. 이 정보를 사용하여 사용자가 기기에 인증할 수 있도록 사용자의 Google 계정이 있는지 확인합니다. - GCDS 도구는 사용되지 않습니다.
SAML 기반 SSO 인증 시나리오
Google 계정 배포에서 관리자 또는 고객은 ID 공급업체 (IdP)와 함께 보안 보장 마크업 언어 (SAML)를 사용하여 각 사용자와 연결된 Google 계정을 인증할 수 있습니다. Google 계정 이름은 사용자가 기기에 로그인할 때 사용자 인증에 필요한 사용자의 Google 계정이 존재하는지 확인하는 데 사용됩니다. 예를 들어 시나리오 2에서는 SAML을 사용할 수 있습니다. 설정 방법에 관한 자세한 내용은 G Suite 계정에 싱글 사인온 (SSO) 설정하기를 참고하세요.
기기에서 계정 활성화
앱을 관리 Google Play를 통해 사용자 기기에 배포하려면 사용자가 기기 프로비저닝 중에 기기에 로그인해야 합니다.
- 관리 Google Play 계정 기기 프로비저닝에서는 DPC가 사용자에게 EMM 콘솔에서 허용하는 사용자 인증 정보(일반적으로 회사 이메일 사용자 인증 정보)를 사용하여 로그인하라고 안내합니다.
- Google 계정 배포에서 DPC는 사용자에게 Google 계정 로그인 사용자 인증 정보를 입력하도록 안내합니다. 일반적으로 이러한 사용자 인증 정보는 GCDS 또는 GSPS와 동기화되거나 조직에서 인증에 IdP를 사용하는 경우 사용자가 회사 도메인에 로그인할 때 사용하는 사용자 인증 정보와 일치합니다. 이렇게 하면 사용자의 Google 계정이 활성화되고 고유한 기기 ID가 생성되며 사용자의 Google 계정 ID와 기기의 기기 ID가 결합됩니다.