Halaman ini berlaku untuk Apigee dan Apigee Hybrid.
Baca dokumentasi Apigee Edge.
Selain melihat skor keamanan dan profil keamanan di UI Apigee, Anda juga dapat mengaksesnya menggunakan skor keamanan dan API profil. Halaman ini menyajikan beberapa contoh penggunaan API skor dan profil keamanan.
Batasan skor keamanan saat menggunakan API
Skor keamanan memiliki batasan berikut saat digunakan dari API skor dan profil keamanan:
- Kolom input yang didukung di JSON:
timeRange
: Durasi rentang waktu maksimal 14 hari, sertastartTime
danendTime
untuk rentang waktu harus dalam 90 hari terakhir. Lihat Rentang waktu.filters
: Lihat Filter yang didukung di API.pageSize
: Jumlah maksimum subkomponen yang akan ditampilkan dalam satu halaman: 100.
- Beberapa filter input tidak didukung.
- Kolom dampak dalam respons tidak didukung. (Kolom dampak adalah dampak potensial dari rekomendasi ini terhadap skor keseluruhan. Hal ini menunjukkan seberapa penting rekomendasi ini untuk meningkatkan skor.)
Untuk batasan skor keamanan umum yang tidak spesifik untuk digunakan dari API, lihat Batasan skor keamanan.
Keterlambatan data
Data yang menjadi dasar skor keamanan Advanced API Security memiliki penundaan berikut karena cara data diproses:
- Jika Anda mengaktifkan Advanced API Security dalam organisasi, diperlukan waktu hingga 6 jam agar skor untuk proxy dan target yang ada ditampilkan dalam lingkungan.
- Peristiwa baru yang terkait dengan proxy (deployment dan pembatalan deployment) dan target (membuat, memperbarui, menghapus) dalam lingkungan dapat memerlukan waktu hingga 6 jam agar ditampilkan dalam skor lingkungan.
- Data yang mengalir ke pipeline Analisis Apigee rata-rata mengalami keterlambatan hingga 15 hingga 20 menit. Akibatnya, data penyalahgunaan skor sumber mengalami penundaan pemrosesan sekitar 15 hingga 20 menit.
Parameter dalam contoh panggilan API
Bagian berikut memberikan contoh panggilan API yang menggunakan API skor keamanan dan profil. Panggilan API berisi parameter berikut:
- ORG adalah organisasi Anda.
- ENV adalah lingkungan yang Anda inginkan untuk menghitung skor.
- ENVGROUP adalah grup lingkungan yang berisi lingkungan.
- PROFILE_ID adalah nama profil. PROFILE_ID dapat berupa
default
atau nama profil kustom yang Anda buat.PROFILE_ID harus berisi antara 1 hingga 63 karakter, yang dapat berupa huruf kecil, angka 0-9, atau tanda hubung. Karakter pertama harus berupa huruf kecil. Karakter terakhir harus berupa huruf atau angka kecil.
$TOKEN
adalah variabel lingkungan untuk token akses OAuth.timeRange
adalah rentang waktu untuk skor.
Rentang waktu
Rentang waktu untuk data yang digunakan untuk menghitung skor keamanan. Anda dapat menetapkan rentang waktu dengan menentukan waktu mulai dan berakhir untuk skor dalam format berikut:
"timeRange": { "startTime": "YYYY-MM-DDT00:00:00Z", "endTime": "YYYY-MM-DDT00:00:00Z" }
startTime
dan endTime
harus berada dalam 90 hari terakhir.
Gunakan profil keamanan default
Contoh berikut menunjukkan cara menggunakan profil keamanan default. Lihat Parameter dalam contoh panggilan API untuk parameter yang digunakan dalam contoh.
Melampirkan profil keamanan default ke lingkungan
Untuk melihat skor keamanan, Anda harus melampirkan profil ke lingkungan yang keamanannya ingin dievaluasi. Untuk memasang profil keamanan default ke lingkungan, gunakan perintah berikut:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/default/environments" \ -X POST \ -d '{"name": "ENV"}' \ -H 'Content-type: application/json' \ -H "Authorization: Bearer $TOKEN"
Mendapatkan definisi profil keamanan default
Untuk mendapatkan definisi profil keamanan default, masukkan perintah berikut:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/default" \ -H 'Content-type: application/json' \ -H "Authorization: Bearer $TOKEN"
Melepaskan profil keamanan default dari lingkungan
Jika perlu melepaskan profil default dari lingkungan, Anda dapat melakukannya seperti berikut:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/default/environments/ENV" \ -X DELETE -H 'Content-type: application/json' \ -H "Authorization: Bearer $TOKEN"
Menggunakan profil keamanan kustom
Anda dapat membuat profil keamanan khusus menggunakan panggilan API menggunakan salah satu cara berikut:
- Tentukan profil secara eksplisit dalam isi panggilan.
- Lampirkan file JSON yang berisi definisi profil ke panggilan.
Bagian berikut memberikan contoh kedua metode tersebut. Lihat Parameter dalam contoh panggilan API untuk parameter yang digunakan dalam contoh.
Kolom berikut dalam contoh panggilan API menentukan profil kustom:
description
: Deskripsi profil kustom.profileConfig
: Daftar kategori yang akan disertakan dalam profil kustom. Ini dapat berupa bagian apa pun dari kategori keamanan berikut:abuse
authorization
cors
mtls
mediation
threat
Menentukan profil dalam isi panggilan API
Untuk menentukan profil kustom dalam isi panggilan API, masukkan perintah seperti berikut:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles?security_profile_id=PROFILE_ID" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "description":"test custom profile", "profileConfig" : { "categories":[ {"cors":{}}, {"threat":{}} ] } }'
Tindakan ini akan membuat profil kustom yang menyertakan kategori cor dan ancaman, dan menampilkan respons berikut:
{ "name": "PROFILE_ID", "revisionId": "1", "revisionCreateTime": "2023-07-17T18:47:08Z", "revisionUpdateTime": "2023-07-17T18:47:08Z", "scoringConfigs": [ { "title": "json", "scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/threat/json", "description": "Check if JSONThreatProtection policy is configured." }, { "title": "xml", "scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/threat/xml", "description": "Check if XMLThreatProtection policy is configured." }, { "title": "cors", "scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/cors", "description": "Check if CORS policy is configured." } ], "maxScore": 1200, "minScore": 200, "profileConfig": { "categories": [ { "cors": {} }, { "threat": {} } ] }, "description": "test custom profile" }
Menentukan profil dengan melampirkan file JSON ke panggilan API
Anda juga dapat menentukan profil keamanan khusus dengan melampirkan file JSON yang menentukan profil ke panggilan API. Sebagai contoh, pertama-tama buat file JSON berikut:
{ "description": "test custom profile", "profileConfig" : { "categories":[ {"cors":{}}, {"threat" :{}}, ] } }
Ini mendefinisikan profil dengan kategori cor dan ancaman. Anda kemudian dapat membuat profil berdasarkan kategori ini sebagai berikut:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles?security_profile_id=PROFILE_ID" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d @create_profile.json
dengan
create_profile.json
adalah nama file JSON yang dijelaskan di atas.Mendapatkan definisi profil keamanan kustom
Untuk mendapatkan definisi profil keamanan kustom, masukkan perintah yang mirip dengan yang berikut ini:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID" \ -X GET \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json"
Melepaskan profil keamanan kustom dari lingkungan
Untuk melepaskan profil keamanan kustom dari lingkungan, masukkan perintah seperti berikut:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID/environments/ENV" \ -X DELETE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json"
Menghapus profil keamanan khusus
Untuk menghapus profil keamanan kustom, masukkan perintah seperti berikut:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID" \ -X DELETE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json"
Mendapatkan skor untuk lingkungan
Bagian berikut menampilkan contoh cara mendapatkan skor untuk suatu lingkungan. Lihat Parameter dalam contoh panggilan API untuk parameter yang digunakan dalam contoh.
Mendapatkan semua skor untuk lingkungan
Untuk mendapatkan semua skor untuk lingkungan, masukkan perintah yang mirip dengan berikut ini:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID/environments/ENV:computeEnvironmentScores" \ -X POST \ -d '{"timeRange": { "startTime": "YYYY-MM-DDT00:00:00Z", "endTime": "YYYY-MM-DDT00:00:00Z" } }' \ -H 'Content-type: application/json' \ -H "Authorization: Bearer $TOKEN"
Lihat halaman referensi
computeEnvironmentScores
untuk mengetahui deskripsi permintaan dan respons.Mendapatkan skor sumber untuk lingkungan
Untuk mendapatkan skor sumber untuk lingkungan, masukkan perintah yang mirip dengan perintah berikut:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID/environments/ENV:computeEnvironmentScores" \ -X POST \ -d '{"timeRange": { "startTime": "YYYY-MM-DDT00:00:00Z", "endTime": "YYYY-MM-DDT00:00:00Z" }, "filters": [{"scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/source"}] }' \ -H 'Content-type: application/json' \ -H "Authorization: Bearer $TOKEN"
Mendapatkan skor penyalahgunaan dalam sumber untuk lingkungan
Untuk mendapatkan skor penyalahgunaan di sumber untuk suatu lingkungan, masukkan perintah seperti berikut:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID/environments/ENV:computeEnvironmentScores" \ -X POST \ -d '{"timeRange": { "startTime": "YYYY-MM-DDT00:00:00Z", "endTime": "YYYY-MM-DDT00:00:00Z" }, "filters": [{"scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/source/abuse"}] }' \ -H 'Content-type: application/json' \ -H "Authorization: Bearer $TOKEN"
Mendapatkan skor untuk semua proxy di lingkungan
Guna mendapatkan skor untuk semua proxy di lingkungan, masukkan perintah seperti berikut:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID/environments/ENV:computeEnvironmentScores" \ -X POST \ -d '{"timeRange": { "startTime": "YYYY-MM-DDT00:00:00Z", "endTime": "YYYY-MM-DDT00:00:00Z" }, "filters": [{"scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/proxies"}] }' \ -H 'Content-type: application/json' \ -H "Authorization: Bearer $TOKEN"
Mendapatkan skor untuk proxy tertentu dalam lingkungan
Guna mendapatkan skor untuk proxy tertentu dalam lingkungan, masukkan perintah yang mirip dengan yang berikut ini:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID/environments/ENV:computeEnvironmentScores" \ -X POST \ -d '{"timeRange": { "startTime": "YYYY-MM-DDT00:00:00Z", "endTime": "YYYY-MM-DDT00:00:00Z" }, "filters": [{"scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY"}] }' \ -H 'Content-type: application/json' \ -H "Authorization: Bearer $TOKEN"
dengan PROXY adalah proxy yang skornya ingin Anda dapatkan.
Mendapatkan skor untuk target tertentu dalam lingkungan
Untuk mendapatkan skor terkait target tertentu dalam lingkungan, masukkan perintah yang mirip dengan yang berikut ini:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID/environments/ENV:computeEnvironmentScores" \ -X POST \ -d '{"timeRange": { "startTime": "YYYY-MM-DDT00:00:00Z", "endTime": "YYYY-MM-DDT00:00:00Z" }, "filters": [{"scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/target@TARGET"}] }' \ -H 'Content-type: application/json' \ -H "Authorization: Bearer $TOKEN"
Filter yang didukung di API
Tabel berikut mencantumkan filter yang didukung di API, dan jalur komponennya. Di jalur komponen, ganti variabel sebagai berikut:
- ORG: Organisasi Anda.
- ENV: Lingkungan tempat Anda melihat skor.
- PROXY_NAME: Nama proxy.
Filter Jalur komponen Skor lingkungan /org@ORG/envgroup@ENVGROUP/env@ENV
Sumber memberikan skor untuk semua komponen dasar /org@ORG/envgroup@ENVGROUP/env@ENV/source
Skor penyalahgunaan /org@ORG/envgroup@ENVGROUP/env@ENV/source/abuse
Skor untuk semua proxy /org@ORG/envgroup@ENVGROUP/env@ENV/proxies
Skor untuk proxy tertentu /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME
Skor kebijakan untuk proxy tertentu /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies
/org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual
Skor kebijakan mediasi untuk proxy tertentu /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual/mediation
Skor kebijakan keamanan untuk proxy tertentu /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual/security
Skor kebijakan Auth untuk proxy tertentu /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual/security/auth
Skor kebijakan CORS untuk proxy tertentu /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual/security/cors
Skor kebijakan ancaman untuk proxy tertentu /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual/security/threat
Skor kebijakan untuk semua proxy di lingkungan /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies
/org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual
Skor kebijakan mediasi untuk semua proxy di lingkungan /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/mediation
Skor kebijakan keamanan untuk semua proxy di lingkungan /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security
Skor kebijakan Auth untuk semua proxy di lingkungan /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/auth
Skor kebijakan CORS untuk semua proxy di lingkungan /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/cors
Skor kebijakan ancaman untuk semua proxy di lingkungan /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/threat