API statistik keamanan

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat Dokumentasi Apigee Edge.

Security Stats API memungkinkan Anda melihat statistik terkait penyalahgunaan dan bot 14 hari terakhir. Ada dua jenis statistik keamanan:

  • Statistik tabel, yang tidak memiliki dimensi waktu. Statistik tabulasi sering dihitung menggunakan fungsi agregasi, misalnya, sum for message_count atau bot_traffic.
  • Statistik deret waktu, yang memiliki dimensi waktu.
Catatan: Deteksi bot memiliki penundaan pemrosesan sekitar 15 hingga 20 menit pada rata-rata.

Parameter dalam contoh panggilan API

Bagian berikut memberikan contoh panggilan API yang menggunakan statistik keamanan Compute Engine API. Panggilan API berisi parameter berikut:

  • ORG: Organisasi Anda.
  • ENV: Lingkungan Anda.
  • METRIC_i: Metrik untuk statistik. Lihat Metrik dan fungsi agregasi.
  • AGGREGATION_i: Fungsi agregasi untuk metrik. Lihat tabel di bawah.
  • DIMENSION_i: dimensi untuk mengelompokkan nilai statistik.
  • PAGE_SIZE: Jumlah maksimum subkomponen yang ditampilkan dalam satu halaman.
  • time_range: Rentang waktu untuk statistik dalam formulir
    "time_range": {
        "start_time": START_TIME,
        "end_time": END_TIME
    }

    dengan:

    • START_TIME adalah waktu mulai untuk rentang waktu tersebut.
    • END_TIME adalah waktu berakhir untuk rentang waktu tersebut.

    START_TIME dan END_TIME adalah dalam bentuk "YYYY-MM-DDT00:00:00Z".

    Durasi rentang waktu maksimal 14 hari, serta tanggal mulai dan tanggal akhir harus dalam rentang 365 hari terakhir.

Contoh: Mengkueri statistik keamanan tabulasi untuk suatu lingkungan

Permintaan yang mengkueri statistik tabulasi memiliki format berikut:

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityStats:queryTabularStats" \
       -H 'Content-type: application/json' -H "Authorization: Bearer $TOKEN" -X POST -d \
       '{ "metrics": [{"metric": "METRIC_1", "aggregation": "AGGREGATION_1",
                      {"metric": "METRIC_2", "aggregation": "AGGREGATION_2"}],
          "dimensions": ["DIMENSION_1",  "DIMENSION_2"],
          "page_size": PAGE_SIZE,
          "time_range": {
              "start_time": START_TIME,
              "end_time": END_TIME
          }
        }'

Lihat Parameter dalam contoh panggilan API.

Lihat Batasan statistik keamanan untuk jumlah maksimum metrik, fungsi agregasi, dan dimensi yang dapat disertakan dalam permintaan.

Berikut adalah contoh permintaan yang mengkueri statistik tabel:

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityStats:queryTabularStats" \
       -H 'Content-type: application/json' -H "Authorization: Bearer $TOKEN" -X POST -d \
       '{ "metrics": [{"metric": "bot", "aggregation": "count_distinct"},
                      {"metric": "bot_traffic", "aggregation": "sum"},
                      {"metric": "bot_first_detected", "aggregation": "min"},
                      {"metric": "bot_last_detected", "aggregation": "max"}],
          "dimensions": ["apiproxy",  "bot_reason", "ax_resolved_client_ip",  "ax_geo_city",  "ax_geo_country",  "client_id",  "proxy_basepath", "proxy_pathsuffix"],
          "page_size": 1,
          "time_range": {
            "start_time": START_TIME,
            "end_time": END_TIME
          }
        }'

Lihat Halaman referensi queryTabularStats untuk deskripsi permintaan beserta responsnya.

Contoh: Membuat kueri statistik keamanan deret waktu untuk lingkungan

API deret waktu menampilkan statistik deret waktu untuk metrik yang dipilih, yang dikelompokkan menurut dimensi yang dipilih.

Panggilan berikut memanggil statistik deret waktu untuk traffic bot yang dikelompokkan menurut proxy API. Karena tidak ada empat {i>proxy<i}, ini menghasilkan empat urutan titik deret waktu. Urutan titik di setiap baris cocok dengan indeks yang sesuai di bidang kolom.

Berikut adalah contoh permintaan:

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityStats:queryTimeSeriesStats" \
       -H 'Content-type: application/json' -H "Authorization: Bearer $TOKEN" -X POST -d \
       '{ "metrics": [{"metric": "METRIC_1", "aggregation": "AGGREGATION_1", "order": "ORDER"}],
          "dimensions": ["DIMENSION_1"], "window_size": "WINDOW_SIZE",
          "page_size": PAGE_SIZE,
          "time_range": {
            "start_time": START_TIME,
            "end_time": END_TIME
          }
        }'

Lihat Parameter dalam contoh panggilan API.

Lihat Halaman referensi queryTabularStats untuk deskripsi permintaan beserta responsnya.

Contoh: Buat kueri detail insiden untuk deteksi penyalahgunaan

