Kontrol akses

Sangat umum bagi beberapa anggota tim untuk berkolaborasi membangun agen dan agar layanan dapat mengakses agen. Dengan menggunakan peran, Anda dapat mengontrol akses dan izin yang diberikan ke akun utama.

Anda dapat mengonfigurasi akses menggunakan Konsol Dialogflow CX (buka dokumentasi, buka konsol) atau dengan menggunakan konsol Google Cloud (buka dokumentasi, buka konsol) dengan Identity and Access Management (IAM). Konsol Google Cloud digunakan untuk memberikan peran IAM kepada akun utama, sedangkan Konsol Dialogflow digunakan untuk memberikan peran agen Dialogflow kepada akun utama. Peran agen Dialogflow merupakan peran standar yang mudah dan ditentukan oleh Dialogflow yang membatasi akses ke satu agen atau resource turunan dari agen tertentu.

Ada beberapa situasi yang mengharuskan Anda menggunakan konsol Google Cloud:

  • Peran Project Owner IAM secara default diberikan kepada pengguna yang membuat project yang memiliki agen. Pemilik ini memiliki akses penuh ke semua agen dalam project. Jika ingin mengubah pemilik project, Anda harus menggunakan konsol Google Cloud.
  • Hanya akses tingkat agen yang dapat dikonfigurasi melalui Konsol Dialogflow CX. Jika ingin mengonfigurasi akses level project, Anda harus menggunakan konsol Google Cloud.
  • Subset peran IAM memiliki peran agen Dialogflow yang sesuai. Jika ingin memberikan peran level project atau level agen yang tidak ada di Konsol Dialogflow CX, Anda harus menggunakan Google Cloud Console.
  • Jika Anda membuat agen penyimpanan data dengan antarmuka pengguna Vertex AI Conversation, Anda perlu menggunakan Konsol Google Cloud.

Jika menggunakan API, Anda mungkin juga memiliki satu atau beberapa aplikasi yang mengirim permintaan ke agen. Dalam hal ini, Anda dapat mengontrol akses dengan akun layanan.

Mengontrol akses dengan Konsol Dialogflow CX

Dengan Konsol Dialogflow CX, Anda dapat menerapkan peran agen mudah yang dikonfigurasi untuk berbagi tingkat agen. Peran ini berkaitan dengan peran IAM dengan kondisi IAM yang membatasi akses ke agen tertentu atau subset resource turunan dari agen tersebut.

Untuk mengakses konfigurasi peran agen dari Konsol Dialogflow CX, Anda harus diberi peran Admin IAM Project untuk project terkait. Peran ini diberikan dari konsol Google Cloud.

Peran agen Dialogflow Ringkasan Peran IAM
Admin Memberikan akses penuh untuk membuat, mengupdate, membuat kueri, mendeteksi intent, dan menghapus agen dari konsol atau API. Dialogflow > Admin Dialogflow API
Pembaca Memberikan akses baca ke kueri (tidak mendeteksi intent) agen dari konsol atau API. Dialogflow > Pembaca Dialogflow API
Klien Memberikan akses untuk mendeteksi intent dari konsol atau API. Dialogflow > Klien Dialogflow API
Admin Intent Menyediakan akses untuk membuat, memperbarui, menghapus, atau membuat kueri intent agen dari konsol atau API. Dialogflow > Admin Intent Dialogflow
Admin Jenis Entitas Menyediakan akses untuk membuat, memperbarui, menghapus, atau membuat kueri untuk jenis entity agen dari konsol atau API. Dialogflow > Admin Jenis Entitas Dialogflow
Admin Webhook Memberikan akses untuk membuat, memperbarui, menghapus, atau membuat kueri webhook agen dari konsol atau API. Dialogflow > Admin Dialogflow Webhook
Admin Kasus Pengujian Menyediakan akses untuk membuat, mengupdate, menghapus, atau membuat kueri kasus pengujian agen dari konsol atau API. Dialogflow > Admin Kasus Uji Dialogflow
Editor alur Menyediakan akses untuk memperbarui, mengkueri alur tertentu, dan membuat, memperbarui, menghapus, atau membuat kueri resource alur (halaman, grup rute, dan versi) dari konsol atau API. Dialogflow > Editor Dialogflow Flow
Editor lingkungan Menyediakan akses untuk memperbarui, mengkueri lingkungan tertentu, dan membuat, memperbarui, menghapus, atau membuat kueri resource lingkungan (eksperimen) dari konsol atau API. Dialogflow > Editor Lingkungan Dialogflow

Opsi berbagi dapat ditemukan di setelan agen. Untuk membuka setelan berbagi agen:

  1. Buka Dialogflow CX Console.
  2. Pilih project Google Cloud Anda.
  3. Pilih agen Anda.
  4. Klik Agent Settings.
  5. Klik tab Bagikan.

