사용자 계정 프로비저닝

ID 프로비저닝 (또는 계정 프로비저닝)은 계정을 설정하고 세 시스템 간에 연결을 설정하며 경우에 따라 사용자와 기기 간에 연결을 설정하는 프로세스입니다.

Android 엔터프라이즈 환경에서는 세 개의 서로 다른 시스템이 계정 정보를 보유합니다.

  • 조직의 사용자 디렉터리는 사용자에 대한 정보의 결정적인 소스입니다.
  • 개발자 (EMM 솔루션 제공업체)는 조직 사용자의 최소 디렉터리 이상을 유지해야 합니다.
  • Google은 Google Play를 통해 앱 관리를 제공하기 위해 Managed 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기기 계정, 사용자 계정userAccount
displayNameGoogle Play 내부와 같은 UI 항목에 표시하는 이름입니다. 개인 식별 정보를 사용하지 마세요.설정되지 않았습니다.
managementTypeemmManagedgoogleManaged, 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 계정은 순전히 애플리케이션 관리 목적으로만 존재하므로 조직에서는 이러한 관리 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 사용자 계정 만들기

  1. 사용자는 일반적으로 회사 사용자 인증 정보를 사용하여 DPC에 로그인합니다.
  2. DPC가 EMM 서버 또는 콘솔에서 사용자에 관한 세부정보를 요청합니다. 시스템에서 사용자를 알 수 없다고 가정합니다.
    1. accountIdentifier, displayName, accountType 값으로 Users.insert를 호출하여 새 관리 Google Play 계정 요청을 제출합니다.
      • 시스템에서 accountIdentifier를 만들어야 합니다. 계정 식별자는 시스템 전체에서 고유한 값이어야 합니다. 계정 식별자로 PII를 사용하지 마세요.
      • displayName는 Google Play 스토어의 계정 전환 도구에 표시되며 사용자에게 의미가 있어야 합니다 (사용자에 관한 PII는 아님). 예를 들어 이름에는 조직 이름 또는 EMM과 관련된 일반적인 이름이 포함될 수 있습니다.
      • accountTypeuserAccount 또는 deviceAccount로 설정합니다. userAccount는 여러 기기에서 사용할 수 있는 반면 deviceAccount는 단일 기기에만 사용할 수 있습니다. 지정된 accountTypedeviceType 또는 userType일 수 있습니다.
      • managementTypeemmManaged로 설정합니다.
    2. Google Play가 요청을 처리하고 계정을 만든 다음 userId를 반환합니다.
    3. accountIdentifieruserId 간의 매핑을 Datastore에 저장합니다.
    4. userIdenterpriseId를 사용하여 Users.generateAuthenticationToken를 호출합니다. Google Play가 한 번 사용할 수 있으며 몇 분 이내에 사용해야 하는 인증 토큰을 반환합니다.
    5. 인증 토큰을 DPC에 안전하게 전달합니다.
  3. DPC가 직장 프로필을 프로비저닝하고 직장 프로필 또는 기기에 계정을 추가합니다.
  4. 사용자는 직장 프로필 또는 기기 내에서 관리 Google Play에 액세스할 수 있습니다.

관리자 계정

관리자가 관리 Google Play 계정으로 기업을 만들면 관리자가 사용하는 Google 계정으로 G Suite 계정을 사용할 수 없습니다. 소유자가 사용하는 계정이 기업의 소유자가 되며, 소유자는 관리 Google Play Console에서 소유자와 관리자를 추가할 수 있습니다.

Enterprises.getEnterprises.completeSignup는 모두 기업(관리 Google Play 계정이 있는 기업만 해당)에 연결된 관리자 이메일 주소 목록을 반환합니다.

계정 수명 주기 관리

관리 Google Play 계정 배포에서는 사용자 및 기기 계정 수명 주기를 담당합니다. 즉, 이러한 계정을 생성, 업데이트, 삭제합니다.

DPC 앱 및 EMM 콘솔이 포함된 프로세스인 기기 프로비저닝 중에 계정을 만듭니다. 자세한 내용은 관리 Google Play 계정 방법을 참고하세요.

계정 정보를 변경하려면 Users.update를 호출합니다.

계정을 삭제하려면 Users.delete를 호출합니다.

관리자는 개별 계정을 삭제할 수 없지만 관리 Google Play 계정이 있는 기업은 삭제할 수 있습니다. 이렇게 하면 등록 해제, 재등록, 삭제에 설명된 대로 기업과 연결된 기기 및 사용자 계정이 결국 삭제됩니다.

계정 만료

