HTTP v2

Dokumen ini memberikan panduan tentang cara mengintegrasikan HTTP v2 dengan modul SOAR Google Security Operations dan menggunakan tindakan Execute HTTP Request.

Versi integrasi: 5.0

Ringkasan

Gunakan HTTP v2 untuk berintegrasi dengan produk pihak ketiga tanpa menulis kode dan menyelesaikan kasus penggunaan seperti mengeksekusi permintaan API, bekerja dengan file, dan mengelola alur asinkron.

Alur autentikasi

Bergantung pada produk yang Anda autentikasi, HTTP v2 mendukung alur autentikasi berikut:

  • Alur autentikasi dasar
  • Alur kunci API
  • Alur autentikasi khusus

Alur autentikasi dasar

Dengan alur autentikasi dasar, lakukan autentikasi menggunakan parameter Test URL, Basic Auth Username, dan Basic Auth Password.

Alur kunci API

Dengan alur kunci API, lakukan autentikasi menggunakan parameter Test URL, API Key Field Name, dan API Key Field Value.

Alur autentikasi khusus

Dalam alur autentikasi khusus, autentikasi dua langkah berikut digunakan:

  1. Tindakan akan membuat token akses.

    Saat tindakan Ping atau Execute HTTP Request berjalan, integrasi akan mengambil parameter yang diperlukan untuk autentikasi.

  2. Tindakan menggunakan token akses yang dihasilkan untuk mengautentikasi permintaan API.

Alur autentikasi khusus memerlukan parameter integrasi berikut:

  • Dedicated Auth API Request Method
  • Dedicated Auth API Request URL
  • Dedicated Auth API Request Headers
  • Dedicated Auth API Request Body
  • Dedicated Auth API Request Token Field Name

Untuk mengetahui detail selengkapnya tentang parameter integrasi, lihat Mengintegrasikan HTTP v2 dengan Google SecOps.

Untuk menggunakan token dari respons, berikan nama kunci dalam parameter Dedicated Auth API Request Token Field Name. Dalam contoh respons berikut, nama kuncinya adalah access_token:

{
   "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCIO4",
   "expires_in": 1799,
   "token_type": "bearer"
}

Untuk menerapkan token, integrasi memerlukan placeholder khusus berikut: {{integration.token}}. Saat Anda memberikan placeholder ini di payload, integrasi akan menggunakan token yang dibuat.

Jika kunci access_token dalam respons JSON muncul bertingkat, berikan lokasi token lengkap untuk nilai parameter Dedicated Auth API Request Token Field Name. Misalnya, alih-alih access_token, berikan kunci data_access_token untuk respons bertingkat seperti berikut:

{
   "data": {
       "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCIZMI3DQAQsYibMpO4",
       "expires_in": 1799,
       "token_type": "bearer"
   }
}

Contoh berikut menunjukkan permintaan untuk alur autentikasi khusus ke Crowdstrike API:

POST /falconx/entities/submissions/v1 HTTP/1.1
Host: api.crowdstrike.com
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6
Content-Length: 209

{
   "sandbox": [{
       "sha256": "9854c9dfded29d8442499daba01082ba5d164aa02e44",
       "environment_id": 100,
       "submit_name": "filename.pdf"
   }]
}

Contoh ini menggunakan header Authorization dengan token Bearer untuk mengautentikasi API. Untuk mengisi header dengan informasi yang benar, integrasi HTTP v2 memerlukan input berikut: Authorization: Bearer {{integration.token}}.

Mengintegrasikan HTTP v2 dengan Google SecOps

Integrasi memerlukan parameter berikut:

Parameter Deskripsi
Test URL Opsional

URL pengujian yang akan digunakan untuk alur autentikasi dasar atau autentikasi kunci API.

Basic Auth Username Opsional

Parameter yang akan ditambahkan sebagai header autentikasi dasar ke setiap eksekusi tindakan bersama dengan parameter Sandi Autentikasi Dasar.

Berikan parameter Nama Pengguna Autentikasi Dasar dan Sandi Autentikasi Dasar.

Basic Auth Password Opsional

Parameter yang akan ditambahkan sebagai header autentikasi dasar ke setiap eksekusi tindakan bersama dengan parameter Nama Pengguna Autentikasi Dasar.

Berikan parameter Nama Pengguna Autentikasi Dasar dan Sandi Autentikasi Dasar.

API Key Field Name Opsional

Nama header yang berisi kunci API.

