Mengotomatiskan tugas dengan Playbook Loops

Didukung di:

Fitur Playbook Loops berfokus pada loop for-each untuk melakukan iterasi pada daftar dan menjalankan serangkaian tindakan satu kali untuk setiap item.

Dengan Playbook Loops, Anda dapat memproses beberapa item secara efisien, seperti entitas, dengan menjalankan satu tindakan atau serangkaian tindakan beberapa kali. Dengan demikian, Anda tidak perlu menyesuaikan tindakan atau menduplikasi tindakan secara manual saat Anda perlu melakukan langkah-langkah berulang di beberapa entity atau jenis data lainnya. Anda juga dapat menyederhanakan alur kerja dengan menempatkan blok di dalam loop, atau menyematkan loop dalam blok.

Jenis loop yang didukung

Loop playbook mendukung iterasi atas jenis data berikut:

  • Entitas: Anda dapat melakukan iterasi pada daftar entitas dalam pemberitahuan.
  • Daftar: Anda dapat melakukan iterasi pada daftar item yang ditentukan pengguna atau daftar yang diselesaikan secara dinamis menggunakan placeholder.

Menyusun loop

Loop Playbook terdiri dari langkah Mulai Loop dan langkah Akhiri Loop yang sesuai. Tindakan yang ingin Anda ulangi untuk setiap item dalam daftar ditempatkan di antara dua langkah ini.

Mulai Loop

Langkah Loop Start menandai awal loop dan mencakup konfigurasinya.

  • Anda dapat menetapkan nama ke loop di langkah Mulai Loop. Nama ini ditampilkan di langkah Mulai Loop dan Akhiri Loop.
  • Langkah ini menentukan parameter Loop Over (Entities atau List) dan mengonfigurasi setelan khusus untuk jenis yang dipilih.
  • Langkah ini memungkinkan Anda mengonfigurasi perilaku loop saat mencapai batas iterasi (saat ini dibatasi hingga 100 iterasi) atau mengalami masalah.
  • Jika loop berhasil dimulai, tanda centang akan muncul.

Akhir Loop

Langkah Akhir Loop menandai titik akhir loop Anda.

  • Anda tidak dapat mengedit langkah Akhir Loop secara langsung; konfigurasinya terkait dengan langkah Awal Loop.
  • Saat loop menyelesaikan semua iterasinya dengan berhasil, langkah Akhir Loop akan menampilkan status berhasil (ditunjukkan dengan tanda centang) dan hasil JSON mencakup jumlah iterasi yang dijalankan.
  • Jika loop berhenti sebelum memproses semua item (karena mencapai batas iterasi maksimum), hasil JSON akan menyertakan daftar item yang dilewati.

Menentukan tindakan dalam loop

Tindakan yang ditempatkan di antara langkah Awal Loop dan Akhir Loop akan berjalan berulang kali. Anda dapat menarik tindakan playbook standar ke area ini, termasuk tindakan dan blok bersyarat.

Loop yang melakukan iterasi pada entitas

Secara default, saat loop melakukan iterasi pada entity, tindakan dalam loop tersebut hanya diterapkan ke entity saat ini di setiap iterasi. Tindakan memproses satu entity dalam satu waktu saat loop berlangsung.

Untuk tindakan yang beroperasi pada entitas (misalnya, VirusTotal - Perkaya Hash), tindakan akan otomatis dicakup ke entitas saat ini dalam loop. Placeholder entitas yang digunakan dalam loop juga hanya mereferensikan entitas loop saat ini.

Untuk mengilustrasikannya, pertimbangkan kasus penggunaan ini: Memindai hash dan membuat tiket untuk hash yang berbahaya.

Loop lanjutan yang melakukan iterasi pada entity

Dalam beberapa kasus penggunaan, Anda mungkin perlu mengakses informasi entitas yang diulang saat ini dan entitas pemberitahuan lainnya. Untuk melakukannya, nonaktifkan tombol Lock scope to iteration untuk tindakan loop tertentu tersebut.

  • Jika tombol diaktifkan, data dan placeholder entitas hanya dibatasi untuk entitas yang di-loop saat ini.
  • Jika tombol nonaktif, data dan placeholder entity dapat mengakses semua entity pemberitahuan, berdasarkan konfigurasi di menu Entity.
    • Gunakan placeholder Entity untuk mengakses data entitas di seluruh pemberitahuan.
    • Gunakan Loop.Entity untuk mereferensikan hanya entity loop saat ini.

