Melakukan Autentikasi ke Dataflow

Dokumen ini menjelaskan cara melakukan autentikasi ke Dataflow secara terprogram. Cara Anda melakukan autentikasi ke Dataflow 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

Dataflow mendukung akses terprogram. Anda dapat mengakses API dengan cara berikut:

Library klien

Library klien Dataflow menyediakan dukungan bahasa tingkat tinggi untuk melakukan autentikasi ke Dataflow 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.

Google Cloud CLI

Saat menggunakan gcloud CLI untuk mengakses Dataflow, Anda login ke gcloud CLI dengan akun pengguna, yang memberikan kredensial yang digunakan oleh perintah gcloud CLI.

Jika kebijakan keamanan organisasi Anda mencegah akun pengguna memiliki izin yang diperlukan, Anda dapat menggunakan peniruan akun layanan.

Untuk mengetahui informasi selengkapnya, silakan melihat Melakukan autentikasi untuk menggunakan gcloud CLI. Untuk mengetahui informasi selengkapnya tentang penggunaan gcloud CLI dengan Dataflow, lihat halaman referensi gcloud CLI.

REST

Anda dapat melakukan autentikasi ke Dataflow 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, silakan melihat kredensial ADC dan gcloud CLI.

Menyiapkan autentikasi untuk Dataflow

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.

Untuk lingkungan pengembangan lokal

Anda dapat menyiapkan kredensial untuk lingkungan pengembangan lokal dengan cara berikut:

Library klien atau alat pihak ketiga

Siapkan Kredensial Default Aplikasi (ADC) di lingkungan lokal Anda:

  1. Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init
  2. Buat kredensial autentikasi lokal untuk Akun Google Anda:

    gcloud auth application-default login

    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:

  1. Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init
  2. Menyiapkan autentikasi:

    1. Buat akun layanan:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Ganti SERVICE_ACCOUNT_NAME dengan nama untuk akun layanan.

    2. Untuk memberikan akses ke project dan resource Anda, berikan peran ke akun layanan:

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

      Ganti kode berikut:

      • SERVICE_ACCOUNT_NAME: nama dari akun layanan.
      • PROJECT_ID: project ID dimana Anda membuat akun layanan
      • ROLE: peran yang akan diberikan
    3. Untuk memberikan peran lain ke akun layanan, jalankan perintah seperti yang Anda lakukan di langkah sebelumnya.
    4. Memberi Akun Google Anda peran yang memungkinkan Anda menggunakan peran akun layanan dan tambahkan akun layanan tersebut ke resource lain:

      gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

      Ganti kode berikut:

      • SERVICE_ACCOUNT_NAME: nama dari akun layanan.
      • PROJECT_ID: project ID dimana Anda membuat akun layanan
      • USER_EMAIL: alamat email untuk Akun Google Anda
  3. Buat resource yang akan menjalankan kode Anda, lalu instal akun layanan ke resource tersebut. Misalnya, jika Anda menggunakan Compute Engine:

    Buat instance Compute Engine. Konfigurasikan instance sebagai berikut:
    • 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

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.

Kontrol akses untuk Dataflow

Setelah melakukan autentikasi ke Dataflow, Anda harus diberi otorisasi untuk mengakses resource Google Cloud. Dataflow menggunakan Identity and Access Management (IAM) untuk otorisasi.

Untuk mengetahui informasi selengkapnya tentang peran Dataflow, lihat Kontrol akses dengan IAM. Untuk mengetahui informasi selengkapnya tentang IAM dan otorisasi, lihat Ringkasan IAM.

Langkah selanjutnya