Esta página se aplica ao Apigee e ao Apigee híbrido .
Veja a documentação do Apigee Edge .
O que é uma política de segurança de chamada Java personalizada?
Chamadas Java permitem personalizar o comportamento da sua API usando código Java. Ao implementar uma chamada Java, a Apigee define permissões padrão para a API usando políticas de permissão Java . Na Apigee híbrida, você pode alterar as permissões padrão criando uma política de segurança de chamada Java personalizada.
Você pode criar uma política de segurança de chamada Java personalizada usando um recurso , definido em um arquivo de recursos do tipo securityPolicy
. O recurso é configurado no nível do ambiente. O arquivo de recursos pode ter qualquer nome, mas você deve adicionar o sufixo .policy
ao nome do arquivo de política Java personalizada. 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
Após criar um arquivo de política de segurança definindo uma política de chamada Java personalizada, o ambiente de execução da Apigee pode detectar a política e usar as permissões personalizadas definidas por ela. Se nenhuma política de chamada Java personalizada estiver presente, 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 o conteúdo de amostra de um arquivo de política de segurança.
As linhas abaixo especificam o local do código para uma chamada Java personalizada e concedem todas as permissões para o 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 o local do código para uma chamada 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 chamada Java personalizadas.
Crie uma política de segurança de 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
Ver todas as políticas de segurança
O comando a seguir permite que você visualize todas as políticas de segurança de chamada Java personalizadas existentes na sua 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 obtém 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 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"