Đăng ký và cấp phép cho thiết bị

Cấp phép là quá trình thiết lập một thiết bị sẽ được quản lý bằng policies của một enterprise. Trong quá trình này, một thiết bị sẽ cài đặt Android Device Policy. Chính sách này dùng để nhận và thực thi policies. Nếu cấp phép thành công, API sẽ tạo một đối tượng devices, liên kết thiết bị này với một doanh nghiệp.

Android Management API sử dụng các mã thông báo đăng ký để kích hoạt quy trình cấp phép. Mã thông báo đăng ký và phương thức cấp phép mà bạn sử dụng sẽ thiết lập quyền sở hữu của một thiết bị (thuộc sở hữu của cá nhân hoặc sở hữu của công ty) và chế độ quản lý (hồ sơ công việc hoặc thiết bị được quản lý toàn bộ).

Thiết bị của cá nhân

Android 5.1 trở lên

Bạn có thể thiết lập các thiết bị do nhân viên sở hữu bằng hồ sơ công việc. Hồ sơ công việc cung cấp không gian độc lập cho các ứng dụng và dữ liệu công việc, tách biệt với các ứng dụng và dữ liệu cá nhân. Hầu hết các ứng dụng, dữ liệu và hoạt động quản lý khác policies chỉ áp dụng cho hồ sơ công việc, còn các ứng dụng và dữ liệu cá nhân của nhân viên vẫn ở chế độ riêng tư.

Để thiết lập hồ sơ công việc trên thiết bị thuộc sở hữu của cá nhân, hãy tạo một mã thông báo đăng ký (đảm bảo allowPersonalUsage được đặt thành PERSONAL_USAGE_ALLOWED) và sử dụng một trong các phương thức cấp phép sau:

Thiết bị do công ty sở hữu cho mục đích công việc và cá nhân

Android 8 trở lên

Việc thiết lập thiết bị thuộc quyền sở hữu của công ty có hồ sơ công việc sẽ cho phép thiết bị sử dụng cho cả công việc và cá nhân. Trên các thiết bị thuộc sở hữu của công ty có hồ sơ công việc:

  • Hầu hết policies của ứng dụng, dữ liệu và hoạt động quản lý khác chỉ áp dụng cho hồ sơ công việc.
  • Hồ sơ cá nhân của nhân viên đó vẫn ở chế độ riêng tư. Tuy nhiên, doanh nghiệp có thể thực thi một số chính sách trên toàn thiết bịchính sách sử dụng cá nhân nhất định.
  • Doanh nghiệp có thể sử dụng blockScope để thực thi các hành động tuân thủ trên toàn bộ thiết bị hoặc chỉ hồ sơ công việc của thiết bị đó.
  • devices.deletecác lệnh của thiết bị áp dụng cho toàn bộ thiết bị.

Để thiết lập một thiết bị thuộc sở hữu của công ty bằng hồ sơ công việc, hãy tạo một mã thông báo đăng ký (đảm bảo rằng allowPersonalUsage được đặt thành PERSONAL_USAGE_ALLOWED) và sử dụng một trong các phương thức cấp phép sau:

Thiết bị do công ty sở hữu chỉ dùng cho công việc

Android 5.1 trở lên

Tính năng Quản lý thiết bị đầy đủ phù hợp với các thiết bị thuộc sở hữu của công ty chỉ dành cho mục đích công việc. Doanh nghiệp có thể quản lý tất cả ứng dụng trên thiết bị và thực thi tất cả các chính sách và lệnh của API Quản lý Android.

Bạn cũng có thể khoá một thiết bị (thông qua chính sách) với một ứng dụng duy nhất hoặc một nhóm nhỏ các ứng dụng để phục vụ cho một mục đích hoặc trường hợp sử dụng chuyên biệt. Tập hợp con này gồm các thiết bị được quản lý đầy đủ được gọi là thiết bị chuyên dụng.

