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.
- Build kode contoh memulai cepat untuk Java, .NET, atau Python. Gunakan library klien API Google untuk mendukung bahasa.
Ringkasan
- Satu atau beberapa admin IT adalah pengguna di akun pelanggan pendaftaran zero-touch.
- Admin IT menggunakan Akun Google untuk mengautentikasi diri mereka sendiri.
- 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 diberi nomor halaman.
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 Anda, beri label pada setiap akun pelanggan menggunakan
nilai companyName
.
Pengguna
Admin IT memberikan otorisasi pada permintaan API yang dikirim aplikasi Anda atas nama mereka. Kepada mengizinkan permintaan API, pengguna aplikasi Anda perlu melakukan hal berikut:
- Mengaitkan Akun Google dengan alamat emailnya.
- Bergabung dengan akun pelanggan menggunakan alamat email yang sama.
- Menyetujui Persyaratan Layanan (ToS) pelanggan pendaftaran zero-touch.
Untuk membantu pengguna aplikasi Anda melakukan penyiapan, gunakan kembali panduan kami untuk admin IT di bagian Mulai dan Kaitkan 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 sebagai Pemilik atau Admin. Kedua peran tersebut 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
ToS terbaru. 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 login. 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 data. 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 dua langkah di bawah untuk menyiapkan otorisasi untuk aplikasi Anda.
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 berlaku untuk kumpulan 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 kunci API yang disusupi. 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 lama.
- 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.