Menyiapkan hub tindakan lokal untuk tindakan yang menggunakan OAuth dan streaming

Jika instance Looker yang dihosting pelanggan tidak dapat berkomunikasi dengan hub tindakan yang dihosting Looker, admin Looker mungkin tidak dapat mengaktifkan tindakan yang mendukung hasil streaming atau yang menggunakan OAuth. Selain itu, pengguna Looker mungkin mengalami kueri yang terhenti saat mengirim atau menjadwalkan data ke tindakan yang mendukung hasil streaming dan mungkin tidak dapat mengonfigurasi tindakan OAuth.

Untuk menggunakan integrasi Looker, Hub Tindakan Looker dan instance Looker harus dapat berkomunikasi satu sama lain. Admin instance yang dihosting pelanggan yang tertarik untuk membaca solusi yang sesuai untuk arsitektur instance mereka dapat melihat rekomendasi yang dijelaskan di bagian Pertimbangan untuk instance yang dihosting pelanggan di halaman dokumentasi Membagikan data melalui hub tindakan.

Jika instance menggunakan sertifikat SSL yang diterbitkan oleh Otoritas Sertifikat (CA) yang tidak ada dalam daftar sertifikat root ini, tindakan OAuth dan streaming mungkin tidak dapat digunakan di instance Looker yang dihosting pelanggan.

Untuk melihat tindakan yang dikonfigurasi untuk mendukung hasil streaming atau OAuth, lihat daftar layanan terintegrasi Looker di halaman dokumentasi Setelan admin - Tindakan.

Halaman ini menjelaskan cara mengaktifkan server hub tindakan lokal untuk menggunakan tindakan Looker yang mendukung hasil yang di-streaming atau yang menggunakan Google OAuth. Anda dapat menyiapkan server hub tindakan lokal sendiri dengan membuat penampung atau virtual machine (VM) yang menghosting salinan yang di-clone dari kode repo Hub Tindakan Looker, lalu mengikuti langkah-langkah berikut, seperti yang dijelaskan lebih mendetail di bagian berikut:

  1. Buat penyiapan container atau virtual machine (VM) untuk server hub tindakan.
  2. Konfigurasi kredensial OAuth Google.
  3. Konfigurasi layar izin OAuth Google.
  4. Siapkan variabel lingkungan Anda.
  5. Buat kunci API.
  6. Mulai hub tindakan baru.
  7. Tambahkan hub tindakan baru ke instance Looker Anda.

Membuat penyiapan container atau virtual machine (VM) untuk server hub tindakan

VM atau penampung Anda harus memenuhi persyaratan dan dependensi alokasi dan jaringan berikut:

Looker merekomendasikan mengalokasikan 2 thread CPU/vCPU dan minimal 2 GB memori untuk container atau VM ini. Jika Anda memperkirakan penggunaan tindakan yang berat, pertimbangkan untuk meningkatkan memori di atas 2 GB.

Persyaratan jaringan

Hub tindakan Anda harus memiliki alamat IP statis atau alamat yang dapat diselesaikan melalui Sistem Nama Domain (DNS) internal.

Jaringan Anda harus mendukung persyaratan komunikasi berikut:

  • Instance Looker harus dapat berkomunikasi dengan hub tindakan.
  • Autentikasi Google harus dapat berkomunikasi dengan hub tindakan.
  • Browser yang terhubung secara internal harus dapat menjangkau hub tindakan.
  • Hub tindakan harus dapat menjangkau server Google Drive.

Dependensi yang diperlukan

Saat Anda meng-clone repositori tindakan Looker ke VM atau container yang baru dibuat:

  • Pastikan Node 12.13 telah diinstal.
  • Jalankan yarn install untuk menginstal paket yang diperlukan.

Setelah menyiapkan lingkungan, Anda harus membuat kredensial Google OAuth untuk server hub tindakan di Konsol Google Cloud API.

Mengonfigurasi kredensial OAuth Google