Để thiết lập toàn bộ hoạt động quản lý trên thiết bị thuộc sở hữu của công ty, hãy tạo mã thông báo đăng ký (đảm bảo allowPersonalUsage được đặt thành PERSONAL_USAGE_DISALLOWED) và sử dụng một trong các phương thức cấp phép sau:

Chính sách có thể ảnh hưởng đến việc tạo giao diện người dùng trong khi cấp phép thiết bị. Những chính sách đó bao gồm:

  • PasswordPolicyScope: Quy tắc này xác định các yêu cầu về mật khẩu.
  • PermittedInputMethods: Xác định các phương thức nhập gói.
  • PermittedAccessibilityServices: Điều này xác định những dịch vụ hỗ trợ tiếp cận nào được phép sử dụng cho hồ sơ công việc và thiết bị được quản lý hoàn toàn.
  • SetupActions: Mã này xác định những hành động được thực thi trong quá trình thiết lập.
  • ApplicationsPolicy: Thuộc tính này xác định chính sách cho từng ứng dụng.

Nếu muốn các bước mật khẩu xuất hiện cùng với quá trình cài đặt ứng dụng công việc và thẻ đăng ký thiết bị trong quá trình cấp phép thiết bị, bạn nên cập nhật chính sách để trì hoãn việc bắt đầu tạo giao diện người dùng bằng cách giữ thiết bị ở trạng thái cách ly. Trạng thái này xảy ra nếu bạn đăng ký mà không có chính sách liên kết, cho đến khi chỉ định chính sách đã chọn cuối cùng để thiết lập thiết bị có chứa các mục phù hợp với nhu cầu thiết lập của bạn. Sau khi cấp phép thiết bị xong, bạn có thể thay đổi chính sách nếu cần.


Tạo mã thông báo đăng ký

Tổng quan về Quản lý Android.
Hình 1. Tạo một mã thông báo đăng ký và áp dụng "policy1" cho các thiết bị. Sau 1800 giây (30 phút), mã thông báo sẽ hết hạn.

Bạn cần có mã thông báo đăng ký cho từng thiết bị mình muốn đăng ký (bạn có thể sử dụng cùng một mã thông báo cho nhiều thiết bị). Để yêu cầu mã thông báo đăng ký, hãy gọi enterprises.enrollmentTokens.create. Theo mặc định, mã thông báo đăng ký sẽ hết hạn sau một giờ,nhưng bạn có thể chỉ định thời gian hết hạn tuỳ chỉnh (duration) lên tới khoảng 10.000 năm.

Yêu cầu thành công sẽ trả về đối tượng enrollmentToken chứa enrollmentTokenIdqrcode mà quản trị viên CNTT và người dùng cuối có thể dùng để cấp phép cho thiết bị.

Chỉ định một chính sách

Bạn cũng nên chỉ định policyName trong yêu cầu áp dụng chính sách cùng lúc với thiết bị được đăng ký. Nếu bạn không chỉ định policyName, hãy xem bài viết Đăng ký thiết bị mà không có chính sách.

Chỉ định mục đích sử dụng cho mục đích cá nhân

allowPersonalUsage xác định xem có thể thêm hồ sơ công việc vào thiết bị trong khi cấp phép hay không. Đặt thành PERSONAL_USAGE_ALLOWED để cho phép người dùng tạo hồ sơ công việc (bắt buộc đối với thiết bị thuộc sở hữu cá nhân, không bắt buộc đối với thiết bị do công ty sở hữu).


Giới thiệu về mã QR

Mã QR hoạt động như một phương thức cấp phép thiết bị hiệu quả dành cho những doanh nghiệp duy trì nhiều chính sách. Mã QR mà enterprises.enrollmentTokens.create trả về bao gồm tải trọng các cặp khoá-giá trị chứa mã đăng ký và tất cả thông tin cần thiết để Android Device Policy cung cấp một thiết bị.

Ví dụ về gói mã QR

Gói này bao gồm thông tin vị trí tải xuống của Android Device Policy và mã thông báo đăng ký.

