Gerenciamento de identidades

Crie um fluxo de trabalho de provisionamento passo a passo

Aung Oo

 

Visão geral:

  • Usando o MIISWorkflow
  • Implementação e configuração
  • Estendendo o MIISWorkflow

Se você procura uma interface na Web para solicitar e aprovar contas e sua organização utiliza o Microsoft Identity Lifecycle Manager 2007 (ILM 2007, antigo Microsoft Identity Integration Server 2003),

então o aplicativo MIISWorkflow poderá fornecer uma solução simples e eficaz. O MIISWorkflow faz parte do MIIS 2003 Resource Tool Kit 2.0 e está disponível desde dezembro de 2004. Embora não seja necessariamente uma solução completa para cada ambiente, é um bom ponto de partida para a criação de um aplicativo personalizado que se adapte às necessidades de sua organização.

Integrando um aplicativo Web, o MIISWorkflow oferece a funcionalidade de provisionamento baseado em aprovação ao ILM 2007. É um sistema de provisionamento orientado por fluxo de trabalho em uma etapa que aceita solicitações dos usuários e as encaminha a aprovadores (normalmente gerentes) com autoridade suficiente para tomar decisões a respeito de solicitações específicas. Com base na decisão do aprovador, o ILM prossegue com o provisionamento de contas de usuários em diretórios conectados usando regras de negócios definidas no ILM.

Esse aplicativo só facilita um fluxo de trabalho passo a passo; ele não pode criar recursos complexos de fluxo de trabalho, como um processo de aprovação em várias etapas com vias paralelas ou um processo de fluxo de trabalho com uma interface gráfica. Se a sua organização não requer esses recursos complexos de fluxo de trabalho, você pode usar o MIISWorkflow de exemplo fornecido pelo MIIS Resource Tool Kit para implementar uma solução.

Meu foco aqui será o departamento de Recursos Humanos de uma empresa fictícia. Em geral, os sistemas de RH são a fonte autoritativa para todas as informações dos funcionários de uma organização. Entretanto, embora esses sistemas geralmente tenham dados detalhados de funcionários efetivados, eles costumam não ter informações suficientes sobre funcionários temporários, como prestadores de serviço e estagiários. Os dados contidos em um sistema de RH podem não controlar quais sistemas os usuários podem acessar, incluindo as informações sobre contas de usuários. Vou mostrar a você como criar um sistema de controle simples para os funcionários temporários de uma organização.

Ampliando o MIISWorkflow

Um exemplo de como as organizações podem aproveitar o MIISWorkflow é para criar um aplicativo que funcione em conjunto com sistemas de RH existentes. Quando um novo funcionário é contratado, as informações de usuário são adicionadas ao sistema de RH. É possível projetar fluxos do ILM que enviem as informações ao banco de dados do MIISWorkflow e, em seguida, utilizar o aplicativo de fluxo de trabalho para direcionar as informações do usuário para aprovadores antes de o ILM provisionar a conta nos diretórios conectados.

Se a sua organização não usa sistemas de RH para controlar funcionários temporários, o aplicativo MIISWorkflow pode ser usado como a fonte de dados autoritativa para gerenciar essas contas nos diretórios da empresa. Como o aplicativo de fluxo de trabalho reduz o trabalho administrativo em papel necessário para a obtenção de aprovações, os usuários não precisam esperar vários dias para acessar as contas em diretórios e aplicativos. Também é possível usar o MIISWorkflow para permitir a revogação rápida de acesso, aumentando assim a segurança da organização.

O MIISWorkflow também pode ser usado como ferramenta de auditoria para controlar o número de sistemas que um usuário pode acessar, as datas de solicitação e de encerramento de cada conta, bem como o solicitante e o aprovador de cada conta. A capacidade de gerar relatórios com histórico de conta detalhado pode facilitar a conformidade da organização com leis reguladoras, como a Sarbanes-Oxley e a HIPAA.

