Otorisasi

Aplikasi mengizinkan panggilan ke API pelanggan pendaftaran zero-touch menggunakan OAuth. Dokumen ini menjelaskan otorisasi API untuk penyedia pengelolaan mobilitas perusahaan (EMM) dan developer IT perusahaan. Setelah membaca dokumen ini, Anda akan mengetahui cara mengizinkan permintaan API di dan menjelaskan persyaratan akun kepada pengguna aplikasi Anda.

Panduan memulai otorisasi

  • Untuk menyiapkan project Google Cloud Platform dengan API pendaftaran zero-touch rahasia klien OAuth, jalankan wizard ini.
  • Buat kode contoh panduan memulai untuk Java, .NET, atau Python. Gunakan library klien API Google untuk mendukung bahasa.

Ringkasan

Hubungan perangkat dan resource pelanggan

  1. Satu atau beberapa admin IT adalah pengguna di akun pelanggan pendaftaran zero-touch.
  2. Admin IT menggunakan Akun Google untuk mengautentikasi diri mereka sendiri.
  3. Permintaan API meneruskan token OAuth2 untuk mengizinkan permintaan API atas nama Admin IT.

Akun pelanggan

Konfigurasi, perangkat, dan pengguna (admin IT) organisasi adalah milik menggunakan akun pelanggan. Akun pelanggan serupa dengan grup dan bukan setiap pengguna. Reseller menyiapkan pelanggan saat organisasi pertama kali membeli perangkat untuk pendaftaran zero-touch. Admin IT mengelola pengguna lain di organisasi mereka menggunakan portal pendaftaran zero-touch.

API menggunakan ID pelanggan numerik untuk mengidentifikasi akun. Anda meneruskan ID pelanggan sebagai bagian dari jalur URL saat memanggil metode API. Aplikasi Anda perlu mendapatkan ID pelanggan Anda sebelum memanggil metode API apa pun.

Contoh di bawah ini menunjukkan cara mendapatkan akun pelanggan untuk pengguna yang akan mengizinkan panggilan API:

Java

AndroidProvisioningPartner.Customers.List accountRequest = service.customers().list();
accountRequest.setPageSize(100);
CustomerListCustomersResponse accountResponse = accountRequest.execute();

List<Company> customers = accountResponse.getCustomers();
if (customers == null || customers.isEmpty()) {
    // No accounts found for the user. Confirm the Google Account
    // that authorizes the request can access the zero-touch portal.
    System.out.println("No zero-touch enrollment account found.");
} else {
    // Print the customers in this page.
    for (Company customer : customers) {
        System.out.format("%s\tcustomers/%d\n",
              customer.getCompanyName(), customer.getCompanyId());
    }
}

.NET

CustomersResource.ListRequest accountRequest = service.Customers.List();
accountRequest.PageSize = 100;
CustomerListCustomersResponse accountResponse = accountRequest.Execute();
IList<Company> customers = accountResponse.Customers ?? new List<Company>();
if (customers.Count == 0)
{
    // No accounts found for the user. Confirm the Google Account
    // that authorizes the request can access the zero-touch portal.
    Console.WriteLine("No zero-touch enrollment account found.");
}
foreach (Company customer in customers)
{
    Console.WriteLine("{0}\tcustomers/{1}",
                      customer.CompanyName,
                      customer.CompanyId);
}

Python

response = service.customers().list(pageSize=100).execute()
if 'customers' not in response:
  # No accounts found for the user. Confirm the Google Account
  # that authorizes the request can access the zero-touch portal.
  print('No zero-touch enrollment account found.')
  response['customers'] = []

for customer in response['customers']:
  print('{0}\tcustomers/{1}'.format(
      customer['companyName'], customer['companyId']))

Di aplikasi Anda, Anda harus menavigasi halaman hasil akun karena contoh di atas hanya mencetak 100 akun pertama. Untuk mempelajari cara melakukannya, baca Hasil yang di-page.

Sebuah organisasi biasanya memiliki satu akun pelanggan, tetapi organisasi yang lebih besar mungkin menggunakan akun pelanggan terpisah untuk setiap divisi. Karena admin IT dapat menjadi anggota akun pelanggan yang berbeda, aplikasi Anda harus membantu pengguna menemukan dan menggunakan akun pelanggan baru. Di aplikasi, beri label setiap akun pelanggan menggunakan Nilai companyName.

Pengguna

Admin IT mengizinkan permintaan API yang dikirimkan aplikasi Anda atas nama mereka. Kepada mengizinkan permintaan API, pengguna aplikasi Anda perlu melakukan hal berikut:

  1. Mengaitkan Akun Google dengan alamat emailnya.
  2. Bergabung dengan akun pelanggan menggunakan alamat email yang sama.
  3. Setujui Persyaratan Layanan (ToS) pelanggan pendaftaran zero-touch.

Untuk membantu pengguna aplikasi Anda melakukan penyiapan, gunakan kembali panduan kami untuk admin IT di Mendapatkan dimulai dan Mengaitkan Akun Google dalam dokumentasi Anda sendiri.

Pengelolaan pengguna