{
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME": "com.google.android.apps.work.clouddpc/.receivers.CloudDeviceAdminReceiver",
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM": "I5YvS0O5hXY46mb01BlRjq4oJJGs2kuUcHvVkAPEXlg",
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "https://play.google.com/managed/downloadManagingApp?identifier=setup",
    "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":{
        "com.google.android.apps.work.clouddpc.EXTRA_ENROLLMENT_TOKEN": "{enrollment-token}"
    }
}

Bạn có thể sử dụng trực tiếp hoặc tuỳ chỉnh Mã QR được trả về từ enterprises.enrollmentTokens.create. Để biết danh sách đầy đủ các thuộc tính mà bạn có thể đưa vào gói Mã QR, hãy xem bài viết Tạo mã QR.

Để chuyển đổi chuỗi qrcode thành Mã QR có thể quét, hãy dùng một trình tạo mã QR, chẳng hạn như ZXing.


Phương thức cấp phép

Phần này mô tả các phương pháp để cấp phép thiết bị.

Thêm hồ sơ công việc trong phần "Cài đặt"

Android 5.1 trở lên

Để thiết lập hồ sơ công việc trên thiết bị của mình, người dùng có thể:

  1. Chuyển đến phần Cài đặt > Google > Thiết lập và khôi phục.
  2. Nhấn vào Thiết lập hồ sơ công việc của bạn.

Các bước này khởi tạo trình hướng dẫn thiết lập giúp tải Android Device Policy xuống thiết bị. Tiếp theo, người dùng sẽ được nhắc quét mã QR hoặc nhập mã thông báo đăng ký theo cách thủ công để hoàn tất quá trình thiết lập hồ sơ công việc.

Tải Android Device Policy xuống

Android 5.1 trở lên

Để thiết lập hồ sơ công việc trên thiết bị của mình, người dùng có thể tải Android Device Policy xuống từ Cửa hàng Google Play. Sau khi cài đặt ứng dụng, người dùng sẽ được nhắc mã QR hoặc nhập mã thông báo đăng ký theo cách thủ công để hoàn tất quá trình thiết lập hồ sơ công việc.

Android 5.1 trở lên

Sử dụng mã đăng ký được trả về từ enrollmentTokens.create hoặc signinEnrollmentToken của doanh nghiệp, tạo một URL có định dạng sau:

https://enterprise.google.com/android/enroll?et=<enrollmentToken>

Bạn có thể cung cấp URL này cho quản trị viên CNTT để họ có thể cung cấp cho người dùng cuối. Khi người dùng cuối mở đường liên kết từ thiết bị của họ, họ sẽ được hướng dẫn thiết lập hồ sơ công việc.

URL đăng nhập