Untuk mengilustrasikannya, pertimbangkan kasus penggunaan ini: Buat tiket prioritas untuk file berbahaya berdasarkan jabatan pengguna.

Loop yang melakukan iterasi pada daftar

Loop dapat menjalankan serangkaian tindakan untuk setiap item dalam daftar yang ditentukan, tempat Anda dapat melakukan hal berikut:

  • Tentukan daftar secara langsung atau gunakan placeholder yang di-resolve ke daftar.
  • Sesuaikan pemisah berdasarkan kebutuhan Anda (misalnya, koma atau garis miring).
  • Referensi item yang diiterasi menggunakan placeholder Loop.item.

Untuk menggambarkan hal ini, pertimbangkan kasus penggunaan berikut: Memberi tahu pengguna tentang sandi yang bocor.

Bekerja dengan blok di dalam loop

Anda dapat menyertakan blok playbook langsung dalam loop. Saat blok ditarik ke dalam loop, tindakannya akan berjalan sekali untuk setiap item atau entity yang diproses loop.

Jika loop melakukan iterasi pada entitas, blok akan menyertakan tombol Kunci cakupan ke iterasi. Tombol ini mengontrol cara tindakan dalam blok mengakses data entitas:

  • Aktifkan: Semua langkah di dalam blok dicakup ke entitas saat ini dalam iterasi loop tertentu tersebut. Hal ini memastikan bahwa setiap placeholder dan tindakan entitas dalam blok hanya beroperasi pada data yang relevan untuk iterasi tersebut.
  • Dinonaktifkan: Langkah-langkah di dalam blok memiliki akses ke semua entitas pemberitahuan. Blok menerima semua entity dari pemberitahuan, bukan hanya entity yang sedang diproses oleh loop induk. Dalam hal ini, placeholder loop.entity ditampilkan di menu dan dapat digunakan untuk mengakses entitas yang diulang saja.

Bekerja dengan loop di dalam blok

Anda dapat menempatkan loop di dalam blok playbook untuk melakukan tugas berulang sebagai bagian dari logika blok. Hal ini memungkinkan Anda melakukan iterasi pada item atau entitas dalam bagian playbook yang tercakup.

Mengonfigurasi loop di dalam blok mengikuti proses yang sama seperti menyiapkan loop lainnya dalam playbook.

Untuk mengetahui detail selengkapnya, lihat Mengonfigurasi tindakan Playbook Loop.

Mengonfigurasi tindakan Loop Playbook

Untuk mengonfigurasi tindakan Playbook Loop, ikuti langkah-langkah berikut:

  1. Di menu Navigation, buka Response > Playbooks.
  2. Buka playbook yang ingin Anda ubah atau buat yang baru.
  3. Klik + Buka Pemilihan Langkah.
  4. Klik tab Loops.
  5. Tarik tindakan For Each Loop ke kanvas playbook Anda. Hal ini akan membuat langkah Mulai Loop dan Akhir Loop secara otomatis dengan area yang ditentukan untuk menambahkan tindakan di antaranya.
  6. Konfigurasi Awal Loop:
    1. Klik langkah Loop Start untuk membuka panel samping For Each Loop.
      1. Di tab Parameter, pilih apa yang akan di-Loop over (Entities atau List).
        • Entitas: Pilih cakupan entitas (Semua Entitas, Entitas Mencurigakan, atau cakupan kustom).
        • Daftar: Di kolom Item, masukkan daftar item Anda, baik secara manual maupun dengan placeholder. Tentukan Pembatas (misalnya, koma atau garis miring) untuk memisahkan item.
      2. Di tab Setelan, konfigurasikan perilaku loop:
        • Jenis tindakan: Pilih antara Otomatis (dimulai segera) atau Manual (memerlukan tindakan pengguna).
        • Jika langkah gagal atau iterasi maksimum terlampaui: Pilih apakah loop harus Lewati item yang tersisa dan lanjutkan atau Hentikan playbook.
  7. Tambahkan tindakan sebelum atau setelah loop untuk menyiapkan data atau memproses hasil loop.

Batasan

Link persetujuan tidak didukung dalam loop playbook.

Bekerja dengan Tabel Virtual dan Loop playbook

Bagian ini menjelaskan cara widget kustom dan bawaan menampilkan informasi dari loop playbook dalam tampilan, dan mencakup aspek penting dalam memvisualisasikan data yang dihasilkan oleh loop.

Widget kustom

