Oracle Endeca Implementando Matriz de Segurança

Por Carina Mendes
Postado em Março 2015

Objetivo:

Levantar especificações das camadas de segurança disponíveis na ferramenta Oracle EID (Endeca Information Discovery) e compreender o comportamento das sessões de usuário dentro da aplicação.

Funções de Segurança Disponíveis:

O Studio suporta diferentes níveis de segurança para atender a implementação da matriz de segurança da organização.

Medidas de segurança internas da ferramenta:

  • Loguin para autenticação de usuários com acesso na aplicação.
  • Senhas de usuários criptografadas em banco de dados Studio.
  • Cookies Criptografados.

Funções opcionais de segurança:

  •  Comunicação (SSL) Secure Socket Layer.
  • Integração de LDAP ou SSO para autenticação do usuário.
  • Restringir acesso do usuário nas funções das aplicações do Studio.
  • Restringir acesso o sistema de arquivo de banco de dados do Studio.

Metodologia Abordada:

  1. Limitar o Número de Administradores do Studio:
  2. No Studio, os usuários com a função de Administrator possuem por padrão acesso ilimitado a todas as funções e aplicações. Como pratica de segurança é ideal restringir a role Administrator para alguns usuários, evitando assim alterações indesejadas no Studio.

  3. Controlar o Acesso aos Dados e Aplicações do Studio:
  4. Além de restringir o acesso ao Studio, através de alguns filtros a ferramenta permite o Administrador restringir o acesso nas aplicações, o acesso para alguns dados das aplicações, e também quais usuários podem editar ou criar novas aplicações.

  5. Controlar o Acesso ao Banco de Dados e Sistemas de Arquivos Studio:
  6. Como mais uma medida de segurança a ser implementada ao Studio, a gestão do acesso ao banco de dados Studio pelo Service Provisioning é tomada como uma configuração segura para evitar que dados do sistema de arquivos do Studio sejam corrompidos.

Matriz de Segurança:

I. Roles:

A ferramenta trabalha com duas roles padrões para implementação de segurança da aplicação:

- Application Member:

Membros de aplicativos têm acesso vista a todo o conteúdo em um aplicativo, mas não pode editar ou configurar o aplicativo ou seus membros.

Esta é a função de aplicativo padrão para um novo membro da aplicação.

- Application Administrator:

Administradores do aplicativo tem controle total sobre um aplicativo. Eles podem editar o conteúdo de aplicativos, configurar o aplicativo e controlar a associação de aplicativos, incluindo se um membro é um administrador.

O usuário que cria o aplicativo é automaticamente um administrador do aplicativo.

Um administrador da aplicação também pode atribuir outros usuários como administradores de aplicativos.

II. Grupos:

Nesta matriz de segurança, temos um cenário de três perfis de acessos diferentes, que foram atribuídos aos seguintes grupos:

- AdminApp:

Este grupo possui permissões de administrador, ou seja, pode realizar alterações nos perfis dos grupos, atribuir membros à grupos, gerenciar anúncios, associar permissões, atualizar o conteúdo do banco de dados do sistema, além de visualizar, apagar, criar e editar aplicações.

- UserApp:

Este é um grupo de membros usuários da aplicação, com acesso apenas para visualizar às informações de uma aplicação específica.

- UserAppBD:

Os usuários deste grupo além de poder visualizar todas as aplicações do Studio, podem também atualizar a base de dados do sistema através do Service Provisioning.

III. Matriz Estruturada:

A seguir temos a matriz de segurança com os grupos, roles e usuários associados à suas respectivas permissões:

Grupos Role Atribuída Usuários
AdminApp Administrador da Aplicação UserAdminBeta
UserApp Membro da Aplicação UserAppBeta1
UserAppBD Membro da Aplicação UserAppBeta2
Permissões de Acesso Grupos
AdminApp UserApp UserAppBD
Perfil de Grupo Concedido Negado Negado
Atribuir Membros Concedido Negado Negado
Apagar Concedido Negado Negado
Gerir Anúncios Concedido Negado Negado
Permissões Concedido Negado Negado
Gerir Páginas Concedido Negado Negado
Atualizar Concedido Negado Negado
Visualizar Concedido Negado Negado
Campos Obrigatórios do User
Usuário Nome do Ecrã E-mail Senha
UserAdminBeta useradminbeta useradminbeta@oracle.com endeca1
UserAppBeta1 userappbeta1 userappbeta1@oracle.com endeca1
UserAppBeta2 userappbeta2 userappbeta2@oracle.com endeca2