Với phương thức này, người dùng sẽ được cung cấp một URL nhắc nhập thông tin đăng nhập. Dựa trên thông tin xác thực của người dùng, bạn có thể tính toán chính sách phù hợp cho người dùng trước khi tiếp tục cấp phép cho thiết bị. Ví dụ:

  1. Chỉ định URL đăng nhập trong enterprises.signInDetails[]. Đặt allowPersonalUsage thành PERSONAL_USAGE_ALLOWED nếu bạn muốn cho phép người dùng tạo hồ sơ công việc (bắt buộc đối với thiết bị thuộc sở hữu của cá nhân, không bắt buộc đối với thiết bị thuộc sở hữu của công ty).

    Thêm signinEnrollmentToken thu được dưới dạng cấp phép bổ sung cho mã QR, tải trọng NFC hoặc cấu hình tự động đăng ký. Ngoài ra, bạn có thể trực tiếp cung cấp signinEnrollmentToken cho người dùng.

  2. Chọn một tùy chọn:

    1. Thiết bị do công ty sở hữu: Sau khi bật thiết bị mới hoặc thiết bị đã đặt lại về trạng thái ban đầu, hãy truyền signinEnrollmentToken vào thiết bị (thông qua Mã QR, giao thức NFC, v.v.) hoặc yêu cầu người dùng cần nhập mã thông báo theo cách thủ công. Thiết bị sẽ mở URL đăng nhập được chỉ định ở Bước 1.
    2. Thiết bị cá nhân: Yêu cầu người dùng thêm hồ sơ công việc trong phần "Cài đặt". Khi được nhắc, người dùng sẽ quét mã QR có chứa signinEnrollmentToken hoặc nhập mã thông báo theo cách thủ công. Thiết bị sẽ mở URL đăng nhập được chỉ định ở Bước 1.
    3. Thiết bị của cá nhân: Cung cấp cho người dùng một đường liên kết đến mã thông báo đăng ký, trong đó mã thông báo đăng ký là signinEnrollmentToken. Thiết bị sẽ mở URL đăng nhập được chỉ định ở Bước 1.
  3. URL đăng nhập của bạn sẽ nhắc người dùng nhập thông tin đăng nhập của họ. Dựa trên danh tính của các thiết bị đó, bạn có thể xác định chính sách thích hợp và lấy thông tin cấp phép thiết bị (trong quá trình đăng ký thiết bị) bằng tham số GET provisioningInfo.

  4. Gọi enrollmentTokens.create, chỉ định policyId thích hợp dựa trên thông tin đăng nhập của người dùng.

  5. Trả về mã thông báo đăng ký được tạo ở Bước 4 bằng lệnh chuyển hướng URL, ở dạng https://enterprise.google.com/android/enroll?et=<token>.

Phương thức mã QR

Android 7.0 trở lên

Để cấp phép cho một thiết bị thuộc quyền sở hữu của công ty, bạn có thể tạo một mã QR và hiển thị mã đó trong bảng điều khiển của EMM đó:

  1. Trên một thiết bị mới hoặc thiết bị đã đặt lại về trạng thái ban đầu, người dùng (thường là quản trị viên CNTT) nhấn vào màn hình 6 lần tại cùng một vị trí. Thao tác này sẽ kích hoạt thiết bị nhắc người dùng quét Mã QR.
  2. Người dùng quét Mã QR mà bạn hiển thị trong bảng điều khiển quản lý (hoặc ứng dụng tương tự) để đăng ký và cấp phép cho thiết bị.

Phương thức NFC

Android 6.0 trở lên

Phương thức này yêu cầu bạn tạo một ứng dụng lập trình NFC chứa mã đăng ký, chính sách ban đầu, cấu hình Wi-Fi, chế độ cài đặt và mọi thông tin cấp phép khác mà khách hàng của bạn yêu cầu để cấp phép cho một thiết bị chuyên dụng hoặc được quản lý hoàn toàn. 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 một thiết bị chạy Android, thiết bị đó sẽ trở thành thiết bị lập trình.

Hướng dẫn chi tiết về cách hỗ trợ phương thức NFC có trong tài liệu dành cho nhà phát triển API Play EMM. Trang web cũng bao gồm mã mẫu của các tham số mặc định được đẩy đến một thiết bị khi có NFC. Để cài đặt Android Device Policy, hãy đặt vị trí tải xuống của gói quản trị thiết bị thành:

https://play.google.com/managed/downloadManagingApp?identifier=setup

Phương thức nhận dạng DPC

Nếu không thể thêm Android Device Policy bằng Mã QR hoặc NFC, thì người dùng hoặc quản trị viên CNTT có thể làm theo các bước sau để cấp phép cho một thiết bị thuộc quyền sở hữu của công ty:

  1. Làm theo trình hướng dẫn thiết lập trên thiết bị mới hoặc thiết bị đã đặt lại về trạng thái ban đầu.
  2. Nhập thông tin đăng nhập Wi-Fi để kết nối thiết bị với Internet.
  3. Khi được nhắc đăng nhập, hãy nhập afw#setup. Thao tác này sẽ tải Android Device Policy xuống.
  4. Quét mã QR hoặc nhập mã thông báo đăng ký theo cách thủ công để cấp phép cho thiết bị.