Untuk mengonfigurasi kredensial OAuth Google untuk tindakan Anda, Anda harus:

Membuat kredensial OAuth Google

Untuk membuat client ID dan rahasia klien Google OAuth Anda:

  1. Buka halaman Kelola resource Google Cloud, lalu klik BUAT PROJECT untuk membuat project baru.

    Untuk mengetahui informasi selengkapnya tentang cara membuat project, lihat panduan Membuat dan mengelola project.

  2. Setelah project baru Anda dibuat, pilih project baru tersebut.
  3. Dari sidebar kiri konsol, buka halaman API & Layanan > Kredensial.
  4. Klik Buat Kredensial.
  5. Di drop-down, klik Client ID OAuth.
  6. Anda mungkin perlu mengonfigurasi layar izin OAuth. Jika ya, ikuti petunjuk di bagian Mengonfigurasi layar izin OAuth di halaman ini, lalu lanjutkan dengan langkah 7.
  7. Untuk Jenis aplikasi, pilih Aplikasi web.
  8. Masukkan nama aplikasi Anda di kolom Name.
  9. Di bagian Authorized JavaScript origins, tambahkan alamat aplikasi Looker root yang Anda gunakan secara internal.
  10. Tetapkan URI pengalihan yang diotorisasi untuk konsol Google Drive dan Google Spreadsheet dengan ACTION_HUB_BASE_URL sebagai alamat hub tindakan Anda:
                https://<ACTION_HUB_BASE_URL>/actions/google_sheets/oauth_redirect
                https://<ACTION_HUB_BASE_URL>/actions/google_drive/oauth_redirect
            
  11. Klik tombol Buat untuk membuat client ID OAuth dan secret klien OAuth. Anda akan memerlukan keduanya nanti.

Halaman Konsol Google API ini memungkinkan Anda mengonfigurasi layar izin untuk semua aplikasi dalam project Anda, yang memungkinkan pengguna memberikan akses ke data mereka serta memberi mereka link ke dokumentasi hukum atau privasi. Jika Anda telah menyelesaikan langkah ini atau tidak perlu mengonfigurasi layar izin, lewati bagian ini dan kembali ke jendela terminal untuk menyetel variabel lingkungan, seperti yang dijelaskan dalam Menyetel variabel lingkungan di halaman ini.

Untuk mengonfigurasi layar izin:

  1. Klik CONFIGURE CONSENT SCREEN.
  2. Pilih apakah ini aplikasi internal atau eksternal, lalu klik BUAT.
  3. Masukkan nama aplikasi Anda di kolom Nama aplikasi.
  4. Untuk Email dukungan pengguna, masukkan alamat email yang akan ditampilkan di layar izin OAuth untuk dukungan pengguna.
  5. Jika perlu, untuk Logo aplikasi, upload file gambar untuk digunakan di Layar izin OAuth.
  6. Secara opsional, masukkan Link halaman beranda aplikasi, yang harus dihosting di domain root yang sama dengan hub tindakan Anda.
  7. Secara opsional, masukkan link ke kebijakan privasi aplikasi Anda di kolom Link kebijakan privasi aplikasi. Link harus dihosting di domain root yang sama dengan hub tindakan Anda.
  8. Atau, masukkan link ke persyaratan layanan aplikasi Anda di kolom Link persyaratan layanan aplikasi. Link harus dihosting di domain root yang sama dengan hub tindakan Anda.
  9. Untuk bagian Authorized domains, klik ADD DOMAIN, lalu masukkan domain root yang digunakan hub tindakan Anda.
  10. Di kolom Informasi kontak developer, masukkan email yang dapat dihubungi Google.
  11. Klik SIMPAN DAN LANJUTKAN.
  12. Di bagian Cakupan, tambahkan jenis data pengguna yang harus diakses oleh aplikasi Anda. Hal ini mencakup email, profil, OpenID, dan https://mail.google.com. Karena daftar ini mencakup informasi pengguna yang sensitif, Google perlu memverifikasi layar izin OAuth Anda sebelum dapat dipublikasikan.
  13. Klik SIMPAN DAN LANJUTKAN.
  14. Secara opsional, di bagian Pengguna pengujian, tambahkan pengguna yang ingin Anda beri akses ke hub tindakan sebelum verifikasi.
  15. Klik SIMPAN DAN LANJUTKAN.
  16. Klik KEMBALI KE DASBOR.
  17. Di sidebar kiri, klik Credentials untuk kembali mengonfigurasi kredensial OAuth Anda.

