Cấp phép thiết bị

Có một số cách để cấp phép cho thiết bị. Các yêu cầu về kinh doanh của khách hàng sẽ xác định những phương thức cấp phép mà bạn muốn sử dụng.

Thông tin cơ bản về cấp phép thiết bị

Các tình huống triển khai cấp phép thiết bị mà khách hàng của bạn muốn hỗ trợ (chẳng hạn như sử dụng thiết bị cá nhân (BYOD) hoặc thuộc quyền sở hữu của công ty) sẽ xác định chế độ hoạt động mà bạn sẽ sử dụng (chẳng hạn như chế độ chủ sở hữu thiết bị hoặc chế độ chủ sở hữu hồ sơ). Tương tự, chế độ hoạt động và bản phát hành Android bạn cần để hỗ trợ sẽ xác định phương thức cấp phép mà bạn sẽ triển khai.

Tình huống triển khai

Trong trường hợp triển khai do công ty sở hữu, doanh nghiệp sở hữu và kiểm soát hoàn toàn các thiết bị mà nhân viên sử dụng. Thông thường, các tổ chức triển khai thiết bị do công ty sở hữu khi cần giám sát và quản lý nghiêm ngặt toàn bộ thiết bị.

Các công ty hỗ trợ tình huống triển khai BYOD cho phép nhân viên của họ mang thiết bị thuộc sở hữu cá nhân đến nơi làm việc và dùng thiết bị đó để truy cập vào thông tin và ứng dụng đặc quyền của công ty.

Phương thức hoạt động

Chế độ hoạt động của chủ sở hữu thiết bị hỗ trợ các hoạt động triển khai do công ty sở hữu. Trong Android, ứng dụng quản lý của bạn được gọi là trình kiểm soát chính sách thiết bị (DPC). DPC thực thi các chính sách trên thiết bị chạy Android và khi đóng vai trò là chủ sở hữu thiết bị, DPC sẽ quản lý toàn bộ thiết bị. Với tư cách là chủ sở hữu thiết bị, DPC có thể thực hiện các thao tác trên toàn thiết bị, chẳng hạn như định cấu hình kết nối trên toàn thiết bị, định cấu hình chế độ cài đặt chung và đặt lại về trạng thái ban đầu.

Chế độ hoạt động của chủ sở hữu hồ sơ hỗ trợ quá trình triển khai sử dụng thiết bị cá nhân. Thông qua DPC, doanh nghiệp cho phép các thiết bị cá nhân sử dụng cho công việc bằng cách thêm hồ sơ công việc vào tài khoản người dùng chính trên thiết bị. Hồ sơ công việc được liên kết với người dùng chính, nhưng dưới dạng một hồ sơ riêng biệt. Là chủ sở hữu hồ sơ, DPC chỉ quản lý hồ sơ công việc trên thiết bị và có quyền kiểm soát hạn chế bên ngoài hồ sơ công việc.

Phương thức cấp phép của chủ sở hữu thiết bị

Bạn phải cung cấp chế độ hoạt động của chủ sở hữu thiết bị trong quá trình thiết lập thiết bị mới ban đầu hoặc sau khi đặt lại thiết bị về trạng thái ban đầu. Không thể cấp phép cho chế độ chủ sở hữu thiết bị trên thiết bị vào bất kỳ lúc nào khác.

Tuỳ thuộc vào trường hợp sử dụng, có 2 loại phương thức cấp phép chính để cấp phép cho chế độ chủ sở hữu thiết bị.

  • Trong quy trình dựa trên thiết bị, quản trị viên CNTT có thể sử dụng NFC để cung cấp số lượng lớn thiết bị. Bạn có thể sử dụng quy trình này cho Tài khoản Google Play được quản lý hoặc các trường hợp trong Google Workspace.
  • Trong quy trình do người dùng thực hiện, các lựa chọn sẽ phụ thuộc vào việc tổ chức có sử dụng Google Workspace hay không.
    • Trong trường hợp trên Google Workspace, người dùng thêm Tài khoản Google của họ trong quá trình thiết lập thiết bị ban đầu và DPC phải hướng dẫn người dùng thực hiện các bước để thiết lập chủ sở hữu thiết bị. Quy trình do người dùng thực hiện có thể giúp người dùng cuối thiết lập thiết bị mới và cũng là một phương án thay thế khi thiết bị không hỗ trợ NFC.
    • Khi một tổ chức không sử dụng Google Workspace, bạn nên dùng phương thức Tài khoản Google Play được quản lý.

Lưu ý: Nếu bạn giới hạn việc phân phối ứng dụng của mình ở một số quốc gia cụ thể trên Play, thì những hạn chế này sẽ bị bỏ qua trong quá trình cấp phép của chủ sở hữu thiết bị. DPC sẽ được tải xuống ngay cả khi thiết bị không nằm ở quốc gia được nhắm đến.

Phương thức cấp phép của chủ sở hữu hồ sơ

Phương thức đề xuất để cấp chế độ hoạt động của chủ sở hữu hồ sơ phụ thuộc vào việc tổ chức có sử dụng Google Workspace hay không.

  • Trong trường hợp của Google Workspace, phương thức đề xuất là một quy trình do người dùng thực hiện, trong đó người dùng thêm Tài khoản Google của họ và DPC sẽ hướng dẫn người dùng các bước để thiết lập chủ sở hữu hồ sơ.
  • Khi một tổ chức không sử dụng Google Workspace, bạn nên sử dụng phương thức Tài khoản Google Play được quản lý.

Phương thức truyền thống, trong đó người dùng được hướng dẫn cài đặt DPC theo cách thủ công, cũng được hỗ trợ. Quy trình này dựa vào việc người dùng tải DPC của bạn xuống từ Google Play rồi cài đặt, sau đó DPC sẽ hướng dẫn người dùng thực hiện phần còn lại của quy trình để thiết lập chủ sở hữu hồ sơ.

Những điểm khác biệt chính về việc cấp phép giữa các phiên bản Android