Meskipun Anda tidak dapat langsung mereferensikan placeholder dari langkah-langkah loop internal, Anda dapat menggabungkan hasil selama eksekusi loop dan menampilkannya di widget. Untuk menampilkan hasil gabungan dalam widget kustom, gunakan nilai konteks dalam loop (misalnya, gunakan tindakan Tambahkan ke Nilai Konteks dari fitur tambahan Alat).

Widget bawaan

Google menyediakan widget bawaan yang terintegrasi secara lancar dengan tindakan yang didukung di perancang playbook. Saat Anda menarik tindakan yang didukung ke dalam perancang playbook, sistem akan menyarankan widget bawaan yang relevan. Widget ini terhubung langsung ke tindakan, bahkan saat digunakan di dalam loop.

Loop di simulator playbook

Simulator playbook menawarkan visualisasi mendetail untuk playbook yang mencakup loop dan blok. Selain itu, juga mendukung struktur bertingkat, seperti loop yang disarangkan dalam blok, dan blok yang disarangkan dalam loop. Dalam penampil simulator, langkah-langkah ditampilkan dari atas ke bawah (terlama di atas, terbaru di bawah), dengan scroll otomatis untuk menampilkan aktivitas terbaru.

Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan Simulator Playbook.

Ringkasan kasus

Saat playbook yang berisi loop berjalan, informasi tentang progresnya dan hasil setiap iterasi dapat ditemukan di beberapa area halaman Kasus.

Bagian berikut menjelaskan cara widget, penampil playbook, dan Dinding Kasus menampilkan informasi terkait loop ini.

Widget

Widget bawaan di Ringkasan Kasus dihasilkan dari tindakan yang sesuai. Jika tindakan berjalan di dalam loop, widget akan diperbarui secara dinamis untuk menampilkan hasil dari iterasi loop terbaru.

Penampil playbook

Saat menjalankan playbook dengan loop, Anda dapat melacak progres dan hasil setiap iterasi di pelihat playbook. Untuk mengaksesnya, pilih pemberitahuan yang relevan dalam kasus, lalu klik tab Playbook.

Penampil playbook menampilkan loop dan blok dalam struktur hierarkis. Organisasi ini membantu Anda memvisualisasikan alur proses bertingkat dan memahami konteks setiap langkah.

Dalam penampil playbook, Anda dapat melakukan hal berikut:

  • Tinjau setiap iterasi, karena langkah-langkah loop dikelompokkan bersama.
  • Beralihlah di antara iterasi untuk memeriksa hasil masing-masing.
  • Pilih langkah dalam loop untuk menampilkan nomor iterasi di panel samping.
  • Klik Lihat Hasil untuk menampilkan nama loop dan nomor iterasi.

Repositori Kasus

Setiap hasil dari iterasi loop muncul di Case Wall, bersama dengan indikasi loop, seperti nomor iterasi. Hal ini membantu melacak dan membedakan tindakan yang dilakukan selama setiap iterasi.

Contoh kasus penggunaan

Bagian ini memberikan contoh praktis tentang cara penggunaan loop playbook untuk mengotomatiskan berbagai jenis alur kerja.

Memindai hash dan membuat tiket untuk hash berbahaya

Dalam kasus penggunaan ini, lakukan langkah-langkah berikut:

  1. Pindai hash semua file dalam pemberitahuan menggunakan VirusTotal.
  2. Membuat tiket unik secara otomatis untuk setiap file yang diidentifikasi sebagai berbahaya.

Buat playbook menggunakan langkah-langkah berikut:

Selesaikan langkah-langkah berikut untuk membuat playbook:

  1. Tarik tindakan VirusTotal - Enrich Hash ke kanvas playbook dan konfigurasikan sebelum menambahkan loop.
  2. Tarik For Each Loop ke kanvas.
  3. Klik Loop Start.
    1. Di tab Parameter, pilih Entitas sebagai jenis Loop over.
    2. Pilih Semua entitas yang ditandai mencurigakan dari menu Entitas. Langkah ini memastikan bahwa eksekusi loop hanya mencakup entitas yang ditandai sebagai mencurigakan oleh tindakan VirusTotal - Enrich Hash pada langkah sebelumnya.
  4. Tarik tindakan Buat Tiket ke dalam loop. Nama dan konfigurasi tindakan ini bervariasi, berdasarkan integrasi sistem tiket yang digunakan.
  5. Dalam konfigurasi tindakan Create Ticket:
    1. Masukkan judul tiket, seperti Malicious File Detected.
    2. Di kolom Deskripsi, gunakan menu pengganti untuk menyisipkan detail tentang entitas saat ini dalam loop (misalnya, Entity.Identifier atau Entity.Type). Sertakan informasi yang relevan dari pengayaan VirusTotal, yang kini dikaitkan dengan entitas yang mencurigakan.

