Customizando a segurança no WebSphere Application Server

Se as funções de segurança padrão e a configuração definida para o Report Launcher for ClearQuest não atenderem a seus requisitos, será possível mudar isso atualizando o arquivo descritor de implementação do Report Launcher for ClearQuest. Depois de atualizar esse arquivo, use o utilitário wsadmin do WebSphere Application Server para aplicar as configurações do descritor de implementação.

Sobre Esta Tarefa

Essa tarefa será necessária somente se você desejar customizar as funções e a configuração de segurança padrão do ativador de relatório descritas em Configurando a Segurança para o Report Launcher e os Relatórios.

Antes de customizar a configuração de segurança, considere o comportamento de segurança que você está tentando alcançar. Por exemplo, você deseja que todos os usuários sejam autenticados quando iniciarem o Report Launcher? Deseja fornecer diferentes direitos de acesso de relatório a diferentes usuários ou grupos? Revise Exemplo de definições de configuração de segurança como ponto de início para atualizar a configuração.

Atualize o descritor de implementação do Report Launcher for ClearQuest para configurar a autenticação de cliente no WebSphere Application Server.

Procedimento

  1. Copie o arquivo descritor de implementação web.xml do Report Launcher for ClearQuest para um diretório ativo e renomeie o arquivo. O arquivo web.xml está localizado neste diretório:
    Windows:
    cd %CLEARQUEST_HOME%\cqweb\cqwebprofile\installedApps\dfltCell\RationalClearQuestReportLauncher.ear\CQReportLauncher.war\WEB-INF\web.xml
    UNIX e Linux:
    cd $CLEARQUEST_HOME/cqweb/cqwebprofile/installedApps/dfltCell/RationalClearQuestReportLauncher.ear/CQReportLauncher.war/WEB-INF/web.xml
    Nota: O diretório da célula do WebSphere Application Server padrão é dfltCell nas plataformas Windows, UNIX e Linux. Na plataforma Solaris, o padrão é <srv>Node01Cell.
    As etapas restantes nesse procedimento presumem que você renomeou o arquivo web.xml copiado no diretório ativo para launcher_web.xml.
  2. Atualize os elementos security-constraint e security-role para mudar as configurações de segurança. A modificação do elemento login-config não é necessária. Para obter ideias sobre as configurações possíveis, consulte Exemplo de definições de configuração de segurança.
  3. Use o utilitário wsadmin do WebSphere Application Server para aplicar as mudanças no descritor de implementação:
    1. Em um prompt de comandos, mude o diretório ativo para o diretório que contém o arquivo launcher_web.xml.
    2. Em um prompt de comandos, execute este comando para iniciar o utilitário wsadmin:
      Windows:
      %CLEARQUEST_HOME%\cqweb\cqwebprofile\bin\wsadmin
      UNIX e Linux:
      $CLEARQUEST_HOME/cqweb/cqwebprofile/bin/wsadmin.sh
    3. Forneça as credenciais para o usuário administrativo do WebSphere, se solicitado.
    4. Execute estes comandos para atualizar o descritor de implementação no WebSphere Application Server:
      wsadmin> $AdminApp update RationalClearQuestReportLauncher file {-operation update -contents launcher_web.xml -contenturi CQReportLauncher.war/WEB-INF/web.xml}
      wsadmin> $AdminConfig save
      wsadmin> exit

Exemplo de definições de configuração de segurança

É possível usar as amostras de código a seguir como ponto de início para a configuração da segurança do aplicativo Report Launcher em seu ambiente.

Exemplo 1: Requerer que todos os usuários efetuem logon no Report Launcher para acessar relatórios
Esta amostra de código mostra as definições de configuração de segurança que fornecem a todos os usuários acesso de logon ao Report Launcher for ClearQuest. Após a autenticação, os usuários podem acessar pastas e relatórios configurados no servidor de arquivo de relatório. Este exemplo cria a função de segurança AuthenticatedUsers que inclui todos os usuários autenticados. Em seguida, uma restrição de segurança fornece ao Report Launcher acesso a todos os usuários na função AuthenticatedUsers.
<security-constraint>
   <web-resource-collection>
      <web-resource-name>authenticated</web-resource-name>
      <url-pattern>/*</url-pattern>
   </web-resource-collection>
   
   <auth-constraint>
      <role-name>AuthenticatedUsers</role-name>
   </auth-constraint>
   
   <user-data-constraint>
      <transport-guarantee>CONFIDENTIAL</transport-guarantee>
   </user-data-constraint>
</security-constraint>

<login-config>
   <auth-method>FORM</auth-method>
   <realm-name>default</realm-name>
   <form-login-config>
      <form-login-page>/Login.jsp</form-login-page>
      <form-error-page>/Login.jsp?error=true</form-error-page>
   </form-login-config>
</login-config>

<security-role>
   <role-name>AuthenticatedUsers</role-name>
</security-role>
Exemplo 2: Restringir o acesso à pasta ManagementReports aos gerentes de departamento somente
Essa amostra de código é construída sobre o exemplo anterior. A seção de código em negrito estabelece uma função Managers adicional como um subconjunto da função AuthenticatedUsers. Esse código cria uma restrição de segurança que restringe o acesso à pasta /reports/home/ManagementReports aos usuários com a função Managers. Quando o usuário não autorizado clica no link para a pasta ManagementReports, o Report Launcher desativa o link e decora a entrada da pasta com uma fechadura. A fechadura indica que o conteúdo da pasta é protegido e não pode ser acessado.
<security-constraint>
   <web-resource-collection>
      <web-resource-name>authenticated</web-resource-name>
      <url-pattern>/*</url-pattern>
   </web-resource-collection>
   
   <auth-constraint>
      <role-name>AuthenticatedUsers</role-name>
   </auth-constraint>

   <user-data-constraint>
      <transport-guarantee>CONFIDENTIAL</transport-guarantee>
   </user-data-constraint>
</security-constraint>

<security-constraint>
   <web-resource-collection>
      <web-resource-name>secure</web-resource-name>
      <url-pattern>/reports/home/ManagementReports/*</url-pattern>
   </web-resource-collection>
   
   <auth-constraint>
      <role-name>Managers</role-name>
   </auth-constraint>
   
   <user-data-constraint>
      <transport-guarantee>CONFIDENTIAL</transport-guarantee>
   </user-data-constraint>
</security-constraint>

<login-config>
   <auth-method>FORM</auth-method>
   <realm-name>default</realm-name>
   <form-login-config>
      <form-login-page>/Login.jsp</form-login-page>
      <form-error-page>/Login.jsp?error=true</form-error-page>
   </form-login-config>
</login-config>

<security-role>
   <role-name>AuthenticatedUsers</role-name>
</security-role>

<security-role>
   <role-name>Managers</role-name>
</security-role>

Feedback