Đă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ị để được quản lý bằng policies của enterprise. Trong quá trình này, thiết bị sẽ cài đặt Android Device Policy. Ứng dụng này dùng để nhận và thực thi policies. Nếu quá trình 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ị với một doanh nghiệp.

Android Management API sử dụng 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 thiết bị (thuộc sở hữu cá nhân hoặc thuộ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ý hoàn toàn).

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

Android 5.1 trở lên

Bạn có thể thiết lập hồ sơ công việc cho thiết bị do nhân viên sở hữu. Hồ sơ công việc cung cấp một không gian khép kín 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 biện pháp quản lý policies về ứng dụng, dữ liệu và các biện pháp quản lý khác chỉ áp dụng cho hồ sơ công việc, trong khi ứ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á nhân, hãy tạo 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 dùng cho mục đích công việc và cá nhân

Android 8 trở lên

Khi 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, bạn có thể sử dụng thiết bị đó cho cả mục đích công việc và cá nhân. Trên thiết bị do công ty sở hữu có hồ sơ công việc:

  • Hầu hết policies quản lý ứng dụng, dữ liệu và các policies 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, các 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.
  • Các 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ỉ trên hồ sơ công việc của thiết bị.
  • devices.deletelệnh thiết bị áp dụng cho toàn bộ thiết bị.

Để thiết lập thiết bị do công ty sở hữu có hồ sơ công việc, hãy tạo 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 chỉ dùng cho công việc

Android 5.1 trở lên

Chế độ Quản lý thiết bị toàn diện phù hợp với các thiết bị do công ty sở hữu và 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à có thể thực thi toàn bộ các chính sách và lệnh của API Quản lý Android.

Bạn cũng có thể khoá thiết bị (thông qua chính sách) thành một ứng dụng hoặc một nhóm nhỏ ứng dụng để phục vụ 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 của các thiết bị được quản lý đầy đủ đượ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 chế độ quản lý toàn quyền 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 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ể ảnh hưở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: Giá trị này xác định các yêu cầu đối với mật khẩu.
  • PermittedInputMethods: Thuộc tính này xác định phương thức nhập gói.
  • PermittedAccessibilityServices: Giá trị này xác định những dịch vụ hỗ trợ tiếp cận được phép cho thiết bị được quản lý hoàn toàn và hồ sơ công việc.
  • SetupActions: Giá trị này xác định những hành động được thực thi trong quá trình thiết lập.
  • ApplicationsPolicy: Giá trị này xác định chính sách cho một ứng dụng riêng lẻ.

Nếu bạn muốn các bước đặt 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. Điều này xảy ra nếu bạn đăng ký mà không có chính sách liên quan, cho đến khi chỉ định chính sách đã chọn cuối cùng để thiết lập thiết bị được điền sẵn các mục liên quan đến nhu cầu thiết lập của bạn. Sau khi hoàn tất việc cấp phép thiết bị, 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ề Android Management.
Hình 1. Tạo 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 mỗi thiết bị mà bạn 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 đến khoảng 10.000 năm.

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

Chỉ định 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 việc đăng ký thiết bị. Nếu bạn không chỉ định policyName, hãy xem phần Đăng ký thiết bị không có 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ị trong quá trình 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ị thuộc sở hữu của công ty).


Giới thiệu về mã QR

Mã QR hoạt động như một phương thức cấp thiết bị hiệu quả cho các doanh nghiệp duy trì nhiều chính sách khác nhau. Mã QR được trả về từ enterprises.enrollmentTokens.create bao gồm một tải trọng gồm 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 để Chính sách thiết bị Android cấp phép cho một thiết bị.

Gói mã QR mẫu

Gói này bao gồm vị trí tải xuống của Chính sách thiết bị Android và một 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ể trực tiếp sử dụng 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 sử dụng trình tạo Mã QR như ZXing.


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

