14.3. Gravação da Política de Segurança para a Plataforma do Aplicativo do JBoss Enterprise
O arquivo
jboss-as/bin/server.policy.cert
é um exemplo da política de segurança para a Plataforma do Aplicativo JBoss Enterprise. Você pode utilizá-lo como base para sua própria política de segurança.
O aplicativo
policytool
, incluído com o JDK, fornece uma ferramenta gráfica para edição e gravação da política de segurança.
Importante
Considere cuidadosamente quais permissões você irá conceder. Tenha um cuidado especial ao conceder permissão ao
java.security.AllPermission
: você pode potencialmente permitir alterações ao binário do sistema, incluindo o ambiente do período de rodagem JVM.
Refira-se à documentação no http://download-llnw.oracle.com/javase/6/docs/technotes/guides/security/PolicyFiles.html para informações gerais sobre os arquivos da política de segurança e permissões Java. O
java.lang.RuntimePermissions
específico do JBoss está descrito abaixo:
Permissões do Período de Rodagem específico do JBoss
org.jboss.security.SecurityAssociation.getPrincipalInfo
- Fornece acesso aos métodos
org.jboss.security.SecurityAssociation getPrincipal()
egetCredential()
. O risco relacionado com o uso desta permissão do período de rodagem é a habilidade de verificar o chamador do segmento atual e credenciais. org.jboss.security.SecurityAssociation.getSubject
- Fornece acesso ao método
org.jboss.security.SecurityAssociation getSubject()
. org.jboss.security.SecurityAssociation.setPrincipalInfo
- Fornece acesso aos métodos
org.jboss.security.SecurityAssociation setPrincipal()
,setCredential()
,setSubject()
,pushSubjectContext()
epopSubjectContext()
. O risco de uso desta permissão do período de rodagem é a habilidade de configurar o chamador do segmento atual e credenciais. org.jboss.security.SecurityAssociation.setServer
- Fornece acesso ao método
org.jboss.security.SecurityAssociation setServer
. O risco de uso desta permissão do período de rodagem é a habilidade de ativar ou desativar o armazenamento múltiplo de segmentação do chamador da entidade de segurança do chamador e credenciais. org.jboss.security.SecurityAssociation.setRunAsRole
- Fornece acesso aos métodos
org.jboss.security.SecurityAssociation pushRunAsRole
epopRunAsRole
,pushRunAsIdentity
epopRunAsIdentity
. O risco de uso desta permissão do período de rodagem é a habilidade de alterar o chamador atual rodando como entidade de segurança da função. org.jboss.security.SecurityAssociation.accessContextInfo
- Fornece acesso aos métodos
org.jboss.security.SecurityAssociation accessContextInfo, "Get"
eaccessContextInfo, "Set"
, permitindo que você determine e obtenha a informação do contexto de segurança atual. org.jboss.naming.JndiPermission
- Fornece permissões especiais aos arquivos e diretórios num caminho da árvore JNDI ou recursivamente a todos os arquivos e subdiretórios. Um JndiPermission consiste de um pathname e de um conjunto de permissões válidas relacionadas ao arquivo ou diretório.As permissões disponíveis incluem:
bind
,rebind
,unbind
,lookup
,list
,listBindings
,createSubcontext
eall
.Os pathnames terminando com/*
indicam que as permissões especificadas são aplicadas a todos os arquivos e diretórios do pathname. Os pathnames terminando em/-
indicam permissões a todos os arquivos e diretórios do pathname. Os pathnames que contém um token<<ALL BINDINGS>>
especial combinando com qualquer arquivo em qualquer diretório. org.jboss.security.srp.SRPPermission
- A classe de permissão personalizada para proteção de acesso à informação SRP confidencial como a chave de sessão privada e chave privada. Esta permissão não possui quaisquer ações definidas. O getSessionKey também fornece acesso à chave de sessão privada resultada a partir da negociação SRP. O acesso a esta chave permitirá que você criptografe e descriptografe as mensagens que foram criptografadas com a chave de sessão.
org.hibernate.secure.HibernatePermission
- Esta classe de permissão fornece permissões básicas para proteção das sessões do Hibernate. O destino desta propriedade é o nome da entidade. As informações disponíveis incluem: insert , delete , update , read , * (all).
org.jboss.metadata.spi.stack.MetaDataStackPermission
- Fornece uma classe de permissão personalizada para controle de como os chamadores interagem com a pilha dos metadados. As permissões disponíveis são:
modify
(push/pop na pilha),peek
(peek an pilha) e*
(todos). org.jboss.config.spi.ConfigurationPermission
- Protege a determinação das propriedades de configuração. Define apenas os nomes de destino da permissão e não as ações. Os destinos para esta propriedade incluem: <property name> - propriedade pela qual o código possui permissão para configuração; * - todas as propriedades.
org.jboss.kernel.KernelPermission
- Protege o acesso à configuração do kernel. Isto define apenas os nomes do destino de permissão e nenhuma das ações. Os destinos para esta propriedade incluem: access - acesso à configuração do kernel, configure - configuração do kernel (o acesso é imperativo) e * - todos acima.
org.jboss.kernel.plugins.util.KernelLocatorPermission
- Protege acesso ao kernel. Define apenas os nomes do destino de permissão e nenhuma ação. Os destinos para esta propriedade incluem: kernel - acesso ao kernel e * - acesso a todas as áreas.