![[z/OS]](../images/ngzos.gif)
System Authorization Facility para Autorização Baseada em Função
Você tem três opções ao designar funções: (1) autorização do WebSphere Application Server, na qual o gerenciamento da autorização é executado dentro da Administração do WebSphere usando a função de Segurança no painel Mapeamento do Usuário/Grupo do console administrativo. (2) O System Authorization Facility (SAF) para autorização baseada em função (somente a opção WebSphere Authorization Facility for z/OS), que usa a autorização SAF para funções Java 2 Platform Enterprise Edition (J2EE). (3) Provedor de Autorização Externo usando as interfaces JACC conectáveis. Quando o WebSphere Application Server está configurado para usar Autorização SAF, o gerenciamento de autorização é executado usando recursos de gerenciamento SAF e o usuário ou grupo para Gerenciamento de função J2EE na Administração do WebSphere é ignorado. A classe SAF de EJBROLE é usada (por exemplo, usando o perfil RACF EJBROLE) para controlar o acesso por um cliente às funções Java™ 2 Platform, Enterprise Edition (J2EE) nos aplicativos da web e EJB, incluindo o aplicativo do console administrativo do WebSphere Application Server.
- Se a autorização SAF for selecionada no console administrativo, ela substituirá qualquer outra opção de autorização (por exemplo, a autorização do Tivoli Access Manager). Consulte o Resumo de Controles para obter informações adicionais.
- Quando a autorização SAF estiver ativada, a autorização em qualquer nível sempre será executada pelo gerenciador de segurança (RACF ou um produto equivalente) do sistema operacional. Isto é, os usuários precisam ser autenticados com um ID de usuário do gerenciador de segurança (RACF), ou um módulo de mapeamento SAF precisa ser utilizado. Consulte o Considerações do System Authorization Facility para os Níveis de Sistema Operacional e Aplicativo para obter informações adicionais.
- Quando a autorização SAF é selecionada durante a customização de sistemas, os perfis EJBROLE administrativos de todas as funções administrativas são definidos pelas tarefas do RACF geradas por meio dos diálogos de configuração, e a autorização SAF pode ser utilizada como mecanismo de autorização para todos os registros de usuários. Consulte o Controlling access to console users when using a Local OS Registry para obter informações adicionais.
- Ao configurar a autorização SAF, a propriedade com.ibm.security.SAF.authorization é definida como true e os perfis SAF EJBROLE são utilizados para controlar o acesso às funções administrativas. Consulte Autorizando Acesso a Funções Administrativas para obter mais informações sobre a autorização de acesso a funções administrativas.
- Quando a autorização SAF está ativada, todos os valores nos usuários e grupos do console são ignorados. O painel Mapear Funções de Segurança para Usuários/Grupos Funcionais no console administrativo é ignorado. Consulte o Funções Administrativas e Autorização de Serviço de Nomenclatura para obter informações adicionais.
- Todos e Todos Autenticados são ignorados pois eles são gerenciados no RACF. Consulte Considerações do System Authorization Facility para os Níveis de Sistema Operacional e Aplicativo, bem como Função de Segurança para Mapeamento de Usuário ou de Grupo, para obter mais informações.
- Quando a autorização SAF está ativada, os perfis SAF EJBROLE são utilizados para controlar o acesso a funções CosNaming. Durante a configuração do domínio de segurança no diálogo de customização, as funções CosNaming são definidas pelas tarefas de customização. Consulte Special considerations for controlling access to naming roles using SAF authorization para obter mais informações sobre funções CosNaming e autorização SAF e também a referência Funções Administrativas e Autorização de Serviço de Nomenclatura.
- Quando a autorização do SAF é ativada, os perfis EJBROLE do SAF são utilizados para autorizar as funções do J2EE. Para registros do sistema operacional não local, o mapeamento de identidade deve estar no local para mapear identidades do WebSphere Application Server para identidades do SAF. Consulte Controlling access to console users when using a Local OS Registry para obter informações adicionais
- A autorização SAF para funções J2EE é uma tarefa que não depende do processo de implementação do aplicativo. Consulte o Atribuindo usuários e grupos a funções para obter informações adicionais.
- A classe EJBROLE deve ser RACLISTed. Se a classe EJBROLE não for RACLISTed, será necessário reiniciar o servidor de aplicativos para obter as alterações realizadas nos perfis na classe EJBROLE.
- A especificação Servlet 3.1 recentemente define o nome da função ** que concede acesso para todos os usuários autenticados. Por padrão, a decisão de autorização é feita pelo SAF.
- A propriedade customizada com.ibm.websphere.security.delegateStarStarRoleAuthorization
define se o código de segurança concede acesso a todos os usuários autenticados quando o nome da função
é **.
- true – O código de segurança concede acesso sem interação com a tabela de autorização conectável.
- false - O código de segurança delega a decisão à tabela de autorização conectável. Esse é o valor padrão.

