Esta página se aplica à Apigee e à Apigee híbrida.
Confira a documentação da Apigee Edge.
O que é uma política de segurança de chamada Java personalizada?
As chamadas Java permitem que você personalize o comportamento da API usando código Java. Quando você implementa uma chamada Java, a Apigee define permissões padrão para a API usando as políticas de permissão de Java. Na Apigee híbrida, é possível alterar as permissões padrão criando uma política de segurança de chamada Java personalizada.
É possível criar uma política personalizada de segurança de chamadas Java usando um
recurso, definido em
um arquivo de recurso do tipo securityPolicy
. O recurso é configurado no
nível do ambiente. O arquivo de recursos pode ter qualquer nome, mas é preciso adicionar o sufixo
.policy
ao nome do arquivo de política de Java personalizado. Por exemplo:
strict-security.policy
.
O comando a seguir adiciona um arquivo de recurso chamado 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
Depois de criar um arquivo de política de segurança que define uma política personalizada de chamada Java, o ambiente de execução da Apigee pode detectar a política e usar as permissões personalizadas definidas por ela. Se não houver uma política personalizada de chamada Java, a Apigee usará a política de segurança padrão para código Java ou Python personalizado.
Arquivo de política de segurança
Os exemplos a seguir mostram um conteúdo de amostra de um arquivo de política de segurança.
As linhas abaixo especificam a localização do código de uma chamada Java personalizada e concedem todas as permissões ao diretório.
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; }
Essas linhas especificam a localização do código para uma frase de destaque Jython/Python personalizada e concedem permissões de leitura ao diretório.
// 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"; }
Exemplos
Os exemplos a seguir mostram como executar tarefas específicas relacionadas a políticas de segurança de chamadas Java personalizadas.
Criar uma política de segurança da chamada Java personalizada
O comando a seguir cria uma política de segurança de chamada Java personalizada, definida no
arquivo de recursos chamado 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
Visualizar todas as políticas de segurança
O comando a seguir permite visualizar todas as políticas de segurança de chamadas Java personalizadas na API.
curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/securityPolicy" \ -H "Authorization: Bearer $TOKEN"
Visualizar o conteúdo de um arquivo de política de segurança
O comando a seguir recebe o conteúdo de um arquivo de política de segurança individual para que você possa visualizá-lo.
curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/securityPolicy/CustomJavaSecurityPolicy" \ -H "Authorization: Bearer $TOKEN"
Atualizar uma política com escopo para um ambiente
O comando a seguir atualiza uma política de segurança com escopo para um 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
Excluir a política de segurança com escopo para um ambiente
O comando a seguir exclui uma política de segurança com escopo para um ambiente.
curl -X DELETE https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/securityPolicy/CustomJavaSecurityPolicy \ -H "Authorization: Bearer $TOKEN"