[z/OS]

Configuração de Filtros de Identidade Distribuída em Segurança z/OS

Antes de poder mapear as identidades distribuídas para usuários do System Authorization Facility (SAF), primeiro é você deve configurar filtros de identidade distribuída no produto de segurança z/OS para WebSphere Application Server.

O filtro de identidade distribuída na Classe SAF RACMAP consiste em nome do usuário distribuído e nome da região do nome de usuário distribuído. É possível configurar os filtros para mapear muitas identidades distribuídas para um usuário SAF, ou pode ter um mapeamento de um-para-um.

A sintaxe a seguir existe para criar um filtro de identidade distribuída utilizando o comando RACMAP:
RACMAP ID(<SAFUser>) MAP USERDIDFILTER(NAME('<distributedUserId>')) 
REGISTRY(NAME('<distributedRealmName>')) WITHLABEL('<someLabel>')

O elemento <SAFUser> é o usuário SAF no produto de segurança z/OS, <distributedUserId> é a identidade distribuída, <distributedRealmName> é o nome da região da identidade distribuída e <someLabel> é um campo de texto que descreve esse filtro de identidade distribuída.

Use o comando a seguir para ativar a classe IDIDMAP. Só é necessário executar o comando uma vez ao iniciar:
SETROPTS CLASSACT(IDIDMAP) RACLIST(IDIDMAP)
Use o comando a seguir após fazer qualquer mudança nos perfis RACMAP, para que as mudanças entrem em vigor:
SETROPTS RACLIST(IDIDMAP) REFRESH
Nota: Em alguns casos, alterações nos filtros RACMAP não afetam imediatamente o servidorWebSphere. Para obter mais detalhes, consulte a seção “Ativando as mudanças do filtro RACMAP para um usuário autenticado”.

Mapeando usuários distribuídos para usuários SAF:

Se você tiver configurado um registro OS não-local, pode mapear um usuário distribuído, como um usuário do protocolo LDAP (Lightweight Directory Access Protocol), para um usuário SAF. O nome do usuário distribuído que o WebSphere Application Server utiliza quando mapear para um usuário SAF é o valor retornado pelo WSCredential.getUniqueSecurityName() API. Esse método retorna um nome de usuário exclusivo conforme aplicado no registro do usuário configurado. Para LDAP, esse seria o nome distinto integral (DN). Para uma configuração customizada, é parecido com getUniqueUserId() API nos retornos do registro customizado. Para repositórios associados, é a propriedade uniqueName no gerenciador de membro virtual.

O nome da região distribuído usado pelo WebSphere Application Server é determinado por WSCredential.getRealmName() API. O nome da região que é retornado depende do registro do usuário que está sendo configurado. Para LDAP, o nome da região é ldapHostName:ldapPortNumber. Para registro do usuário customizado, é algo parecido com o que você configurou para o método getRealm() para retornar em sua implementação. Para repositórios associados, o nome da região é a região que você especificou no campo nome da região do painel de repositórios associados.

