Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.
Oltre a visualizzare punteggi di sicurezza e profili di sicurezza nell'interfaccia utente di Apigee, puoi accedervi anche utilizzando l'API dei punteggi e dei profili di sicurezza. Questa pagina presenta alcuni esempi di utilizzo dell'API di punteggi e profili di sicurezza.
Limitazioni ai punteggi di sicurezza quando si utilizzano le API
I punteggi di sicurezza presentano le seguenti limitazioni quando vengono utilizzati dalle API dei punteggi e dei profili di sicurezza:
- Campi di immissione supportati in JSON:
timeRange
: l'intervallo di tempo può essere al massimo 14 giorni e i valoristartTime
eendTime
per l'intervallo di tempo devono rientrare negli ultimi 90 giorni. Consulta Intervallo di tempo.filters
: vedi Filtri supportati nell'API.pageSize
: numero massimo di sottocomponenti da restituire in una singola pagina: 100.
- I filtri di input multipli non sono supportati.
- Il campo dell'impatto nella risposta non è supportato. (Il campo Impatto è il potenziale impatto di questo suggerimento sul punteggio complessivo. Indica quanto sia importante il consiglio per migliorare il punteggio.)
Per le limitazioni generali del punteggio di sicurezza non specifiche per l'utilizzo dalle API, consulta Limitazioni sui punteggi di sicurezza.
Ritardi nei dati
I dati su cui si basano i punteggi di sicurezza di Advanced API Security presentano i seguenti ritardi, a causa delle modalità di elaborazione dei dati:
- Quando attivi Advanced API Security in un'organizzazione, possono essere necessarie fino a 6 ore prima che i punteggi per i proxy e i target esistenti si riflettano in un ambiente.
- Per comparire nel punteggio dell'ambiente, i nuovi eventi relativi ai proxy (deployment e annullamento del deployment) e ai target (creazione, aggiornamento, eliminazione) in un ambiente possono richiedere fino a sei ore.
- I dati che confluiscono nella pipeline di analisi di Apigee hanno un ritardo in media fino a 15-20 minuti. Di conseguenza, i dati relativi ai comportamenti illeciti relativi ai punteggi delle origini presentano un ritardo nell'elaborazione di circa 15-20 minuti.
Parametri nelle chiamate API di esempio
Le seguenti sezioni forniscono esempi di chiamate API che utilizzano l'API dei punteggi e dei profili di sicurezza. Le chiamate API contengono i seguenti parametri:
- ORG è la tua organizzazione.
- ENV è l'ambiente in cui vuoi che vengano calcolati i punteggi.
- ENVGROUP è un gruppo di ambienti contenente l'ambiente.
- PROFILE_ID è il nome del profilo. PROFILE_ID può essere
default
o il nome di un profilo personalizzato creato da te.PROFILE_ID deve contenere da 1 a 63 caratteri, che possono essere lettere minuscole, numeri da 0 a 9 o trattini. Il primo carattere deve essere una lettera minuscola. L'ultimo carattere deve essere una lettera minuscola o un numero.
$TOKEN
è la variabile di ambiente per un token di accesso OAuth.timeRange
è l'intervallo di tempo per i punteggi.
Intervallo di tempo
L'intervallo di tempo per i dati su cui vengono calcolati i punteggi di sicurezza. Puoi impostare l'intervallo di tempo specificando un'ora di inizio e di fine per i punteggi nel seguente formato:
"timeRange": { "startTime": "YYYY-MM-DDT00:00:00Z", "endTime": "YYYY-MM-DDT00:00:00Z" }
Sia startTime
che endTime
devono rientrare negli ultimi 90 giorni.
Utilizza il profilo di sicurezza predefinito
Gli esempi riportati di seguito mostrano come utilizzare il profilo di sicurezza predefinito. Consulta Parametri nelle chiamate API di esempio per i parametri utilizzati negli esempi.
Collega il profilo di sicurezza predefinito a un ambiente
Per visualizzare i punteggi di sicurezza, devi collegare un profilo all'ambiente di cui vuoi valutare la sicurezza. Per collegare il profilo di sicurezza predefinito a un ambiente, utilizza il comando seguente:
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"
Recuperare la definizione del profilo di sicurezza predefinita
Per ottenere la definizione del profilo di sicurezza predefinito, inserisci il seguente comando:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/default" \ -H 'Content-type: application/json' \ -H "Authorization: Bearer $TOKEN"
Scollega il profilo di sicurezza predefinito da un ambiente
Se hai bisogno di scollegare il profilo predefinito da un ambiente, puoi farlo come segue:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/default/environments/ENV" \ -X DELETE -H 'Content-type: application/json' \ -H "Authorization: Bearer $TOKEN"
Utilizza un profilo di sicurezza personalizzato
Puoi creare un profilo di sicurezza personalizzato con una chiamata API in uno dei seguenti modi:
- Definisci in modo esplicito il profilo nel corpo della chiamata.
- Allega alla chiamata un file JSON contenente la definizione del profilo.
Le seguenti sezioni forniscono esempi di entrambi i metodi. Consulta Parametri nelle chiamate API di esempio per i parametri utilizzati negli esempi.
I seguenti campi delle chiamate API di esempio specificano il profilo personalizzato:
description
: una descrizione del profilo personalizzato.profileConfig
: un elenco delle categorie da includere nel profilo personalizzato. Può rientrare qualsiasi sottoinsieme delle seguenti categorie di sicurezza:abuse
authorization
cors
mtls
mediation
threat
Definisci il profilo nel corpo di una chiamata API
Per definire un profilo personalizzato nel corpo di una chiamata API, inserisci un comando simile a questo:
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":{}} ] } }'
Viene creato un profilo personalizzato che include le categorie cors e minaccia e restituisce la seguente risposta:
{ "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" }
Definisci il profilo allegando un file JSON a una chiamata API
Puoi anche definire un profilo di sicurezza personalizzato allegando un file JSON che definisce il profilo a una chiamata API. Ad esempio, devi prima creare il seguente file JSON:
{ "description": "test custom profile", "profileConfig" : { "categories":[ {"cors":{}}, {"threat" :{}}, ] } }
Questo definisce un profilo con categorie di cors e minaccia. Puoi quindi creare un profilo in base a queste categorie nel seguente modo:
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
dove
create_profile.json
è il nome del file JSON descritto sopra.Richiedi una definizione personalizzata del profilo di sicurezza
Per ottenere la definizione di un profilo di sicurezza personalizzato, inserisci un comando simile al seguente:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID" \ -X GET \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json"
Scollegare un profilo di sicurezza personalizzato da un ambiente
Per scollegare un profilo di sicurezza personalizzato da un ambiente, inserisci un comando simile al seguente:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID/environments/ENV" \ -X DELETE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json"
Eliminare un profilo di sicurezza personalizzato
Per eliminare un profilo di sicurezza personalizzato, inserisci un comando simile al seguente:
curl "https://apigee.googleapis.com/v1/organizations/ORG/securityProfiles/PROFILE_ID" \ -X DELETE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json"
Ottieni punteggi per un ambiente
Le sezioni seguenti mostrano esempi di come ottenere i punteggi per un ambiente. Consulta Parametri nelle chiamate API di esempio per i parametri utilizzati negli esempi.
Ottieni tutti i punteggi per un ambiente
Per ottenere tutti i punteggi per un ambiente, inserisci un comando simile al seguente:
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"
Per una descrizione della richiesta e della risposta, consulta la pagina di riferimento
computeEnvironmentScores
.Calcolare i punteggi di origine per un ambiente
Per ottenere i punteggi di origine per un ambiente, inserisci un comando simile al seguente:
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"
Recupero del punteggio di abuso nel codice sorgente per un ambiente
Per ottenere il punteggio di abuso nel codice sorgente per un ambiente, inserisci un comando simile al seguente:
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"
Trova punteggi per tutti i proxy in un ambiente
Per ottenere i punteggi per tutti i proxy in un ambiente, inserisci un comando simile al seguente:
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"
Calcolare i punteggi per un proxy specifico in un ambiente
Per ottenere i punteggi per un proxy specifico in un ambiente, inserisci un comando simile al seguente:
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"
dove PROXY è il proxy di cui vuoi ottenere i punteggi.
Ottenere punteggi per un target specifico in un ambiente
Per ottenere punteggi per un target specifico in un ambiente, inserisci un comando simile al seguente:
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"
Filtri supportati nell'API
La seguente tabella elenca i filtri supportati nell'API e i relativi percorsi dei componenti. Nei percorsi dei componenti, sostituisci le variabili nel seguente modo:
- ORG: la tua organizzazione.
- ENV: l'ambiente in cui vengono visualizzati i punteggi.
- PROXY_NAME: il nome del proxy.
Filtro Percorso componente Punteggi relativi all'ambiente /org@ORG/envgroup@ENVGROUP/env@ENV
L'origine assegna un punteggio a tutti i componenti sottostanti /org@ORG/envgroup@ENVGROUP/env@ENV/source
Punteggi degli abusi /org@ORG/envgroup@ENVGROUP/env@ENV/source/abuse
Punteggi per tutti i proxy /org@ORG/envgroup@ENVGROUP/env@ENV/proxies
Punteggi per proxy specifico /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME
Punteggi dei criteri per proxy specifico /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies
/org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual
Punteggi delle norme di mediazione per proxy specifico /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual/mediation
Punteggi dei criteri di sicurezza per proxy specifico /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual/security
Punteggi dei criteri di autenticazione per proxy specifico /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual/security/auth
Punteggio dei criteri CORS per proxy specifico /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual/security/cors
Punteggi dei criteri di minaccia per proxy specifico /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@PROXY_NAME/policies/individual/security/threat
Punteggi dei criteri per tutti i proxy nell'ambiente /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies
/org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual
Punteggi dei criteri di mediazione per tutti i proxy nell'ambiente /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/mediation
Punteggi dei criteri di sicurezza per tutti i proxy nell'ambiente /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security
Punteggi dei criteri di autenticazione per tutti i proxy nell'ambiente /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/auth
Punteggi dei criteri CORS per tutti i proxy nell'ambiente /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/cors
Punteggi dei criteri di minaccia per tutti i proxy nell'ambiente /org@ORG/envgroup@ENVGROUP/env@ENV/proxies/proxy@$proxy/policies/individual/security/threat