Admin IT mengelola pengguna untuk akun pelanggan mereka di zero-touch portal pendaftaran. Pengguna di akun pelanggan memiliki peran yang Pemilik atau Admin. Kedua peran memiliki akses yang sama ke API pelanggan, tetapi Pemilik dapat mengelola pengguna lain.

Persetujuan ToS

Sebelum pengguna aplikasi Anda dapat mengizinkan panggilan API, mereka harus menyetujui Persyaratan Layanan Hal ini terjadi saat admin IT pertama kali menggunakan pendaftaran zero-touch, atau saat kami memperbarui ToS. Jika pengguna belum menyetujui ToS terbaru, API akan menampilkan Kode status 403 Forbidden HTTP dan isi respons berisi TosError.

Portal akan otomatis meminta pengguna untuk menyetujui ToS terbaru saat mereka menandatangani inc. Untuk melihat pendekatan yang disarankan yang dapat disertakan aplikasi Anda, baca Menangani Persyaratan Service di panduan integrasi EMM.

Menambahkan otorisasi ke aplikasi Anda

Setiap permintaan yang dikirimkan aplikasi Anda ke API pelanggan harus menyertakan otorisasi sebelumnya yang benar. Token ini juga mengidentifikasi aplikasi Anda ke Google. Karena API pelanggan mengakses data pengguna, otorisasi harus berasal dari pemilik layanan otomatis dan data skalabel. Aplikasi Anda mendelegasikan otorisasi API kepada admin IT menggunakan OAuth 2.0 .

Petunjuk

Kami menyediakan panduan memulai untuk Java, .NET, dan Aplikasi Python. Jika Anda menggunakan bahasa lain, ikuti keduanya langkah-langkah di bawah ini untuk menyiapkan otorisasi .

Untuk mempelajari lebih lanjut otorisasi, baca Menggunakan OAuth 2.0 untuk Mengakses Google Google Cloud API.

Cakupan otorisasi

Menggunakan cakupan otorisasi API https://www.googleapis.com/auth/androidworkzerotouchemm di aplikasi Anda untuk meminta token akses OAuth 2.0.

Parameter cakupan mengontrol kumpulan resource dan operasi yang dapat diakses yang mengizinkan panggilan ke. Token akses hanya valid untuk sekumpulan operasi dan resource yang dijelaskan dalam cakupan permintaan token. API ini mencakup semua metode dan resource dengan cakupan pendaftaran zero-touch tunggal yang ditampilkan di atas.

Contoh cakupan pendaftaran zero-touch yang digunakan dengan Google API library klien, lihat panduan memulai untuk Java, .NET, dan Python. Untuk mempelajari lebih lanjut cara menggunakan cakupan Google API, baca Menggunakan OAuth 2.0 untuk Mengakses Google API.

Praktik terbaik untuk kunci API

Saat menggunakan kunci API di aplikasi Anda, berhati-hatilah untuk menjaga keamanannya. Mengungkapkan kredensial Anda secara publik dapat menyebabkan akun Anda disusupi, yang dapat menimbulkan tagihan tak terduga di akun Anda. Untuk mempertahankan kunci API Anda aman, ikuti praktik terbaik berikut:

Jangan sematkan kunci API secara langsung di dalam kode
Kunci API yang tertanam di dalam kode dapat terekspos secara tidak sengaja ke publik—misalnya, jika Anda lupa menghapus kunci dari kode yang bagikan. Daripada menyematkan kunci API Anda di aplikasi, simpan kunci tersebut di variabel lingkungan atau dalam file di luar sumber aplikasi Anda hierarki.
Jangan simpan kunci API di file yang terdapat di dalam hierarki sumber aplikasi Anda
Jika Anda menyimpan kunci API di dalam file, simpan file tersebut di luar file aplikasi Anda hierarki sumber untuk membantu memastikan kunci Anda tidak dimasukkan ke dalam kontrol kode sumber sistem file. Ini sangat penting jika Anda menggunakan kode sumber publik seperti GitHub.
Batasi kunci API untuk digunakan hanya oleh alamat IP, URL perujuk, dan aplikasi seluler yang memerlukannya
Dengan membatasi alamat IP, URL perujuk, dan aplikasi seluler yang dapat menggunakan setiap kunci, Anda dapat mengurangi dampak dari penyusupan kunci API. Anda dapat menentukan host dan aplikasi yang dapat menggunakan setiap kunci dari Konsol API Google dengan membuka halaman Credentials lalu membuat API baru dengan setelan yang Anda inginkan, atau mengedit setelan API tombol.
Menghapus kunci API yang tidak diperlukan
Untuk meminimalkan paparan serangan, hapus kunci API yang tidak Anda kebutuhan yang lebih besar.
Membuat ulang kunci API secara berkala
Anda dapat membuat ulang kunci API dari Konsol API Google dengan membuka Halaman Credentials, memilih kunci API, lalu mengklik Regenerate untuk setiap kunci. Kemudian update aplikasi Anda untuk menggunakan versi yang baru dibuat tombol. Kunci lama akan terus berfungsi selama 24 jam setelah Anda membuat kunci pengganti.
Meninjau kode Anda sebelum merilisnya ke publik
Pastikan kode Anda tidak berisi kunci API atau kunci pribadi lainnya sebelum Anda membuat kode Anda tersedia untuk publik.