quarta-feira, 9 de dezembro de 2009

[Oracle BPM] Adicionando usuários administradores em configurações híbridas de diretório

O Oracle BPM 10g permite a existência de mais de um usuário administrador, estes usuários possuem permissão para logar no Process Administrator e realizar as tarefas administrativas.

Quando utilizamos um serviço híbrido de diretório (banco de dados + LDAP) não é possível conceder estas permissões diretamente pelo Process Administrator pois esta funcionalidade está desabilitada, conforme podemos ver na imagem abaixo.



No Oracle BPM existem 2 perfis de usuários administradores, são eles:
  • Administradores de usuários: os usuários com este perfil somente conseguem realizar operações de mapeamento de papéis para usuários e grupos e cadastrar períodos de ausência.
    • As permissões são atribuídas no nível de Unidade Organizacional;
    • Um administrador de usuários pode administrar somente os usuários associados a Unidades Organizacionais cuja as quais ele tenha permissão de administração.
  • Administrador: os usuários com este perfil tem total acesso ao Process Administrator e podem gerenciar todas as operações disponíveis no diretório.
Mas como atribuir estes perfis para um usuário se as opções estão desabilitadas na interface do Process Administrator? É isso que veremos a partir de agora.

Para exemplificar, vamos utilizar um usuário fictício, cujo user id é "gerentea".

Bom vamos colocar a mão na massa. O primeiro passo é conectar no schema de banco de dados do diretório de usuários. Para isto, você pode utilizar qualquer cliente SQL.

O segundo passo é descobrir o ID interno do usuário para qual você deseja adicionar o perfil, no meu caso o usuário "gerentea". Para isto, você terá que fazer uma consulta na tabela FUEGO_PARTICIPANT, conforme abaixo:

Após executar o SQL, descobrimos que o ID interno do usuário "gerentea" é 30. Guarde este número pois iremos utilizá-lo em seguida.

A partir de agora cada um dos perfis necessitam passos específicos para configuração, vamos começar pelo perfil de Administrador de usuários.

Adicionando perfil de Administrador de usuários (acesso restrito)

Vamos imaginar que temos a seguinte estrutura organizacional.

Usuários
   - TI
   - Comercial
   - Outros

Neste exemplo, vamos permitir que o usuário "gerentea" administre todos os usuários da unidade organizacional "TI", para isto é necessário incluir uma nova linha na tabela FUEGO_PART_ADMINOUS, conforme imagem abaixo:

onde:
  • USUARIOS/TI é o nome da Unidade Organizacional que o usuário "gerentea" terá direito de administrar
  • 30 é o ID interno do usuário "gerentea"
Porém não é só isso, ainda precisamos dizer que o usuário "gerentea" possui o perfil de administrador de usuários, caso contrário ele não conseguirá fazer o login no Process Administrator. Para atribuir a permissão precisamos alterar a tabela FUEGO_PARTICIPANT, conforme imagem abaixo:

onde:
  • 30 é o ID interno do usuário "gerentea"

Agora o usuário "gerentea" pode logar no Process Administrator e também já consegue administrar todos os usuários membros da unidade organizacional "TI", porém continua sem permissão para as demais unidades organizacionais.

Adicionando perfil de Administrador (acesso completo)

Para atribuir o perfil de usuário administrador precisamos apenas alterar a tabela FUEGO_PARTICIPANT, conforme imagem abaixo:


onde:
  • 30 é o ID interno do usuário "gerentea"

Pronto, com isso finalizamos mais esta dica sobre o Oracle BPM.

3 comentários:

  1. Muito bom.

    Estou com um problema que envolve estas permissões. A senha do admin full vazou e todos estão com acesso livre ao Process Administrator.

    Você sabe se eu alterar o status deste admin para "A" e alterar o status de outro usuário para "R" terei algum problema com os processos internos, APIs, etc, do BPM, ja que, no momento da instalação o admin era um e deixará de ser ?

    Abraço

    Fernando

    ResponderExcluir
  2. Olá Fernando, realmente não sei te responder, nunca tive esta necessidade.

    Mas quando você descobrir não deixe de voltar aqui para comentar se conseguiste ou não.

    Abraço.

    ResponderExcluir
  3. Olá Rodrigo,

    Como eu imaginava, tive problemas para fazer deploy de um projeto e para recriar os EARs.

    Para resolver, após as mudanças na tabela FUEGO_PARTICIPANT, eu alterei o arquivo configurename >.dirxml (antes fiz backup.. rs), colocando o novo usuário/senha no lugar do antigo ADMIN.

    Em seguida, pelo Admin Center > Configuration, selecionei o directory e cliquei em "Set as Current". Fazendo isso, as alterações são efetuadas em todos os lugares necessários, inclusive no directory.xml.

    Depois de fazer isso, precisa logar no Process Administrator com o novo usuário e recriar e re-deployar os EARs. Dessa forma, tudo funcionará normalmente.

    Agora só está faltando saber como utilizar o managedirectory ant task para criptografar as senhas alteradas no arquivo directory.xml

    De qualquer forma, obrigado pela resposta!

    Abraço.

    ResponderExcluir