Dokumen ini menjelaskan cara melakukan autentikasi ke Cloud Vision secara terprogram. Cara Anda melakukan autentikasi ke Cloud Vision bergantung pada antarmuka yang Anda gunakan untuk mengakses API dan lingkungan tempat kode Anda berjalan.
Untuk mengetahui informasi selengkapnya tentang autentikasi Google Cloud, lihat ringkasan autentikasi.
Akses API
Vision mendukung akses terprogram. Anda dapat mengakses API dengan cara berikut:
Library klien
Library klien Vision menyediakan dukungan bahasa tingkat tinggi untuk melakukan autentikasi ke Vision secara terprogram. Untuk mengautentikasi panggilan ke Google Cloud API, library klien mendukung Kredensial Default Aplikasi (ADC); library ini mencari kredensial dalam kumpulan lokasi yang ditentukan dan menggunakan kredensial tersebut untuk mengautentikasi permintaan ke API. Dengan ADC, Anda dapat menyediakan kredensial untuk aplikasi di berbagai lingkungan, seperti pengembangan lokal atau produksi, tanpa perlu mengubah kode aplikasi.
REST
Anda dapat melakukan autentikasi ke Vision API menggunakan kredensial gcloud CLI atau menggunakan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya tentang autentikasi permintaan REST, silakan melihat Melakukan autentikasi untuk menggunakan REST. Untuk mengetahui informasi tentang jenis kredensial, lihat kredensial ADC dan gcloud CLI.
Kredensial pengguna dan ADC untuk Vision
Salah satu cara untuk memberikan kredensial ke ADC adalah dengan menggunakan gcloud CLI untuk memasukkan kredensial pengguna Anda ke dalam file kredensial. File ini ditempatkan di sistem file lokal tempat ADC dapat menemukannya; ADC kemudian menggunakan kredensial pengguna yang disediakan untuk melakukan autentikasi permintaan. Metode ini sering digunakan untuk pengembangan lokal.
Jika menggunakan metode ini, Anda mungkin mengalami error autentikasi saat mencoba mengautentikasi ke Vision. Untuk mengetahui informasi selengkapnya tentang error ini dan cara mengatasinya, lihat Kredensial pengguna tidak berfungsi.
Menyiapkan autentikasi untuk Vision
Cara Anda menyiapkan autentikasi bergantung pada lingkungan tempat kode Anda berjalan.
Opsi untuk menyiapkan autentikasi berikut adalah yang paling umum digunakan. Untuk opsi dan informasi lainnya tentang autentikasi, silakan melihat Metode autentikasi.
Sebelum menyelesaikan petunjuk ini, Anda harus menyelesaikan penyiapan dasar untuk Vision, seperti yang dijelaskan dalam Penyiapan dan pembersihan Cloud Vision.
Untuk lingkungan pengembangan lokal
Anda dapat menyiapkan kredensial untuk lingkungan pengembangan lokal dengan cara berikut:
- Kredensial pengguna untuk library klien atau alat pihak ketiga
- Kredensial pengguna untuk permintaan REST dari command line
Library klien atau alat pihak ketiga
Siapkan Kredensial Default Aplikasi (ADC) di lingkungan lokal Anda:
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Layar login akan muncul. Setelah Anda login, kredensial Anda disimpan dalam file kredensial lokal yang digunakan oleh ADC.
Untuk mengetahui informasi selengkapnya tentang cara bekerja dengan ADC di lingkungan lokal, silakan melihat Lingkungan pengembangan lokal.
Permintaan REST dari command line
Saat membuat permintaan REST dari command line, Anda dapat menggunakan kredensial gcloud CLI dengan menyertakan gcloud auth print-access-token
sebagai bagian dari perintah yang mengirimkan permintaan.
Contoh berikut mencantumkan akun layanan untuk project yang ditentukan. Anda dapat menggunakan pola yang sama untuk setiap permintaan REST.
Sebelum menggunakan salah satu data permintaan, buat penggantian berikut:
- PROJECT_ID: project ID Google Cloud Anda.
Untuk mengirim permintaan, luaskan salah satu opsi berikut:
Untuk mengetahui informasi selengkapnya tentang autentikasi menggunakan REST dan gRPC, lihat Mengautentikasi untuk menggunakan REST. Untuk mengetahui informasi tentang perbedaan antara kredensial ADC lokal dan kredensial gcloud CLI, lihat konfigurasi autentikasi gcloud CLI dan konfigurasi ADC.
Di Google Cloud
Untuk mengautentikasi workload yang berjalan di Google Cloud, Anda menggunakan kredensial akun layanan yang dilampirkan ke resource komputasi tempat kode Anda dijalankan, seperti instance virtual machine (VM) Compute Engine. Pendekatan ini adalah metode autentikasi yang direkomendasikan untuk kode yang berjalan di resource komputasi Google Cloud.
Untuk sebagian besar layanan, Anda harus memasang akun layanan saat membuat resource yang akan menjalankan kode Anda; Anda tidak dapat menambahkan atau mengganti akun layanan nanti. Compute Engine merupakan pengecualian—Anda dapat memasang akun layanan ke instance VM kapan saja.
Gunakan gcloud CLI untuk membuat akun layanan dan memasangnya ke resource Anda:
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
Set up authentication:
-
Create the service account:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Replace
SERVICE_ACCOUNT_NAME
with a name for the service account. -
To provide access to your project and your resources, grant a role to the service account:
gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE
Replace the following:
SERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service accountROLE
: the role to grant
- To grant another role to the service account, run the command as you did in the previous step.
-
Grant the required role to the principal that will attach the service account to other resources.
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser
Replace the following:
SERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service accountUSER_EMAIL
: the email address for a Google Account
-
-
Buat resource yang akan menjalankan kode Anda, lalu instal akun layanan ke resource tersebut. Misalnya, jika Anda menggunakan Compute Engine:
Create a Compute Engine instance. Configure the instance as follows:-
Ganti
INSTANCE_NAME
dengan nama instance pilihan Anda. -
Tetapkan flag
--zone
ke zona tempat Anda ingin membuat instance. -
Tetapkan flag
--service-account
ke alamat email untuk akun layanan yang Anda buat.
gcloud compute instances create INSTANCE_NAME --zone=ZONE --service-account=SERVICE_ACCOUNT_EMAIL
-
Ganti
Untuk mengetahui informasi selengkapnya tentang cara melakukan autentikasi ke Google API, silakan melihat Metode autentikasi.
Lokal atau di penyedia cloud lain
Metode yang direkomendasikan untuk menyiapkan autentikasi dari luar Google Cloud adalah menggunakan workload identity federation. Untuk mengetahui informasi selengkapnya, lihat Penyedia lokal atau penyedia cloud lainnya dalam dokumentasi autentikasi.
Langkah berikutnya
- Pelajari metode autentikasi Google Cloud.
- Lihat daftar kasus penggunaan autentikasi.