Cung cấp danh tính (hoặc cung cấp tài khoản) là quá trình thiết lập tài khoản và thiết lập kết nối giữa ba hệ thống, và trong một số trường hợp, thiết lập kết nối giữa người dùng và thiết bị của họ.
Trong môi trường doanh nghiệp Android, có tới 3 hệ thống khác nhau lưu giữ thông tin tài khoản:
- Thư mục người dùng của tổ chức là nguồn thông tin chính xác về người dùng.
- Bạn (nhà cung cấp giải pháp EMM) phải duy trì ít nhất một thư mục tối thiểu của người dùng trong tổ chức.
- Google duy trì một số thông tin về Tài khoản Google Play có quản lý và Tài khoản Google để cung cấp tính năng quản lý ứng dụng thông qua Google Play.
Tài nguyên Users
đại diện cho một tài khoản được liên kết với một doanh nghiệp. Tài khoản có thể dành riêng cho một thiết bị hoặc có thể được liên kết với một cá nhân có nhiều thiết bị (điện thoại di động, máy tính bảng, v.v.) và sử dụng tài khoản trên tất cả các thiết bị đó. Tài khoản này có thể chỉ cung cấp quyền truy cập vào Google Play được quản lý hoặc vào các dịch vụ khác của Google, tuỳ thuộc vào cách bạn thiết lập doanh nghiệp của khách hàng:
Tài khoản Google Play có quản lý cung cấp một phương thức minh bạch để các doanh nghiệp tự động tạo tài khoản người dùng hoặc tài khoản thiết bị thông qua nhà cung cấp giải pháp quản lý thiết bị di động (EMM) của doanh nghiệp. Các tài khoản này chỉ cung cấp quyền truy cập vào Managed Google Play.
Tài khoản Google là các tài khoản hiện có do Google quản lý và yêu cầu đồng bộ hoá với các nguồn Tài khoản Google.
Bảng 1: Các trường và phương thức API của người dùng
Tài khoản Google Play được quản lý | Tài khoản được quản lý của Google | |
---|---|---|
Trường | ||
id | ||
loại | ||
accountIdentifier | Giá trị nhận dạng duy nhất mà bạn tạo và liên kết với mã (userId ) được trả về từ Google Play. Không sử dụng thông tin nhận dạng cá nhân (PII). | Chưa đặt. |
accountType | deviceAccount, userAccount | userAccount |
Tên hiển thị | Tên mà bạn hiển thị trong các mục trên giao diện người dùng, chẳng hạn như trong Google Play. Không sử dụng thông tin nhận dạng cá nhân. | Chưa đặt. |
managementType | emmManaged | googleManaged, emmManaged |
primaryEmail | Chưa đặt. | Trường này là khoá chính mà bạn dùng để quản lý quá trình đồng bộ hoá từ tài khoản miền do Google quản lý sang tài khoản người dùng trong hệ thống. |
Phương thức | ||
xóa | ||
generateAuthenticationToken | ||
generateToken | ||
get | ||
getAvailableProductSet | ||
insert | ||
danh sách | ||
revokeToken | ||
setAvailableProductSet | ||
cập nhật |
Tài khoản Google Play được quản lý
Có hai loại Tài khoản Google Play có quản lý:
- Tài khoản người dùng
- Cung cấp cho một người dùng quyền truy cập vào Google Play được quản lý trên tất cả thiết bị của họ. Bạn phải cấp tài khoản người dùng cho người dùng của mình – họ không có thông tin xác thực để tự thêm Tài khoản Google Play được quản lý.
- Để tạo tài khoản người dùng, hãy gọi
Users.insert
. Đặt loại tài khoản thànhuserType
và đặtaccountIdentifier
. Giá trị này sẽ tham chiếu riêng đến người dùng trong doanh nghiệp. - Phương pháp hay nhất: Đừng sử dụng cùng một tài khoản trên nhiều thiết bị.
- Tài khoản trên thiết bị
- Cung cấp quyền truy cập vào Managed Google Play từ một thiết bị. Nếu một mã thông báo xác thực đã được phát hành cho một tài khoản thiết bị, thì một yêu cầu mới về mã thông báo xác thực cho tài khoản thiết bị đó sẽ vô hiệu hoá mã thông báo trước đó. Mỗi thiết bị phải có giấy phép riêng cho ứng dụng.
- Để tạo tài khoản thiết bị, hãy gọi
Users.insert
và đặt loại tài khoản thànhdeviceType
.
Bạn tạo và duy trì mối liên kết giữa danh tính người dùng hoặc thiết bị và Tài khoản Google Play được quản lý tương ứng, đồng thời quản lý các tài khoản này trong suốt vòng đời của chúng. Tổ chức không cần kiểm soát trực tiếp các Tài khoản Google Play được quản lý này vì các tài khoản này chỉ tồn tại để quản lý ứng dụng.
Yêu cầu đối với máy chủ và bảng điều khiển EMM
Tài khoản Google Play được quản lý được tạo theo yêu cầu, theo phương thức lập trình, bằng cách sử dụng API EMM của Google Play và API khung Android trên các thành phần của giải pháp EMM (bảng điều khiển EMM, máy chủ EMM và DPC). Các thành phần này tương tác trong thời gian chạy để tạo tài khoản người dùng và để cung cấp hồ sơ công việc trên thiết bị mục tiêu.
Bảng điều khiển hoặc máy chủ EMM của bạn phải:
Cung cấp cơ chế tạo giá trị nhận dạng tài khoản ẩn danh duy nhất (trường
accountIdentifier
) để sử dụng trong lệnh gọi đếnUsers.insert
. Ví dụ: bạn có thể sử dụng một số giá trị nội bộ cho người dùng ("sanjeev237389") hoặc một số thẻ tài sản khó hiểu ("asset#44448"). Tránh sử dụng thông tin nhận dạng cá nhân (PII) làm giá trị nhận dạng tài khoản.Lưu trữ mối liên kết giữa
userId
(được trả về từ lệnh gọiinsert
) vàaccountIdentifier
mà bạn chọn.
Để biết các yêu cầu đối với DPC, hãy xem phần Tạo trình điều khiển chính sách thiết bị.
Tạo tài khoản người dùng Google Play được quản lý
- Người dùng đăng nhập vào DPC của bạn bằng thông tin xác thực của công ty (thường là).
- DPC yêu cầu thông tin chi tiết về người dùng từ máy chủ hoặc bảng điều khiển EMM.
Giả sử hệ thống của bạn không biết người dùng:
- Gửi yêu cầu cho Tài khoản Google Play được quản lý mới bằng cách gọi
Users.insert
với các giá trị choaccountIdentifier
,displayName
vàaccountType
mới.- Hệ thống của bạn phải tạo
accountIdentifier
. Giá trị nhận dạng tài khoản phải là một giá trị duy nhất trên hệ thống của bạn. Không sử dụng thông tin nhận dạng cá nhân (PII) cho giá trị nhận dạng tài khoản. displayName
xuất hiện trong trình chuyển đổi tài khoản của Cửa hàng Google Play và phải có ý nghĩa với người dùng (nhưng không phải là PII về người dùng). Ví dụ: tên này có thể bao gồm tên tổ chức hoặc tên chung liên quan đến EMM.- Đặt
accountType
thànhuserAccount
hoặcdeviceAccount
. Bạn có thể sử dụnguserAccount
trên nhiều thiết bị, trong khideviceAccount
chỉ dành riêng cho một thiết bị.accountType
được chỉ định có thể làdeviceType
hoặcuserType
. - Thiết lập
managementType
thànhemmManaged
.
- Hệ thống của bạn phải tạo
- Google Play xử lý yêu cầu, tạo tài khoản và trả về
userId
. - Lưu trữ mối liên kết giữa
accountIdentifier
vàuserId
trong kho dữ liệu của bạn. - Gọi
Users.generateAuthenticationToken
bằnguserId
vàenterpriseId
. Google Play trả về một mã thông báo xác thực có thể dùng một lần và phải được dùng trong vòng vài phút. - Chuyển tiếp mã thông báo xác thực đến DPC một cách an toàn.
- Gửi yêu cầu cho Tài khoản Google Play được quản lý mới bằng cách gọi
- DPC cung cấp hồ sơ công việc và thêm tài khoản vào hồ sơ công việc hoặc thiết bị.
- Người dùng có thể truy cập vào Managed Google Play trong hồ sơ công việc hoặc thiết bị.
Tài khoản quản trị
Khi quản trị viên tạo một doanh nghiệp có Tài khoản Google Play có quản lý, Tài khoản Google mà họ sử dụng không được là tài khoản G Suite. Tài khoản mà họ sử dụng sẽ trở thành chủ sở hữu của doanh nghiệp và chủ sở hữu có thể thêm các chủ sở hữu và quản trị viên khác trong Google Play Console được quản lý.
Cả Enterprises.get
và
Enterprises.completeSignup
đều trả về danh sách địa chỉ email quản trị được liên kết với một doanh nghiệp
(chỉ dành cho các doanh nghiệp có Tài khoản Google Play có quản lý).
Quản lý vòng đời tài khoản
Trong quá trình triển khai Tài khoản Google Play được quản lý, bạn chịu trách nhiệm về vòng đời của tài khoản người dùng và tài khoản thiết bị, tức là bạn tạo, cập nhật và xoá các tài khoản này.
Bạn tạo các tài khoản trong quá trình cấp phép thiết bị, một quy trình liên quan đến ứng dụng DPC và bảng điều khiển EMM. Để biết hướng dẫn, hãy xem phương thức Tài khoản Google Play được quản lý.
Để thay đổi thông tin của một tài khoản, hãy gọi Users.update.
Để xoá một tài khoản, hãy gọi Users.delete.
Quản trị viên không thể xoá các tài khoản cá nhân, nhưng có thể xoá một tập hợp Tài khoản Google Play có quản lý. Khi họ làm như vậy, thiết bị và tài khoản người dùng liên kết với doanh nghiệp sẽ bị xoá, như mô tả trong phần Huỷ đăng ký, đăng ký lại, xoá.
Hết hạn tài khoản
Đôi khi, tài khoản hoặc mã thông báo của tài khoản sẽ hết hạn. Điều này có thể xảy ra vì một số lý do sau:
- Mã thông báo xác thực được lấy để thêm tài khoản vào thiết bị đã hết hạn.
- Tài khoản hoặc doanh nghiệp đã bị xoá.
- Đối với tài khoản thiết bị, tài khoản đã được thêm vào thiết bị mới và do đó bị vô hiệu hoá trên thiết bị cũ.
- Quy trình kiểm tra tự động về hành vi sai trái sẽ được kích hoạt.
- Nếu một thiết bị không có kết nối mạng trong hơn 270 ngày, thì thông tin của thiết bị đó có thể bị xoá do quá trình dọn dẹp hàng loạt.
Trong hầu hết các trường hợp (trừ phi EMM cố ý di chuyển tài khoản thiết bị sang một thiết bị mới), phương pháp hay nhất là sử dụng API EMM của Play để yêu cầu mã thông báo mới từ máy chủ EMM, ghi lại trạng thái của tài khoản và doanh nghiệp cũng như mọi lỗi được trả về, sau đó thực hiện hành động thích hợp trên thiết bị. Ví dụ: gia hạn mã thông báo hoặc nếu không thể khôi phục lỗi, hãy đặt lại hoặc huỷ đăng ký thiết bị.
Để gia hạn mã thông báo đúng cách, bạn nên:
- Gọi
users.generateAuthenticationToken
để yêu cầu mã xác thực mới cho tài khoản. - Nếu lệnh gọi thành công, hãy xoá tài khoản hiện có và thêm tài khoản mới bằng thư viện hỗ trợ DPC.
- Nếu lệnh gọi không thành công, hãy xoá tài khoản khỏi thiết bị và tạo người dùng mới bằng
users.insert
, tạo mã thông báo xác thực và thêm tài khoản vào thiết bị.
Dịch vụ Google Play phiên bản 9.0.00 sẽ thông báo cho DPC rằng tài khoản đã hết hạn bằng cách sử dụng hành động truyền tin:
Khi Tài khoản Google Play được quản lý bị vô hiệu trên một thiết bị, DPC sẽ nhận được thông báo truyền tin với hành động sau:
com.google.android.gms.auth.ACCOUNT_REAUTH_REQUIRED
Ý định truyền tin chứa một
Parcelable
bổ sung có tênaccount
. Đây là đối tượng
của tài khoản không hợp lệ.Account
DPC kiểm tra
Account#name
với máy chủ EMM để xác định tài khoản không hợp lệ.DPC yêu cầu thông tin xác thực mới hoặc tài khoản mới, theo cùng một quy trình dùng để cung cấp thiết bị ban đầu.
Tài khoản Google
Đối với các tổ chức sử dụng Tài khoản Google, tài khoản người dùng trong giải pháp của EMM sẽ phản ánh các tài khoản người dùng hiện có được liên kết với một dịch vụ khác của Google (ví dụ: G Suite). Các tài khoản này là googleManaged
(Bảng 1) vì
các dịch vụ phụ trợ của Google là nguồn tạo và thông tin
về tài khoản.
Là một EMM, bạn có thể cung cấp các cơ chế trong bảng điều khiển để tạo và đồng bộ hoá liên tục các tài khoản người dùng được lưu giữ trong hệ thống của bạn với các nguồn tài khoản miền Google của họ bằng các công cụ như Google Cloud Directory Sync (GCDS) và API Thư mục SDK dành cho quản trị viên của Google để biết thông tin tổng quan về nhiều phương pháp. Mô hình danh tính miền do Google quản lý yêu cầu tài khoản người dùng phải tồn tại trong ngữ cảnh của giải pháp (bảng điều khiển EMM, máy chủ EMM, có thể trong kho dữ liệu) thì mới có thể được cấp trên bất kỳ thiết bị nào của người dùng trong ngữ cảnh của hồ sơ công việc.
Trong quá trình cấp phát danh tính, miền do Google quản lý của tổ chức sẽ được điền sẵn các tài khoản người dùng. Trong một số trường hợp, danh tính trực tuyến hiện có của người dùng (ví dụ: tài khoản Microsoft Exchange) sẽ được đồng bộ hoá với Tài khoản Google của họ.
Sau lần đồng bộ hoá đầu tiên nhưng trước khi ứng dụng được phân phối đến thiết bị của người dùng, người dùng phải kích hoạt Tài khoản Google của họ, như mô tả trong phần Kích hoạt tài khoản trên thiết bị. Thao tác kích hoạt này cho phép thiết bị truy cập vào Managed Google Play.
Đồng bộ hoá tài khoản khách hàng
Trong quá trình triển khai Tài khoản Google, tổ chức có thể sử dụng công cụ GCDS để đồng bộ hoá dữ liệu trong miền G Suite với dữ liệu trong thư mục LDAP. Ngoài ra, bạn có thể sử dụng GCDS để thực hiện việc này thay mặt cho tổ chức, nếu tổ chức cấp cho bạn quyền truy cập.
Công cụ GCDS gọi API Thư mục Google và đồng bộ hoá tên người dùng, nhưng không đồng bộ hoá mật khẩu.
Nếu tổ chức sử dụng Microsoft Active Directory và muốn đồng bộ hoá mật khẩu G Suite của người dùng với mật khẩu Active Directory, thì họ (hoặc bạn) có thể sử dụng công cụ Đồng bộ hoá mật khẩu của G Suite (GSPS) với GCDS.
Để biết hướng dẫn dành cho quản trị viên về GCDS, hãy xem phần Chuẩn bị miền G Suite để đồng bộ hoá.
Google Directory API
Trong quá trình triển khai Tài khoản Google, bạn có thể sử dụng Google Directory API để đồng bộ hoá các thư mục, mật khẩu đang hoạt động hoặc cả hai:
Sử dụng Directory API để chỉ đồng bộ hoá thư mục. Nếu chỉ có quyền đọc đối với miền Google được quản lý của tổ chức, bạn có thể sử dụng API Danh bạ Google để lấy thông tin Tài khoản Google, chẳng hạn như tên người dùng (nhưng không phải mật khẩu) từ Google. Vì bạn không thể ghi bất kỳ dữ liệu nào vào Tài khoản Google của người dùng, nên tổ chức sẽ chịu toàn bộ trách nhiệm về vòng đời của tài khoản.
Tình huống 1 và các tình huống xác thực SSO dựa trên SAML mô tả đầy đủ hơn về tình huống này.
Để biết thông tin về cách sử dụng Directory API theo cách này, hãy xem phần Truy xuất tất cả người dùng tài khoản trong tài liệu về Directory API.
Sử dụng Directory API để đồng bộ hoá mật khẩu và thư mục (không bắt buộc). Nếu có quyền đọc-ghi vào miền Google được quản lý của tổ chức, bạn có thể sử dụng API Danh bạ Google để lấy tên người dùng, mật khẩu và các thông tin khác về Tài khoản Google. Bạn có thể cập nhật và đồng bộ hoá thông tin này với cơ sở dữ liệu của riêng mình. Bạn có thể chịu toàn bộ hoặc một phần trách nhiệm về vòng đời của tài khoản, tuỳ thuộc vào giải pháp mà bạn cung cấp cho khách hàng.
Tình huống 2 mô tả đầy đủ hơn về trường hợp này.
Để biết thêm về cách sử dụng Directory API để quản lý thông tin tài khoản người dùng, hãy xem hướng dẫn dành cho nhà phát triển về Directory API: Tài khoản người dùng.
Tình huống liên quan đến Tài khoản Google
Dưới đây là mô tả về một số tình huống cấp phát danh tính Tài khoản Google điển hình.
Tình huống 1: Khách hàng chịu trách nhiệm về vòng đời tài khoản
Trong trường hợp này, khách hàng của bạn sẽ tạo và duy trì Tài khoản Google cho người dùng.
Bạn lấy thông tin tài khoản người dùng từ thư mục LDAP của tổ chức và liên kết thông tin này với dữ liệu Tài khoản Google mà bạn nhận được từ Google thông qua Directory API của Google.
Tổ chức chịu hoàn toàn trách nhiệm về vòng đời của tài khoản. Ví dụ: khi một Tài khoản Google mới được tạo, tổ chức sẽ thêm người dùng vào thư mục LDAP của họ. Vào lần tiếp theo bạn đồng bộ hoá cơ sở dữ liệu với thư mục LDAP, cơ sở dữ liệu của bạn sẽ nhận được thông tin về người dùng mới này.
Trong tình huống này:
- Bạn chỉ có quyền đọc đối với Tài khoản Google.
- Cơ sở dữ liệu của bạn thu thập tên Tài khoản Google, nhưng không có tên người dùng hoặc mật khẩu LDAP.
- Bạn sử dụng Google Directory API để lấy thông tin tài khoản cơ bản cho người dùng của khách hàng. (Thông tin bạn có được là thông tin không ghi được do yêu cầu
Users.get
trả về). Bạn sử dụng thông tin này để xác minh rằng Tài khoản Google của người dùng tồn tại để người dùng có thể xác thực vào thiết bị của họ. - Khách hàng của bạn sử dụng công cụ GCDS để đồng bộ hoá một chiều nhằm điền sẵn Tài khoản Google của người dùng. (Tổ chức cũng có thể sử dụng GCDS để đồng bộ hoá liên tục sau khi hoàn tất việc cấp phát danh tính.) Nếu muốn, tổ chức cũng có thể sử dụng công cụ GSPS để đồng bộ hoá không chỉ tên người dùng mà còn cả mật khẩu.
Tình huống 2: EMM chịu trách nhiệm về vòng đời tài khoản
Trong trường hợp này, bạn thay mặt khách hàng xử lý quy trình tạo Tài khoản Google và chịu trách nhiệm về vòng đời tài khoản của người dùng.
Ví dụ: khi thông tin người dùng thay đổi trong thư mục LDAP của tổ chức, bạn có trách nhiệm cập nhật Tài khoản Google của người dùng. GCDS không được sử dụng trong trường hợp này.
Trong tình huống này:
- Bạn có quyền đọc và ghi vào Tài khoản Google.
- Cơ sở dữ liệu của bạn sẽ thu thập tên Tài khoản Google và tên người dùng LDAP (và nếu muốn, cả hàm băm mật khẩu).
- Bạn thay mặt khách hàng sử dụng Google Directory API để đọc và ghi thông tin tài khoản cho người dùng của tổ chức. (Thông tin bạn có thể sử dụng là thông tin không ghi được do yêu cầu
Users.get
trả về). Bạn sử dụng thông tin này để xác minh rằng Tài khoản Google của người dùng tồn tại để người dùng có thể xác thực vào thiết bị của họ. - Không sử dụng công cụ GCDS.
Các trường hợp xác thực SSO dựa trên SAML
Trong quá trình triển khai Tài khoản Google, bạn hoặc khách hàng của bạn có thể sử dụng Ngôn ngữ đánh dấu xác nhận bảo mật (SAML) với một nhà cung cấp danh tính (IdP) để xác thực Tài khoản Google được liên kết với từng người dùng. Bạn sử dụng tên Tài khoản Google để xác minh rằng Tài khoản Google của người dùng tồn tại. Đây là thông tin cần thiết để xác thực người dùng khi họ đăng nhập vào thiết bị của mình. Ví dụ: bạn có thể sử dụng SAML trong Tình huống 2. Để biết thông tin chi tiết về cách thiết lập, hãy xem bài viết Thiết lập tính năng Đăng nhập một lần (SSO) cho tài khoản G Suite.
Kích hoạt tài khoản trên thiết bị
Để ứng dụng được phân phối đến thiết bị của người dùng thông qua Managed Google Play, người dùng phải đăng nhập vào thiết bị trong quá trình cung cấp thiết bị:
- Trong quy trình cung cấp thiết bị cho Tài khoản Google Play được quản lý, DPC sẽ hướng dẫn người dùng đăng nhập bằng thông tin xác thực mà bảng điều khiển EMM chấp nhận, thường là thông tin xác thực email của công ty.
- Trong quá trình triển khai Tài khoản Google, DPC sẽ hướng dẫn người dùng nhập thông tin đăng nhập vào Tài khoản Google. Thông thường, những thông tin xác thực này khớp với thông tin mà người dùng dùng để đăng nhập vào miền của công ty khi được đồng bộ hoá với GCDS hoặc GSPS hoặc khi một tổ chức sử dụng IdP để xác thực. Thao tác này sẽ kích hoạt Tài khoản Google của người dùng, tạo mã thiết bị duy nhất và liên kết danh tính Tài khoản Google của người dùng với mã thiết bị của thiết bị.