Berikan parameter Nama Kolom Kunci API dan Rahasia Kunci API untuk menambahkannya ke setiap eksekusi tindakan.

API Key Secret Opsional

Nilai rahasia kunci API.

Berikan parameter Nama Kolom Kunci API dan Rahasia Kunci API untuk menambahkannya ke setiap eksekusi tindakan.

Dedicated Auth API Request Method Opsional

Metode yang akan digunakan dalam alur API autentikasi khusus untuk membuat token akses.

Nilai defaultnya adalah POST.

Dedicated Auth API Request URL Opsional

Permintaan API yang akan digunakan dalam alur API autentikasi khusus untuk membuat token akses, seperti https://api.crowdstrike.com/oauth2/token.

Dedicated Auth API Request Headers Opsional

Header yang akan digunakan dalam alur API autentikasi khusus untuk membuat token akses.

Berikan header sebagai objek JSON, seperti berikut:

    {
    "Content-type": "application/x-www-form-urlencoded"
    }
    
Dedicated Auth API Request Body Opsional

Isi permintaan yang akan digunakan dalam alur API autentikasi khusus untuk membuat token akses. Berikan nilai parameter sebagai objek JSON, seperti berikut:

    {
    "client_id": "CLIENT_ID",
    "client_secret": "CLIENT_SECRET"
    }
    
Dedicated Auth API Request Token Field Name
Opsional

Nama kolom yang berisi token akses yang dibuat. Untuk menggunakan token akses dalam tindakan, gunakan placeholder berikut: {{integration.token}}.

Respons untuk pembuatan token menggunakan garis bawah (_) sebagai pembatas.

CA Certificate Opsional

Sertifikat certificate authority (CA) yang akan digunakan untuk memvalidasi koneksi yang aman.

Jika Anda menggunakan agen jarak jauh untuk terhubung ke produk lokal, berikan lapisan keamanan tambahan dengan menyediakan integrasi dengan sertifikat CA untuk memastikan integritas koneksi. Setelah Anda memberikan sertifikat CA, semua permintaan API akan menggunakannya.

Parameter ini menerima sertifikat CA dalam bentuk string berenkode base64.

Verify SSL Wajib

Jika dipilih, sistem akan memverifikasi bahwa sertifikat SSL untuk semua koneksi integrasi valid.

Dipilih secara default.

Sebaiknya buat instance terpisah dari integrasi HTTP v2 untuk setiap produk pihak ketiga yang Anda integrasikan di lingkungan Anda. Untuk mengetahui informasi selengkapnya tentang beberapa instance integrasi, lihat Mendukung beberapa instance.

Cara menggunakan integrasi HTTP v2

Bagian ini menjelaskan cara menggunakan integrasi HTTP v2 dengan mengubah parameter tindakan Execute HTTP Request.

Bekerja dengan parameter Payload Isi

Untuk memastikan isi dibuat dengan benar, berikan header Content-Type yang benar dalam parameter Headers. Tindakan Execute HTTP Request menghasilkan payload yang berbeda untuk input parameter yang sama berikut:

{
  "Id": "123123",
  "sorting": "asc"
}

Untuk nilai header "Content-Type:" "application/x-www-form-urlencoded", payload yang dihasilkan adalah Id=123123&sorting=asc.

Untuk nilai header "Content-Type": "application/json", payload yang dihasilkan adalah sebagai berikut:

{
  "Id": "123123",
  "sorting": "asc"
}

Saat bekerja dengan XML, berikan input berformat XML seperti berikut:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Body>
   <NumberToWords xmlns="http://www.dataaccess.com/webservicesserver/">
     <ubiNum>500</ubiNum>
   </NumberToWords>
 </soap:Body>
</soap:Envelope>

Bekerja dengan alur asinkron

Alur API asinkron seperti membuat dan menjalankan tugas penelusuran memerlukan penantian hasil untuk menyelesaikan pemrosesan sebelum menjalankan permintaan API berikutnya. Misalnya, Anda dapat membuat tugas penelusuran di Google SecOps SIEM, menunggu hingga tugas penelusuran selesai dieksekusi, lalu mengambil hasil menggunakan parameter Expected Response Values.

Dalam contoh respons berikut, kunci state dapat berisi nilai error, in_progress, atau finished:

{
   "state": "in_progress",
   "percentage": "10"
}

Anda dapat meminta tindakan Execute HTTP Request untuk dijalankan dalam mode asinkron hingga respons berisi status finished dengan menyetel parameter Expected Response Values ke nilai berikut:

