Agrega una política personalizada de seguridad de textos destacados de Java

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

¿Qué es una política personalizada de seguridad de textos destacados de Java?

Los textos destacados de Java te permiten personalizar el comportamiento de tu API mediante el código Java. Cuando implementas un texto destacado de Java, Apigee configura los permisos predeterminados para la API mediante las políticas de permisos de Java. En Apigee Hybrid, puedes cambiar los permisos predeterminados si creas una política de seguridad de texto destacado de Java personalizada.

Puedes crear una política personalizada de seguridad de textos destacados de Java con un recurso, que se define en un archivo de recursos de tipo securityPolicy. El recurso se configura en el nivel del entorno. El archivo de recursos puede tener cualquier nombre, pero debes agregar el sufijo .policy al nombre del archivo de política personalizada de Java. Por ejemplo: strict-security.policy.

Con el siguiente comando, se agrega un archivo de recursos llamado 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
Los archivos de la política de seguridad admiten la misma sintaxis que la política estándar de seguridad de Java; consulta Implementación predeterminada de políticas y sintaxis de archivos de políticas.

Una vez que hayas creado un archivo de una política de seguridad que defina una política personalizada de textos destacados de Java, el entorno de ejecución de Apigee puede detectar la política y usar los permisos personalizados que define la política. Si no hay una política personalizada de textos destacados para Java, Apigee usa la política de seguridad predeterminada para el código Java o Python personalizado.

Archivo de política de seguridad

En los siguientes ejemplos, se muestra contenido de muestra de un archivo de política de seguridad.

Las líneas a continuación especifican la ubicación del código para un texto destacado personalizado de Java y otorgan todos los permisos al directorio.

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;
}

Estas líneas especifican la ubicación del código para un texto destacado personalizado de Jython y Python, y otorgan permisos de lectura al directorio.

// 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";
}

Ejemplos

En los siguientes ejemplos, se muestra cómo realizar tareas específicas relacionadas con las políticas personalizadas de seguridad de textos destacados de Java.

Crea una política personalizada de seguridad de textos destacados de Java

El siguiente comando crea una política personalizada de seguridad de textos destacados de Java, definida en el archivo de recursos llamado 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

Visualiza todas las políticas de seguridad

El siguiente comando te permite ver todas las políticas personalizadas de seguridad de textos destacados de Java en tu API.

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

Visualiza el contenido de un archivo de política de seguridad

Con el siguiente comando, se obtiene el contenido de un archivo de política individual de seguridad para que puedas verlo.

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

Actualiza una política con permiso para un entorno

El siguiente comando actualiza una política de seguridad con permiso para un entorno.

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

Borra la política de seguridad con permiso para un entorno

El siguiente comando borra una política de seguridad con permiso para un entorno.

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