Đă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 enterprise. Trong quá trình cài đặt thiết bị Android Device Policy 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ị cho doanh nghiệp.

Android Management API sử dụng mã thông báo đăng ký để kích hoạt tính năng cấp phép của chúng tôi. 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 thiết bị (thuộc sở hữu của cá nhân hoặc thuộc sở hữu của công ty) và chế độ quản lý (công việc hoặc thiết bị được quản lý toàn bộ).

Thiết bị thuộc sở hữu của cá nhân

Android 5.1 trở lên

Có thể thiết lập thiết bị do nhân viên sở hữu bằng hồ sơ công việc. Một hồ sơ công việc cung cấp không gian độc lập cho dữ liệu và ứng dụng công việc, tách biệt với không gian cá nhân và dữ liệu. Hầu hết ứng dụng, dữ liệu và hoạt động quản lý khác policies đều áp dụng cho hồ sơ công việc, còn dữ liệu và ứng dụng 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ị của cá nhân, hãy tạo một yêu cầu đăng ký mã thông báo (đả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ị thuộc sở hữu của công ty cho mục đích công việc và cá nhân

Android 8 trở lên

Việc thiết lập một thiết bị thuộc sở hữu của công ty có hồ sơ công việc sẽ bật thiết bị đó cho cả mục đích công việc lẫn cá nhân. Trên thiết bị thuộc sở hữu của công ty có hồ sơ công việc:

  • Hầu hết ứng dụng, dữ liệu và hoạt động quản lý khác policies đều á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.
  • Doanh nghiệp có thể sử dụng blockScope để thực thi các biện pháp 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 thiết bị sẽ á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 với một hồ sơ công việc, hãy tạo một yêu cầu đăng ký mã thông báo (đả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:

Chỉ thiết bị thuộc sở hữu của công ty để dùng cho công việc

Android 5.1 trở lên

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 dành riêng 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à có thể thực thi toàn bộ chính sách và lệnh của Android Management API.

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 hoặc một nhóm nhỏ ứng dụng phục vụ cho mục đích hoặc trường hợp sử dụng riêng. Tập hợp con này của toàn bộ thiết bị được quản lý được gọi là thiết bị chuyên dụng. Mã thông báo đăng ký cho các thiết bị này phải đặt allowPersonalUsage thành PERSONAL_USAGE_DISALLOWED_USERLESS.

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

Chính sách có thể tác động đến việc tạo giao diện người dùng trong quá trình cấp phép thiết bị. Các chính sách đó bao gồm:

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

Nếu bạn muốn các bước nhập mật khẩu hiển thị cùng với quá trình cài đặt các ứ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 các 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ị ở trong trạng thái cách ly, xảy ra nếu đã đă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 cho quá trình thiết lập thiết bị được điền bằng 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ị đã hoàn tất, bạn có thể thay đổi chính sách thành là bắt buộc.


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ột mã đăng ký cho từng thiết bị mà 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. Mã thông báo đăng ký sẽ hết hạn sau một ngày giờ theo mặc định, nhưng bạn có thể chỉ định thời gian hết hạn tùy 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 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 đăng ký một thiết bị. Nếu bạn không chỉ định policyName, hãy xem Đăng ký thiết bị mà không cần chính sách.

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

allowPersonalUsage xác định xem có thể thêm hồ sơ công việc vào thiết bị hay không trong khi cung cấp. Đặ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 hồ sơ công ty thiết bị).


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ả cho các doanh nghiệp duy trì nhiều chính sách. Mã QR được trả về từ enterprises.enrollmentTokens.create được tạo thành từ tải trọng của các cặp khoá-giá trị chứa mã thông báo đăng ký và tất cả thông tin cần thiết cho Android Device Policy để cấp phép một thiết bị.

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

Gói này bao gồm vị trí tải xuống của Android Device Policy và mã đă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 mã QR mà enterprises.enrollmentTokens.create trả về trực tiếp hoặc tuỳ chỉnh ứng dụng. Để xem danh sách đầy đủ các cơ sở lưu trú mà bạn có thể thêm vào gói mã QR, hãy xem phần Tạo mã QR.

Để chuyển đổi chuỗi qrcode thành Mã QR có thể quét, hãy dùng 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 thức cấp phép một 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 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ác bước sau sẽ khởi chạy trình hướng dẫn thiết lậ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 xuống Android Device Policy

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 Thiết bị Android xuống Chính sách của Cửa hàng Google Play. Sau khi cài đặt ứng dụng, người dùng sẽ được nhắc nhập mã QR hoặc nhập mã QR theo cách thủ công mã đăng ký để 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ã thông báo đăng ký được trả về từ enrollmentTokens.create hoặc signinEnrollmentToken của Enterprise, hãy 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 URL này cho người dùng cuối của họ. Khi người dùng cuối mở đường liên kết trên thiết bị của họ, họ sẽ được hướng dẫn thông tin 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 được chuyển đến một trang để nhập mọi thông tin cần thiết để hoàn tất quá trình cấp phép. Dựa trên thông tin mà người dùng nhập, bạn có thể tính toán chính sách thích hợp cho người dùng trước khi tiếp tục có cấp phép thiết bị. Ví dụ:

  1. Chỉ định URL đăng nhập của bạn 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á nhân, không bắt buộc cho thiết bị thuộc quyền sở hữu của công ty).

    Thêm signinEnrollmentToken kết quả dưới dạng cấp phép bổ sung cho QR mã, tải trọng NFC hoặc Thiết lập tự động . Ngoài ra, bạn có thể cung cấp signinEnrollmentToken cho người dùng.

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

    1. Thiết bị thuộc sở hữu của công ty: Sau khi bật thiết bị mới hoặc thiết bị được đặt lại về trạng thái ban đầu thiết bị, truyền signinEnrollmentToken đến thiết bị (qua mã QR, NFC va chạm, v.v.) hoặc yêu cầu người dùng 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ị thuộc sở hữu cá nhân: Yêu cầu người dùng thêm hồ sơ công việc từ "Cài đặt". Khi được nhắc, người dùng quét mã QR 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 trong Bước 1.
    3. Thiết bị thuộc sở hữu của cá nhân: Cung cấp cho người dùng một mã đăng ký , trong đó mã thông báo đăng ký là signinEnrollmentToken. Thiết bị sẽ mở URL đăng nhập đã chỉ định ở Bước 1.
  3. Kiểm tra xem Google đã xác thực người dùng hay chưa. Lấy thiết bị thông tin cấp phép (trong quá trình đăng ký thiết bị) bằng tham số GET provisioningInfo rồi kiểm tra giá trị cho trường này authenticatedUserEmail. Nếu có giá trị trong trường này thì người dùng đã được Google xác thực thành công và bạn có thể sử dụng danh tính này mà không cần xác thực thêm.

  4. Nếu Google chưa xác thực người dùng thì URL đăng nhập của bạn phải 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 họ, bạn có thể xác định chính sách phù hợp và nhận việc cấp phép thiết bị (trong quá trình đăng ký thiết bị) bằng tham số GET provisioningInfo.

  5. 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.

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