계정 또는 토큰이 만료되는 데에는 여러 가지 이유가 있을 수 있습니다.

  • 기기에 계정을 추가하기 위해 획득한 인증 토큰이 만료되었습니다.
  • 계정 또는 기업이 삭제되었습니다.
  • 기기 계정의 경우 계정이 새 기기에 추가되었으므로 이전 기기에서 사용 중지됩니다.
  • 자동 악용사례 검사가 트리거됩니다.

대부분의 경우 (EMM이 의도적으로 기기 계정을 새 기기로 이동하지 않는 한) Play EMM API를 사용하여 EMM 서버에서 새 토큰을 요청하고 계정 및 엔터프라이즈의 상태와 반환된 오류를 확인한 다음 기기에서 적절한 조치를 취하는 것이 좋습니다. 예를 들어 토큰을 새로고침하거나 오류를 복구할 수 없다면 기기를 재설정하거나 등록 해제합니다.

Google Play 서비스 버전 9.0.00은 브로드캐스트 작업을 사용하여 계정이 만료되었음을 DPC에 알립니다.

  1. 관리 Google Play 계정이 기기에서 무효화되면 DPC는

    com.google.android.gms.auth.ACCOUNT_REAUTH_REQUIRED
    작업을 통해 브로드캐스트를 수신합니다.

    브로드캐스트 인텐트에는 무효화된 계정의 Account 객체인 이름이 accountParcelable 추가 항목이 포함되어 있습니다.

  2. DPC는 EMM 서버에서 Account#name를 확인하여 무효화된 계정을 식별합니다.

  3. DPC는 처음에 기기를 프로비저닝하는 데 사용된 것과 동일한 흐름에 따라 새 사용자 인증 정보 또는 새 계정을 요청합니다.


Google 계정

Google 계정을 사용하는 조직의 경우 EMM 솔루션의 사용자 계정은 다른 Google 서비스(예: G Suite)와 연결된 기존 사용자 계정을 미러링합니다. 이러한 계정은 Google의 백엔드 서비스가 계정 생성 및 계정 정보의 소스이므로 googleManaged(표 1)입니다.

EMM은 Google Cloud 디렉터리 동기화 (GCDS)Google Admin SDK Directory API와 같은 도구를 사용하여 시스템에 저장된 사용자 계정을 생성하고 지속적으로 동기화할 수 있는 메커니즘을 콘솔에 제공할 수 있습니다. Google 관리 도메인 ID 모델을 사용하려면 사용자 계정이 직장 프로필의 컨텍스트에서 사용자 기기에 프로비저닝되기 전에 솔루션의 컨텍스트 (EMM 콘솔, EMM 서버, 데이터 스토어에 있을 수 있음)에 있어야 합니다.

ID 프로비저닝 중에 조직의 Google 관리 도메인은 사용자 계정으로 채워집니다. 사용자의 기존 온라인 ID(예: Microsoft Exchange 계정)가 Google 계정과 동기화되는 경우도 있습니다.

초기 동기화 후 앱이 사용자 기기에 배포되기 전에 기기에서 계정 활성화에 설명된 대로 사용자가 Google 계정을 활성화해야 합니다. 이렇게 활성화하면 기기에서 관리 Google Play에 액세스할 수 있습니다.

고객 계정 동기화

Google 계정 배포에서 조직은 GCDS 도구를 사용하여 G Suite 도메인의 데이터를 LDAP 디렉터리의 데이터와 동기화할 수 있습니다. 또는 조직에서 액세스 권한을 부여하는 경우 조직을 대신하여 GCDS를 사용하여 이 작업을 수행할 수 있습니다.

GCDS 도구는 Google Directory API를 호출하고 사용자 이름을 동기화하지만 비밀번호는 동기화하지 않습니다.

조직에서 Microsoft Active Directory를 사용하고 사용자의 G Suite 비밀번호가 Active Directory 비밀번호와 동기화 상태를 유지하도록 하려는 경우, 사용자 또는 관리자가 GCDS와 함께 G Suite 비밀번호 동기화 (GSPS) 도구를 사용할 수 있습니다.

관리자용 GCDS 안내는 G Suite 도메인 동기화 준비를 참고하세요.

Google 디렉터리 API

