O Security Manager é a piscina do javeiro: aquele recurso que diversas plataformas computacionais sonham possuir e muitos de nós simplesmente ignoramos.
Neste vídeo irei mostrar bem por alto o que vêm a ser este recurso e como você pode usá-lo para executar seus scripts em um ambiente isolado, impedindo assim diversas ameaças que vimos anteriormente, como por exemplo acesso indevido a arquivos, rede, finalização da JVM, etc.
O vídeo irá mostrar por alto este recurso, no entanto você pode se aprofundar no assunto usando os links da referência a seguir.
Referências
No vídeo usamos uma implementação customizada do Security Manager, no entanto, por padrão a JVM já vêm com uma excelente implementação que nos permite trabalhar apenas alterando arquivos de configuração.
Sobre a arquitetura de segurança do Java: http://docs.oracle.com/javase/7/docs/technotes/guides/security/overview/jsoverview.html
Sintaxe do arquivo de políticas do Java: http://docs.oracle.com/javase/6/docs/technotes/guides/security/PolicyFiles.html
Lista completa de políticas de segurança padrão do Java: http://docs.oracle.com/javase/7/docs/technotes/guides/security/permissions.html
Post excelente sobre como aplicar as políticas de segurança do Java em scripts Groovy: http://www.chrismoos.com/2010/03/24/groovy-scripts-and-jvm-security
O que a documentação oficial do Groovy tem a dizer sobre o security manager: http://groovy.codehaus.org/Security
Acesso ao código fonte
Está tudo no GitHub. Eis a URL do repositório: https://github.com/loboweissmann/groovy-grails-na-pratica.
Busque pela pasta “embarcando_groovy_seguranca”
E o vídeo?
Ah, o link é este aqui: http://www.youtube.com/watch?v=8egPIoqsuLI