Tambahkan akun utama

  1. Klik Tambahkan.
  2. Masukkan alamat email untuk akun pengguna, grup, atau layanan.
  3. Pilih User, Group, atau Service Account sebagai jenis email.
  4. Peran Dialogflow Reader ditambahkan secara default, yang diperlukan pengguna untuk mengakses Konsol Dialogflow CX.
  5. Klik Tambahkan peran di bagian Tetapkan peran.
  6. Pilih jenis peran di bagian Jenis.
  7. Untuk peran Editor Alur dan Editor Lingkungan, pilih alur atau lingkungan tertentu atau biarkan opsi Semua default.
  8. Jika ingin, tetapkan tanggal habis masa berlaku untuk peran tersebut.
  9. Klik Simpan.

Mengubah peran utama

  1. Klik akun utama dalam daftar.
  2. Perbarui peran untuk akun utama ini di pop-up.
  3. Klik Simpan.

Menghapus akun utama

  1. Temukan akun utama dalam daftar.
  2. Klik tombol hapus untuk akun utama.
  3. Klik Oke.

Mengontrol akses dengan konsol Google Cloud

Anda dapat mengontrol akses dengan setelan IAM. Lihat panduan memulai IAM untuk mengetahui petunjuk mendetail tentang cara menambahkan, mengedit, dan menghapus izin.

Untuk mengakses setelan di bawah, buka halaman IAM di Google Cloud Console.

Menambahkan akun pengguna atau akun layanan ke project

Anda dapat memberikan izin kepada pengguna atau akun layanan dengan memberi mereka peran di project Google Cloud Anda. Pengguna ditambahkan dengan memberikan alamat email mereka. Akun layanan juga ditambahkan dengan memberikan alamat email yang terkait. Anda perlu menambahkan akun layanan jika ingin menggunakan satu akun layanan untuk beberapa project. Untuk menemukan alamat email yang terkait dengan akun layanan Anda, lihat halaman Akun Layanan IAM di Google Cloud Console.

Untuk menambahkan akun utama:

  1. Klik tombol tambahkan di bagian atas halaman.
  2. Masukkan alamat email akun utama.
  3. Pilih peran.
  4. Klik Simpan.

Ubah izin

  1. Klik tombol edit untuk akun utama.
  2. Pilih peran lain.
  3. Klik Simpan.

Menghapus akun utama

  1. Klik tombol hapus untuk akun utama.

Tambahkan kondisi untuk membatasi akses ke satu agen

Saat menambahkan atau mengedit akun utama, Anda dapat membuat kondisi IAM yang membatasi akses ke satu agen.

Contoh:

{
    "expression": "resource.name.startsWith(\"projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID\")",
    "title": "For Dialogflow Agent AGENT_ID"
}

Kondisi ini memberi Anda akses dasar ke agen tertentu. Misalnya, akun layanan dengan kondisi ini hanya dapat memanggil Dialogflow API untuk mengakses agen yang ditentukan dalam kondisi untuk project, tetapi tidak untuk agen lain dalam project.

Untuk menambahkan kondisi ini ke peran yang diberikan ke akun utama:

  1. Pilih akun utama.
  2. Klik tombol edit untuk akun utama.
  3. Klik Tambahkan kondisi.
  4. Di kolom Title, masukkan For Dialogflow Agent AGENT_ID dan ganti AGENT_ID dengan ID agen Anda.
  5. Anda dapat menambahkan deskripsi apa pun.
  6. Pilih Condition Editor untuk membuat kondisi.
  7. Tambahkan ekspresi resource.name.startsWith("projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID"), yang menggantikan AGENT_ID dengan ID agen dan PROJECT_ID dengan project ID Anda.
  8. Klik Simpan.

Peran IAM

Tabel berikut mencantumkan peran IAM umum yang relevan dengan Dialogflow CX. Ringkasan izin di tabel menggunakan istilah berikut:

  • Akses penuh: Izin untuk mengubah akses, membuat, menghapus, mengedit, dan membaca resource apa pun.
  • Akses edit: Izin untuk membuat, menghapus, mengedit, dan membaca resource apa pun.
  • Akses sesi: Izin memanggil metode untuk resource khusus runtime selama percakapan seperti mendeteksi intent, memperbarui konteks, memperbarui entity sesi, atau interaksi percakapan Agent Assist.
  • Akses baca: Izin untuk membaca resource apa pun.
Peran IAM Ringkasan Izin Detail Izin
Project >
Pemilik
Berikan kepada pemilik project yang memerlukan akses penuh ke semua resource Google Cloud dan Dialogflow:
  • Akses penuh ke semua resource project Google Cloud menggunakan Konsol Google Cloud atau API.
  • Akses penuh ke agen menggunakan Konsol Dialogflow.
  • Dapat mendeteksi intent menggunakan API.
