← Semua materi
Hands-on LabAutomationMenengah

Mengambil data Cloudflare melalui API dengan Bash dan curl

Gunakan API token melalui environment variable, panggil API v4 dengan curl, dan validasi respons tanpa menaruh secret di source code.

Tujuan latihan

Membuat pola dasar API call Cloudflare yang aman untuk dikembangkan menjadi automation.

Persiapan

API token Cloudflare dengan permission minimum yang sesuai dan curl. jq opsional. Jangan gunakan Global API Key untuk latihan bila API token dapat memenuhi kebutuhan.

API token
curl request
JSON response

Masalah

Automation sering dimulai dengan menaruh token langsung di script. Praktik ini berisiko ketika file dikirim, di-backup, atau di-commit ke repository.

Persiapan

Buat API token dengan permission sesempit mungkin. Simpan token di secret manager atau environment variable dan hindari mencetaknya ke terminal/log CI.

1. Isi environment variable secara interaktif

read -s mencegah token ditampilkan saat diketik pada Bash session.

read -rsp 'Cloudflare API token: ' CLOUDFLARE_API_TOKEN; echo\nexport CLOUDFLARE_API_TOKEN

2. Panggil API

Cloudflare API menggunakan Authorization: Bearer untuk API token. Contoh berikut membaca satu zone berdasarkan ZONE_ID.

export ZONE_ID='your-zone-id'\ncurl --fail --silent --show-error \
  "https://api.cloudflare.com/client/v4/zones/$ZONE_ID" \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

3. Format JSON

Jika jq tersedia, pipe output agar field lebih mudah dibaca. Untuk automation, periksa juga nilai success dan errors, bukan hanya exit code curl.

curl --fail --silent --show-error \
  "https://api.cloudflare.com/client/v4/zones/$ZONE_ID" \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" | jq .

4. Tangani pagination

Endpoint list dapat memiliki page dan per_page. Jangan mengasumsikan satu response selalu memuat semua object; baca result_info dari endpoint yang digunakan.

5. Bersihkan secret session

Setelah selesai, hapus variable dari shell jika tidak diperlukan lagi.

unset CLOUDFLARE_API_TOKEN

Verifikasi

Pastikan token yang permission-nya read-only tidak dapat melakukan write. Pada CI, gunakan secret store platform dan hindari set -x pada step yang menangani secret.

6. Verifikasi token sebelum automation besar

Uji token pada endpoint yang aman/read-only dan pastikan permission sesuai kebutuhan. Jika API mengembalikan error authorization, jangan memperluas token secara global; identifikasi permission resource/account/zone yang benar.

7. Tangani HTTP status dan body error secara terpisah

--fail membantu membuat curl gagal pada HTTP error, tetapi automation tetap perlu menyimpan pesan error yang aman untuk diagnosis. Jangan mencetak Authorization header. Untuk script produksi, capture status code, success, errors, dan pagination metadata secara eksplisit.

8. Hindari secret leak pada shell dan CI

Selain source code, token dapat bocor melalui shell history, process arguments, set -x, debug log, artifact, atau screenshot. Gunakan secret store CI dan masking; pada workstation, pertimbangkan input interaktif atau file permission ketat sesuai kebutuhan.

Kesalahan umum

Jangan memakai Global API Key jika API Token scoped sudah cukup. Jangan memberikan Edit saat Read cukup. Jangan menganggap satu halaman API memuat semua data. Jangan commit response yang mengandung identifier/sensitive metadata ke repository publik.

Checklist verifikasi

Pastikan token scope minimum, endpoint benar, Zone/Account ID cocok, status HTTP ditangani, field success/errors diperiksa, pagination diproses, secret tidak tercetak, dan variable dihapus setelah sesi. Uji failure path sebelum menjadikan script bagian dari automation.

Pelajaran

API automation yang aman dimulai dari least privilege dan secret handling. Menyembunyikan token dari source code lebih penting daripada membuat script cepat selesai.

Referensi resmi

Cloudflare Fundamentals — Make API calls ↗Cloudflare API ↗
Lihat semua materi →