Tình huống triển khai Phương thức hoạt động Phương thức cấp phép 5,0, 5,1 6.0 trở lên 7.0 trở lên
Thuộc quyền sở hữu của công ty Chủ sở hữu thiết bị Mã QR
Tài khoản Managed Google Play
Tài khoản Google
NFC
Sử dụng thiết bị cá nhân Chủ sở hữu hồ sơ Tài khoản Managed Google Play
Tài khoản Google 5.11
Cài đặt DPC theo cách thủ công

Những điểm chung cần cân nhắc khi triển khai

Dưới đây là một số điều cần xem xét khi bạn ghi DPC, bất kể bạn triển khai chế độ hoạt động nào.

Khả năng tương thích của Dịch vụ Google Play

Hướng dẫn về APK của Dịch vụ Google Play hướng dẫn nhà phát triển cách kiểm tra phiên bản của Dịch vụ Google Play trước khi thực hiện các giao dịch API. Do việc cố gắng cập nhật dịch vụ Google Play gây gián đoạn nghiêm trọng trong quá trình thiết lập thiết bị, nên DPC không được tìm cách cập nhật Dịch vụ Google Play trước khi cấp phép thiết bị xong.

Các điểm chính về khả năng tương thích của DPC với Dịch vụ Google Play là:

  • DPC phải chạy bằng dịch vụ Google Play được vận chuyển bằng một thiết bị cụ thể.
  • DPC không nên dựa vào các tính năng mới trong các phiên bản sau này của dịch vụ Google Play cung cấp tại thời điểm cấp phép thiết bị.

Khi quá trình cấp phép thiết bị hoàn tất, DPC có thể nhắc người dùng cập nhật Dịch vụ Google Play để DPC có thể sử dụng các tính năng mới nhất. Tuy nhiên, nếu một tính năng không sử dụng được vì lý do nào đó, DPC phải quay lại sử dụng một cách linh hoạt về phiên bản được vận chuyển cùng thiết bị.

Truy xuất thông tin chi tiết về thiết bị

Do độ trễ truyền tải, có thể mất tới 2 phút trước khi lệnh gọi đến devices.get đối với thiết bị mới đăng ký, hệ thống sẽ trả về thông tin chi tiết về thiết bị đó.

Nếu quy trình công việc của bạn yêu cầu cung cấp thông tin chi tiết trước khi người dùng cuối có thể sử dụng thiết bị hoặc hồ sơ công việc, bạn nên sử dụng màn hình tiến trình trong DPC và đợi cho đến khi cuộc gọi thành công.

Những điều cần cân nhắc khi triển khai chế độ chủ sở hữu trang doanh nghiệp

Dưới đây là một số điều cần xem xét khi bạn viết DPC để triển khai chế độ hoạt động của chủ sở hữu hồ sơ.

Xoá hoặc vô hiệu hoá DPC cá nhân

Khi cấp phép chế độ hoạt động của chủ sở hữu hồ sơ, DPC sẽ bắt đầu chạy trong hồ sơ cá nhân và bắt đầu quy trình tạo hồ sơ công việc. Sau khi hồ sơ công việc được tạo, DPC cũng sẽ chạy bên trong hồ sơ công việc. DPC trong hồ sơ công việc hoàn tất quy trình cấp phép. Khi đó, DPC trong hồ sơ cá nhân phải tự vô hiệu hoá hoặc người dùng thiết bị phải xoá DPC đó.

Người dùng xoá DPC cá nhân

  1. DPC cá nhân sẽ theo dõi ACTION_MANAGED_PROFILE_PROVISIONED. (Đối với các thiết bị Android 5.1, DPC cá nhân sẽ theo dõi ACTION_MANAGED_PROFILE_ADDED).
  2. DPC cá nhân sẽ bắt đầu một yêu cầu gỡ cài đặt ACTION_UNINSTALL_PACKAGE. Thao tác này sẽ nhắc người dùng gỡ cài đặt DPC cá nhân. Để mang lại trải nghiệm tốt nhất cho người dùng, quá trình gỡ cài đặt nên diễn ra trong quy trình cấp phép.

DPC cá nhân tự vô hiệu hoá

  1. DPC cá nhân sẽ theo dõi ACTION_MANAGED_PROFILE_PROVISIONED. (Đối với các thiết bị Android 5.1, DPC cá nhân sẽ theo dõi ACTION_MANAGED_PROFILE_ADDED).
  2. Nếu có thể, DPC cá nhân phải từ bỏ đặc quyền của quản trị viên thiết bị trước khi tự tắt.
  3. DPC cá nhân sẽ bắt đầu yêu cầu tắt setApplicationEnabledSetting bằng thông số COMPONENT_ENABLED_STATE_DISABLED.
  4. Người dùng có thể bật lại DPC cá nhân từ Google Play.

Những điều cần cân nhắc khi triển khai chế độ chủ sở hữu thiết bị

Dưới đây là một số điều cần xem xét khi bạn viết DPC để triển khai chế độ hoạt động của chủ sở hữu thiết bị.

Thiết bị phải là thiết bị mới hoặc được đặt lại về trạng thái ban đầu

Bạn phải cung cấp chế độ hoạt động của chủ sở hữu thiết bị trong quá trình thiết lập thiết bị mới ban đầu hoặc sau khi đặt lại thiết bị về trạng thái ban đầu. Không thể cấp phép cho chế độ chủ sở hữu thiết bị trên thiết bị vào lúc khác.

Chế độ chủ sở hữu thiết bị cho phép DPC kiểm soát hoàn toàn thiết bị. Nếu bạn cho phép chế độ chủ sở hữu thiết bị cấp phép sau khi thiết lập ban đầu:

  • Phần mềm độc hại có khả năng tạo ra một chủ sở hữu thiết bị và chiếm đoạt thiết bị.
  • Các vấn đề về quyền riêng tư có thể xảy ra nếu thiết bị đã có một số dữ liệu người dùng hoặc ứng dụng.

Chỉ thiết lập chế độ chủ sở hữu thiết bị trên các thiết bị thuộc quyền sở hữu của công ty

