Funções de nomenclatura

O conceito de autorização baseado em função do J2EE (Java™ 2 Platform, Enterprise Edition) é estendido para proteger o serviço CosNaming.

A segurança CosNaming oferece granularidade aprimorada do controle da segurança sobre funções de CosNaming. As funções de CosNaming estão disponíveis nos servidores CosNaming, como o WebSphere Application Server. Elas afetam o conteúdo do espaço de nomes. Em geral, duas maneiras são aceitáveis, nas quais programas clientes resultam em chamadas CosNaming. A primeira é por meio dos métodos JNDI (Java Naming and Directory Interface). A segunda são os clientes CORBA, chamando os métodos CosNaming diretamente.

As funções de segurança a seguir existem. No entanto, as funções têm um nível de autoridade de baixo a alto, conforme mostrado na lista a seguir. A lista também fornece os métodos de interface relacionados à segurança para cada função. Os métodos de interface que não são listados não são suportados ou não são relevantes para a segurança.
  • CosNamingRead. Os usuários que têm a função CosNamingRead designada podem executar consultas do espaço de nomes, por exemplo, por meio do método de consulta de JNDI. O objeto especial Everyone é a política padrão para esta função.
    Tabela 1. Pacotes e Métodos de Interface da Função CosNamingRead. A tabela a seguir lista os Pacotes e Métodos de Interface da Função CosNamingRead
    Pacote Métodos da Interface
    javax.naming
    • Context.list
    • Context.listBindings
    • Context.lookup
    • NamingEnumeration.hasMore
    • NamingEnumeration.next
    org.omg.CosNaming
    • NamingContext.list
    • NamingContext.resolve
    • BindingIterator.next_one
    • BindingIterator.next_n
    • BindingIterator.destroy
  • CosNamingWrite. Os usuários designados à função CosNamingWrite podem gravar operações (por exemplo, bind, rebind ou unbind do JNDI) além das operações CosNamingRead. Como política padrão, os Assuntos não são designados com essa função.
    Tabela 2. Pacotes e Métodos de Interface da Função CosNamingWrite. A tabela a seguir lista os Pacotes e Métodos de Interface da Função CosNamingWrite
    Pacote Métodos da Interface
    javax.naming
    • Context.bind
    • Context.rebind
    • Context.rename
    • Context.unbind
    org.omg.CosNaming
    • NamingContext.bind
    • NamingContext.bind_context
    • NamingContext.rebind
    • NamingContext.rebind_context
    • NamingContext.unbind
  • CosNamingCreate. Os usuários designados à função CosNamingCreate podem criar novos objetos no espaço de nomes por meio de operações createSubcontext do JNDI, além das operações CosNamingWrite. Como uma política padrão, Assuntos não são designados a esta função.
    Tabela 3. Pacotes e Métodos de Interface da Função CosNamingCreate. A tabela a seguir lista os Pacotes e Métodos de Interface da Função CosNamingCreate
    Pacote Métodos da Interface
    javax.naming Context.createSubcontext
    org.omg.CosNaming NamingContext.bind_new_context
  • CosNamingDelete. Os usuários aos quais for designada a função CosNamingDelete podem destruir objetos do espaço de nomes, por exemplo, utilizando o método destroySubcontext de JNDI e operações CosNamingCreate. Como uma política padrão, Assuntos não são designados a essa função.
    Tabela 4. Pacotes e Métodos de Interface da Função CosNamingDelete. A tabela a seguir lista os Pacotes e Métodos de Interface da Função CosNamingDelete
    Pacote Métodos da Interface
    javax.naming Context.destroySubcontext
    org.omg.CosNaming NamingContext.destroy
Importante: O pacote javax.naming aplica-se apenas ao provedor de serviços do JNDI CosNaming apenas. Todas as variantes de um método de interface de JNDI têm o mesmo mapeamento de função.
Se o responsável pela chamada não estiver autorizado, os pacotes listados nas tabelas anteriores apresentarão o seguinte comportamento:
javax.naming
Este pacote cria a exceção javax.naming.NoPermissionException que mapeia NO_PERMISSION da chamada do método CosNaming para NoPermissionException.
org.omg.CosNaming
Este pacote cria a exceção org.omg.CORBA.NO_PERMISSION.

Usuários, grupos ou os assuntos especiais AllAuthenticated e Everyone podem ser incluídos ou removidos das funções de nomenclatura do console administrativo do WebSphere Application Server a qualquer momento. No entanto, você deve reiniciar o servidor para que as mudanças tenham efeito. Uma boa prática é mapear grupos ou um dos assuntos especiais, ao invés de usuários específicos, para funções de Nomeação, por ser mais flexível e fácil de administrar a longo prazo. No mapeamento de um grupo para uma função de nomenclatura, a inclusão de usuários ou remoção deles do grupo ocorre fora do WebSphere Application Server e não exige um reinício do servidor para que a mudança seja efetivada.

Se um usuário tem uma determinada função de nomenclatura designada e este usuário é membro de um grupo que tem uma função de nomenclatura designada diferente, o usuário terá o acesso mais permissivo entre a função designada e a função designada ao grupo. Por exemplo, suponhamos que o usuário MyUser tenha a função CosNamingRead designada. Além disso, suponhamos que o grupo MyGroup tenha a função CosNamingCreate designada. Se o usuário MyUser for membro do grupo MyGroup, o usuário MyUser terá a função CosNamingCreate designada, pois o usuário é membro do grupo MyGroup. Se o usuário MyUser não for membro do grupo MyGroup, terá a função CosNamingRead designada.

A política de autorização CosNaming é forçada apenas quando segurança administrativa está ativada. Quando a segurança administrativa está ativada, as tentativas de executar operações CosNaming sem a designação da função apropriada resulta numa exceção org.omg.CORBA.NO_PERMISSION do servidor CosNaming.

No WebSphere Application Server, cada função CosNaming é designada a apenas uma função. Portanto, os usuários que tiverem a função CosNamingCreate designada não poderão consultar o espaço de nomes, a menos que também tenham a função CosNamingRead designada. Na maioria dos casos, um criador precisa de três funções designadas: CosNamingRead, CosNamingWrite e CosNamingCreate. A designação de funções CosNamingRead e CosNamingWrite para o exemplo de criador foi incluída na função CosNamingCreate. Na maioria dos casos, os administradores do WebSphere Application Server não precisam alterar a designação de funções de cada usuário ou grupo ao mudarem para este release a partir de um anterior.

Apesar da capacidade de restringir amplamente o acesso ao espaço de nomes, alterando a política padrão, fazer isso poderá resultar em exceções org.omg.CORBA.NO_PERMISSION inesperadas no tempo de execução. Geralmente, os aplicativos J2EE acessam o espaço de nomes e a identidade é a do usuário autenticado no WebSphere Application Server durante o acesso ao aplicativo J2EE. A menos que o provedor de aplicativos J2EE comunique claramente as funções de nomenclatura esperadas, leve em consideração alterar a política de autorização de nomenclatura padrão.


Ícone que indica o tipo de tópico Tópico de Referência



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_nameroles
Nome do arquivo: rsec_nameroles.html