Protección de aplicaciones de enterprise bean

Puede proteger los métodos de enterprise bean asignando roles de seguridad a los mismos. Antes de asignar roles de seguridad, debe saber qué métodos EJB (Enterprise JavaBeans) es necesario proteger y cómo protegerlos.

Acerca de esta tarea

Puede asignar un conjunto de métodos EJB a un conjunto de roles. Cuando se asegura un método EJB asociándole un conjunto de roles, para poder acceder al método, debe otorgar al menos un rol en ese conjunto. Para impedir el acceso a un conjunto de métodos EJB, marque el conjunto como excluido. Para dar acceso libre a un conjunto de métodos de enterprise beans, borre esos métodos. Puede ejecutar enterprise beans como una identidad diferente, utilizando la identidad runAs, antes de invocar otros enterprise beans.

Nota: Este procedimiento puede que no coincida con los pasos que deben realizarse al utilizar la herramienta de ensamblaje, o que no coincida con la versión de la herramienta de ensamblaje que va a utilizar. Debe seguir las instrucciones para la herramienta y versión que está utilizando. Para obtener más información sobre el uso de las herramientas de ensamblaje, consulte el Information Center de la herramienta de ensamblaje.

Para proteger las aplicaciones de enterprise bean, siga estos pasos:

Procedimiento

  1. En una herramienta de ensamblaje, importe el archivo JAR (Java™ Archive) de EJB (Enterprise JavaBeans) o un archivo EAR de archivador de aplicaciones que contenga uno o más módulos web.

    Consulte la información sobre cómo importar un archivo JAR de EJB o un archivo EAR de una aplicación empresarial en la documentación de Rational Application Developer.

  2. En el Explorador de proyectos, pulse el directorio Proyectos EJB y pulse el nombre de la aplicación.
  3. Pulse con el botón derecho del ratón en el descriptor de despliegue y pulse Abrir con > Editor del descriptor de despliegue. Si ha seleccionado un archivo .jar de enterprise bean, se abrirá EJB Deployment Descriptor Editor. Si selecciona un archivo .ear de aplicación, se abrirá un Application Deployment Descriptor Editor. Para consultar información en línea acerca del editor, pulse F1 y pulse el nombre del editor.
  4. Cree roles de seguridad. Los roles de seguridad pueden crearse a nivel de aplicación o a nivel de módulo EJB. Si se crea un rol de seguridad a nivel de módulo EJB, el rol también aparecerá en el nivel de aplicación. Si se crea un rol de seguridad a nivel de aplicación, el rol no se visualizará en todos los módulos EJB. Puede copiar y pegar uno o más roles de seguridad de módulos EJB creados a nivel de aplicación:
    • Cree un rol al nivel de módulo EJB. En un editor de despliegue de EJB, pulse el separador Ensamblado. En Security Roles (Roles de seguridad), pulse Add (Añadir). En el asistente Add Security Role (Añadir rol de seguridad), asigne un nombre al rol de seguridad y descríbalo y pulse Finish (Finalizar).
    • Cree un rol a nivel de aplicación. En Application Deployment Descriptor Editor, seleccione el separador Security (Seguridad). En la lista de roles de seguridad, pulse Add (Añadir). En el asistente Add Security Role (Añadir rol de seguridad), asigne un nombre al rol de seguridad y descríbalo y, a continuación, pulse Finish (Finalizar).
  5. Cree permisos de método. Los permisos de método establecen la correlación de uno o más métodos con conjuntos de roles. Un enterprise bean tiene cuatro tipos de métodos: métodos de factoría, métodos remotos y métodos de factoría locales y métodos locales. Puede añadir permisos a enterprise beans a nivel de método. No puede añadir permisos de método a enterprise beans, a no ser que ya haya definido uno o más roles de seguridad. Para proyectos EJB de la versión 2.0, hay una opción sin seleccionar que especifica que los métodos seleccionados de los beans seleccionados no requieren autorización para ejecutarse. Para añadir un permiso de método a un enterprise bean:
    1. En el separador Ensamblado de un editor de descriptor de despliegue de EJB, en Permisos de método, pulse Añadir. Se abre el Add Method Permission wizard (Asistente de añadir permiso de método).
    2. Seleccione un rol de seguridad de la lista de roles encontrados y pulse Next (Siguiente).
    3. Seleccione uno o más enterprise beans de la lista de beans encontrados. Puede pulsar Select All (Seleccionar todo) o Deselect All (Deseleccionar todo) para seleccionar o deseleccionar todos los enterprise beans de la lista. Pulse Next (Siguiente).
    4. Seleccione los métodos que desea enlazar al rol de seguridad. En la pagina Method Elements (Elementos de método) se enumeran todos los métodos asociados a los enterprise beans. Puede pulsar Apply to All (Aplicar a todo) o Deselect All (Anular selecciones) para seleccionar o borrar rápidamente varios métodos. La selección sólo afecta al método (*) predeterminado de todos los beans. Si se crea un permiso de método para la signatura exacta del método se alterará temporalmente el valor predeterminado del método (*). El método (*) predeterminado representa a todos los métodos incluidos en el bean. Asimismo, existen métodos (*) predeterminados para todas las interfaces. Para establecer otros permisos no en todos los métodos, seleccione los métodos individuales que desee del árbol.
    5. Pulse Finalizar.
    Después de haber creado el permiso de método, puede consultarlo en el árbol. Expanda el árbol para consultar el bean y los métodos definidos en el permiso de método.
  6. Excluya métodos del acceso de usuarios. Los usuarios no pueden acceder a métodos excluidos. Durante la instalación de la aplicación, el desplegador deseleccionará cualquier método de enterprise beans que no tenga asignado ningún rol que no se haya excluido.
    1. En el separador Ensamblado de un editor de descriptor de despliegue de EJB, en Lista de exclusiones, pulse Añadir. Se abre el Exclude List wizard (Asistente de lista de exclusión).
    2. Seleccione uno o más enterprise beans de la lista de beans encontrados y pulse Next (Siguiente).
    3. Seleccione uno o más de los elementos de método para la identidad de seguridad y pulse Finish (Finalizar).
  7. Correlacione security-role-ref y role-name con role-link. Cuando desarrolla enterprise beans, puede crear el elemento security-role-ref. El elemento security-role-ref sólo contiene el campo role-name. El campo role-name determina si quien emite la llamada tiene un rol role(isCallerInRole() especificado y contiene el nombre del rol al que se hace referencia en el código. Puesto que los roles de seguridad se crean durante la fase de ensamblaje, el desarrollador utiliza un nombre de rol lógico en el campo role-name y proporciona la suficiente descripción en el campo Descripción para que el ensamblador establezca la correlación con el rol real (role-link). El elemento security-role-ref está ubicado a nivel de EJB. Los enterprise beans pueden tener varios elementos security-role-ref o ninguno.
    1. En el separador Referencia de un editor de descriptor de despliegue de EJB, en la lista de referencias, pulse Añadir. Se abre el Add Reference wizard (Asistente de añadir referencia).
    2. Seleccione Security role reference (Referencia de rol de seguridad) y pulse Next (Siguiente).
    3. Denomine la referencia del rol de seguridad, seleccione un rol de seguridad para enlazarlo a la referencia, describa la referencia del rol de seguridad y pulse Finish (Finalizar).
    4. Correlacione cada role-name utilizado durante el desarrollo con el rol (role-link) utilizando los pasos anteriores.
  8. Especifique la identidad RunAs para los componentes de enterprise bean. La identidad de RunAs de los enterprise bean se utiliza para invocar el siguiente enterprise beans en la cadena de invocaciones de EJB. Al invocar los siguientes enterprise beans, la identidad RunAsIdentity se pasa a los enterprise beans siguientes para llevar a cabo una comprobación de autorización en los enterprise bean siguientes. Si no se especifica la identidad de RunAs, la identidad del cliente se propaga a los enterprise bean siguientes. La identidad RunAs puede representar cada uno de los enterprise beans o puede representar cada método en los enterprise beans.
    1. En el separador Acceso de un editor de descriptor de despliegue de EJB, junto al campo Identidad de seguridad (Nivel de bean), pulse Añadir. Se abre el Add Security Identity wizard (Asistente de añadir identidad de seguridad).
    2. Seleccione la modalidad run as adecuada, describa la identidad de seguridad y pulse Next (Siguiente). Seleccione la modalidad Use identity of caller (Utilizar identidad de llamador) para indicar al servicio de seguridad que no efectúe cambios en los valores de credenciales del principal. Seleccione la modalidad Utilizar identidad asignada a cometido específico para utilizar un principal que se asigne al rol de seguridad especificado para ejecutar los métodos del bean. Esta asociación forma parte del enlace de aplicación en el que se asocia al rol el ID de usuario y la contraseña del usuario al que se le ha otorgado ese rol. Si selecciona Utilizar identidad asignada a cometido específico, debe especificar el nombre y la descripción del rol.
    3. Seleccione uno o más enterprise beans de la lista de beans encontrados y pulse Next (Siguiente). Si no está disponible Next (Siguiente), pulse Finish (Finalizar).
    4. Opcional: En la página Elementos de método, seleccione uno o más de los elementos de método de la identidad de seguridad y pulse Finalizar.
  9. Cierre Deployment Descriptor Editor y, cuando se le solicite, pulse Yes (Sí) para guardar los cambios.

Resultados

Después de proteger una aplicación EJB, el archivo .jar resultante contiene información de seguridad en su descriptor de despliegue. La información de seguridad de los módulos EJB se almacena en el archivo ejb-jar.xml.

Qué hacer a continuación

Después de proteger una aplicación EJB con la herramienta de ensamblaje, puede instalar una aplicación EJB mediante la consola administrativa. Durante la instalación de una aplicación EJB segura, siga los pasos indicados en el tema Despliegue de aplicaciones protegidas para efectuar la tarea de protección de la aplicación EJB.

Icon that indicates the type of topic Task topic



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