Bạn chỉ nên cấp phép cho chế độ chủ sở hữu thiết bị trên các thiết bị mà bạn xác định là thuộc sở hữu của công ty của khách hàng. Bạn có thể xác minh điều này bằng cách phát hiện một mã nhận dạng thiết bị duy nhất (chẳng hạn như số sê-ri) hoặc bằng cách sử dụng một nhóm tài khoản chuyên dụng được uỷ quyền đăng ký thiết bị thông qua chính sách EMM.

Nếu không thể xác minh quyền sở hữu một thiết bị của công ty, bạn phải tạo một cơ chế đảm bảo an toàn để không cấp phép nhầm chế độ chủ sở hữu thiết bị. Ví dụ: bạn có thể nhắc người dùng thiết bị xác nhận hoặc thực hiện một số thao tác chắc chắn trước khi cấp phép chế độ chủ sở hữu thiết bị.

Bật ứng dụng hệ thống

Khi DPC cấp phép hồ sơ công việc, mọi ứng dụng hệ thống không có biểu tượng trình chạy được coi là quan trọng đối với thiết bị và tự động được phép chạy trong hồ sơ công việc. Các ứng dụng hệ thống có biểu tượng trình chạy được coi là không bắt buộc và bạn có thể quyết định có bật các biểu tượng đó hay không.

Bật ứng dụng hệ thống thông qua Google Play

Việc bật ứng dụng hệ thống thông qua Google Play rất dễ dàng và người dùng sẽ nhận được bản cập nhật ứng dụng ngay khi có sẵn.

Cho phép ứng dụng hệ thống sử dụng API khung Android

Nếu bạn muốn người dùng thấy các ứng dụng hệ thống ngay khi họ bắt đầu sử dụng thiết bị, hãy bật các ứng dụng hệ thống trong quy trình cấp phép cho thiết bị. DPC bật các ứng dụng hệ thống theo tên gói hoặc theo ý định sử dụng DevicePolicyManager.enableSystemApp().

Có một số cách để xác định ứng dụng hệ thống bạn muốn bật và hiển thị cho quản trị viên CNTT trong bảng điều khiển EMM.

Tạo danh mục ứng dụng hệ thống

Trong phương thức này, mỗi thiết bị xác định ứng dụng nào có trên thiết bị và gửi lại dữ liệu này đến bảng điều khiển EMM. Bảng điều khiển EMM sẽ hiển thị dữ liệu này một cách linh động khi tạo chính sách thiết bị. Điều này cho phép quản trị viên CNTT quản lý ứng dụng trên cơ sở từng ứng dụng.

  1. Nếu hồ sơ công việc chưa được cấp phép trên thiết bị, hãy lấy danh sách tất cả ứng dụng có biểu tượng trình chạy trên thiết bị bằng queryIntentActivities():

    private List<ResolveInfo> getAppsWithLauncher() {
      Intent i = new Intent(Intent.ACTION_MAIN);
      i.addCategory(Intent.CATEGORY_LAUNCHER);
      return getPackageManager().queryIntentActivities(i, 0);
    }
    
  2. Nếu hồ sơ công việc đã được cấp phép trên thiết bị, hãy lấy danh sách tất cả ứng dụng trong hồ sơ công việc bằng PackageManager.GET_DISABLED_COMPONENTSPackageManager.GET_UNINSTALLED_PACKAGES.

  3. Tìm các ứng dụng hệ thống trong danh sách ứng dụng bằng cách kiểm tra FLAG_SYSTEM để cho biết ứng dụng đã được cài đặt trong hình ảnh hệ thống của thiết bị hay chưa.

Ưu điểm:

  • Cung cấp cho quản trị viên CNTT thông tin đầy đủ về các ứng dụng trên mọi thiết bị.
  • Cung cấp quyền kiểm soát chi tiết đối với ứng dụng nào được bật.

Nhược điểm:

  • Vì mỗi thiết bị có một danh mục ứng dụng khác nhau nên rất khó để áp dụng một mô hình cấu hình chính sách duy nhất cho nhiều loại thiết bị.
  • Việc trình bày số lượng ứng dụng dành riêng cho OEM theo cách có ý nghĩa cho quản trị viên CNTT có thể là một thách thức.

Phân loại ứng dụng hệ thống theo chức năng

Khi quản trị viên CNTT muốn bật ứng dụng hệ thống cho một nhóm thiết bị, họ sẽ chọn một ứng dụng chung dựa trên chức năng; ví dụ: "Trình duyệt hệ thống". Sau đó, DPC cho phép tất cả ứng dụng hệ thống thực hiện ý định đó.

Ưu điểm:

  • Hỗ trợ bật dựa trên chức năng một cách đơn giản dành cho quản trị viên CNTT.
  • Đảm bảo chức năng nhất quán trên nhiều thiết bị (ít nhất là đối với các trường hợp sử dụng phổ biến).

Nhược điểm:

  • Giới hạn các ứng dụng hệ thống ở những ứng dụng được hỗ trợ trên tất cả các loại thiết bị.
  • Quản trị viên CNTT có thể muốn chuyển một phiên bản OEM của ứng dụng (chẳng hạn như trình duyệt Samsung®) chứ không phải phiên bản khác (chẳng hạn như trình duyệt LG®).
  • Có thể quản trị viên CNTT không muốn đẩy nhiều ứng dụng, nhưng không thể ngăn điều này khi có nhiều trình xử lý ý định.

Chỉ hỗ trợ các ứng dụng hệ thống được phê duyệt

Bạn làm việc với OEM để xác định các gói OEM cụ thể và chỉ hỗ trợ các gói đó trong bảng điều khiển EMM. Việc này cũng cho phép bạn lập danh mục các cấu hình được quản lý cho ứng dụng của OEM. Nếu không, bạn sẽ không biết vì ứng dụng OEM không được lưu trữ trên Google Play.

Ưu điểm:

  • Đơn giản hoá đáng kể quy trình tích hợp và loại bỏ các trường hợp hiếm gặp có vấn đề trong 2 lựa chọn đầu tiên.
  • Bạn có thể lập danh mục các cấu hình được quản lý cho ứng dụng OEM và hiển thị các cấu hình đó trong bảng điều khiển EMM dành cho quản trị viên CNTT.
  • Cho phép mối quan hệ chặt chẽ với nhà sản xuất thiết bị gốc (OEM) để hỗ trợ các thiết bị chủ chốt.