O aplicativo MIISWorkflow é executado no IIS e utiliza recursos de provisionamento e integração de diretórios do ILM 2007 para provisionar e desprovisionar contas em diretórios conectados. Os componentes do aplicativo de fluxo de trabalho incluem um conjunto de páginas da Web ASP.NET, um banco de dados SQL Server™, um agente de gerenciamento e um armazenamento de diretivas de autorização (consulte a Figura 1). O aplicativo usa o SQL Server para armazenamento de dados, o Active Directory® para autenticação e um armazenamento de diretivas com o Windows® Authorization Manager (conhecido como AzMan) para autorização.

Figura 1 Arquitetura do aplicativo MIISWorkflow

Figura 1** Arquitetura do aplicativo MIISWorkflow **(Clique na imagem para aumentar a exibição)

O aplicativo pode ser estendido e personalizado com C# e ASP.NET. O MIISWorkflow consiste nestas cinco páginas .aspx: ContractorApproval, ContractorHistory, ContractorRequest, ContractorStatus e ContractorUpdate. Essas páginas permitem que os administradores solicitem, atualizem, aprovem e controlem o status de cada conta de usuário no sistema. Observe que, por padrão, o aplicativo MIISWorkflow é definido para usar a Autenticação Integrada do Windows IIS para poder utilizar o Kerberos.

O aplicativo de fluxo de trabalho aciona o ILM com base na ação do aprovador, e o ILM provisiona ou desprovisiona contas de usuários em diretórios conectados usando regras definidas. Logo após uma ação ter sido executada na solicitação, o aplicativo aciona o ILM e as solicitações não precisam aguardar até ocorrer o próximo ciclo de sincronização do ILM para provisionamento e desprovisionamento nos diretórios conectados.

O aplicativo de fluxo de trabalho requer que o banco de dados do MIISWorkflow armazene informações sobre contas de usuários. Isso é separado do banco de dados em que o ILM armazena informações do metaverse, mas é configurado na mesma instância do SQL Server. Quando usuários autorizados solicitam uma conta através do aplicativo de fluxo de trabalho, as informações são salvas pelo MIISWorkflow. As informações são então processadas por meio de uma página da Web ASP.NET quando um aprovador acessa a página. O MIISWorkflow também armazena históricos de ações e outras informações sobre a conta no banco de dados. O ILM importa as informações do banco de dados MIISWorkflow usando um agente de gerenciamento SQL Server que vem com o aplicativo, e provisiona ou desprovisiona a conta conforme necessário.

O AzMan, usado pelo MIISWorkflow para autorização, fornece o RBAC (controle de acesso baseado em função) para o gerenciamento de tarefas que os usuários são autorizados a executar no aplicativo de acordo com suas funções. (Consulte go.microsoft.com/fwlink/?LinkId=85825 para obter mais informações sobre o RBAC.) Depois de um usuário ter sido autenticado no Active Directory, assim permitindo o acesso, o aplicativo de fluxo de trabalho verifica as funções atribuídas no armazenamento de autorizações do AzMan para autorizar as operações que um usuário pode realizar. Há duas funções predefinidas para o aplicativo: solicitante de prestador de serviço e aprovador de prestador de serviço. Os usuários ou grupos com a função de solicitante de prestador de serviço podem apenas inserir uma solicitação através do aplicativo, mas os usuários ou grupos com a função de aprovador têm a capacidade de criar solicitações e aprová-las ou negá-las.

A diretiva de autorização do aplicativo MIISWorkflow é armazenada em um arquivo XML. Ou usuários e grupos do Windows ou grupos de aplicativos podem ser atribuídos a funções definidas. Os grupos de aplicativos permitem que uma consulta LDAP execute uma consulta em tempo de execução do objeto de conta Active Directory ou Active Directory Application Mode (ADAM) de um usuário com base no valor do atributo; o usuário está no grupo de tal forma que (department=‘marketing’), por exemplo, retorna true.

O aplicativo passo a passo