{
   "state": "finished"
}

Agar tidak menunggu hingga waktu tunggu habis saat terjadi error, berikan kondisi tambahan dalam nilai parameter. Dalam contoh input berikut, tindakan berhenti berjalan saat statusnya adalah finished atau error:

{
   "state": [
       "finished",
       "error"
   ]
}

Dalam contoh berikut, tindakan berhenti berjalan saat statusnya adalah finished dan nilai kunci persentasenya adalah 100:

{
   "state": "finished",
   "percentage": "100"
}

Anda dapat menggabungkan beberapa kondisi utama dalam satu input, seperti berikut:

{
   "state": [
       "finished",
       "error"
   ],
   "percentage": "100"
}

Anda dapat mengonfigurasi parameter Expected Response Values untuk mengharapkan output untuk pasangan nilai kunci tertentu. Tindakan Jalankan Permintaan HTTP menelusuri seluruh objek respons JSON untuk kunci tertentu dan menganggap bahwa output yang diharapkan dicapai hanya jika Anda menetapkan semua nama kunci yang cocok ke nilai kunci yang diharapkan yang identik. Misalnya, untuk tindakan menelusuri kecocokan status finished dalam respons JSON dan mengabaikan status lainnya, tetapkan semua kunci state dalam input parameter Expected Response Values ke nilai finished:

{
"data": {
  "state": "finished"
  },
  "state": "finished"
}

Parameter Expected Response Values mengambil nilai yang diperlukan dari objek JSON bertingkat. Untuk contoh berikut, hanya berikan kunci state, bukan data_state atau data-state:

{
   "data": {
       "state": [
           "finished",
           "error"
       ],
       "percentage": "100"
   }
}

Bekerja dengan file

Bekerja dengan file mencakup dua alur kerja terpisah:

  • Mendownload file
  • Mengupload file

Mendownload file

Tindakan Execute HTTP request dapat menampilkan file sebagai output base64 dalam objek JSON atau menyimpan file ke Dinding Kasus sebagai file zip.

Untuk menampilkan data sebagai bagian dari hasil JSON dalam format base64, pilih parameter Base64 Output. Untuk menyimpan file ke Dinding Kasus, pilih parameter Save To Case Wall.

Jika Anda bekerja dengan file sensitif seperti malware, pilih parameter Password Protect Zip. Untuk semua file ZIP yang dilindungi sandi, tindakan ini akan otomatis menyetel sandi ke infected.

Upload file

Untuk mengupload file, konversikan file ke format base64 dan kirimkan sebagai bagian dari nilai parameter Body Payload. Contoh file gambar yang dikonversi ke format base64 adalah sebagai berikut:

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

Untuk mengetahui informasi selengkapnya tentang cara menggunakan parameter Body Payload, lihat bagian Bekerja dengan parameter Payload Isi dalam dokumen ini.

Blok sebagai kode

Anda dapat menggunakan integrasi HTTP v2 dan kemampuan blok playbook di Google SecOps untuk membuat konten yang dapat digunakan kembali. Misalnya, Anda dapat membuat blok playbook yang berisi tindakan HTTP v2 dan mengonfigurasi integrasi untuk menggunakan hasil tindakan sebagai input blok. Untuk mengetahui informasi selengkapnya tentang blok playbook, lihat Bekerja dengan blok playbook.

Membuat blok playbook

Untuk membuat blok playbook, selesaikan langkah-langkah berikut:

  1. Di Google SecOps, buka Respons > Playbook.
  2. Di menu navigasi halaman Playbooks, pilih tambahkan Tambahkan Playbook atau Block Baru. Jendela Buat Baru akan terbuka.
  3. Di jendela Create New, tetapkan parameter Type ke Block.
  4. Untuk parameter Choose Folder, pilih folder tempat menyimpan blok baru.
  5. Untuk parameter Environment, pilih lingkungan Anda.
  6. Klik Buat. Halaman New Block akan terbuka. Konfigurasi blok playbook baru untuk menggunakannya di beberapa playbook.

Bagian berikut adalah contoh cara mengonfigurasi blok playbook.

Contoh konfigurasi blok Playbook