Thiết lập tự động

Android 8.0 trở lên (Pixel 7.1 trở lên)

Các thiết bị được mua qua một đại lý tự động đăng ký được uỷ quyền sẽ đủ điều kiện để thiết lập tự động. Đây là một phương pháp đơn giản giúp thiết lập sẵn các thiết bị để tự động cấp phép trong lần khởi động đầu tiên.

Các tổ chức có thể tạo cấu hình chứa thông tin cấp phép cho thiết bị tự động đăng ký, thông qua cổng thiết lập tự động hoặc sử dụng bảng điều khiển EMM (xem API dành cho khách hàng tự động đăng ký). Trong lần khởi động đầu tiên, thiết bị tự động đăng ký sẽ kiểm tra xem nó có được chỉ định cấu hình hay không. Nếu có, thiết bị sẽ tải Android Device Policy xuống. Sau đó, thiết bị sẽ hoàn tất quá trình thiết lập thiết bị bằng các tiện ích bổ sung được chỉ định trong cấu hình đã chỉ định.

Nếu khách hàng của bạn sử dụng cổng thiết lập tự động, họ cần chọn Android Device Policy làm DPC EMM cho từng cấu hình mà họ tạo. Hướng dẫn chi tiết về cách sử dụng cổng thông tin, bao gồm cách tạo và chỉ định cấu hình cho thiết bị, có trong trung tâm trợ giúp Android Enterprise.

Nếu muốn khách hàng thiết lập và chỉ định cấu hình ngay trong bảng điều khiển EMM, bạn cần tích hợp với API khách hàng tự động đăng ký. Khi tạo cấu hình, bạn sẽ chỉ định các tiện ích bổ sung trong trường dpcExtras. Đoạn mã JSON sau đây trình bày một ví dụ cơ bản về nội dung cần đưa vào dpcExtras cùng với mã thông báo đăng nhập đã thêm.

{
   "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":"com.google.android.apps.work.clouddpc/.receivers.CloudDeviceAdminReceiver",
   "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":"I5YvS0O5hXY46mb01BlRjq4oJJGs2kuUcHvVkAPEXlg",
   "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":{
      "com.google.android.apps.work.clouddpc.EXTRA_ENROLLMENT_TOKEN":"{Sign In URL token}"
   }
}

Chạy ứng dụng trong khi thiết lập

thao tác thiết lập
Hình 2. Sử dụng setupActions để chạy một ứng dụng trong quá trình thiết lập.

Trong policies, bạn có thể chỉ định một ứng dụng để Android Device Policy chạy trong quá trình thiết lập thiết bị hoặc hồ sơ công việc. Ví dụ: bạn có thể chạy ứng dụng VPN để người dùng có thể định cấu hình các chế độ cài đặt VPN trong quá trình thiết lập. Ứng dụng phải trả về RESULT_OK để hoàn thành tín hiệu và cho phép Android Device Policy hoàn tất cấp phép thiết bị hoặc hồ sơ công việc. Cách chạy ứng dụng trong quá trình thiết lập:

Đảm bảo installType của ứng dụng là REQUIRED_FOR_SETUP. Nếu thiết bị không thể cài đặt hoặc khởi chạy ứng dụng, thì quá trình cấp phép sẽ không thành công.

{
   "applications":[
      {
         "packageName":"com.my.vpnapp.",
         "installType":"REQUIRED_FOR_SETUP"
      }
   ]
}

Thêm tên gói của ứng dụng vào setupActions. Sử dụng titledescription để chỉ định hướng dẫn dành cho người dùng.

{
   "setupActions":[
      {
         "title":{
            "defaultMessage":"Configure VPN"
         },
         "description":{
            "defaultMessage":"Enable your VPN client to access corporate resources."
         },
         "launchApp":{
            "packageName":"com.my.vpnapp."
         }
      }
   ]
}