Setelah Anda mengonfigurasi layar izin OAuth, jika Anda sedang dalam proses mengonfigurasi kredensial OAuth Google, kembali ke langkah 7 dalam prosedur tersebut dan selesaikan konfigurasi kredensial. Jika tidak, Anda dapat kembali ke jendela terminal untuk menyetel variabel lingkungan.

Menetapkan variabel lingkungan

Di lingkungan VM atau container, tetapkan variabel lingkungan berikut:

    ACTION_HUB_LABEL=<your action hub label name>
        ACTION_HUB_SECRET=<some secret>
        ACTION_HUB_BASE_URL=<your action hub base address>
            # For example https://actions.company.com
            # DO NOT INCLUDE A TRAILING SLASH
        GOOGLE_SHEET_CLIENT_ID=<OAuth client ID>
        GOOGLE_SHEET_CLIENT_SECRET=<OAuth client secret>
        GOOGLE_DRIVE_CLIENT_ID=<OAuth client ID>
        GOOGLE_DRIVE_CLIENT_SECRET=<OAuth client secret>

Anda dapat menggunakan OAuth client ID dan OAuth client secret yang sama untuk Google Drive dan Google Spreadsheet; namun, sebaiknya tetapkan kedua set token Google API.

Tetapkan juga kunci enkripsi:

    CIPHER_MASTER="<hex aes-256 key>"

Kunci ini tidak digunakan untuk enkripsi jangka panjang; kunci ini hanya digunakan untuk mengenkripsi state selama alur OAuth. Berikut adalah contoh kunci AES-256 hex:

    C4EFBBE2C364248419776459A00F2F4017CE77E29D9E8F64940687EA440A0CC9

Membuat kunci API

Untuk mendapatkan kunci API, jalankan perintah ini:

y arn generate-api-key

Simpan kunci yang dibuat untuk digunakan nanti dalam penyiapan. Kunci ini dibuat berdasarkan ACTION_HUB_SECRET.

Memulai server hub tindakan lokal

Untuk memulai hub tindakan, jalankan perintah ini:

yarn start

Menambahkan hub tindakan ke instance Looker Anda

Untuk menambahkan hub tindakan ke instance Looker Anda:

  1. Di Looker, buka halaman Tindakan di bagian Platform di panel Admin.
  2. Scroll ke bagian bawah halaman, lalu klik tombol Tambahkan Hub Tindakan.
  3. Masukkan ACTION_HUB_BASE_URL Anda, lalu klik Tambahkan Action Hub. Hub tindakan Anda akan muncul di bawah judul baru dengan nama dan ACTION_HUB_BASE_URL. Tindakan Google Drive dan Google Spreadsheet Anda akan muncul di bawah judul ini.
  4. Jika koneksi gagal, masukkan api-key yang Anda buat sebelumnya di kolom Authorization Token, lalu klik link Refresh di bagian atas judul hub tindakan.
  5. Aktifkan tindakan Google Drive dan Google Spreadsheet Anda, lalu pastikan tindakan tersebut dikonfigurasi dengan benar di hub tindakan Anda.

Langkah berikutnya

Langkah berikutnya adalah memublikasikan aplikasi yang Anda buat di Konsol Google API. Untuk memublikasikan, buka halaman OAuth consent screen, lalu klik tombol Submit for verification. Perhatikan bahwa proses publikasi aplikasi mungkin memerlukan waktu dan akan memerlukan beberapa langkah verifikasi dengan Google.