Roles de nombres

El concepto de autorizaciones basado en roles de J2EE (Java™ 2 Platform, Enterprise Edition) se ha ampliado para proteger el servicio CosNaming.

La seguridad CosNaming ofrece una mayor granularidad del control de seguridad sobre las funciones CosNaming. Las funciones CosNaming están disponibles en los servidores CosNaming como, por ejemplo, WebSphere Application Server. Afectan el contenido del espacio de nombres. Generalmente, hay dos formas en las que los programas de cliente dan como resultado llamadas CosNaming. La primera es mediante los métodos JNDI (Java Naming and Directory Interface). La segunda son los clientes CORBA que invocan directamente los métodos CosNaming.

Existen los siguientes roles de seguridad. No obstante, los roles tienen el nivel de autorización de inferior a superior como se indica en la lista siguiente. La lista también proporciona métodos de interfaz relacionados con la seguridad para cada rol. Los métodos de interfaz que no figuran en la lista no están soportados o no están relacionados con la seguridad.
  • CosNamingRead. Los usuarios a los que se ha asignado el rol CosNamingRead pueden realizar consultas sobre el espacio de nombres como, por ejemplo, el método de búsqueda JNDI. El sujeto especial Everyone es la política por omisión para este rol.
    Tabla 1. Paquetes de roles CosNamingRead y métodos de interfaz. En la tabla siguiente se listan los paquetes de roles CosNamingRead y los métodos de interfaz:
    Paquete Métodos de interfaz
    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. Los usuarios a los que se ha asignado el rol CosNamingWrite pueden realizar operaciones de grabación, como por ejemplo, bind, rebind o unbind de JNDI. Como política por omisión,los sujetos no se asignan a este rol.
    Tabla 2. Paquetes de roles CosNamingWrite y métodos de la interfaz. En la tabla siguiente se listan los paquetes de roles CosNamingWrite y los métodos de interfaz:
    Paquete Métodos de interfaz
    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. Los usuarios a los que se ha asignado el rol CosNamingCreate podrán crear objetos nuevos en el espacio de nombres mediante el tipo de operaciones createSubcontext de JNDI y realizar operaciones CosNamingWrite. Como política por omisión,los sujetos no se asignan a este rol.
    Tabla 3. Paquetes de roles CosNamingCreate y métodos de interfaz. En la tabla siguiente se listan los paquetes de roles CosNamingCreate y los métodos de interfaz:
    Paquete Métodos de interfaz
    javax.naming Context.createSubcontext
    org.omg.CosNaming NamingContext.bind_new_context
  • CosNamingDelete. Los usuarios que tienen asignado el rol CosNamingDelete pueden destruir objetos en el mismo espacio de nombres, por ejemplo, utilizando el método destroySubcontext y las operaciones CosNamingCreate de JNDI. Como política por omisión,los sujetos no se asignan a este rol.
    Tabla 4. Paquetes de roles CosNamingDelete y métodos de interfaz. En la tabla siguiente se listan los paquetes de roles CosNamingDelete y los métodos de interfaz:
    Paquete Métodos de interfaz
    javax.naming Context.destroySubcontext
    org.omg.CosNaming NamingContext.destroy
Importante: El paquete javax.naming se aplica solamente al proveedor de servicio CosNaming de JNDI. Todas las variantes del método de interfaz JNDI tienen la misma correlación de roles.
Si el emisor no tiene autorización, los paquetes listados en las tablas anteriores presentan el comportamiento siguiente:
javax.naming
Este paquete genera la excepción javax.naming.NoPermissionException que correlaciona NO_PERMISSION desde la invocación del método CosNaming a NoPermissionException.
org.omg.CosNaming
Este paquete crea la excepción org.omg.CORBA.NO_PERMISSION.

En cualquier momento se pueden añadir o eliminar usuarios, grupos, o los sujetos especiales AllAuthenticated y Everyone, de los roles de denominación de la consola administrativa de WebSphere Application Server. No obstante, debe reiniciar el servidor para que los cambios entren en vigor. Un método recomendado es correlacionar grupos o uno de los sujetos especiales, en lugar de usuarios específicos, con los roles de nombres ya que de este modo la administración resulta más fácil y flexible a largo plazo. Al correlacionar un grupo con un rol de nombres, los usuarios se añaden o suprimen del grupo fuera de WebSphere Application Server, y no es necesario reiniciar el servidor para que el cambio entre en vigor.

Si a un usuario se le asigna un rol de nombres determinado y dicho usuario es miembro de un grupo al que se ha asignado un rol de nombres diferente, al usuario se le concederá el acceso más permisivo entre el rol que se le ha asignado al usuario y el rol que se ha asignado a su grupo. Por ejemplo, suponga que al usuario MiUsuario se le ha asignado el rol CosNamingRead. Asimismo, suponga que al grupo MiGrupo se le ha asignado el rol CosNamingCreate. Si MiUsuario es miembro de MiGrupo, a MiUsuario se le asignará el rol CosNamingCreate debido a que es miembro de MiGrupo. Si MiUsuario no es miembro de MiGrupo, a MiUsuario se le asignará el rol CosNamingRead.

La política de autorización CosNaming sólo se aplica cuando se ha habilitado la seguridad administrativa. Cuando se habilita la seguridad administrativa, si se intenta realizar operaciones CosNaming sin la asignación de roles adecuada se generará una excepción org.omg.CORBA.NO_PERMISSION del servidor CosNaming.

En WebSphere Application Server, cada función CosNaming se asigna a un solo rol. Por lo tanto, los usuarios a los que se asigna un rol CosNamingCreate no pueden consultar el espacio de nombres a menos que también se les haya asignado CosNamingRead. En la mayor parte de los casos, es necesario asignar tres roles a un creador: CosNamingRead, CosNamingWrite y CosNamingCreate. La asignación de los roles CosNamingRead y CosNamingWrite para el ejemplo de creador se ha incluido en el rol CosNamingCreate. En la mayor parte de los casos, los administradores de WebSphere Application Server no tienen que modificar la asignación de roles para cada usuario o grupo cuando pasan a este release desde uno anterior.

Aunque se puede limitar mucho más el acceso al espacio de nombres cambiando la política por omisión, si se hace se pueden generar excepciones org.omg.CORBA.NO_PERMISSION imprevistas durante la ejecución. Generalmente, las aplicaciones J2EE acceden al espacio de nombres y la identidad que usan es la del usuario que se autentica ante WebSphere Application Server cuando se accede a la aplicación J2EE. A menos que el proveedor de la aplicación J2EE comunique claramente los roles de nombres previstos, puede considerar la modificación de la política de autorización de nombres por omisión.


Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_nameroles
File name: rsec_nameroles.html