Os administradores de aplicativos controlam o acesso ao aplicativo usando o AzMan. Dependendo de como o aplicativo é utilizado em sua organização, é possível conceder uma função de solicitante de prestador de serviço a todos os usuários do domínio ou apenas a grupos selecionados. A função de aprovador de prestador de serviço deverá ser concedida apenas aos usuários e grupos que tenham autoridade para aprovar ou negar solicitações. Administradores de RH selecionados, bem como administradores de sistemas e grupos, normalmente possuem essa função. Por padrão, o aplicativo MIISWorkflow usa a Autenticação Integrada do Windows IIS como seu método de autenticação, portanto, o aplicativo autenticará os usuários através de suas credenciais de logon à área de trabalho Windows — isso significa que os usuários não serão solicitados novamente a apresentar credenciais para autenticação no aplicativo.

Um usuário na função de solicitante de prestador de serviço pode apontar o navegador para a página de solicitação de prestador de serviço no aplicativo e fornecer informações sobre o prestador para solicitar uma conta para ele. A Figura 2 mostra a página de solicitação de prestador de serviço.

Figura 2 Página de solicitação de novo prestador de serviço

Figura 2** Página de solicitação de novo prestador de serviço **(Clique na imagem para aumentar a exibição)

A pessoa na função de solicitante preenche as informações pertinentes do prestador de serviço e envia a solicitação. Há um link para aprovar solicitações e um link para verificar o status na página, mas os solicitantes não podem acessar a página do aprovador, a menos que também tenham essa função. Um solicitante pode clicar no link Contractor Status (Status do prestador de serviço) para ver as próprias solicitações, mas não poderá ver o status de solicitações enviadas por outras pessoas.

Somente um aprovador de prestador de serviço tem acesso à página de aprovação no aplicativo, onde pode aprovar ou negar a solicitação depois de examinar as informações. A Figura 3 mostra a interface da página da Web de aprovação de prestador de serviço.

Figura 3 Página de aprovação de prestador de serviço

Figura 3** Página de aprovação de prestador de serviço **(Clique na imagem para aumentar a exibição)

Um aprovador de prestador de serviço pode ver as solicitações enviadas por todos os solicitantes. Qualquer aprovador de prestador de serviço pode aprovar a solicitação, e apenas uma aprovação ou negação é necessária para encaminhar a solicitação para o estágio seguinte. A solicitação desaparecerá da página de aprovação assim que o aprovador executar a ação necessária. Isso minimiza as ações redundantes de aprovador.

Para examinar novas solicitações e tomar providências para as solicitações pendentes com base nos requisitos da organização, um aprovador precisa acessar a página de aprovação de prestador de serviço regularmente, pois não há nenhum mecanismo de notificação no aplicativo para informar o aprovador sobre novas solicitações ou registros acumulados. Logo que o aprovador aprova ou nega a solicitação na página, o aplicativo aciona o ILM e as contas são provisionadas ou desprovisionadas nos diretórios conectados com base na ação do aprovador.

Figura 4 Página de status do prestador de serviço

Figura 4** Página de status do prestador de serviço **(Clique na imagem para aumentar a exibição)

O status de solicitações e registros pendentes de solicitações concluídas pode ser controlado na página de status do prestador de serviço (consulte a Figura 4). Um solicitante pode se responsabilizar por várias ações nessa página. Você poderá ver suas próprias solicitações, incluindo informações como ID do funcionário, nome, sobrenome, departamento, status e data da última modificação. Também é possível editar as informações existentes, exibir o histórico e encerrar uma conta do prestador de serviço. Você poderá modificar as informações de nome, sobrenome e departamento, e reenviar as informações para aprovação. Finalmente, é possível ver um log de ações executadas na solicitação, além da data e hora de cada ação na página de histórico do prestador de serviço (consulte a Figura 5).

Figura 5 Página de histórico do prestador de serviço

Figura 5** Página de histórico do prestador de serviço **(Clique na imagem para aumentar a exibição)

