Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.
Che cos'è un criterio di sicurezza callout Java personalizzato?
I callout Java ti consentono di personalizzare il comportamento dell'API utilizzando il codice Java. Quando implementi un callout Java, Apigee imposta le autorizzazioni predefinite per l'API utilizzando i criteri di autorizzazione Java. In Apigee Hybrid, puoi modificare le autorizzazioni predefinite creando un criterio di sicurezza callout Java personalizzato.
Puoi creare un criterio di sicurezza callout Java personalizzato 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 un nome qualsiasi, ma devi aggiungere il suffisso .policy
al nome del file del criterio Java personalizzato. 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 del criterio di sicurezza che definisce un criterio callout Java personalizzato, il runtime Apigee può rilevare il criterio e utilizzare le autorizzazioni personalizzate definite dal criterio. Se non è presente alcun criterio callout Java personalizzato, Apigee utilizza il criterio di sicurezza predefinito per il codice Java o Python personalizzato.
File del criterio di sicurezza
Gli esempi riportati di seguito mostrano i contenuti di esempio di un file di criteri di sicurezza.
Le righe riportate di seguito specificano la posizione del codice per un callout Java personalizzato 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 ai criteri di sicurezza dei callout Java personalizzati.
Creare un criterio di sicurezza callout Java personalizzato
Il comando seguente crea un criterio di sicurezza callout Java personalizzato, definito nel
file della risorsa 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 tutti i criteri di sicurezza
Il seguente comando ti consente di visualizzare tutti i criteri di sicurezza dei callout Java personalizzati 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 delle norme di sicurezza
Il seguente comando recupera i contenuti di un singolo file di criteri di sicurezza in modo da poterli visualizzare.
curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/securityPolicy/CustomJavaSecurityPolicy" \ -H "Authorization: Bearer $TOKEN"
Aggiornare un criterio limitato a un ambiente
Il seguente comando aggiorna un criterio di sicurezza 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
Eliminare un criterio di sicurezza limitato a un ambiente
Il seguente comando elimina un criterio di sicurezza limitato a un ambiente.
curl -X DELETE https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/securityPolicy/CustomJavaSecurityPolicy \ -H "Authorization: Bearer $TOKEN"