Baca artikel Definisi peran dasar IAM.
Editor Project >
Berikan kepada editor project yang memerlukan akses edit ke semua resource Google Cloud dan Dialogflow:
  • Akses edit ke semua resource project Google Cloud menggunakan Konsol Google Cloud atau API.
  • Akses edit ke agen menggunakan Konsol Dialogflow.
  • Dapat mendeteksi intent menggunakan API.
Baca artikel Definisi peran dasar IAM.
Project >
Pelihat
Berikan kepada pelihat project yang memerlukan akses baca ke semua resource Google Cloud dan Dialogflow:
  • Akses baca ke semua resource project Google Cloud menggunakan Konsol Google Cloud atau API.
  • Akses baca ke agen yang menggunakan Konsol Dialogflow atau API, tidak dapat menggunakan simulator.
  • Tidak dapat mendeteksi intent menggunakan API.
Baca artikel Definisi peran dasar IAM.
Project >
Admin IAM
Berikan kepada admin IAM project yang memerlukan akses edit ke konfigurasi peran agen Dialogflow. Lihat Definisi peran IAM resource manager.
Project >
Browser
Berikan akses untuk browser project yang memerlukan akses baca guna menjelajahi hierarki suatu project, termasuk folder, organisasi, dan kebijakan IAM:
  • Akses baca ke hierarki project Google Cloud.
  • Tidak ada akses ke agen menggunakan Konsol Dialogflow.
  • Tidak dapat mendeteksi intent menggunakan API.
Lihat definisi peran project IAM.
Dialogflow >
Admin Dialogflow API
Berikan kepada admin Dialogflow API yang memerlukan akses penuh ke resource khusus Dialogflow:
  • Akses penuh ke semua resource Dialogflow menggunakan Konsol Google Cloud atau API.
  • Akses penuh ke agen menggunakan Konsol Dialogflow.
  • Dapat mendeteksi intent menggunakan API.
Baca Definisi peran IAM Dialogflow.
Dialogflow >
Klien Dialogflow API
Berikan untuk klien Dialogflow API yang melakukan deteksi panggilan intent menggunakan API:
  • Akses sesi ke resource Dialogflow runtime menggunakan simulator atau API Dialogflow.
  • Akses terbatas ke agen menggunakan Konsol Dialogflow.
  • Dapat mendeteksi intent menggunakan API.
Baca Definisi peran IAM Dialogflow.
Dialogflow >
Editor Agen Konsol Dialogflow
Berikan kepada editor Konsol Dialogflow CX yang mengedit agen yang sudah ada:
  • Akses penuh ke semua resource Dialogflow menggunakan Konsol Google Cloud.
  • Akses edit ke sebagian besar data agen menggunakan Konsol Dialogflow.
  • Dapat mendeteksi intent menggunakan API.
Baca Definisi peran IAM Dialogflow.
Dialogflow >
Pembaca Dialogflow API
Berikan untuk klien Dialogflow API yang melakukan panggilan hanya baca khusus Dialogflow menggunakan API:
  • Akses baca ke semua resource Dialogflow menggunakan Konsol Google Cloud atau API.
  • Akses baca ke agen yang menggunakan Konsol Dialogflow, tidak dapat menggunakan simulator.
  • Tidak dapat mendeteksi intent menggunakan API.
Baca Definisi peran IAM Dialogflow.
Admin Discovery Engine Berikan kepada pengguna yang membuat agen penyimpanan data dengan antarmuka pengguna Vertex AI Conversation. Lihat Definisi peran lainnya.

OAuth

Jika menggunakan library klien Google untuk mengakses Dialogflow, Anda tidak perlu menggunakan OAuth secara langsung karena library ini menangani implementasinya untuk Anda. Namun, jika mengimplementasikan klien sendiri, Anda mungkin perlu mengimplementasikan alur OAuth Anda sendiri. Akses ke Dialogflow API memerlukan salah satu cakupan OAuth berikut:

  • https://www.googleapis.com/auth/cloud-platform (akses ke semua resource project)
  • https://www.googleapis.com/auth/dialogflow (akses ke resource Dialogflow)

Permintaan yang melibatkan akses Cloud Storage

Beberapa Dialogflow meminta objek akses di Cloud Storage untuk membaca atau menulis data. Ketika Anda memanggil salah satu permintaan ini, Dialogflow akan mengakses data Cloud Storage atas nama penelepon. Artinya, autentikasi permintaan Anda harus memiliki izin untuk mengakses Dialogflow dan juga objek Cloud Storage.

Saat menggunakan library klien Google dan peran IAM, lihat panduan kontrol akses Cloud Storage untuk mengetahui informasi tentang peran Cloud Storage.

Saat menerapkan klien Anda sendiri dan menggunakan OAuth, Anda harus menggunakan cakupan OAuth berikut:

  • https://www.googleapis.com/auth/cloud-platform (akses ke semua resource project)