Nhược điểm:

  • Ít có khả năng mở rộng hơn và kết quả là giảm sự lựa chọn của người tiêu dùng.

Kiểm thử các trường hợp cho DPC

Test DPC là một ứng dụng nguồn mở do Google cung cấp để kiểm thử các tính năng của doanh nghiệp trong ứng dụng DPC của bạn. DPC kiểm thử có sẵn trên github hoặc Google Play. Bạn có thể sử dụng Test DPC để:

  • Mô phỏng các tính năng trong Android
  • Thiết lập và thực thi chính sách
  • Đặt hạn chế về ý định và ứng dụng
  • Thiết lập hồ sơ công việc
  • Thiết lập thiết bị Android được quản lý toàn bộ

Mặc dù mục đích chính của DPC là phương tiện để kiểm thử giải pháp doanh nghiệp của bạn dành cho Android, nhưng bạn cũng có thể sử dụng giải pháp này làm nguồn mã mẫu cho các tính năng của Android.

Tuỳ chỉnh cấp phép

Trong quá trình cấp phép thiết bị, giao diện người dùng hệ thống hiển thị một màu mặc định trong thanh trạng thái và một biểu trưng mặc định ở đầu màn hình. Đặt màu và biểu trưng tuỳ chỉnh để chuyển đổi hình ảnh nhất quán giữa DPC và giao diện hệ thống, hoặc cho phép quản trị viên làm như vậy bằng bảng điều khiển EMM. Ví dụ: quản trị viên có thể tải biểu trưng của công ty lên hoặc tuỳ chỉnh giao diện màn hình hiển thị thông báo.

DPC thực thi các lựa chọn về màu sắc và biểu trưng bằng cách sử dụng dữ liệu bổ sung DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLORDevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI.

Để đặt màu tuỳ chỉnh, hãy dùng EXTRA_PROVISIONING_MAIN_COLOR để đặt một số nguyên cho biết màu chủ đạo sẽ hiển thị trong quá trình cấp phép thiết bị. Đặt giá trị bổ sung (hằng số) trong một ý định bằng ACTION_PROVISION_MANAGED_PROFILE hoặc ACTION_PROVISION_MANAGED_DEVICE.

Để xem cách biểu thị số nguyên, hãy xem phần Màu. Để biết ví dụ, hãy xem MAIN_COLOR trong ứng dụng TestDPC.

Để đặt biểu trưng tuỳ chỉnh, hãy dùng EXTRA_PROVISIONING_LOGO_URI để đặt hình ảnh hiển thị ở đầu màn hình trong khi cấp phép thiết bị. Đặt giá trị bổ sung (hằng số) trong một ý định bằng ACTION_PROVISION_MANAGED_PROFILE hoặc ACTION_PROVISION_MANAGED_DEVICE. Đảm bảo hình ảnh có mật độ pixel hợp lý cho thiết bị.

Để biết ví dụ, hãy xem LOGO_URI trong ứng dụng TestDPC.

Phương thức mã QR

Phương thức cấp phép bằng mã QR thiết lập và định cấu hình chế độ chủ sở hữu thiết bị bằng cách quét Mã QR từ trình hướng dẫn thiết lập. Mã QR chứa tải trọng của các cặp khoá-giá trị với tất cả thông tin cần thiết để DPC cấp phép cho một thiết bị.

Bảng điều khiển EMM của bạn phải cung cấp một cách để quản trị viên CNTT tạo mã QR cho các thiết bị mà họ muốn cấp phép. Quản trị viên CNTT gửi mã QR cho người dùng cuối và người dùng cuối cấp thiết bị bằng cách quét mã QR.

Các trường hợp sử dụng tính năng cấp phép mã QR

Một số thiết bị, chẳng hạn như máy tính bảng, không hỗ trợ NFC. Cấp phép mã QR là một cách thuận tiện để cung cấp cho một nhóm thiết bị được phân phối không hỗ trợ NFC. Quản trị viên CNTT có thể gửi mã QR cho người dùng để cho phép cấp phép do người dùng thực hiện.

Việc cấp phép bằng mã QR không yêu cầu danh tính Google, chẳng hạn như miền Google hoặc Tài khoản Google. Những tổ chức sử dụng Android nhưng không sử dụng Google Workspace sẽ không có danh tính Google.

Giống như NFC, tính năng cấp phép mã QR cho phép triển khai kiosk và sử dụng một lần khi không cần hoặc không cần danh tính Google. Ví dụ: thiết bị kiosk trong một cửa hàng không thuộc về ai và không được có danh tính người dùng cuối.

Tạo mã QR

Mã QR hợp lệ để cấp phép mã QR là một chuỗi Ký hiệu đối tượng JavaScript® được mã hoá UTF-8 (JSON). Bạn có thể đưa các cơ sở lưu trú này vào mã QR hợp lệ:

Luôn bắt buộc

Bắt buộc nếu chưa cài đặt DPC trên thiết bị

Nên dùng nếu thiết bị chưa kết nối Wi-Fi

Không bắt buộc

Mẫu sau đây sẽ tạo một mã QR hợp lệ:

{
"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":
"com.emm.android/com.emm.android.DeviceAdminReceiver",

"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":
"gJD2YwtOiWJHkSMkkIfLRlj-quNqG1fb6v100QmzM9w=",

"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION":
"https://path.to/dpc.apk",
    "android.app.extra.PROVISIONING_SKIP_ENCRYPTION": false,
    "android.app.extra.PROVISIONING_WIFI_SSID": "GuestNetwork",
    "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE": {
        "dpc_company_name": "Acme Inc.",
        "emm_server_url": "https://server.emm.biz:8787",
        "another_custom_dpc_key": "dpc_custom_value"
    }
}

