Visão geral da arquitetura

O Blazon é uma plataforma de Gestão de Identidade projetada para oferecer os mais altos níveis de qualidade em vários aspectos fundamentais, tais como usabilidade, segurança, desempenho, dentre outros. Modelada de acordo com as melhores práticas e padrões de engenharia de software, o Blazon foi construído tendo por base conceitos modernos em termos de alta disponibilidade e escalabilidade.

Componentes

A arquitetura é composta por um conjunto de camadas, estruturadas por uma série de componentes, responsáveis por prover todas as funcionalidades requeridas por processos corporativos relacionados à Gestão de Identidades, entregando um alto valor a processos ligados a Gerência de Segurança, Auditorias e Governança corporativa em Sistemas de Informação. A seguir são listados alguns dos principais módulos da plataforma:

Core Engine

Principal módulo, é aqui que a orquestração de fluxos de trabalhos, lógicas e demais aspectos fundamentais da governança e administração de identidades corporativas são executados;

Workspace

Uma aplicação chave para produzir uma experiência de usuário superior, facilitando o acesso a sistemas e recursos corporativos e oferecendo facilidades para solicitação de acessos e reset de senha, a um clique de mouse;

Admin Console

Como o próprio nome diz, é uma console para oferecer, aos vários níveis de administração e suporte, alto nível de usabilidade na manutenção das configurações do ambiente corporativo;

Resource Adapter

Um componente especialmente projetado para a integração transparente de recursos corporativos de TI pré-existentes, permitindo alto desacoplamento de sistemas legados;

Resource Adapter Interface

Este módulo visa abstrair os detalhes (físicos e lógicos) da conectividade com os sitemas legados, permitindo que novos Resource Adapters sejam desenvolvidos e integrados transparentemente à plataforma em plena operação;

Job Manager

O modelo de processamento utilizado, para permitir alta escalalbilidade e operação em nuvem, é rico em Tarefas assíncronas, sendo a atribuição deste módulo a gerência desse universo de tarefas;

API Server

Uma interface aberta para o desenvolvimento de Add-ons (novas aplicações) que permite imensa liberdade ao departamento de TI da organização em termos de novos desenvolvimentos;

OAuth2 Authorization Server

Servidor especializado em autorizações específicas para aplicativos Web, Lapttop/Desktop, Smartphones e IoT existentes no ambiente corporativo;

SSO & MFA

Módulos especializados em oferecer uma autenticação única (para os acessos disponíveis no Workspace), com a possibilidade de requerer vários fatores de autenticação (MFA – Multifactor Authentication) dependendo do contexto de acesso aos recursos.

Resumo

Modelada para operar em nuvem, as camadas da arquitetura foram projetadas a partir de componentes bem definidos e com alto grau de desacoplamento, permitindo a instalação e operação independentes, requisito essencial de plataformas em nuvem.

Visando a experiência de usuários (QoE – Quality of Experience), a arquitetura foi projetada para garantir os tempos de respostas independentemente do volume de acessos, permitindo afirmar que todos os componentes apresentados na figura anterior podem ser escalados horizontalmente, independentemente da localização e distribuição geográfica, como se espera de uma plataforma cloud enabled.

Altamente modularizada, se houver necessidade, sob demanda, quaisquer dos componentes apresentados na figura podem ser adicionados à medida que a maturidade em governança e administração de Identidade evolua ao longo do tempo. Isto permite que uma organização planeje seus investimentos de acordo com sua maturidade e somente tenha desembolsos à medida que os componentes da plataforma sejam mandatórios em seus processos de segurança, governança e auditorias.

Modelo de processamento