Phương thức dùng mã QR

Android 7.0 trở lên

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

  1. Trên thiết bị mới hoặc được đặ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 để 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ị này.

Phương thức NFC

Android 6.0 trở lên

Phương pháp này yêu cầu bạn tạo ứng dụng lập trình viên NFC chứa mã đăng ký, chính sách ban đầu cũng như cấu hình Wi-Fi, chế độ cài đặt và tất cả các chi tiết cấp phép khác mà khách hàng của bạn yêu cầu để cung cấp một được quản lý hoặc thiết bị chuyên dụng. Khi bạn hoặc khách hàng của bạn cài đặt NFC ứng dụng lập trình viên trên một thiết bị chạy Android, thiết bị đó sẽ trở thành lập trình viên thiết bị.

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

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

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

Nếu bạn 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 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 để tải Android xuống Device Policy.
  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 thiết bị.

Thiết lập tự động

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

Những thiết bị được mua từ đại lý tự động đăng ký được uỷ quyền đều đủ điều kiện sử dụng thiết lập tự động, một phương pháp đơn giản để định cấu hình trước thiết bị tự động cấp phép trong lần khởi động đầu tiên.

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 của EMM (xem API khách hàng tự động). Ngày đầu tiên khởi động, thiết bị tự động đăng ký sẽ kiểm tra xem thiết bị đã được chỉ định cấu hình hay chưa. Nếu có, thiết bị tải xuống Android Device Policy, sau đó hoàn tất quá trình thiết lập thiết bị bằng cách sử dụng dịch vụ bổ sung cấp phép đượ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ả cách tạo và chỉ định cấu hình cho các thiết bị, đều có trong Android Enterprise trung tâm trợ giúp.