Quy trình cấp phép mã QR

  1. Trình hướng dẫn thiết lập sẽ nhắc người dùng nhấn vào màn hình Chào mừng 6 lần. Bạn phải thực hiện các thao tác nhấn ở cùng một vị trí trên màn hình.
  2. Trình hướng dẫn thiết lập sẽ nhắc người dùng kết nối với Internet để trình hướng dẫn thiết lập có thể tải trình đọc mã QR xuống.
  3. Dịch vụ Google Play tải một mô-đun chứa công cụ nhận dạng mã QR.
  4. Người dùng quét Mã QR do quản trị viên CNTT cung cấp.
  5. Trình hướng dẫn thiết lập sẽ tải ứng dụng DPC xuống và bắt đầu quy trình cấp phép của chủ sở hữu thiết bị bằng ACTION_PROVISION_MANAGED_DEVICE.

Phương thức cho Tài khoản Google Play được quản lý

DPC có thể sử dụng phương thức cấp phép của Tài khoản Google Play được quản lý để thiết lập chế độ chủ sở hữu thiết bị hoặc chế độ chủ sở hữu hồ sơ. Phương thức cấp phép này dành cho các tổ chức không sử dụng Google Workspace.

Phương thức cấp phép của Tài khoản Google Play được quản lý sử dụng Thư viện hỗ trợ DPC. Thư viện ứng dụng này đảm bảo Tài khoản Google Play được quản lý vận hành trơn tru. API này cũng duy trì khả năng tương thích với các bản cập nhật trong tương lai đối với quy trình cấp phép Tài khoản Google Play được quản lý.

Điều kiện tiên quyết để cấp phép thiết bị

  • Mã doanh nghiệp được tạo và đăng ký bằng thông tin nhận dạng EMM, đồng thời IAP được thiết lập, như mô tả trong phần Tạo và đăng ký doanh nghiệp.
  • Bảng điều khiển EMM của bạn sẽ biết danh tính công ty của người dùng.
  • Người dùng có thể đăng nhập vào ứng dụng DPC bằng thông tin xác thực được 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.

Thiết lập chế độ chủ sở hữu hồ sơ

Bạn có thể cung cấp chế độ hoạt động của chủ sở hữu hồ sơ trên một thiết bị đang được dùng trong trường hợp sử dụng thiết bị cá nhân (BYOD).

  1. Người dùng tải DPC của bạn xuống theo cách thủ công từ Google Play và khởi chạy.
  2. DPC cung cấp hồ sơ công việc bằng cách sử dụng ACTION_PROVISION_MANAGED_PROFILE.
  3. Hoàn thành các bước thiết lập cuối cùng.

Thiết lập chế độ chủ sở hữu thiết bị

Bạn phải cấp phép chế độ hoạt động của chủ sở hữu thiết bị trong quá trình thiết lập thiết bị mới lần đầu hoặc sau khi đặt lại thiết bị về trạng thái ban đầu. Không thể cấp phép chế độ chủ sở hữu thiết bị trên thiết bị vào bất kỳ lúc nào khác.

Trong quá trình thiết lập thiết bị, người dùng nhập một mã thông báo đặc biệt dành riêng cho DPC khi họ được nhắc thêm tài khoản. Mã thông báo có định dạng afw#DPC_IDENTIFIER. Đối với một EMM có tên ACME, afw#acme sẽ cài đặt DPC mặc định của ACME EMM. Mỗi EMM phải yêu cầu một giá trị nhận dạng DPC cụ thể từ Google trước khi có thể sử dụng giá trị đó trong quá trình cấp phép.

  1. Người dùng bật một thiết bị mới hoặc thiết bị đã đặt lại về trạng thái ban đầu và trình hướng dẫn thiết lập sẽ chạy.
  2. Khi được nhắc thêm tài khoản, người dùng sẽ nhập một mã thông báo đặc biệt ở định dạng afw#DPC_IDENTIFIER giúp xác định DPC cho EMM của bạn.
  3. Bằng cách sử dụng giá trị nhận dạng DPC trong mã thông báo, trình hướng dẫn thiết lập sẽ thêm Tài khoản Google tạm thời vào thiết bị. Tài khoản tạm thời này chỉ được dùng để tải DPC cho EMM của bạn xuống từ Google Play và sẽ bị xoá trong các bước thiết lập cuối cùng.
  4. DPC cấp phép cho thiết bị bằng ACTION_PROVISION_MANAGED_DEVICE.
  5. Hoàn thành các bước thiết lập cuối cùng.

Các bước thiết lập cuối cùng cho tất cả chế độ hoạt động

Chỉ thực hiện các bước này sau khi hoàn tất các bước đầu tiên để thiết lập chế độ chủ sở hữu hồ sơ hoặc chế độ chủ sở hữu thiết bị.

  1. DPC đảm bảo rằng thiết bị có thể hỗ trợ Tài khoản Google Play được quản lý bằng cách khởi động Thư viện hỗ trợ DPC:

    AndroidForWorkAccountSupport androidForWorkAccountSupport =
      new AndroidForWorkAccountSupport(context, admin);
    androidForWorkAccountSupport.ensureWorkingEnvironment(callback);
    

    Nếu bạn đang thiết lập chế độ chủ sở hữu thiết bị trên một thiết bị, thì bước này sẽ xoá Tài khoản Google tạm thời đã được thêm để tải DPC xuống.

  2. Người dùng đăng nhập vào DPC bằng thông tin xác thực EMM của họ. Đây thường là thông tin xác thực email của công ty.

  3. DPC yêu cầu thông tin xác thực của Tài khoản Google Play được quản lý cho người dùng công ty đã xác thực từ bảng điều khiển EMM.

  4. Nếu bảng điều khiển EMM không có userId trên Google Play cho người dùng, thì bảng điều khiển đó sẽ tạo người dùng mới bằng cách gọi Users.insert(). Nếu bạn đang cấp phép cho chế độ chủ sở hữu thiết bị, hãy chỉ định một tài khoản thiết bị (dành cho việc triển khai thiết bị chuyên dụng) hoặc tài khoản người dùng (dành cho việc triển khai do công ty sở hữu).

  5. Đặt chính sách của Thiết bị bằng cách gọi Devices.update. Bạn nên đặt chính sách này trước khi thêm Tài khoản Google Play được quản lý vào thiết bị, nếu không, chính sách này sẽ không được áp dụng trong một khoảng thời gian ngắn sau khi thêm tài khoản vào thiết bị.

  6. Bảng điều khiển EMM yêu cầu thông tin xác thực tài khoản cho userId bằng cách gọi Users.generateAuthenticationToken(). Mã thông báo xác thực này chỉ tồn tại trong thời gian ngắn và không thể sử dụng lại. DPC nên sử dụng mã thông báo này để thêm tài khoản theo phương thức lập trình (người dùng cuối không sử dụng được).

  7. API EMM của Google Play sẽ trả về mã xác thực cho bảng điều khiển EMM.

  8. Bảng điều khiển EMM sẽ chuyển tiếp mã xác thực đến DPC.

  9. DPC thêm Tài khoản Google Play được quản lý vào thiết bị bằng

    androidForWorkAccountSupport.addAndroidForWorkAccount(token,
      accountAddedCallback);
    