Google 계정 배포에서 Google Directory API를 사용하여 활성 디렉터리, 비밀번호 또는 둘 다를 동기화할 수 있습니다.

  • 디렉터리 전용 동기화에 Directory API 사용 조직의 관리되는 Google 도메인에 대한 읽기 전용 액세스 권한이 있는 경우, Google Directory API를 사용하여 Google에서 사용자 이름 (비밀번호 제외)과 같은 Google 계정 정보를 가져올 수 있습니다. 사용자의 Google 계정에 데이터를 쓸 수 없으므로 계정 수명 주기에 대한 책임은 전적으로 조직에 있습니다.

    시나리오 1SAML 기반 SSO 인증 시나리오에서 이러한 상황을 더 자세히 설명합니다.

    이러한 방식으로 Directory API를 사용하는 방법에 대한 자세한 내용은 Directory API 문서의 모든 계정 사용자 검색을 참조하세요.

  • 디렉터리 및 선택적 비밀번호 동기화에 Directory API 사용 조직의 관리형 Google 도메인에 대한 읽기/쓰기 액세스 권한이 있는 경우 Google Directory API를 사용하여 사용자 이름, 비밀번호, 기타 Google 계정 정보를 가져올 수 있습니다. 사용자는 이 정보를 업데이트하여 자체 데이터베이스와 동기화할 수 있으며, 고객에게 제공하는 솔루션에 따라 계정 수명 주기에 대한 완전하거나 부분적인 책임을 질 수 있습니다.

    시나리오 2에서는 이 상황을 더 자세히 설명합니다.

    Directory API를 사용하여 사용자 계정 정보를 관리하는 방법에 관한 자세한 내용은 Directory API: 사용자 계정 개발자 가이드를 참고하세요.

Google 계정 시나리오

아래에는 몇 가지 일반적인 Google 계정 ID 프로비저닝 시나리오가 설명되어 있습니다.

시나리오 1: 계정 수명 주기를 담당하는 고객

Directory API (읽기 전용 액세스 권한 포함) 및 GCDS 사용

이 시나리오에서 고객은 사용자를 위해 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

읽기-쓰기 액세스 권한으로 Directory API 사용

이 시나리오에서는 고객을 대신하여 Google 계정을 만드는 프로세스를 처리하고 사용자의 계정 수명 주기에 대한 책임을 집니다.

예를 들어 조직의 LDAP 디렉터리에서 사용자 정보가 변경되면 관리자는 사용자의 Google 계정을 업데이트해야 합니다. 이 시나리오에서는 GCDS를 사용하지 않습니다.

이 시나리오에서는 다음과 같습니다.

  • Google 계정에 대한 읽기/쓰기 액세스 권한이 있습니다.
  • 데이터베이스가 Google 계정 이름과 LDAP 사용자 이름 (및 선택적 비밀번호 해시)을 가져옵니다.
  • 고객 대신 Google Directory API를 사용하여 조직 사용자의 계정 정보를 읽고 쓸 수 있습니다. 사용할 수 있는 정보는 Users.get 요청에 의해 반환된 쓰기 불가능한 정보입니다. 사용자가 기기에 인증할 수 있도록 이 정보를 사용하여 사용자의 Google 계정이 있는지 확인합니다.
  • GCDS 도구는 사용하지 않습니다.

SAML 기반 SSO 인증 시나리오

Google 계정 배포에서 귀하 또는 귀하의 고객은 ID 공급업체 (IdP)에서 보안 보장 마크업 언어 (SAML)를 사용하여 각 사용자와 연결된 Google 계정을 인증할 수 있습니다. Google 계정 이름을 사용하여 사용자의 Google 계정이 있는지 확인합니다. 이는 사용자가 기기에 로그인할 때 사용자 인증에 필요합니다. 예를 들어 SAML을 시나리오 2에서 사용할 수 있습니다. 설정 방법에 대한 자세한 내용은 G Suite 계정에 싱글 사인온 (SSO) 설정을 참조하세요.

기기에서 계정 활성화

관리 Google Play를 통해 사용자 기기에 앱을 배포하려면 사용자가 기기 프로비저닝 중에 기기에 로그인해야 합니다.

  • 관리 Google Play 계정 기기 프로비저닝에서 DPC는 EMM 콘솔에서 허용하는 사용자 인증 정보(일반적으로 회사 이메일 사용자 인증 정보)를 사용하여 로그인하도록 사용자에게 안내합니다.
  • Google 계정 배포에서 DPC는 사용자에게 Google 계정 로그인 사용자 인증 정보를 입력하도록 안내합니다. 일반적으로 이러한 사용자 인증 정보는 사용자가 GCDS 또는 GSPS와 동기화될 때 또는 조직에서 인증에 IdP를 사용할 때 사용자가 회사 도메인에 로그인하는 경우와 일치합니다. 이렇게 하면 사용자의 Google 계정이 활성화되고, 고유한 기기 ID가 생성되고, 사용자의 Google 계정 ID와 기기의 기기 ID가 결합됩니다.