Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat Dokumentasi Apigee Edge.
Ringkasan
Halaman ini menjelaskan cara mengelola skor keamanan dan profil keamanan Penilaian Risiko menggunakan Google Cloud Platform. Halaman ini juga menampilkan contoh permintaan API.
Untuk ikhtisar fungsi Penilaian Risiko, termasuk batasan, dan petunjuk untuk menggunakan UI, lihat Ringkasan dan UI penilaian risiko.
Contoh Risk Assessment v2 API
Mengambil hasil penilaian keamanan batch
Pengguna dengan peran Security Admin
atau Security Viewer
memiliki izin
untuk melakukan komputasi
penilaian risiko {i>ad hoc<i}. Anda harus menentukan profil keamanan,
ruang lingkup, dan sumber
daya yang akan dinilai. Resource dapat include_all_resources: true
hingga
komputasi pada semua resource dalam
ruang lingkupnya, atau hanya beberapa saja. Lihat
securityAssessmentResults.batchCompute
dalam dokumentasi referensi Apigee Management API untuk mengetahui informasi lebih lanjut tentang fungsi ini.
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityAssessmentResults:batchCompute" \ -X POST \ -H "Authorization: Bearer $TOKEN" -H 'Content-type: application/json' \ -d '{ "profile": "google-default", "scope": "ENV", "include_all_resources": {} }'
dengan:
- ORG adalah organisasi Anda.
- ENV adalah lingkungan tempat Anda melihat skor.
Ini adalah respons potensial untuk permintaan di atas.
{ "security_assessment_results": [ { "resource": { "name" : "my-proxy-1", "revision": "1" }, "create_time": "2023-11-22T03:04:05Z", "score": 99, "severity": "low", "failed_assessment_by_weight": { "MINOR": 1 }, "assessment_recommendations": { "CORS-Check": { "weight": "MINOR", "recommendations": [ { "description": "add CORS policy to your proxy", "learn_more_link": "https://example.com" } ] } } }, { "resource": { "name" : "my-proxy-2", "revision": "3" }, "create_time": "2023-11-22T03:04:05Z", "score": 100, "severity": "low", "resource_revision": "1", "failed_assessment_by_weight": { "MINOR": 0 }, "assessment_recommendations": {} } ] }
Penilaian Risiko v1
Bagian ini menampilkan informasi dan contoh untuk Risk Assessment v1 API.
Batasan skor keamanan saat menggunakan API
Skor keamanan memiliki batasan berikut saat digunakan dari skor dan profil keamanan API:
- Kolom input yang didukung di JSON:
timeRange
: Nilai dibatasi oleh kriteria yang dijelaskan dalam referensicomputEnvironmentScores API.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. (Bidang dampak adalah potensi dampak dari rekomendasi tentang skor keseluruhan. 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 v1.
Parameter dalam contoh panggilan API
Bagian berikut memberikan contoh panggilan API dan dapat menggunakan parameter berikut:
- ORG adalah organisasi Anda.
- ENV adalah lingkungan tempat Anda ingin menghitung skor.
- ENVGROUP adalah grup lingkungan yang berisi lingkungan.
- PROFILE_ID adalah nama profil. PROFILE_ID dapat
default
atau nama profil khusus yang Anda buat.PROFILE_ID harus berisi dari 1 hingga 63 karakter, yang dapat berupa huruf kecil, angka 0-9, atau tanda hubung. Karakter pertama harus huruf kecil. Karakter terakhir harus berupa huruf atau angka kecil.
- PROXY_NAME: Nama proxy.
- RESOURCES dapat berupa:
{"all_resources":true}
untuk semua resource dalam cakupan.{"includes": { "resources": [{"name": "<proxy-name>"}]}
untuk memantau satu atau {i>proxy<i} yang lebih spesifik. Misalnya,{"includes": { "resources": [{"name": "my-proxy-1"}]}
hingga memantau proxy yang disebutmy-proxy-1
.{"excludes": { "resources": [{"name": "<proxy-name>"}]}
untuk memantau semua sumber daya kecuali satu atau beberapa {i>proxy<i} yang ditentukan. Misalnya,{"excludes": { "resources": [{"name": "my-proxy-1"}]}
memantau semua resource kecuali proxy yang disebutmy-proxy-1
.
$TOKEN
adalah variabel lingkungan untuk Token akses OAuth.timeRange
adalah rentang waktu untuk skor.
Contoh Risk Assessment v1 API
Filter yang didukung di API
Tabel berikut mencantumkan filter yang didukung dalam API, dan filter jalur komponen.
Filter | Jalur komponen |
---|---|
Skor lingkungan | /org@ORG/envgroup@ENVGROUP/env@ENV |
Semua komponen pokok Skor sumber | /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 |
|
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 env |
|
Skor kebijakan mediasi untuk semua proxy di env | /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/mediation |
Skor kebijakan keamanan untuk semua proxy di env | /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security |
Skor kebijakan Auth untuk semua proxy di env | /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/auth |
Skor kebijakan CORS untuk semua proxy di env | /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/cors |
Skor kebijakan ancaman untuk semua proxy di env | /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/threat |
Gunakan profil keamanan default
Contoh berikut menunjukkan cara menggunakan profil keamanan default. Lihat Parameter dalam contoh panggilan API untuk mengetahui parameter yang digunakan dalam contoh.
Melampirkan profil keamanan default ke lingkungan
Untuk melihat skor keamanan, Anda harus melampirkan profil ke lingkungan yang keamanannya yang ingin Anda evaluasi. Untuk melampirkan default keamanan profile 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 khusus
Anda dapat membuat profil keamanan kustom dengan panggilan API melalui 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 mengetahui parameter yang digunakan dalam contoh.
Kolom berikut dalam contoh panggilan API menetapkan profil kustom:
description
: Deskripsi profil kustom.profileConfig
: Daftar kategori yang akan disertakan dalam profil kustom. Ini dapat berupa subset dari berikut ini kategori keamanan:abuse
authorization
cors
mtls
mediation
threat
Menentukan profil dalam isi panggilan API
Untuk menentukan profil kustom dalam isi panggilan API, masukkan perintah yang mirip dengan berikut ini:
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 kategori dan ancaman, serta akan 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 menentukan profil dengan kategori, Kor, 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 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 mirip dengan contoh berikut ini:
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 yang mirip dengan berikut ini:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID" \ -X DELETE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json"
Dapatkan skor untuk lingkungan
Bagian berikut menampilkan contoh cara mendapatkan skor untuk lingkungan. Lihat Parameter dalam contoh panggilan API untuk mengetahui parameter yang digunakan dalam contoh.
Dapatkan semua skor untuk lingkungan
Untuk mendapatkan semua skor suatu 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 deskripsi permintaan
beserta responsnya.
Mendapatkan skor sumber untuk lingkungan
Untuk mendapatkan skor sumber 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" }, "filters": [{"scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/source"}] }' \ -H 'Content-type: application/json' \ -H "Authorization: Bearer $TOKEN"
Mendapatkan skor penyalahgunaan di sumber untuk suatu lingkungan
Untuk mendapatkan skor penyalahgunaan di sumber suatu 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" }, "filters": [{"scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/source/abuse"}] }' \ -H 'Content-type: application/json' \ -H "Authorization: Bearer $TOKEN"
Dapatkan skor untuk semua proxy di lingkungan
Guna mendapatkan skor untuk semua proxy di 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" }, "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 suatu 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" }, "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
Guna mendapatkan skor untuk target tertentu di 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" }, "filters": [{"scorePath": "/org@ORG/envgroup@ENVGROUP/env@ENV/target@TARGET"}] }' \ -H 'Content-type: application/json' \ -H "Authorization: Bearer $TOKEN"