Phương thức dùng cho Tài khoản Google

DPC có thể sử dụng phương thức cấp phép Tài khoản Google để thiết lập chế độ chủ sở hữu thiết bị hoặc chế độ chủ sở hữu hồ sơ. Với phương thức cấp phép Tài khoản Google, DPC sẽ hướng dẫn người dùng thực hiện các bước cấp phép sau khi người dùng thêm Tài khoản Google trong quá trình thiết lập thiết bị ban đầu.

Khi người dùng nhập thông tin đăng nhập Tài khoản Google của họ:

  • Máy chủ xác thực của Google sẽ xác thực tài khoản người dùng.
  • Sau đó, máy chủ xác thực sẽ giao tiếp với máy chủ doanh nghiệp để xem miền của tài khoản được đăng ký là miền Google Workspace hay miền do EMM quản lý.
  • Nếu có, hệ thống sẽ tự động tải DPC liên kết với miền từ Google Play xuống và cài đặt.

Thiết lập chế độ chủ sở hữu hồ sơ

Bạn có thể cấp phép cho chế độ hoạt động của chủ sở hữu hồ sơ trong quá trình thiết lập thiết bị ban đầu hoặc khi người dùng đang thêm tài khoản bằng cách sử dụng phần Cài đặt > Thêm tài khoản.

  1. Quá trình xác thực tài khoản được người dùng bắt đầu từ trình hướng dẫn thiết lập hoặc từ Cài đặt > Thêm tài khoản.
  2. GMSCore bắt đầu cấp phép hồ sơ công việc bằng ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE.
  3. DPC được tự động tải xuống thiết bị và chạy bằng trình xử lý ACTION_GET_PROVISIONING_MODE để xác minh rằng DPC hỗ trợ tính năng cấp phép hồ sơ công việc.
  4. Nền tảng này cung cấp hồ sơ công việc.
  5. Khi hồ sơ công việc được cấp phép, DPC sẽ nhận được thông báo truyền tin ACTION_PROFILE_PROVISIONING_COMPLETE. Trình xử lý ACTION_ADMIN_POLICY_COMPLIANCE của DPC được khởi chạy trong hồ sơ công việc. Sau khi hồ sơ công việc được tạo, DPC cũng sẽ chạy bên trong hồ sơ công việc. DPC đẩy các chính sách cho Tài khoản Google được quản lý đó, đảm bảo rằng thiết bị không ở trạng thái bị xâm nhập và xác minh rằng các chính sách đã được thực thi (chẳng hạn như yêu cầu mật khẩu).
  6. DPC trong hồ sơ cá nhân tự tắt hoặc người dùng xoá.

Thiết lập chế độ chủ sở hữu thiết bị hoặc COPE

Bạn phải cấp phép chế độ hoạt động của chủ sở hữu thiết bị trong quá trình thiết lập thiết bị mới lần đầu hoặc sau khi đặt lại thiết bị về trạng thái ban đầu. Không thể thêm chế độ chủ sở hữu thiết bị vào thiết bị bất kỳ lúc nào khác.

  1. Quá trình xác thực tài khoản do người dùng bắt đầu từ trình hướng dẫn thiết lập.
  2. GMSCore bắt đầu cấp phép chủ sở hữu thiết bị bằng ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE. 3.DPC được tự động tải xuống thiết bị và được khởi chạy bằng trình xử lý GET_PROVISIONING_MODE để chọn chế độ cấp phép mong muốn.
  3. Nền tảng này cấp thiết bị ở chế độ cấp phép mong muốn.
  4. Khi thiết bị được cấp phép, DPC sẽ nhận được những thông báo này và trình xử lý ACTION_ADMIN_POLICY_COMPLIANCE của DPC sẽ được khởi chạy:
  5. DPC sử dụng giá trị của Global.DEVICE_PROVISIONED để xác minh rằng thiết bị là thiết bị mới hoặc đã đặt lại về trạng thái ban đầu (không được cấp phép):
    • 0 Không được cung cấp.
    • 1 Đã cung cấp.
  6. DPC hoàn tất quy trình cấp phép bằng cách đẩy các chính sách cho thiết bị được quản lý đó, đảm bảo rằng thiết bị không ở trạng thái bị xâm nhập và xác minh rằng các chính sách đã được thực thi (chẳng hạn như yêu cầu mật khẩu).