Contoh berikut mengkueri detail insiden untuk layanan Deteksi penyalahgunaan. Panggilan akan mengembalikan detail jumlah bot untuk developer_app untuk insiden tertentu.

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityStats:queryTabularStats" \
       -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token)" -X POST -d  \
       '{"metrics": [{"metric": "bot_traffic", "aggregation": "sum"}],
         "dimensions": ["incident_id", "developer_app"],
          "filter": "incident_id eq '\''d897d1af-51ac-4b5d-a29e-d1059d922a05'\''",
          "page_size": 100,
          "time_range": {
            "start_time": START_TIME,
            "end_time": END_TIME
          }
        }'

Lihat Parameter dalam contoh panggilan API.

Perintah ini akan menampilkan respons seperti berikut:

{
  "values": [
    [
      "d897d1af-51ac-4b5d-a29e-d1059d922a05",
      "Developer2_App1",
      18353
    ],
    [
      "d897d1af-51ac-4b5d-a29e-d1059d922a05",
      "Developer1_App1",
      18082
    ]
  ],
  "columns": [
    "incident_id",
    "developer_app",
    "bot_traffic"
  ]
}

Lihat Halaman referensi queryTabularStats untuk deskripsi permintaan beserta responsnya.

Metrik dan fungsi agregasi

Tabel berikut menjelaskan metrik dan fungsi agregasi yang tersedia di Security Stats API:

Metric Deskripsi Aggregation function
bot Jumlah alamat IP yang berbeda untuk bot yang terdeteksi dalam interval satu menit. count_distinct
bot_first_detected Tanggal dan waktu bot pertama kali terdeteksi. Hanya tersedia melalui API. min
bot_last_detected Tanggal dan waktu bot terakhir terdeteksi. Hanya tersedia melalui API. max
bot_traffic Jumlah pesan dari alamat IP bot yang terdeteksi dalam interval satu menit. sum
message_count

Jumlah total panggilan API yang diproses oleh Apigee dalam interval satu menit.

Catatan: message_count tidak dapat digunakan dengan metrik lain yang menggunakan cara yang sama laporan.

sum
response_size Ukuran respons. average, max, min, sum

Dimensi

Dimensi memungkinkan Anda mengelompokkan nilai metrik berdasarkan {i>subset <i}data. Tabel berikut menjelaskan dimensi yang spesifik untuk Laporan Keamanan API Lanjutan:

Dimensi Deskripsi
bot_reason Keamanan dapat berupa kombinasi apa pun aturan deteksi. bot_reason terdiri dari subkumpulan aturan deteksi yang cocok dengan pola traffic bot.

incident_id (pratinjau) UUID untuk insiden keamanan, yang ditampilkan melalui panggilan ke Incidents API. Lihat Contoh: Mendapatkan detail atau insiden tertentu.
security_action Tindakan keamanan. Kemungkinan nilai adalah ALLOW, DENY, atau FLAG.
security_action_name Nama tindakan keamanan.
security_action_headers Header yang dapat Anda gunakan untuk mengkueri tindakan keamanan laporan.

Catatan: bot_reason dan incident_id hanya berfungsi dengan metrik berikut:

  • bot
  • bot_traffic
  • response_size

Selain dimensi yang dijelaskan di atas, Advanced API Security juga mendukung hal berikut dimensi:

  • access_token
  • access_token
  • api_product
  • apiproxy
  • ax_edge_execution_fault_code
  • ax_geo_city
  • ax_geo_continent
  • ax_geo_country
  • ax_geo_region
  • ax_isp
  • ax_resolved_client_ip
  • ax_ua_agent_version
  • client_id
  • developer
  • developer_app
  • developer_email
  • environment
  • proxy_basepath
  • proxy_pathsuffix
  • request_uri
  • response_status_code
  • target_url
  • useragent

Batasan pada statistik keamanan

Security Stats API (tabulasi dan deret waktu) memiliki batasan berikut:

  • Ukuran halaman maksimum: 14400
  • Maksimum 10 dimensi deret waktu
  • Maksimum 15 dimensi statistik tabel
  • Maksimum 5 agregasi metrik.
  • Maksimum 5 agregasi metrik deret waktu
  • Rentang waktu: Durasi maksimal 14 hari, serta tanggal mulai dan tanggal akhir harus dalam rentang 365 hari terakhir.
  • Dimensi incident_id dan bot_reason tidak dapat digunakan dengan metrik message_count atau response_size.

Membandingkan Security Stats API dan API laporan keamanan

Baik API statistik keamanan maupun API laporan keamanan menampilkan penyalahgunaan dan keamanan terkait bot statistik, tetapi memiliki perbedaan berikut:

  • Security Stats API dirancang untuk melihat statistik untuk traffic API terbaru. Data untuk Security Stats API hanya kembali ke 14 hari yang lalu, tetapi Anda dapat melihatnya statistik saat Anda mengirim permintaan.

    Statistik keamanan juga ditampilkan di Tampilan metrik penyalahgunaan di UI Apigee.

  • Security reports API dirancang untuk melihat statistik untuk yang berjalan lama. Untuk menggunakan API skor keamanan, Anda mengirimkan tugas dan melihat hasilnya hanya jika atau tugas akan diselesaikan. Data untuk Security Score API telah dikembalikan selama satu tahun.