Nếu bạn muốn khách hàng đặt và chỉ định cấu hình ngay trong Bảng điều khiển EMM (quản lý thiết bị di động doanh nghiệp), bạn cần tích hợp với API khách hàng tự động đăng ký. Thời gian tạo cấu hình, thì bạn sẽ chỉ định tiện ích bổ sung cấp phép trong Trường dpcExtras. Đoạn mã JSON sau đây trình bày một ví dụ cơ bản về việc cần làm thêm vào dpcExtras cùng với một mã đă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 một ứng dụng trong quá trình thiết lập

thao tác thiết lập
Hình 2. Dùng setupActions để chạy ứ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 khởi chạy trong khi thiết lập thiết bị hoặc hồ sơ công việc. Ví dụ: bạn có thể chạy một ứng dụng VPN để người dùng có thể định cấu hình chế độ cài đặt VPN trong quá trình thiết lập. Ứng dụng phải trả về RESULT_OK để báo hiệu hoàn tất và cho phép Android Device Policy cấp phép thiết bị hoặc hồ sơ công việc hoàn chỉnh. 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 ứng dụng không thể được cài đặt hoặc khởi chạy trên thiết bị, thì việc 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 với launchApp, hoạt động được khởi chạy lần đầu dưới dạng một phần của ứng dụng chứa ý định boolean bổ sung com.google.android.apps.work.clouddpc.EXTRA_LAUNCHED_AS_SETUP_ACTION (đã đặt thành true). Thông tin bổ sung này cho phép bạn tuỳ chỉnh ứng dụng dựa trên việc khởi chạy từ setupActions hoặc bởi một người dùng.

Sau khi ứng dụng trả về RESULT_OK, Android Device Policy sẽ hoàn tất mọi thao tác còn lại các bước cần thiết để cấp phép 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 chạy dưới dạng SetupAction có thể huỷ yêu cầu đăng ký trả lại RESULT_FIRST_USER.

Việc huỷ đăng ký sẽ đặt lại một thiết bị thuộc sở hữu của công ty hoặc xoá công việc trên 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 hành động mà không có người dùng hộp thoại xác nhận. Ứng dụng có trách nhiệm hiển thị cho người dùng trước khi trả về RESULT_FIRST_USER.

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

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

  • (Nên dùng) Khi tạo mã thông báo đăng ký, bạn có thể chỉ định tên của chính sách (policyName) 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 này, chính sách 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 là được chỉ định trong mã thông báo đăng ký và có một chính sách với tên enterprises/<enterprise_id>/policies/default, mỗi thiết bị mới tự động 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ủ đề trên Cloud Pub/Sub để nhận thông báo về các thiết bị mới đăng ký. Để phản hồi một Thông báo ENROLLMENT, gọi enterprises.devices.patch tới hãy liên kết thiết bị với một chính sách.

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

Nếu 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. Các thiết bị bị cách ly sẽ bị chặn khỏi tất cả 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ào đó.

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

Ví dụ về quy trình kiểm tra giấy 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 mà doanh nghiệp còn lại.
  3. Nếu có giấy phép, hãy sử dụng devices.patch để đính kèm chính sách của mình cho thiết bị, sau đó giảm số lượng giấy phép của bạn. Nếu không có có giấy phép, hãy sử dụng devices.patch để tắt thiết bị. Ngoài ra, API sẽ đặt lại về trạng thái ban đầu đối với mọi thiết bị không được đính kèm với trong vòng 5 phút kể từ khi đăng ký.