Những điểm cần lưu ý khi triển khai phương thức Tài khoản Google

  • DPC sẽ phát hiện quy trình xác thực Tài khoản Google bằng cách tìm kiếm các tiện ích bổ sung cụ thể trong ý định khởi chạy đã được sử dụng (xem LaunchIntentUtil):

    • Tài khoản thuộc loại android.accounts.Account Cho biết tài khoản được thêm vào thông qua trình hướng dẫn thiết lập hoặc từ phần Cài đặt > Thêm tài khoản, yêu cầu DPC đã khởi chạy để quản lý thiết bị hoặc hồ sơ.
    • is_setup_wizard thuộc loại Boolean Nếu là true (đúng), DPC sẽ được khởi chạy trong trình hướng dẫn thiết lập trước khi trình hướng dẫn thiết lập hoàn tất, nếu không, hãy chọn Cài đặt > Thêm tài khoản hoặc một quy trình khác.

    Cách kiểm tra xem DPC có được chạy trong phương thức Tài khoản Google hay không là:

    boolean isSynchronousAuthLaunch(Intent launchIntent) {
      return launchIntent.hasExtra("is_setup_wizard");
    }
    
  • DPC không được gọi finish() trước khi quá trình thiết lập hoàn tất. Thao tác này cũng sẽ trả về mã kết quả dương (chẳng hạn như RESULT_OK) khi DPC được khởi chạy bằng startActivityForResult() và chờ kết quả.

    DPC phải đợi mã kết quả từ quy trình cấp phép trước khi gọi finish() nếu quy trình thiết lập DPC đạt đến điểm gửi ý định ACTION_PROVISION_*. Sử dụng lệnh gọi lại startActivityForResult()onActivityResult() khi chạy các ý định ACTION_PROVISION_*. (Xem LaunchActivitySetupSyncAuthManagement để biết ví dụ).

    Do tính chất không đồng bộ có thể xảy ra của quá trình thiết lập, DPC không thể dựa vào mã kết quả của RESULT_OK để biểu thị việc cấp phép đã thành công. Cách duy nhất được đảm bảo là dựa vào các lệnh gọi lại DeviceAdminReceiver để cấp phép thành công. RESULT_CANCELED cho biết rằng người dùng đã sao lưu trong một phần đồng bộ của quy trình thiết lập và DPC sẽ phản ứng với quy trình này.

    Trong ví dụ này, DPC khởi chạy tính năng cấp phép và chờ mã kết quả từ một hoạt động:

    Intent intent = new Intent(ACTION_PROVISION_MANAGED_PROFILE);
    startActivityForResult(intent, REQUEST_MANAGED_PROFILE);
    ...
    
    @Override
    public void onActivityResult(int req, int res, Intent i) {
        if (req == REQUEST_MANAGED_PROFILE) {
            if (res == Activity.RESULT_OK) {
                setResult(Activity.RESULT_OK);
                finish();
            } else {
                Toast.makeText(this, “Provisioning failed”,
                        Toast.LENGTH_SHORT).show();
            }
        }
    }
    
  • DPC không nên tìm cách thiết lập chế độ hoạt động của chủ sở hữu thiết bị nếu thiết bị đã được cấp phép (xem ProvisioningStateUtil.isDeviceProvisioned()). Trong ví dụ này, DPC sẽ kiểm tra xem thiết bị có được cấp phép hay không:

    public static boolean isDeviceProvisioned(Context context) {
    ContentResolver cr = context.getContentResolver();
        return
    Settings.Global.getInt(cr, DEVICE_PROVISIONED, 0) != 0;
    }
    
  • Không bắt buộc. DPC có thể sử dụng dữ liệu bổ sung EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE khi chạy cấp phép để chuyển thông tin trạng thái về DeviceAdminReceiver (trong trường hợp chủ sở hữu hồ sơ đang chạy bên trong hồ sơ công việc). TestDPC sử dụng dữ liệu bổ sung này để nhập một nhóm hoạt động khác trong quy trình của Tài khoản Google sau khi hoàn tất quá trình cấp phép. Để biết thông tin chi tiết, hãy xem DeviceAdminReceiver.

    public class DeviceAdminReceiver extends android.app.admin.DeviceAdminReceiver
    {
      @Override
      public void onProfileProvisioningComplete(Context context, Intent intent) {
        // Retrieve the admin extras bundle, which we can use to determine the original context for
        // Test DPC's launch.
        PersistableBundle extras = intent.getParcelableExtra(
                EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE);
        ...
    
  • Để thiết lập hồ sơ công việc, DPC phải di chuyển tài khoản đã thêm sang hồ sơ công việc mới. Để thực hiện việc này, DPC phải truyền tài khoản được cung cấp trong ý định khởi chạy cho ACTION_PROVISION_MANAGED_PROFILE.

  • DPC phải cung cấp cho người dùng một lời kêu gọi hành động rõ ràng (chẳng hạn như nút Kết thúc) để thoát khỏi ứng dụng khi kết thúc quá trình thiết lập để người dùng không nghĩ rằng họ đã đi đến đường cụt trong luồng.

  • DPC phải sử dụng giao diện trình hướng dẫn thiết lập hoặc thư viện bố cục để trải nghiệm người dùng mượt mà và tích hợp tốt.

Phương thức NFC

DPC có thể sử dụng phương thức cấp phép NFC để thiết lập chế độ chủ sở hữu thiết bị. Trong phương thức cấp phép NFC hay Thẻ NFC, bạn sẽ tạo một ứng dụng lập trình viên NFC chứa các chính sách ban đầu, cấu hình Wi-Fi, chế độ cài đặt và thông tin cấp phép theo yêu cầu của khách hàng để định cấu hình chế độ hoạt động của chủ sở hữu thiết bị. Khi bạn hoặc khách hàng của bạn cài đặt ứng dụng lập trình NFC trên thiết bị chạy Android, thiết bị đó sẽ trở thành thiết bị của lập trình viên.

Để cấp phép cho một thiết bị, quản trị viên CNTT sẽ lấy một thiết bị mới ra khỏi hộp và chạm thiết bị đó vào thiết bị của lập trình viên hoặc Thẻ NFC. Nút nhấn sẽ chuyển các cấu hình sang thiết bị để thiết bị kết nối với Internet cũng như tải các chính sách và chế độ cài đặt phù hợp xuống. Sau đó, thiết bị sẽ được DPC của bạn quản lý.

Sau khi thiết bị được cấp phép, trong một thời gian ngắn, Google Play sẽ hiển thị nội dung dành cho người tiêu dùng không được quản lý thay vì các ứng dụng và bộ sưu tập đã phê duyệt sẽ xuất hiện. Sự chậm trễ này có thể kéo dài từ vài phút đến một giờ.

Tạo ứng dụng lập trình viên NFC và thiết bị của lập trình viên

Đối với các thiết bị sử dụng Android 10 trở xuống, bạn có thể sử dụng Android Beam để hoàn tất quá trình cấp phép NFC:

  1. Tải ứng dụng mẫu dành cho lập trình viên NFC xuống. Bạn có thể dùng mẫu mà không cần bổ sung thêm hoặc có thể sửa đổi mẫu đó đối với các giá trị mặc định.
  2. Cài đặt ứng dụng lập trình trên thiết bị đã chọn.
  3. Chạy ứng dụng lập trình NFC và chọn Load Defaults (Tải giá trị mặc định) cho com.example.android.apis. (Văn bản này có thể khác nhau tuỳ thuộc vào các tham số mặc định bạn đặt.)

Cấp phép thiết bị của khách hàng

  1. Chuyển thiết bị lập trình hoặc Thẻ NFC với một thiết bị mới hoặc thiết bị đã được đặt lại về trạng thái ban đầu.
  2. Xác minh rằng thiết bị vẫn ở trên màn hình Welcome (Chào mừng) ban đầu xuất hiện khi khởi động. Văn bản này được chỉ định trong Ready to send:{...} trong ứng dụng của lập trình viên.
  3. Đợi trong khi DPC:
    1. Mã hoá thiết bị.
    2. Nếu đó là thiết bị Truy cập đa kênh bằng mã (CDMA): Kích hoạt điện thoại trong khi hiển thị giao diện người dùng điện thoại (không cần tương tác).
    3. Thiết lập kết nối Wi-Fi.
    4. Tải tệp APK cho com.example.android.apis xuống.
    5. Cài đặt com.example.android.apis.
    6. Đặt mẫu Quản trị viên thiết bị trong com.example.android.apis làm chủ sở hữu thiết bị.
    7. Hiện "thông báo ngắn" thành công khi chủ sở hữu thiết bị được kích hoạt.
  4. Sau khi quay lại trang chủ (trình hướng dẫn thiết lập sẽ tự động được bỏ qua), hãy kiểm tra để đảm bảo com.example.android.apis được đặt làm chủ sở hữu thiết bị:
    1. Trong phần Cài đặt > Bảo mật > Quản trị viên thiết bị, hãy đảm bảo rằng bạn không thể xoá Quản trị viên thiết bị mẫu.
    2. Trong phần Cài đặt > Người dùng > Người dùng và hồ sơ > Bạn (chủ sở hữu), hãy đảm bảo Chủ sở hữu là tài khoản duy nhất có thể sử dụng (mỗi thiết bị chỉ có thể có một chủ sở hữu thiết bị đang hoạt động).

Tài nguyên khác

NFC nâng cao mô tả các chủ đề như làm việc với nhiều công nghệ thẻ, ghi vào thẻ NFC và gửi trên nền trước.

Phương thức cài đặt DPC thủ công

Để thiết lập chế độ chủ sở hữu hồ sơ bằng phương thức cấp phép cài đặt DPC thủ công, người dùng sẽ tải DPC của bạn xuống từ Google Play rồi cài đặt. Sau đó, DPC sẽ hướng dẫn người dùng thực hiện phần còn lại của quy trình để thiết lập chủ sở hữu hồ sơ cho Tài khoản Google được quản lý.

DPC có thể thêm Tài khoản Google được quản lý trước hoặc sau khi tạo hồ sơ công việc. Ví dụ: DPC có thể tạo hồ sơ công việc dựa trên thông tin xác thực EMM của người dùng thay vì nhắc trước về Tài khoản Google được quản lý.

Thiết lập chế độ chủ sở hữu hồ sơ

Trước tiên, hãy thêm Tài khoản Google được quản lý

  1. Người dùng tải DPC của bạn xuống từ Google Play rồi cài đặt.
  2. DPC sẽ thêm Tài khoản Google được quản lý trước khi tạo hồ sơ công việc bằng AccountManager.addAccount().
  3. DPC bắt đầu chạy trong hồ sơ cá nhân và bắt đầu quy trình tạo hồ sơ công việc bằng:
  4. DPC trong hồ sơ công việc hoàn tất quy trình cấp phép. Sau khi hồ sơ công việc được tạo, DPC cũng đang chạy bên trong hồ sơ công việc. DPC trong hồ sơ công việc hoàn tất quy trình cấp phép bằng cách đẩy các chính sách cho Tài khoản Google được quản lý đó, đảm bảo rằng thiết bị không ở trạng thái bị xâm phạm và xác minh rằng các chính sách đã được thực thi (chẳng hạn như yêu cầu mật khẩu).
  5. Khi hồ sơ công việc được cấp phép, DPC sẽ nhận được thông báo truyền tin ACTION_PROFILE_PROVISIONING_COMPLETE.
  6. DPC trong hồ sơ cá nhân tự tắt hoặc người dùng xoá.

Trước tiên, hãy tạo hồ sơ công việc

  1. Người dùng tải DPC của bạn xuống từ Google Play rồi cài đặt.
  2. DPC bắt đầu chạy trong hồ sơ cá nhân và bắt đầu quy trình tạo hồ sơ công việc bằng:
  3. DPC thêm Tài khoản Google được quản lý bằng AccountManager.addAccount().
  4. DPC nhận thông báo truyền tin ACTION_PROFILE_PROVISIONING_COMPLETE và đọc EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE.
  5. DPC trong hồ sơ công việc hoàn tất quy trình cấp phép. Sau khi hồ sơ công việc được tạo, DPC cũng sẽ chạy bên trong hồ sơ công việc. DPC trong hồ sơ công việc hoàn tất quy trình cấp phép bằng cách đẩy các chính sách cho Tài khoản Google được quản lý đó, đảm bảo rằng thiết bị không ở trạng thái bị xâm nhập và xác minh rằng các chính sách đã được thực thi (chẳng hạn như yêu cầu mật khẩu).
  6. DPC bật hồ sơ công việc bằng cách sử dụng DevicePolicyManager.setProfileEnabled().
  7. DPC trong hồ sơ cá nhân tự tắt hoặc người dùng xoá.

  1. Phương thức Tài khoản Google trong Android 5.1 chỉ hỗ trợ chế độ hoạt động của chủ sở hữu hồ sơ và người dùng chỉ có thể định cấu hình chế độ này trong phần Cài đặt > Thêm tài khoản.