30 11 2015
Merge de usuários de multiplas autenticações SAP
Um dos recursos interessantes do BO é a parte de autenticação integrada. BO tem suporte de autenticação Enterprise, LDAP, Oracle EBS, JD Edwards, PeopleSoft, SAP, Siebel e Windows AD:
Obs: Só para lembrar, a autenticação Enterprise é a autenticação própria do BO, ou seja, uma conta de usuário criada dentro do BO com senha dentro do BO.
Nesse post apresentarei um problema muito interessante quando se trabalha com multiplas autenticações SAP.
Normalmente em um ambiente corporativo a empresa tem somente uma fonte de dados analíticos, ainda mais se tratando de BW. Até ai tudo bem, você configura a autenticação SAP com o BW, da até para forçar o logon do BI Launch Pad sempre ser por SAP (alterar parâmetros do arquivo BIlaunchpad.properties), mas e se você tem 2 fontes BW totalmente distintas? Vamos imaginar assim: eu tenho um BW local e um BW na matriz da corporação, no meu BO local meus usuários vão executar relatórios tanto com fonte no BW local quanto no BW da matriz.
Nos exemplos a seguir eu vou considerar como BW local CB#, como BW matriz o HB#, e meu usuário GOLIVEI#.
A primeira coisa para considerar é que o mesmo usuário exista nos 2 ambientes, ou seja, se no BW CB# tem o GOLIVEI#, no BW HB# também tem que ter um usuário GOLIVEI#. São considerados o mesmo usuário, apesar de sistemicamente serem contas de usuários distintas.
Nas configurações da autenticação SAP teremos 2 sistemas lógicos:
Naturalmente é necessário fazer a importação de roles dos dois sistemas lógicos também:
As roles e as contas de usuários são importados:
Observe que agora existem 2 contas GOLIVEI#, uma do CB# e outro do HB#:
Note que a diferença entre uma conta e a outra é o prefixo. Esse prefixo contém o Sistema e Cliente da autenticação BW de onde ele foi importado.
O problema de ter 2 contas de usuários separadas dessa forma é que se o usuário estiver no BO consultando relatórios do CB# e quiser consultar relatórios do HB#, então ele deverá efetuar logoff da conta CB#~400/GOLIVEI# e entrar novamente com a conta HB#~200/GOLIVEI#, ou vice e versa.
Para essa situação o BO esta preparado. Toda conta de usuário possui um Alias, que basicamente são as credenciais de logon dele.
E é possível que uma mesmo conta de usuário possua vários Alias de qualquer fonte de autenticação, ou seja, eu posso na mesma conta ter credenciais de autenticação de SAP, Windows AD, Enterprise, etc…
Merge manual:
Vamos pegar como base a conta de usuário CB#~400/GOLIVEI#:
1) No final da tela, clique no botão “Atribuir alias…”;
2) Na lista dos alias disponíveis, procure o alias HB#~400/GOLIVEI#, selecione e passe ele para a tela da direita. Note que são listados todos as credenciais importadas de todas as autenticações configuradas, e que também é possível selecionar mais de um alias:
3) Ao final da seleção, clique em Ok e o alias selecionado será associado ao usuário CB#~400/GOLIVEI#:
4) Para finalizar, no nome da conta (é um campo aberto para alteração) e retire o prefixo CB#~400 deixando somente GOLIVEI#;
5) Clique em “Salvar e fechar”;
Agora só tem 1 conta GOLIVEI#;
Esse processo resolve o Merge, mas não é a solução. Imagine efetuar merge de milhares de contas de usuários! ou com usuários que são criados e eliminados todos os dias, é inviável efetuar esse processo individualmente. É necessário um processo automático.
Merge automático:
A importação de contas de usuários é basicamente a importação de dados, ou seja, é uma carga de uma tabela de dados no database do BO. Como toda carga, existe os controles para não gerar duplicidades, atualizar registros existentes, replicar exclusões, ou seja, um ETL Delta. Nesse ETL o BO considera o nome da conta como chave primária, então, quando ele carrega usuários da fonte autenticadora, se ele tem uma conta com o nome de GOLIVEI# e no BO já existe essa conta GOLIVEI# independente de onde ela veio, ele vai atualizar essa conta com os novos dados carregados. Então se o BO encontra uma conta GOLIVEI# no Windows AD, outra conta GOLIVEI# no SAP e no próprio BO já existe uma conta Enterprise de nome GOLIVEI#, ele vai juntar tudo numa conta só, ou seja, um usuário só.
O problema é: Para autenticações SAP, o BO importa as contas com prefixos nos nomes das contas, conforme os exemplos até agora, CB#~400/GOLIVEI#, HB#~200/GOLIVEI#. Então a pergunta é: Como é que faz para tirar esses prefixos que não seja na mão, usuário por usuário?
Existe uma SAP Note para configurar isso: 1343537 – Displaying SAP usernames in the USERNAME format.
Basicamente, ter ou não o prefixo na autenticação SAP é uma chave de registro no Windows (ou Linux, mas vou usar o Windows nos meus exemplos). É nesses momentos que me pergunto o quão sádicos são os desenvolvedores do BO.
Apesar de na nota estar bem claro como fazer essas alterações, vou explicar passo a passo com minhas observações:
1) No Windows, abrir o editor de registro, o famoso REGEDIT;
2) Navegar até a chave:
- BO 3.x: HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 12.0\SAP\Authentication\
- BO 4.x: HKEY_LOCAL_MACHINE\SOFTWARE\SAP BusinessObjects\Suite XI 4.0\Enterprise\Auth Plugins\secSAPR3\
3) Alterar a chave SimpleUsernameFormat de No para Yes;
4) Reiniciar o SIA;
Feito tudo isso, de agora em diante o BO fará a importação de contas de usuários sem prefixo, porém somente para novas importações, as contas que já foram importadas antes da mudança no registro continuarão com o prefixo. Com as contas existentes, ou você retira o prefixo na mão conta a conta, ou apaga as contas e o BO importa novamente automaticamente sem o prefixo. Porém se você eliminar a conta, irá eliminar os favoritos da conta também, tem que analisar antes. Então…
Instalação BO nova:
– Se você já configurou as autenticações SAP, ou você vai nas configurações, remove as roles, clica em atualizar, e coloca novamente as roles e clica em atualizar, ou vai no módulo de usuários e exclui todas as contas importadas (é possível buscar as contas pelo prefixo que ainda permanece);
– Se você ainda não configurou as autenticações SAP, ao configurar tudo irá funcionar muito bem. Ao configurar as 2 autenticações SAP, o BO fará o merge de usuários automaticamente;
Instalações BO existentes (em produção):
Inevitavelmente você terá que analisar os favoritos dos usuários. A grande maioria dos usuários tem nos Favoritos apenas documentos de auto-save ou cópias e testes. Recomendo utilizar relatórios e o universo de auditoria do BO para fazer essa análise. Para os usuários que realmente não podem perder seus documentos nos Favoritos, esses você terá que alterar o nome da conta na mão, para as demais contas apenas excluir, pois a que a autenticação importa automaticamente.
Customizar o template do BI Launch Pad