Contoh berikut adalah tindakan Execute HTTP Request kustom yang mengirimkan komentar ke ServiceNow. Tindakan ini menggunakan parameter comment, sys_id, dan table_name yang dibuat oleh blok playbook kustom sebagai parameter input. Untuk mengonfigurasi parameter tindakan, selesaikan langkah-langkah berikut:

  1. Tetapkan parameter Method ke PUT.

  2. Tetapkan parameter URL Path ke nilai berikut:

    https://SERVICE_NOW_INSTANCE.service-now.com/api/now/table/[Input.table_name]/[Input.sys_id]
    
  3. Tetapkan parameter Headers ke nilai berikut:

    {"Content-type": "application/json; charset=utf-8",
    "Accept": "application/json", "User-Agent": "GoogleSecops"}
    
  4. Tetapkan parameter Body Payload ke nilai berikut:

    {
    "work_notes": "[Input.comment]"
    }
    

Untuk menggunakan nilai yang diberikan untuk input blok sebagai placeholder untuk tindakan, placeholder harus berisi awalan Input. sebelum nama parameter. Jika input untuk blok adalah keyname, placeholder untuk blok tersebut adalah [Input.keyname].

Tindakan

Integrasi HTTP v2 mencakup tindakan berikut:

Menjalankan Permintaan HTTP

Jalankan permintaan HTTP menggunakan integrasi HTTP v2.

Gunakan tindakan ini untuk membuat permintaan HTTP kustom dan menampilkan informasi tentang permintaan tersebut. Semua parameter dalam tindakan ini dapat diubah.

Tindakan ini tidak dijalankan di entity.

Input tindakan

Tindakan Execute HTTP Request memerlukan parameter berikut:

Parameter Deskripsi
Method
Opsional

Metode yang akan digunakan dalam permintaan.

Nilai defaultnya adalah GET.

Nilai yang mungkin adalah:
  • GET
  • POST
  • PUT
  • PATCH
  • DELETE
  • HEAD
  • OPTIONS
URL Path
Opsional

URL yang akan dieksekusi.

URL Params Opsional

Parameter URL.

Tindakan ini menggunakan nilai apa pun yang diberikan bersama dengan nilai yang diberikan langsung di parameter Jalur URL.

Misalnya, string ?parameter=value&sorting=asc di backend berarti inputnya adalah sebagai berikut:
    {
    "parameter": "value",
    "sorting": "asc"
    }
    

Parameter ini memerlukan format objek JSON sebagai input. Nilai defaultnya adalah sebagai berikut:

{
    "URL Field Name": "URL_FIELD_VALUE"
    }
Headers
Opsional

Header yang akan digunakan dalam permintaan HTTP.

Misalnya, permintaan HTTP dengan header Accept dan User-Agent memerlukan input berikut:

    {
    "Accept": "application/json",
    "User-Agent": "Google Secops"
    }
    

Parameter ini memerlukan format objek JSON sebagai input. Nilai defaultnya adalah sebagai berikut:

{
    "Content-Type": "application/json; charset=utf-8",
    "Accept": "application/json",
    "User-Agent" : "GoogleSecOps"
    }
Cookie Opsional

Parameter yang akan digunakan di header Cookie.

Parameter ini menggantikan cookie yang diberikan dalam parameter Header.

Misalnya, untuk memuat header Cookie dengan nilai PHPSESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43;, permintaan HTTP memerlukan input berikut:

    {
    "PHPSESSID": "298zf09hf012fh2",
    "csrftoken": "u32t4o3tb3gg43"
    }
    

Parameter ini memerlukan format objek JSON sebagai input. Nilai defaultnya adalah sebagai berikut:

{
    "Cookie_1": "COOKIE_1_VALUE"
    }
Body Payload
Opsional

Isi untuk permintaan HTTP. Tindakan ini membuat payload yang berbeda bergantung pada nilai header Content-Type yang diberikan dalam parameter Header.

Parameter ini memerlukan format objek JSON sebagai input, kecuali jika produk pihak ketiga memerlukan XML atau konten multipart/form-data. Jika Anda mengirimkan atau mengupload file menggunakan permintaan API, berikan versi file yang dienkode base64 dalam parameter Body Payload dan tetapkan header ke "Content-type": "multipart/form-data".

Nilai defaultnya adalah sebagai berikut:

{
    "Body Field Name": "BODY_FIELD_VALUE"
    }
Expected Response Values
Opsional

Nilai respons yang diharapkan.

Jika parameter ini diberikan, tindakan akan berfungsi dalam mode asinkron dan dieksekusi hingga menerima nilai yang diharapkan atau hingga waktu tunggu habis.

Save To Case Wall
Opsional

