Aggiunta di un criterio di sicurezza callout Java personalizzato

Questa pagina si applica a Apigee e Apigee ibridi.

Visualizza documentazione di Apigee Edge.

Che cosa sono le norme di sicurezza dei callout Java personalizzate?

I callout Java abilitano il comportamento dell'API mediante codice Java. Quando implementi un callout Java, Apigee le autorizzazioni predefinite per l'API utilizzando Criteri di autorizzazione Java. In Apigee hybrid, puoi modificare il valore predefinito autorizzazioni creando un criterio di sicurezza del callout Java personalizzato.

Puoi creare un criterio di sicurezza del callout Java personalizzato utilizzando un resource, definita in un file di risorse di tipo securityPolicy. La risorsa è configurata al livello a livello di ambiente. Il file di risorsa può avere qualsiasi nome, ma devi aggiungere il suffisso .policy al nome del file del criterio Java personalizzato. Ad esempio: strict-security.policy.

Il comando seguente consente di aggiungere 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
I file dei criteri di sicurezza supportano la stessa sintassi dei criteri di sicurezza Java standard; vedi Implementazione predefinita dei criteri e sintassi del file dei criteri.

Una volta creato un file del criterio di sicurezza che definisce un criterio di callout Java personalizzato, il runtime Apigee può rilevare il criterio e utilizzare le autorizzazioni personalizzate che definisce. Se il callout Java personalizzato non è presente è presente, Apigee utilizza il criterio di sicurezza predefinito per il codice Java o Python personalizzato.

File dei criteri di sicurezza

Gli esempi seguenti mostrano contenuti di esempio di un file dei criteri di sicurezza.

Le righe seguenti specificano la posizione del codice per un callout Java personalizzato e tutte le autorizzazioni per la 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 concedere 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

I seguenti esempi mostrano come eseguire attività specifiche correlate criteri di sicurezza personalizzati per i callout Java.

Crea un criterio di sicurezza del callout Java personalizzato

Il comando seguente crea un criterio di sicurezza del callout Java personalizzato, definito 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 tutti i criteri di sicurezza

Il comando seguente consente di visualizzare tutti i criteri di sicurezza dei callout Java personalizzati esistenti nel tuo 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 dei criteri di sicurezza

Il seguente comando recupera i contenuti di un singolo file dei criteri di sicurezza in modo che tu possa visualizzarlo.

curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/securityPolicy/CustomJavaSecurityPolicy" \
  -H "Authorization: Bearer $TOKEN"

Aggiorna un criterio con ambito a un ambiente

Il comando seguente aggiorna un criterio di sicurezza con ambito a livello di 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 il criterio di sicurezza con ambito a un ambiente

Il comando seguente elimina un criterio di sicurezza che ha come ambito un ambiente.

curl -X DELETE https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/securityPolicy/CustomJavaSecurityPolicy \
  -H "Authorization: Bearer $TOKEN"