Quando a autorização SAF estiver ativada, os perfis EJBROLE do SAF serão utilizados para autorizar funções do Java EE. Para registros do sistema operacional não local, o mapeamento de identidade deve estar no local para mapear identidades do WebSphere Application Server para identidades do SAF.
Para ativar a autorização do SAF, consulte Autorização do z/OS System Authorization Facility para obter informações adicionais.
A definição de EJBROLES pertence ao processo de implementação do aplicativo. Se o ID do usuário tiver pelo menos acesso READ ao perfil EJBROLE definido que corresponde à função Java EE definida pelo aplicativo, o ID do usuário será considerado como estando na Função. (Não confunda o nome EJBROLE. Ele é utilizado para funções Java EE nos enterprise beans e nos aplicativos da Web).
Quando um implementador de aplicativo utiliza uma função no descritor de implementação de um componente, o nome da função deve ser idêntico ao nome de um perfil EJBROLE. Um administrador de segurança define os perfis EJBROLE e permite usuários ou grupos SAF nos perfis. Para ser considerado qualificado para uma função, um usuário deve ter acesso de leitura ao perfil EJBROLE ou deve estar conectado a um grupo SAF que tenha acesso de leitura.
A especificação de um prefixo de perfil do SAF (anteriormente chamado de domínio de segurança do z/OS) afeta os perfis EJBROLE específicos usados pelos recursos de sistemas do WebSphere Application Server para z/OS quando a autorização SAF for escolhida. Quando um prefixo SAF for definido, os perfis EJBROLE do aplicativo Java EE para o tempo de execução do WebSphere Application Server para z/OS serão prefixados com o valor desta propriedade. Isso permite a implementação do mesmo aplicativo em células diferentes no mesmo sysplex, mas terão mapeamentos de usuário para função diferentes, se desejado.
Por exemplo, seu aplicativo tem dois nomes de funções Java EE: juniorTellers e seniorTellers. São funções que utilizam letras maiúsculas/minúsculas. No registro do SAF, você tem um grupo MVS chamado JTELLER e STELLER e um ID do usuário MVS chamado BANKADM. O grupo JTELLER é requerido para acessar a função juniorTellers e o grupo STELLER é requerido para acessar a função seniorTellers. O ID do usuário BANKADM é necessário para acessar ambas as funções.
Você tem duas células, ambas definidas para utilizar um prefixo de perfil do SAF. Os prefixos são PRODCELL e TESTCELL, respectivamente. O ID de usuário TEST1 deve ter acesso a ambas as funções, mas apenas no ambiente de teste TESTCELL.
Se você desejar implementar o mesmo aplicativo nas duas células, deverá definir perfis distintos utilizando um RACF (ou subsistema de segurança equivalente), como a seguir.
/* a classe EJBROLE deve estar ativa, esta etapa é feita pelos diálogos de personalização */ SETROPTS CLASSACT(EJBROLE) /* definir primeiro as funções em RACF */ RDEFINE EJBROLE PRODCELL.juniorTellers UACC(NONE) RDEFINE EJBROLE PRODCELL.seniorTellers UACC(NONE) RDEFINE EJBROLE TESTCELL.juniorTellers UACC(NONE) RDEFINE EJBROLE TESTCELL.seniorTellers UACC(NONE) /* permitir os usuários e grupos apropriados às várias funções */ PERMIT PRODCELL.juniorTellers CLASS(EJBROLE) ID(JTELLER BANKADM) ACCESS(READ) PERMIT PRODCELL.seniorTellers CLASS(EJBROLE) ID(STELLER BANKADM) ACCESS(READ) PERMIT TESTCELL.juniorTellers CLASS(EJBROLE) ID(TEST1) ACCESS(READ) PERMIT TESTCELL.seniorTellers CLASS(EJBROLE) ID(TEST1) ACCESS(READ) /* atualizar a classe EJBROLE em RACF * SETROPTS RACLIST(EJBROLE) REFRESH"
Agrupando EJBROLES (GEJBROLE)
A interface SAF também suporta uma classe de agrupamento para a classe EJBROLE. Essa classe de agrupamento é chamada GEJBROLE. Ela é particularmente útil quando você tem a necessidade de fornecer acesso aos mesmos usuários ou grupos para várias funções.
- Ajuste os descritores de implementação dos aplicativos para que estejam em conformidade com as funções já definidas no corporativo, como gerenciadores. Esse processo consome muito tempo e está propenso a erros, especialmente porque pode requerer um reajuste do descritor de implementação sempre que o aplicativo tiver sido alterado ou reinstalado.
- Defina os perfis EJBROLE de cada uma das funções requeridas pelo aplicativo. Em seguida, permita que os usuários e os grupos acessem essas funções. Esse processo pode ser extensivo para o administrador porque os mesmos usuários e grupos podem ter permissões para vários perfis diferentes com significados semelhantes.
- Utilize a classe de agrupamento para evitar os piores problemas com as duas outras opções. Você ainda deve definir os perfis EJBROLE de cada uma das funções requeridas pelo aplicativo. Em vez de permitir que todos os mesmo usuários e grupos utilizem os novos perfis, crie um perfil, como supervisores, na classe de agrupamento e inclua todos os novos perfis EJBROLE nele. Você pode dar permissão em um local para cada usuário e grupo que precisar de acesso a essas funções, como o perfil de supervisores. Você pode evitar trabalho administrativo adicional incluindo o perfil EJBROLE existente (Gerenciadores) no perfil da classe de agrupamento (Supervisores).
- Planejar perfis de funções organizacionais nas GEJBROLEs da classe RACF.
- Criar lista de acesso pela permissão de grupos de usuários nos perfis GEJBROLE e, em seguida, adicionar funções aos perfis GEJBROLE.
- Um GEJBROLE com apenas um EJBROLE está OK.
- Não utilize uma mistura de EJBROLE e GEJBROLE para a permissão de usuários às funções.
- Se possível, permita usuários apenas aos perfis GEJBROLE.
- Prefira, geralmente, GEJBROLE à EJBROLE.