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.