Untuk setiap hash file yang diidentifikasi VirusTotal sebagai berbahaya, tiket unik dibuat dengan detail yang relevan.

Membuat tiket prioritas untuk file berbahaya berdasarkan jabatan pengguna

Dalam kasus penggunaan ini, setelah mengidentifikasi file berbahaya (seperti yang dilakukan dalam kasus penggunaan sebelumnya), buat tiket baru dengan prioritas yang berbeda berdasarkan apakah pengguna internal yang terkait dengan file tersebut memiliki jabatan yang berisi "CEO".

Sebelum memulai, pastikan Anda telah menyelesaikan langkah-langkah awal dari kasus penggunaan sebelumnya:

  • Tindakan VirusTotal - Enrich Hash sebelum loop, yang menargetkan semua entitas hash file.
  • Tindakan For Each Loop yang melakukan iterasi pada Entitas dengan cakupan yang ditetapkan ke Semua entitas yang ditandai mencurigakan.

Untuk membuat tiket prioritas untuk file berbahaya, selesaikan langkah-langkah berikut:

  1. Tambahkan tindakan bersyarat di dalam loop.
    1. Nonaktifkan tombol Cakupan kunci ke iterasi untuk mengizinkan akses ke entitas pemberitahuan lain selain entitas yang di-loop.
    2. Pilih Pengguna Internal dari menu Entitas.
    3. Konfigurasi kondisi untuk memeriksa apakah Entity.job berisi CEO. Tindakan ini menetapkan prioritas ke CRITICAL.
    4. Gunakan cabang ELSE untuk menangani skenario saat CEO tidak terlibat (ini akan menetapkan prioritas ke HIGH).
  2. Tarik tindakan Buat Tiket ke cabang pertama:
    1. Buat judul (misalnya, CRITICAL: Malicious File Detected - Potential CEO Impact).
    2. Konfigurasi prioritas insiden ke CRITICAL.
    3. Di kolom Deskripsi, sertakan detail yang relevan tentang pengguna dan informasi dari pengayaan VirusTotal.
  3. Tarik tindakan Buat Tiket lain ke cabang ELSE:
    1. Buat judul (misalnya, Attention: Malicious File Detected).
    2. Konfigurasi prioritas insiden ke TINGGI.
    3. Di kolom Deskripsi, sertakan detail yang relevan tentang pengguna dan informasi dari pengayaan VirusTotal.

Untuk setiap file berbahaya, playbook akan memeriksa jabatan pengguna internal yang terkait. Jika judul berisi CEO, tiket prioritas CRITICAL akan dibuat. Jika tidak, tiket prioritas TINGGI akan dibuat.

Memberi tahu pengguna tentang sandi yang bocor

Solusi deteksi kebocoran data memberikan daftar nama pengguna (alamat email) yang sandinya telah dibobol dalam kebocoran data baru-baru ini. Anda ingin mengirim notifikasi email yang dipersonalisasi kepada setiap pengguna yang terpengaruh, bukan mengirim satu email ke semua pengguna. Daftar pengguna yang terpengaruh tersedia di kolom alert.affected_users.

Buat playbook menggunakan langkah-langkah berikut:

  1. Tarik tindakan Loop For Each ke kanvas playbook.
  2. Klik langkah Loop Start.
    1. Di tab Parameter, pilih Daftar sebagai jenis Looping.
    2. Di kolom Items, gunakan placeholder alert.affected_users.
  3. Jika daftar di alert.affected_users menggunakan pembatas selain koma, perbarui pembatas tersebut di kolom Pembatas.
  4. Tarik tindakan Email - Kirim Email ke dalam loop.
  5. Di konfigurasi tindakan Email - Send Email:
    1. Di kolom Penerima, gunakan placeholder Loop.Item. Saat loop Daftar melakukan iterasi pada daftar alert.affected_users, placeholder alert.affected_users mewakili alamat email saat ini yang sedang diproses, sehingga setiap pengguna menerima email yang unik.Loop.Item
    2. Konfigurasi Subjek dan Konten email untuk memberi tahu pengguna tentang sandi yang disusupi.

Setiap pengguna (alamat email) dalam daftar alert.affected_users menerima notifikasi email yang dipersonalisasi tentang sandi mereka yang telah dibobol.

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.