Implementação de Segurança Realizada:

I. Criar Grupos:

Inicie uma sessão com um usuário administrador do Studio, e acesse o Painel de Controle, no menu localizado no canto superior direito da tela, conforme imagem à seguir:

No menu lateral, selecione a opção “Grupo de Utilizadores”, onde serão criados os grupos com os perfis de acesso que serão implementados.

Os grupos são criados conforme a matriz de segurança, é importante descrever as atribuições do grupo no momento da sua criação para facilitar em manutenções futuras.

II. Configurar Permissões aos Grupos:

Após a criação de todos os grupos estipulados na matriz de segurança, é necessário definir as permissões de acesso que cada grupo deve possuir.

A seguir temos a demonstração das permissões atribuídas ao grupo “UserAppBD”, a permissão de “Atualizar” é o que permite o usuário membro do grupo realizar upload de dados diretamente no Endeca Server, através dos serviços do Provisioning.

III. Criar Usuários:

Retornando ao menu lateral, clique na opção “Utilizadores” para criar e gerir usuários para aplicação.

Na pagina de “Utilizadores” clique em “Acrescentar” para adicionar usuários à aplicação. Observe que alguns campos são obrigatórios e que o objeto para iniciar a sessão no Studio será sempre o e-mail. Não se esqueça de redefinir a senha logo após gravar as propriedades do usuário criado.

IV. Associar Usuários aos Grupos:

Navegando novamente no menu lateral esquerdo do painel de controle do Studio, selecione a opção “Grupo de Utilizadores”.

Encontro o grupo no qual deseja associar usuários, clique na opção “Ações” e em seguida na opção “Atribuir Membros” conforme imagem a seguir:

Ao ser redirecionado, selecione a aba “Disponível” para visualizar todos os usuários criados na aplicação (1). Localize e selecione os usuários que deseja atribuir ao grupo (2). Em seguida clique no botão “Atualizar Associações”para aplicar as configurações realizadas no grupo.

V. Atribuir Permissões de Acesso nas Aplicações do Studio:

Como nem todos os grupos de usuários criados terão acesso em todas aplicações desenvolvidas no Studio, será necessário definir atribuições e grupos para cada aplicação.

No menu lateral, selecione a opção “Aplicações” para listar todas as Apps desenvolvidas nesta instância da ferramenta (1),  localize as aplicações à serem configuradas e em seguida clique no menu “Ações” (2) e na opção “Atribuir Perfis de Grupo de Utilizadores” (3).

Navegue para a aba de “Grupos de Utilizadores” (1), em seguida para a aba “Disponível” (2) para listar os grupos criados na aplicação. Observe que os grupos criados contem propriedades xml em sua nomenclatura e descrição, por tanto é necessário identificar o nome do grupo que deseja atribuir dentro das tags para selecionar o grupo correto (3).

Para finalizar a configuração, clique no botão “Atualizar Associações” (4).

Execute essa operação em todas as aplicações do Studio, de acordo com as especificações da matriz de segurança.

VI. Validar Acessos e Permissões:

Agora iremos testar se os acessos dos usuários correspondem às implementações de segurança realizadas no Studio.

- UserAdminBeta:

A sessão deste user possui a visualização de todos as aplicações disponíveis na ferramenta, além de permissão para criar e excluir aplicações.

- UserAppBeta1:

A sessão para este user, permite que ele visualize apenas algumas aplicações específicas no Studio.

Outra particularidade de acesso deste usuário, é que na criação de uma nova aplicação, não é possível realizar upload de arquivos através do Provisioning, esta restrição está de acordo com a matriz de segurança implementada.

-UserAppBeta2

Esta sessão de usuário, além de permitir a visualização de mais aplicações, permite o carregamento de dados diretamente do Endeca Server através do Service Provisioning, conforme demonstrado na imagem.

Considerações Finais:

Exceção para as regras de acesso de aplicativos para os administradores de estúdio:

Para os usuários que têm a função de usuário Administrador no Estúdio /ao contrário de ser um administrador de aplicativos), as regras de acesso a aplicação não se aplicam. Eles sempre têm acesso ilimitado a todos os aplicativos e páginas.

Carina Mendes - Business Intelligence Consultant.

Formação Acadêmica em Gestão Financeira e Estatística, Atuação técnica no desenvolvimento de projetos em Oracle BIEE 10g/11g e Oracle Endeca Information Discovery 3.1. Linguagens e ferramentas: Oracle SQL, ODI, AdminTool, Shell, Html e CSS.

Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle.