Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
Che cos'è un criterio di sicurezza JavaCallout personalizzato?
Il criterio JavaCallout ti consente di personalizzare il comportamento della tua API utilizzando il codice Java. Quando implementi JavaCallout, Apigee imposta le autorizzazioni predefinite per l'API utilizzando i criteri di autorizzazione Java. In Apigee Hybrid, puoi modificare le autorizzazioni predefinite creando una policy di sicurezza JavaCallout personalizzata.
Puoi creare una policy di sicurezza JavaCallout personalizzata utilizzando una
risorsa, definita in
un file di risorse di tipo securityPolicy. La risorsa è configurata a livello di ambiente. Il file di risorse può avere qualsiasi nome, ma devi aggiungere il suffisso
.policy al nome del file della policy Java personalizzata. Ad esempio:
strict-security.policy.
Il seguente comando aggiunge un file di risorse denominato strict-security.policy.
curl -X POST "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles?name=CustomJavaSecurityPolicy&type=securityPolicy" -H "Authorization: Bearer $TOKEN" \ -H "Content-type: multipart/form-data" \ -F file=@/Users/home/strict-security.policy
Dopo aver creato un file di policy di sicurezza che definisce una policy JavaCallout personalizzata, Apigee Runtime può rilevare la policy e utilizzare le autorizzazioni personalizzate che definisce. Se non è presente alcun criterio JavaCallout personalizzato, Apigee utilizza il criterio di sicurezza predefinito per il codice Java o Python personalizzato.
File della policy di sicurezza
Gli esempi seguenti mostrano i contenuti di esempio di un file di policy di sicurezza.
Le righe seguenti specificano la posizione del codice per una policy JavaCallout personalizzata e concedono tutte le autorizzazioni alla directory.
Relaxed security policy file for testing
// javacallout code has just read permission in the installed dir and everything below it
grant codeBase "file:${javacallout.dir}/-" {
permission java.security.AllPermission;
}Queste righe specificano la posizione del codice per un callout Jython/Python personalizzato e concedono le autorizzazioni di lettura alla directory.
// Jython/Python secure
grant codeBase "file:${jython-secure-jar}" {
// No logging permissions for secure jar. Hence value of the AllExcept target parameter set to 0
permission com.apigee.securitypolicy.AllExcept "0", "java.io.FilePermission";
permission java.io.FilePermission "{T}conf_security-policy_install.dir{/T}/lib/-" , "read";
// Add JRE read permissions to jython. Existing permissions have two formats to java home. Keep the same.
permission java.io.FilePermission "${java.home}/-", "read,readLink";
permission java.io.FilePermission "${JAVA_HOME}/-", "read,readLink";
}Esempi
Gli esempi riportati di seguito mostrano come eseguire attività specifiche relative alle policy di sicurezza JavaCallout personalizzate.
Crea un criterio di sicurezza JavaCallout personalizzato
Il seguente comando crea una policy di sicurezza JavaCallout personalizzata, definita nel file di risorse denominato strict-security.policy.
curl -X POST "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles?name=CustomJavaSecurityPolicy&type=securityPolicy" -H "Authorization: Bearer $TOKEN" \ -H "Content-type: multipart/form-data" \ -F file=@/Users/home/strict-security.policy
Visualizza tutte le policy di sicurezza
Il seguente comando consente di visualizzare tutte le policy di sicurezza JavaCallout personalizzate esistenti nella tua API.
curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/securityPolicy" \ -H "Authorization: Bearer $TOKEN"
Visualizzare i contenuti di un file di criteri di sicurezza
Il seguente comando recupera i contenuti di un singolo file di policy di sicurezza in modo che tu possa visualizzarli.
curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/securityPolicy/CustomJavaSecurityPolicy" \ -H "Authorization: Bearer $TOKEN"
Aggiorna una policy con ambito limitato a un ambiente
Il seguente comando aggiorna una policy di sicurezza con ambito limitato a un ambiente.
curl -X PUT "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/securityPolicy/CustomJavaSecurityPolicy" -H "Authorization: Bearer $TOKEN" \ -H "Content-type: multipart/form-data" \ -F file=@/Users/home/strict-security-revised.policy
Elimina la policy di sicurezza con ambito limitato a un ambiente
Il seguente comando elimina una policy di sicurezza con ambito limitato a un ambiente.
curl -X DELETE https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/securityPolicy/CustomJavaSecurityPolicy \ -H "Authorization: Bearer $TOKEN"