Essencial para decisões de projeto, o Modelo de Processamento implica diretamente na arquitetura de um sistema. Considerando os requisitos não funcionais atuais (segurança, alta disponibilidade, escalabilidade, usabilidade, accountability) e os cenários de operação (on premise e borda/nuvem), o projeto da arquitetura considerou o seguinte:

  • A arquitetura em seu todo utiliza um modelo de processamento no qual todo o trabalho necessário é divido temporal e espacialmente, visando a não sobrecarga da plataforma como um todo e, tampouco, seus módulos em particular;

  • Todas as requisições são tratadas de forma assíncrona, permitindo que os módulos sejam desacoplados (podendo inclusive ser instalados em sites completamente distintos) e, deste modo, reduz-se ao máximo timeouts e notificações de exceções;

  • Este modelo de processamento evita que um grande volume de trabalho sobrecarregue e interrompa o funcionamento da plataforma, e é essencial para escalabilidade horizontal.

Gerenciamento de sessão

Uma sessão é caracterizada pelo intervalo de tempo decorrido entre o instante em que um usuário é autenticado até o instante em que o acesso é encerrado, sendo que neste intervalo de tempo, o usuário pode requerer a execução de tarefas. Gerenciar uma sessão é então o processo de garantir que um usuário somente terá o acesso para o intervalo de tempo que lhe é outorgado e que esse usuário somente execute tarefas para as quais possui direito. Do mesmo modo, a gerência de sessão deve garantir que apenas o usuário autenticado poderá executar tarefas na sessão para a qual foi autenticado e registrar todas as atividades visando a rastreabilidade do acesso. Os seguintes componentes listados abaixo possuem manutenção de estado para sessão web:

  • Admin console;

  • Password Reset;

  • Workspace;

  • OTP Management; e

  • Web SSO.

Existem várias abordagens para a manutenção deste estado. A manutenção deste estado foi projetada para ser feita localmente, por meio de memória local, ou descentralizada por meio de configuração, utilizando Memcached, Redis ou uma base de dados relacional.

Resource Adapters

A Gestão de Identidade permeia todos os sistemas e recursos da corporação, desde sistemas pré-existentes na organização, bem como novos sistemas. Além disso, recursos físicos tais como catracas e portas podem (e deveriam) fazer parte de uma plataforma de Gestão de Identidade. Deste modo, integração de sistemas é uma das chaves para o sucesso de um projeto bem sucedido.

A arquitetura tem uma camada (Resource Adapters Layer) especialmente projetada para integrar transparentemente todos os sistemas existentes numa corporação. Visando escalabilidade e funcionamento em nuvem, esta camada foi projetada completamente desacoplada do Core Engine da plataforma, permitindo que esses adaptadores (RA) rodem em um mesmo ambiente ou em ambientes distintos, incluindo diferentes nuvens. Esses adaptadores podem ser construídos facilmente, inclusive desenvolvidos pela equipe de TI da organização, a partir de um template de RA. A Blazon Technologies oferece a capacidade de Add-on, com a finalidade de dar o máximo de independência aos clientes. A arquitetura foi projetada com as seguintes abordagens:

  • Comunicações entre a plataforma e aplicações/sistemas se dão por meio de componentes do tipo Resource Adapter;

  • Resource Adapters se comunicam com o módulo Core Engine por meio de comunicação assíncrona utilizando um Modelo de Pulling;

  • Aplicações indisponíveis não interferem no funcionamento e na garantia dos processos de provisionamento/reconciliação da plataforma;

  • Aspectos de segurança nas comunicações entre o módulo Core Engine e RAs são garantidos por meio de HTTPS e OAUTH2.

Escalabilidade

Escalabilidade é essencial quando se olha para os requisitos de alta disponibilidade e experiência de usuários (tempo de resposta). A arquitetura foi projetada para suportar escalabilidade horizontal, na qual instâncias podem ser invocadas em diferentes sites, transparentemente à operação, e passam a responder automaticamente por requisições. Esta capacidade resolve questões ligadas a alta disponibilidade, balanceamento de carga e tempo de resposta a solicitações de usuários. Os seguintes aspectos merecem ser ressaltados:

  • Com exceção do módulo Job Manager, todos os demais componentes da arquitetura são passíveis de ser escalados horizontalmente fácil e transparentemente;

  • Componentes que requerem Gerenciamento de Sessão Web precisam de garantir o correto uso da sessão e, para isto, pode-se delegar a sessão para algum componente, como já descrito ou pode-se também utilizar de mecanismos como Sticky Session.

Last updated