No exemplo a seguir, o usuário LDAP, LDAPUser1, é mapeado para usuário SAF, USER1:
RACMAP ID(USER1)  MAP USERDIDFILTER(NAME('CN=LDAPUser1,o=ibm,c=us'))  
REGISTRY(NAME('ccwin12.austin.ibm.com:389')) 
WITHLABEL('Mapping LDAP LDAPUser1 to USER1')
Nesse exemplo, o usuário de registro do usuário customizado, CustomUser3, é mapeado para usuário SAF, USER3:
RACMAP ID(USER3)  MAP USERDIDFILTER(NAME('CustomUser3'))  
REGISTRY(NAME('customRealm')) WITHLABEL('Mapping custom CustomUser3 to USER3')
Neste exemplo, o usuário de repositórios associados, wimUser5, é mapeado para usuário SAF, USER5:
RACMAP ID(USER5)  MAP USERDIDFILTER(NAME('uid=wimUser5,o=defaultWIMFileBasedRealm
'))  REGISTRY(NAME('defaultWIMFileBasedRealm')) WITHLABEL('Mapping custom wimUser5 to USER5')

Mapeando Kerberos principais para usuários SAF:

Se você tiver um registro local OS configurado nos sistemas operacionais z/OS com mecanismo de autenticação do Kerberos, você pode desejar mapear um usuário Kerberos para um usuário SAF. Neste caso, a identidade distribuída é o nome do Kerberos principal. O nome da região distribuído é o nome da região do Kerberos do KDC.

O exemplo a seguir mapeia um usuário Kerberos para um usuário SAF:
kerberosUser@KRB390.IBM.COM
para o usuário SAF WSADMIN:
RACMAP ID(WSADMIN)  MAP USERDIDFILTER(NAME('kerberosUser'))  
REGISTRY(NAME('KRB390.IBM.COM')) WITHLABEL('Mapping Kerberos kerberosUser to WSADMIN')

Mapeando diversas identidades distribuídas para um usuário SAF:

É possível usar o curinga (*) para criar um filtro que mapeia várias identidades distribuídas para um usuário SAF. Pode especificar o curinga (*) para o nome da identidade distribuída e nome da região. Por exemplo, se desejar cada usuário de seu servidor LDAP, accountingUnit.acme.ibm.com, para ser mapeado para o usuário SAF ACCT, é possível definir um filtro como o exemplo a seguir:
RACMAP ID(ACCT) MAP USERDIDFILTER(NAME('*'))  
REGISTRY(NAME('accountingUnit.acme.ibm.com:389')) 
WITHLABEL('Mapping accounting users to ACCT')
Se o nome da identidade distribuída for um nome distinto, é possível omitir atributos do valor DN quando criar o filtro, começando com os atributos mais específicos. Por exemplo, pode criar um filtro que mapeia todos os usuários LDAP que possuem os atributos O=ibm,C=us para o usuário SAF, ACCT2, como no exemplo a seguir:
RACMAP ID(ACCT2) MAP USERDIDFILTER(NAME('O=ibm,C=us'))  
REGISTRY(NAME('accountingUnit.acme.ibm.com:389')) 
WITHLABEL('Mapping US accounting users to ACCT2')

Mapeando certificados e nomes distintos para usuários SAF

A identidade distribuída é o nome distinto ou atributos do nome distinto. O nome da região distribuído é a região atual. Por exemplo:
RACMAP ID(ACCT3) MAP USERDIDFILTER(NAME('O=ibm,C=us'))  
REGISTRY(NAME('localOSRealm'))
WITHLABEL('Mapping certificate or distinguished names to ACCT3')

Criando um filtro de identidade distribuída padrão:

É possível desejar definir um filtro padrão que mapeia alguma identidade distribuída que não é localizada em qualquer dos outros filtros para um usuário SAF com o atributo RESTRICTED.

O exemplo a seguir demonstra como criar um filtro padrão:
RACMAP ID(WSGUEST) MAP USERDIDFILTER(NAME('*'))  
REGISTRY(NAME('*')) WITHLABEL('The default filter')

Ativando mudanças de filtro RACMAP para um usuário autenticado:

Quando um usuário autentica-se com um registro, o usuário também é incluído no cache de autenticação. As alterações nos filtros RACMAP no produto de segurança z/OS não são efetivadas até que esse usuário seja removido da cache de autenticação.

Se desejar que essas alterações sejam efetivadas imediatamente, chame o SecurityAdmin Mbean no servidor que deseja atualizar. É possível chamar a operação purgeUserFromAuthCache para remover um usuário específico, ou a operação clearAuthCache para remover todos os usuários da cache de autenticação. A cache de autenticação também é limpa depois que o servidor é reiniciado.

Consulte a Tabela de definição de SecurityAdmin MBean para obter detalhes sobre Mbean e suas operações.

No exemplo, uma identidade distribuída, LDAPUser1, não é mapeada para um usuário SAF, e tenta efetuar login para um servlet protegido por uma função. Como o ID do usuário e senha são válidos, o usuário é autenticado e incluído na cache de autenticação. Entretanto, como LDAPUser1 não está mapeado para um usuário SAF, um ID não autorizado padrão WSGUEST, é usado para autorização.

LDAPUser1 é incapaz de acessar o servlet pois WSGUEST não está autorizado para a função servlet. O administrador de segurança do z/OS, então, define um filtro RACMAP para mapear LDAPUser1 para o usuário SAF, USER1. LDAPUser1 ainda não pode acessar o servlet até que esse ID seja removido da cache de autenticação.

Para obter mais informações sobre o comando RACMAP, consulte a Referência de Linguagem de Comando RACF do Servidor de Segurança z/OS.


Í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_config_identity_filters
Nome do arquivo: rsec_config_identity_filters.html