Phần này mô tả các phương thức khác nhau để 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ị, 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ác bước này 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 việc 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ị, người dùng có thể tải Android Device Policy (Chính sách thiết bị Android) 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 quét mã QR hoặc nhập mã đăng ký theo cách thủ công để hoàn tất việc 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 doanh nghiệp, 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ọ cung cấp cho người dùng cuối. 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 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 chuyển hướng đến một trang để nhập mọi thông tin bổ sung cần thiết nhằm 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 phù hợp cho người dùng trước khi tiếp tục cấp phép 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ị do cá nhân sở hữu, không bắt buộc đối với thiết bị do công ty sở hữu).

    Thêm signinEnrollmentToken thu được làm dữ liệu cấp phép bổ sung vào mã QR, trọng tải NFC hoặc cấu hình Không chạm. 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ị thuộc sở hữu của công ty: 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 chuyển signinEnrollmentToken đến thiết bị (thông qua Mã QR, tính năng nhấn và thanh toán không tiếp xúc NFC, 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 trong 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 trong phần "Cài đặt". Khi được nhắc, người dùng sẽ 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á nhân: Cung cấp cho người dùng đườ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 trong Bước 1.
  3. Kiểm tra xem Google đã xác thực người dùng hay chưa. Lấy thông tin cấp phép thiết bị (trong quá trình đăng ký thiết bị) bằng cách sử dụng tham số GET provisioningInfo và kiểm tra giá trị cho trường authenticatedUserEmail. Nếu có giá trị trong trường này, tức là Google đã xác thực thành công người dù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 sẽ nhắc người dùng nhập thông tin xác thực 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 thông tin cấp phép thiết bị (trong quá trình đăng ký thiết bị) bằng cách sử dụng tham số GET provisioningInfo.

  5. Gọi enrollmentTokens.create, chỉ định policyId phù hợp dựa trên thông tin xác thực của người dùng.

  6. Trả về mã thông báo đăng ký được tạo ở Bước 5 bằng cách sử dụ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 thiết bị thuộc sở hữu của công ty, bạn có thể tạo mã QR và hiển thị mã đó trong bảng điều khiển EMM:

  1. Trên 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 ở 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 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ã thông báo đăng ký, các chính sách ban đầu và cấu hình Wi-Fi, chế độ cài đặt và tất cả thông tin chi tiết khác về việc cấp phép 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ý đầy đủ. Khi bạn hoặc khách hàng cài đặt ứng dụng trình 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.

Bạn có thể xem hướng dẫn chi tiết về cách hỗ trợ phương thức NFC trong tài liệu dành cho nhà phát triển về API Play EMM. Trang web này 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ó va chạm 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 giá trị nhận dạng DPC

Nếu không thể thêm Chính sách thiết bị Android bằng Mã QR hoặc NFC, 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 thiết bị thuộc 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 Chính sách thiết bị Android 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 thiết bị.

Chương trình 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 từ đại lý bán thiết bị không tiếp xúc được uỷ quyền đủ điều kiện để đăng ký không tiếp xúc. Đây là một phương thức đơn giản để định cấu hình trước thiết bị nhằm tự động cấp phép cho thiết bị 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 chi tiết về việc cấp phép cho các thiết bị tự động đăng ký thông qua cổng đăng ký tự động hoặc sử dụng bảng điều khiển EMM (xem API khách hàng tự động đăng ký). Trong lần khởi động đầu tiên, thiết bị không chạm sẽ kiểm tra xem thiết bị đó đã được chỉ định cấu hình hay chưa. Nếu có, thiết bị sẽ tải Chính sách thiết bị Android xuống, sau đó hoàn tất việc thiết lập thiết bị bằng cách sử dụng các tính năng bổ sung của quá trình cấp phép được chỉ định trong cấu hình được chỉ định.

Nếu khách hàng sử dụng cổng đăng ký không cần chạm, thì họ cần chọn Android Device Policy làm DPC EMM cho từng cấu hình mà họ tạo. Bạn có thể xem 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 thiết bị trong Trung tâm trợ giúp của Android Enterprise.

Nếu muốn khách hàng thiết lập và chỉ định cấu hình ngay trên bảng điều khiển EMM, bạn cần tích hợp với API khách hàng không cần tiếp xúc. Khi tạo cấu hình, bạn chỉ định các tuỳ chọn cấp phép bổ sung trong trường dpcExtras. Đoạn mã JSON sau đây cho thấ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 được thêm vào.

{
   "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

setupaction
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 khởi 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 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 hoàn tất việc 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 không thể cài đặt hoặc chạy ứng dụng trên thiết bị, 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 khởi chạy từ launchApp, hoạt động được khởi chạy lần đầu tiên trong ứ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). Tính năng 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 người dùng.

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 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ỷ đăng ký bằng cách trả về RESULT_FIRST_USER.

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

Lưu ý: Việc huỷ đăng ký sẽ kích hoạt hành động 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ề 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ý tuỳ thuộc vào bạn và yêu cầu của khách hàng. Dưới đây là các phương pháp mà bạn có thể 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, chính sách sẽ tự động được áp dụng cho thiết bị đó.

  • Đặt một chính sách làm chính sách mặc định cho một 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 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ị 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 trạng thái cách ly. Các thiết bị bị cách ly sẽ bị chặn 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ếu một thiết bị không được liên kết với chính sách trong vòng 5 phút, thì quá trình đăng ký thiết bị sẽ không thành công và thiết bị sẽ được đặt lại về trạng thái ban đầu. Trạng thái thiết bị cách ly cho phép bạn triển khai các quy trình kiểm tra giấy phép hoặc quy trình xác thực đă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. 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 để tắt thiết bị. Ngoài ra, API sẽ đặt lại về trạng thái ban đầu mọi thiết bị không được đính kèm với chính sách trong vòng 5 phút kể từ khi đăng ký.