Jika dipilih, tindakan ini akan menyimpan file dan melampirkan file yang disimpan ke repositori kasus. File diarsipkan dengan ekstensi .zip. File .zip tidak dilindungi sandi.

Tidak dipilih secara default.

Password Protect Zip
Opsional

Jika dipilih, tindakan ini akan menambahkan sandi ke file .zip yang dibuat menggunakan parameter Simpan ke Dinding Kasus. Sandi adalah sebagai berikut: infected.

Gunakan parameter ini saat bekerja dengan file yang mencurigakan.

Dipilih secara default.

Follow Redirects Opsional

Jika dipilih, tindakan akan mengikuti pengalihan.

Dipilih secara default.

Fail on 4xx/5xx Opsional

Jika dipilih, tindakan akan gagal jika kode status respons adalah error 4xx atau 5xx.

Dipilih secara default.

Base64 Output
Opsional

Jika dipilih, tindakan akan mengonversi respons ke format base64.

Gunakan parameter ini saat mendownload file.

Hasil JSON tidak boleh melebihi 15 MB.

Tidak dipilih secara default.

Fields To Return Wajib

Kolom yang akan ditampilkan. Nilainya dapat berupa:

  • response_data
  • redirects
  • response_code
  • response_cookies
  • response_headers
  • apparent_encoding
Request Timeout Wajib

Jumlah waktu untuk menunggu server mengirim data sebelum tindakan gagal.

Nilai default-nya adalah 120 detik.

Output tindakan

Tindakan Execute HTTP Request memberikan output berikut:

Jenis output tindakan Ketersediaan
Lampiran repositori kasus Tidak tersedia
Link repositori kasus Tidak tersedia
Tabel repositori kasus Tidak tersedia
Tabel pengayaan Tidak tersedia
Hasil JSON Tersedia
Pesan output Tersedia
Hasil skrip Tersedia
Hasil JSON

Contoh berikut menjelaskan output hasil JSON yang diterima saat menggunakan tindakan Execute HTTP Request:

{
   "response_data": {
       "data": {
           "relationships": {
               "comment": [
                   {
                       "name": "item",
                       "description": "Object to which the comment belongs to."
                   },
                   {
                       "name": "author",
                       "description": "User who wrote the comment."
                   }
               ]
           }
       }
   },
   "redirects": [],
   "response_code": 200,
   "cookies": {},
   "response_headers": {
       "Content-Type": "application/json",
       "X-Cloud-Trace-Context": "1ca450b35c66634a2ae01248cca50b19",
       "Date": "Fri, 03 Nov 2023 16:14:13 GMT",
       "Server": "Google Frontend",
       "Content-Length": "36084"
   },
   "apparent_encoding": "ascii"
}
Pesan output

Di Dinding Kasus, tindakan Jalankan Permintaan HTTP memberikan pesan output berikut:

Pesan output Deskripsi pesan

Successfully executed API request.

Successfully executed API request, but status code STATUS_CODE was in response.

Tindakan berhasil.

Failed to execute API request. Error: ERROR_REASON

Failed to execute API request. Error: Invalid parameter "PARAMETER_NAME".

The JSON structure is invalid. Wrong value provided: VALUE

Tindakan gagal.

Periksa koneksi ke server, parameter input, nilai file JSON, atau kredensial.

Hasil skrip

Tabel berikut menjelaskan nilai untuk output hasil skrip saat menggunakan tindakan Jalankan Permintaan HTTP:

Nama hasil skrip Nilai
is_success True atau False

Ping

Gunakan tindakan ini untuk menguji konektivitas.

Input tindakan

Tidak ada.

Output tindakan

Tindakan Ping memberikan output berikut:

Jenis output tindakan Ketersediaan
Lampiran repositori kasus Tidak tersedia
Link repositori kasus Tidak tersedia
Tabel repositori kasus Tidak tersedia
Tabel pengayaan Tidak tersedia
Hasil JSON Tidak tersedia
Pesan output Tersedia
Hasil skrip Tersedia
Pesan output

Di Repositori Kasus, tindakan Ping memberikan pesan output berikut:

Pesan output Deskripsi pesan
Successfully tested connectivity. Tindakan berhasil.
Failed to test connectivity.

Tindakan gagal.

Periksa koneksi ke server, parameter input, atau kredensial.

Hasil skrip

Tabel berikut menjelaskan nilai untuk output hasil skrip saat menggunakan tindakan Ping:

Nama hasil skrip Nilai
is_success True atau False

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