Để phân biệt một ứng dụng được chạy từ launchApp, hoạt động đầu tiên khởi chạy như một phần của ứng dụng sẽ chứa ý định boolean bổ sung com.google.android.apps.work.clouddpc.EXTRA_LAUNCHED_AS_SETUP_ACTION (được đặt thành true). Dữ liệu bổ sung này cho phép bạn tuỳ chỉnh ứng dụng dựa trên việc ứng dụng được khởi chạy từ setupActions hay do người dùng khởi chạy.

Sau khi ứng dụng trả về RESULT_OK, Android Device Policy sẽ hoàn tất mọi bước còn lại cần thiết để cấp phép cho thiết bị hoặc hồ sơ công việc.

Huỷ đăng ký trong quá trình thiết lập

Ứng dụng được phát hành dưới dạng SetupAction có thể huỷ đăng ký trả về RESULT_CANCELED.

Việc huỷ yêu cầu đăng ký sẽ đặt lại một thiết bị thuộc sở hữu của công ty hoặc xoá hồ sơ công việc trên một thiết bị thuộc sở hữu của cá nhân.

Lưu ý: Việc huỷ đăng ký sẽ kích hoạt thao tác mà không có hộp thoại xác nhận của người dùng. Ứng dụng có trách nhiệm hiển thị hộp thoại lỗi thích hợp cho người dùng trước khi trả về kết quả.

Áp dụng chính sách cho thiết bị mới đăng ký

Phương thức bạn sử dụng để áp dụng chính sách cho thiết bị mới đăng ký là tuỳ thuộc vào bạn và yêu cầu của khách hàng của bạn. Dưới đây là các phương pháp tiếp cận mà bạn có thể sử dụng:

  • (Nên dùng) Khi tạo mã đăng ký, bạn có thể chỉ định tên của chính sách (policyName) mà ban đầu sẽ được liên kết với thiết bị. Khi bạn đăng ký một thiết bị bằng mã thông báo, chính sách này sẽ tự động áp dụng cho thiết bị đó.

  • Đặt một chính sách làm chính sách mặc định cho doanh nghiệp. Nếu không có tên chính sách nào được chỉ định trong mã thông báo đăng ký và có một chính sách có tên là enterprises/<enterprise_id>/policies/default, thì mỗi thiết bị mới sẽ tự động được liên kết với chính sách mặc định tại thời điểm đăng ký.

  • Đăng ký một chủ đề Cloud Pub/Sub để nhận thông báo về các thiết bị mới đăng ký. Để phản hồi thông báo ENROLLMENT, hãy gọi enterprises.devices.patch để liên kết thiết bị với một chính sách.

Đăng ký thiết bị mà không có chính sách

Nếu một thiết bị được đăng ký mà không có chính sách hợp lệ, thì thiết bị đó sẽ được đưa vào cách ly. Những thiết bị bị cách ly sẽ bị chặn khỏi mọi chức năng của thiết bị cho đến khi thiết bị được liên kết với một chính sách.

Nếu bạn không liên kết một thiết bị với một chính sách trong vòng 5 phút, thì quá trình đăng ký thiết bị sẽ thành công và thiết bị đó sẽ được đặt lại về trạng thái ban đầu. Trạng thái cách ly của thiết bị mang đến cho bạn cơ hội triển khai các quy trình kiểm tra giấy phép hoặc các quy trình xác thực đăng ký khác trong giải pháp của bạn.

Ví dụ về quy trình kiểm tra việc cấp phép

  1. Một thiết bị được đăng ký mà không có chính sách mặc định hoặc chính sách cụ thể.
  2. Kiểm tra số lượng giấy phép còn lại của doanh nghiệp.
  3. Nếu có giấy phép, hãy sử dụng devices.patch để đính kèm chính sách vào thiết bị, sau đó giảm số lượng giấy phép. Nếu không có giấy phép nào, hãy sử dụng devices.patch để vô hiệu hoá thiết bị. Ngoài ra, API sẽ đặt lại mọi thiết bị không được đính kèm chính sách trong vòng 5 phút kể từ khi đăng ký về trạng thái ban đầu.