O aplicativo MIISWorkflow torna perfeito o encerramento de conta ao permitir que um solicitante encerre contas de prestadores de serviços na página de status do prestador. O solicitante pode clicar no link de encerramento para imediatamente desabilitar ou excluir contas de prestadores de serviços em diretórios conectados. A vantagem dessa capacidade de encerrar contas de prestadores de serviços no aplicativo de fluxo de trabalho é que os administradores de sistemas não precisam procurar a conta do prestador em cada diretório e excluir contas manualmente. Como o aplicativo MIISWorkflow aciona imediatamente o ILM para desprovisionar essas contas em diretórios conectados, não há nenhum tempo de latência para excluir essas contas.

Configurando o aplicativo

A configuração do aplicativo MIISWorkflow envolve a configuração de uma conta de serviço, de um banco de dados para o aplicativo, do ILM para trabalhar com o aplicativo de fluxo de trabalho, do IIS e do armazenamento de diretivas. O aplicativo contém arquivos de configuração e scripts pré-criados para simplificar o processo.

O MIISWorkflow vem com um arquivo de consulta T-SQL para facilitar o processo de criação de um banco de dados do MIISWorkflow. É possível carregar o arquivo de consulta no Query Analyzer e executar a consulta para criar o banco de dados automaticamente.

A configuração do IIS envolve a criação de um novo pool de aplicativos IIS e um diretório virtual, além da definição de autenticação e controle de acesso para hospedar páginas ASP.NET. O aplicativo também inclui um arquivo XML com funções predefinidas para configurar um armazenamento de diretivas de autorização. É possível atribuir usuários e grupos a funções existentes e criar novas funções usando o MMC AzMan.

A etapa final é configurar o agente de gerenciamento no ILM para importar dados do banco de dados MIISWorkflow para o ILM. Para fazer isso, importe a configuração do agente de gerenciamento no arquivo XML e copie um arquivo de extensão pré-criado para o agente de gerenciamento do SQL Server. Tanto o arquivo XML quando o arquivo de extensão do agente de gerenciamento são fornecidos com o aplicativo. Há um arquivo leiame com instruções passo a passo sobre como configurar cada uma dessas etapas.

Estendendo o aplicativo

O aplicativo MIISWorkflow fornece um ponto de partida para o desenvolvimento de uma integração simples de fluxo de trabalho com o MIIS, e você talvez precise fazer algumas personalizações para estender o aplicativo. Além de modificações simples, como alterações em páginas da Web, há muitas outras formas de estender esse aplicativo.

Você poderia adicionar um recurso de notificação, para que um aprovador recebesse uma mensagem de email quando houvesse uma solicitação pendente. Esse recurso poderia também enviar uma mensagem de lembrete ao aprovador, dentro de um número especificado de diais, se nenhuma ação fosse executada na solicitação. Se você precisar de mais informações sobre usuários do que as oferecidas na página padrão, adicione campos à página de solicitação e à página de atualização de prestador de serviço. É possível adicionar mais funções ao aplicativo, como uma função de auditoria que permitiria a um usuário exibir o histórico de cada solicitação, não apenas as solicitações enviadas por ele.

Recursos de fluxo de trabalho mais complexos, como um fluxo de trabalho de várias etapas e a capacidade de projetar um fluxo de trabalho utilizando designer gráfico, não estão no escopo deste aplicativo. Entretanto, você poderá usar o Windows Workflow Foundation para desenvolver um aplicativo mais robusto com recursos de fluxo de trabalho mais complexos.

Você encontrará o MIIS Resource Tool Kit em go.microsoft.com/fwlink/?LinkId=85829. Baixe-o hoje mesmo e comece a criar suas próprias soluções de fluxo de trabalho de identidades.

Aung Oo é um especialista em gerenciamento de identidades no MCS (Serviços de Consultoria Microsoft). Aung projeta, desenvolve e implanta soluções de gerenciamento de identidades e diretórios empresariais para clientes comerciais e governamentais desde a primeira versão do Gerenciamento de Identidades Microsoft.

© 2008 Microsoft Corporation e CMP Media, LLC. Todos os direitos reservados. A reprodução parcial ou completa sem autorização é proibida..